From be10276e18da1e2996439d3a589a4f39d9c39dcc Mon Sep 17 00:00:00 2001 From: Vaern Date: Wed, 22 Feb 2023 19:41:11 -0800 Subject: [PATCH] i'm not gonna sugarcoat it https://youtu.be/E-54I6loV40?t=266 --- src/main/java/com/hbm/blocks/ModBlocks.java | 143 ++----- .../hbm/blocks/machine/MachineDiFurnace.java | 2 +- .../com/hbm/blocks/machine/rbmk/RBMKBase.java | 4 +- .../hbm/blocks/machine/rbmk/RBMKBoiler.java | 2 +- .../hbm/blocks/machine/rbmk/RBMKControl.java | 2 +- .../blocks/machine/rbmk/RBMKControlAuto.java | 2 +- .../hbm/blocks/machine/rbmk/RBMKHeater.java | 2 +- .../blocks/machine/rbmk/RBMKOutgasser.java | 2 +- .../com/hbm/blocks/machine/rbmk/RBMKRod.java | 2 +- .../hbm/blocks/machine/rbmk/RBMKStorage.java | 2 +- src/main/java/com/hbm/handler/GUIHandler.java | 392 +----------------- .../tileentity/bomb/TileEntityBombMulti.java | 18 +- .../bomb/TileEntityCompactLauncher.java | 18 +- .../tileentity/bomb/TileEntityLaunchPad.java | 37 +- .../bomb/TileEntityLaunchTable.java | 18 +- .../tileentity/bomb/TileEntityNukeBoy.java | 18 +- .../tileentity/bomb/TileEntityNukeCustom.java | 18 +- .../tileentity/bomb/TileEntityNukeFleija.java | 18 +- .../tileentity/bomb/TileEntityNukeGadget.java | 18 +- .../tileentity/bomb/TileEntityNukeMan.java | 18 +- .../tileentity/bomb/TileEntityNukeMike.java | 18 +- .../hbm/tileentity/bomb/TileEntityNukeN2.java | 18 +- .../tileentity/bomb/TileEntityNukeN45.java | 17 +- .../bomb/TileEntityNukePrototype.java | 20 +- .../bomb/TileEntityNukeSolinium.java | 18 +- .../tileentity/bomb/TileEntityNukeTsar.java | 18 +- .../tileentity/bomb/TileEntityTestNuke.java | 18 +- .../tileentity/machine/TileEntityAMSBase.java | 18 +- .../machine/TileEntityAMSEmitter.java | 20 +- .../machine/TileEntityAMSLimiter.java | 18 +- .../tileentity/machine/TileEntityCore.java | 18 +- .../machine/TileEntityCoreEmitter.java | 29 +- .../machine/TileEntityCoreInjector.java | 32 +- .../machine/TileEntityCoreReceiver.java | 32 +- .../machine/TileEntityCoreStabilizer.java | 34 +- .../machine/TileEntityDiFurnace.java | 18 +- .../machine/TileEntityElectrolyser.java | 20 +- .../machine/TileEntityFWatzCore.java | 15 +- .../machine/TileEntityForceField.java | 18 +- .../machine/TileEntityMachineArcFurnace.java | 18 +- .../machine/TileEntityMachineAssembler.java | 21 +- .../TileEntityMachineAssemblerBase.java | 3 +- .../machine/TileEntityMachineAssemfac.java | 16 + .../machine/TileEntityMachineAutocrafter.java | 17 +- .../machine/TileEntityMachineBoiler.java | 19 +- .../TileEntityMachineBoilerElectric.java | 19 +- .../machine/TileEntityMachineCMBFactory.java | 18 +- .../machine/TileEntityMachineCentrifuge.java | 19 +- .../machine/TileEntityMachineChemfac.java | 16 + .../machine/TileEntityMachineChemplant.java | 19 +- .../TileEntityMachineChemplantBase.java | 3 +- .../machine/TileEntityMachineCoal.java | 35 +- .../machine/TileEntityMachineCyclotron.java | 19 +- .../machine/TileEntityMachineDeuterium.java | 18 +- .../machine/TileEntityMachineDiesel.java | 19 +- .../machine/TileEntityMachineEPress.java | 19 +- .../TileEntityMachineElectricFurnace.java | 19 +- .../machine/TileEntityMachineGasCent.java | 20 +- .../machine/TileEntityMachineIGenerator.java | 19 +- .../machine/TileEntityMachineKeyForge.java | 21 +- .../machine/TileEntityMachineMiningDrill.java | 19 +- .../TileEntityMachineMissileAssembly.java | 18 +- .../machine/TileEntityMachinePress.java | 19 +- .../machine/TileEntityMachineRTG.java | 18 +- .../machine/TileEntityMachineRadGen.java | 19 +- .../machine/TileEntityMachineRadar.java | 19 +- .../machine/TileEntityMachineRadiolysis.java | 21 +- .../TileEntityMachineReactorBreeding.java | 34 +- .../TileEntityMachineReactorLarge.java | 20 +- .../machine/TileEntityMachineSatDock.java | 25 +- .../machine/TileEntityMachineSatLinker.java | 19 +- ...eEntityMachineSchrabidiumTransmutator.java | 19 +- .../TileEntityMachineSeleniumEngine.java | 18 +- .../machine/TileEntityMachineShredder.java | 18 +- .../machine/TileEntityMachineSiren.java | 18 +- .../machine/TileEntityMachineTurbine.java | 19 +- .../machine/TileEntityMachineTurbofan.java | 19 +- .../machine/TileEntityNukeFurnace.java | 20 +- .../machine/TileEntityRadiobox.java | 18 +- .../machine/TileEntityReactorControl.java | 23 +- .../machine/TileEntityReactorResearch.java | 29 +- .../machine/TileEntityRtgFurnace.java | 26 +- .../machine/TileEntitySoyuzLauncher.java | 21 +- .../machine/TileEntityWasteDrum.java | 18 +- .../machine/TileEntityWatzCore.java | 15 +- .../oil/TileEntityMachineFrackingTower.java | 16 + .../oil/TileEntityMachineGasFlare.java | 18 +- .../oil/TileEntityMachineLiquefactor.java | 19 +- .../machine/oil/TileEntityMachineOilWell.java | 16 + .../oil/TileEntityMachinePumpjack.java | 16 + .../oil/TileEntityMachineRefinery.java | 17 +- .../oil/TileEntityMachineSolidifier.java | 19 +- .../machine/oil/TileEntityOilDrillBase.java | 3 +- .../machine/rbmk/TileEntityRBMKBoiler.java | 29 +- .../rbmk/TileEntityRBMKControlAuto.java | 15 + .../rbmk/TileEntityRBMKControlManual.java | 22 +- .../machine/rbmk/TileEntityRBMKHeater.java | 18 +- .../machine/rbmk/TileEntityRBMKOutgasser.java | 18 +- .../machine/rbmk/TileEntityRBMKRod.java | 29 +- .../rbmk/TileEntityRBMKSlottedBase.java | 3 +- .../machine/rbmk/TileEntityRBMKStorage.java | 16 + .../machine/storage/TileEntityCrateBase.java | 3 +- .../machine/storage/TileEntityCrateDesh.java | 18 + .../machine/storage/TileEntityCrateIron.java | 20 + .../machine/storage/TileEntityCrateSteel.java | 17 + .../storage/TileEntityCrateTungsten.java | 15 + .../storage/TileEntityMachineBattery.java | 30 +- .../storage/TileEntityMachinePuF6Tank.java | 18 +- .../storage/TileEntityMachineUF6Tank.java | 18 +- .../storage/TileEntityMassStorage.java | 15 + .../machine/storage/TileEntitySafe.java | 17 + 111 files changed, 1756 insertions(+), 713 deletions(-) diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index a78ad8f45..59035df1f 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -43,7 +43,6 @@ public class ModBlocks { public static Block test_bomb; public static Block test_bomb_advanced; public static Block test_nuke; - public static final int guiID_test_nuke = 2; public static Block event_tester; public static Block obj_tester; public static Block test_core; @@ -615,8 +614,7 @@ public class ModBlocks { public static Block sat_resonator; public static Block sat_dock; - public static final int guiID_dock = 80; - + public static Block soyuz_capsule; public static final int guiID_capsule = 93; @@ -628,32 +626,20 @@ public class ModBlocks { public static Block mass_storage; public static Block nuke_gadget; - public static final int guiID_nuke_gadget = 3; public static Block nuke_boy; - public static final int guiID_nuke_boy = 4; public static Block nuke_man; - public static final int guiID_nuke_man = 6; public static Block nuke_mike; - public static final int guiID_nuke_mike = 11; public static Block nuke_tsar; - public static final int guiID_nuke_tsar = 12; public static Block nuke_fleija; - public static final int guiID_nuke_fleija = 17; public static Block nuke_prototype; - public static final int guiID_nuke_prototype = 23; public static Block nuke_custom; - public static final int guiID_nuke_custom = 37; public static Block nuke_solinium; - public static final int guiID_nuke_solinium = 60; public static Block nuke_n2; - public static final int guiID_nuke_n2 = 61; public static Block nuke_n45; - public static final int guiID_nuke_n45 = 77; public static Block nuke_fstbmb; public static final int guiID_nuke_fstbmb = 96; public static Block bomb_multi; - public static final int guiID_bomb_multi = 10; - + public static Block heater_firebox; public static Block heater_oven; public static Block heater_oilburner; @@ -679,15 +665,13 @@ public class ModBlocks { public static Block machine_difurnace_on; public static Block machine_difurnace_rtg_off; public static Block machine_difurnace_rtg_on; - public static final int guiID_test_difurnace = 1; + //public static final int guiID_test_difurnace = 1; historical public static final int guiID_rtg_difurnace = 125; public static Block machine_centrifuge; - public static final int guiID_centrifuge = 5; public static Block machine_gascent; - public static final int guiID_gascent = 71; - + public static Block machine_fel; public static final int guiID_fel = 110; public static Block machine_silex; @@ -697,30 +681,23 @@ public class ModBlocks { public static final int guiID_crystallizer = 94; public static Block machine_uf6_tank; - public static final int guiID_uf6_tank = 7; public static Block machine_puf6_tank; - public static final int guiID_puf6_tank = 8; public static Block machine_reactor_breeding; - public static final int guiID_reactor_breeding = 9; public static Block machine_nuke_furnace_off; public static Block machine_nuke_furnace_on; - public static final int guiID_nuke_furnace = 13; public static Block machine_rtg_furnace_off; public static Block machine_rtg_furnace_on; - public static final int guiID_rtg_furnace = 14; - + public static Block machine_generator; public static Block machine_industrial_generator; - public static final int guiID_machine_industrial_generator = 39; - + public static Block machine_cyclotron; - public static final int guiID_machine_cyclotron = 41; - + public static Block hadron_plating; public static Block hadron_plating_blue; public static Block hadron_plating_black; @@ -751,31 +728,26 @@ public class ModBlocks { public static Block machine_electric_furnace_off; public static Block machine_electric_furnace_on; - public static final int guiID_electric_furnace = 16; - + public static Block machine_microwave; public static final int guiID_microwave = 97; public static Block machine_arc_furnace_off; public static Block machine_arc_furnace_on; - public static final int guiID_machine_arc = 82; - + //public static Block machine_deuterium; - public static final int guiID_machine_deuterium = 20; - + public static Block machine_battery_potato; public static Block machine_battery; public static Block machine_lithium_battery; public static Block machine_schrabidium_battery; public static Block machine_dineutronium_battery; public static Block machine_fensu; - public static final int guiID_machine_battery = 21; public static final int guiID_machine_fensu = 99; public static Block machine_coal_off; public static Block machine_coal_on; - public static final int guiID_machine_coal = 22; - + public static Block red_wire_coated; public static Block red_cable; public static Block red_cable_classic; @@ -869,8 +841,7 @@ public class ModBlocks { public static Block reactor_inserter; public static Block reactor_conductor; public static Block reactor_computer; - public static final int guiID_reactor_multiblock = 26; - + public static Block fusion_conductor; public static Block fusion_center; public static Block fusion_motor; @@ -894,8 +865,7 @@ public class ModBlocks { public static Block watz_hatch; public static Block watz_conductor; public static Block watz_core; - public static final int guiID_watz_multiblock = 32; - + public static Block fwatz_conductor; public static Block fwatz_cooler; public static Block fwatz_tank; @@ -904,50 +874,37 @@ public class ModBlocks { public static Block fwatz_computer; public static Block fwatz_core; public static Block fwatz_plasma; - public static final int guiID_fwatz_multiblock = 33; public static Block balefire; public static Block fire_digamma; public static Block digamma_matter; public static Block ams_base; - public static final int guiID_ams_base = 54; public static Block ams_emitter; - public static final int guiID_ams_emitter = 55; public static Block ams_limiter; - public static final int guiID_ams_limiter = 56; - + public static Block dfc_emitter; - public static final int guiID_dfc_emitter = 87; public static Block dfc_injector; - public static final int guiID_dfc_injector = 90; public static Block dfc_receiver; - public static final int guiID_dfc_receiver = 88; public static Block dfc_stabilizer; - public static final int guiID_dfc_stabilizer = 91; public static Block dfc_core; - public static final int guiID_dfc_core = 89; - + public static Block machine_converter_he_rf; public static final int guiID_converter_he_rf = 28; public static Block machine_converter_rf_he; public static Block machine_schrabidium_transmutator; - public static final int guiID_schrabidium_transmutator = 30; - + public static Block machine_diesel; - public static final int guiID_machine_diesel = 31; public static Block machine_combustion_engine; public static Block machine_shredder; - public static final int guiID_machine_shredder = 34; public static Block machine_shredder_large; public static final int guiID_machine_shredder_large = 76; public static Block machine_combine_factory; - public static final int guiID_combine_factory = 35; - + public static Block machine_teleporter; public static Block teleanchor; public static Block field_disturber; @@ -956,7 +913,6 @@ public class ModBlocks { public static final int guiID_machine_reix_mainframe = 38; public static Block machine_rtg_grey; - public static final int guiID_machine_rtg = 42; //public static Block machine_rtg_red; //public static Block machine_rtg_orange; //public static Block machine_rtg_yellow; @@ -973,31 +929,25 @@ public class ModBlocks { public static Block machine_well; public static Block oil_pipe; - public static final int guiID_machine_well = 40; public static Block machine_pumpjack; public static Block machine_fracking_tower; public static Block machine_flare; - public static final int guiID_machine_flare = 44; - + public static Block machine_refinery; - public static final int guiID_machine_refinery = 43; - + public static Block machine_fraction_tower; public static Block fraction_spacer; public static Block machine_catalytic_cracker; public static Block machine_boiler_off; public static Block machine_boiler_on; - public static final int guiID_machine_boiler = 72; - + public static Block machine_boiler_electric_off; public static Block machine_boiler_electric_on; - public static final int guiID_machine_boiler_electric = 73; - + public static Block machine_steam_engine; public static Block machine_turbine; - public static final int guiID_machine_turbine = 74; public static Block machine_large_turbine; public static final int guiID_machine_large_turbine = 100; @@ -1019,7 +969,6 @@ public class ModBlocks { public static Block machine_drill; public static Block drill_pipe; - public static final int guiID_machine_drill = 45; public static Block machine_excavator; public static Block machine_autosaw; @@ -1029,11 +978,9 @@ public class ModBlocks { public static final int guiID_mining_laser = 95; public static Block machine_assembler; - public static final int guiID_machine_assembler = 48; public static Block machine_assemfac; public static Block machine_chemplant; - public static final int guiID_machine_chemplant = 49; public static Block machine_chemfac; public static Block machine_mixer; @@ -1042,71 +989,53 @@ public class ModBlocks { public static Block machine_orbus; public static Block launch_pad; - public static final int guiID_launch_pad = 19; - + public static Block machine_missile_assembly; - public static final int guiID_missile_assembly = 83; - + public static Block compact_launcher; - public static final int guiID_compact_launcher = 85; - + public static Block launch_table; - public static final int guiID_launch_table = 84; - + public static Block soyuz_launcher; - public static final int guiID_soyuz_launcher = 86; - + public static Block machine_radar; - public static final int guiID_radar = 59; - + public static Block machine_turbofan; - public static final int guiID_machine_turbofan = 52; public static Block machine_turbinegas; public static Block machine_selenium; - public static final int guiID_machine_selenium = 63; - + public static Block press_preheater; public static Block machine_press; - public static final int guiID_machine_press = 53; public static Block machine_epress; - public static final int guiID_machine_epress = 81; - + public static Block machine_siren; - public static final int guiID_siren = 57; - + public static Block machine_radgen; - public static final int guiID_radgen = 58; - + public static Block machine_satlinker; - public static final int guiID_satlinker = 64; public static Block machine_keyforge; - public static final int guiID_keyforge = 67; - + public static Block machine_armor_table; public static final int guiID_armor_table = 102; public static Block reactor_research; - public static final int guiID_reactor_research = 65; public static Block reactor_zirnox; public static final int guiID_reactor_zirnox = 124; public static Block zirnox_destroyed; public static Block machine_controller; - public static final int guiID_machine_controller = 78; - + public static Block machine_spp_bottom; public static Block machine_spp_top; public static Block radiobox; - public static final int guiID_radiobox = 66; public static Block radiorec; public static Block machine_forcefield; public static final int guiID_forcefield = 75; public static Block machine_waste_drum; - public static final int guiID_waste_drum = 79; public static Block machine_storage_drum; public static final int guiID_storage_drum = 118; @@ -1166,13 +1095,7 @@ public class ModBlocks { public static Block rbmk_heater; public static Block rbmk_console; public static Block rbmk_crane_console; - public static final int guiID_rbmk_rod = 113; - public static final int guiID_rbmk_boiler = 114; - public static final int guiID_rbmk_control = 115; - public static final int guiID_rbmk_control_auto = 116; public static final int guiID_rbmk_console = 117; - public static final int guiID_rbmk_outgasser = 119; - public static final int guiID_rbmk_storage = 123; public static Block rbmk_loader; public static Block rbmk_steam_inlet; public static Block rbmk_steam_outlet; diff --git a/src/main/java/com/hbm/blocks/machine/MachineDiFurnace.java b/src/main/java/com/hbm/blocks/machine/MachineDiFurnace.java index 3dd70b977..5ffd9e702 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDiFurnace.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDiFurnace.java @@ -136,7 +136,7 @@ public class MachineDiFurnace extends BlockContainer { TileEntityDiFurnace entity = (TileEntityDiFurnace) world.getTileEntity(x, y, z); if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_test_difurnace, world, x, y, z); + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); } return true; } else { diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java index 2f941e6ac..1293874a8 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java @@ -56,7 +56,7 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo return 0; } - public boolean openInv(World world, int x, int y, int z, EntityPlayer player, int gui) { + public boolean openInv(World world, int x, int y, int z, EntityPlayer player) { if(world.isRemote) { return true; @@ -81,7 +81,7 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo } if(!player.isSneaking()) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, gui, world, pos[0], pos[1], pos[2]); + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); return true; } else { return true; diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java index 3c9ab9f03..07a62af98 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java @@ -26,7 +26,7 @@ public class RBMKBoiler extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_boiler); + return openInv(world, x, y, z, player); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java index edd6cdd87..1be934637 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControl.java @@ -27,7 +27,7 @@ public class RBMKControl extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_control); + return openInv(world, x, y, z, player); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControlAuto.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControlAuto.java index c60da64f6..9765e12c6 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControlAuto.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKControlAuto.java @@ -20,7 +20,7 @@ public class RBMKControlAuto extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_control_auto); + return openInv(world, x, y, z, player); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java index 39e26d99f..14f9615dc 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java @@ -23,7 +23,7 @@ public class RBMKHeater extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return openInv(world, x, y, z, player, 0); + return openInv(world, x, y, z, player); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java index 303fb345b..13e3c9bf2 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutgasser.java @@ -24,7 +24,7 @@ public class RBMKOutgasser extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_outgasser); + return openInv(world, x, y, z, player); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java index 9e43a6e35..794285b8b 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java @@ -33,7 +33,7 @@ public class RBMKRod extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { BossSpawnHandler.markFBI(player); - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_rod); + return openInv(world, x, y, z, player); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKStorage.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKStorage.java index a320ed12d..69ddb6521 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKStorage.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKStorage.java @@ -28,6 +28,6 @@ public class RBMKStorage extends RBMKBase { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { BossSpawnHandler.markFBI(player); - return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_storage); + return openInv(world, x, y, z, player); } } diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index 4b5418218..7f41530bc 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -47,161 +47,12 @@ public class GUIHandler implements IGuiHandler { return ((IGUIProvider) item.getItem()).provideContainer(ID, player, world, x, y, z); } - //notice: stop doing this, unless you absolutely have to \/ + //notice: stop doing this, unless you absolutely have to :3 - if(entity instanceof TileEntityCrateIron) { return new ContainerCrateIron(player.inventory, (TileEntityCrateIron) entity); } - if(entity instanceof TileEntityCrateSteel) { return new ContainerCrateSteel(player.inventory, (TileEntityCrateSteel) entity); } - if(entity instanceof TileEntityCrateDesh) { return new ContainerCrateDesh(player.inventory, (TileEntityCrateDesh) entity); } - if(entity instanceof TileEntityCrateTungsten) { return new ContainerCrateTungsten(player.inventory, (TileEntityCrateTungsten) entity); } - if(entity instanceof TileEntitySafe) { return new ContainerSafe(player.inventory, (TileEntitySafe) entity); } - if(entity instanceof TileEntityMassStorage) { return new ContainerMassStorage(player.inventory, (TileEntityMassStorage) entity); } - - if(entity instanceof TileEntityMachineAutocrafter) { return new ContainerAutocrafter(player.inventory, (TileEntityMachineAutocrafter) entity); } - - if(entity instanceof TileEntityMachineLiquefactor) { return new ContainerLiquefactor(player.inventory, (TileEntityMachineLiquefactor) entity); } - if(entity instanceof TileEntityMachineSolidifier) { return new ContainerSolidifier(player.inventory, (TileEntityMachineSolidifier) entity); } - if(entity instanceof TileEntityMachineRadiolysis) { return new ContainerRadiolysis(player.inventory, (TileEntityMachineRadiolysis) entity); } - if(entity instanceof TileEntityMachineAssemfac) { return new ContainerAssemfac(player.inventory, (TileEntityMachineAssemfac) entity); } - if(entity instanceof TileEntityMachineChemfac) { return new ContainerChemfac(player.inventory, (TileEntityMachineChemfac) entity); } - if(entity instanceof TileEntityElectrolyser) { return new ContainerElectrolyser(player.inventory, (TileEntityElectrolyser) entity); } - - if(entity instanceof TileEntityRBMKHeater) { return new ContainerRBMKHeater(player.inventory, (TileEntityRBMKHeater) entity); } - - //notice: stop doing this completely, period \/ + //notice: stop doing this completely, period :P switch(ID) { - case ModBlocks.guiID_test_difurnace: { - if(entity instanceof TileEntityDiFurnace) { - return new ContainerDiFurnace(player.inventory, (TileEntityDiFurnace) entity); - } - return null; - } - case ModBlocks.guiID_test_nuke: { - if(entity instanceof TileEntityTestNuke) { - return new ContainerTestNuke(player.inventory, (TileEntityTestNuke) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_gadget: { - if(entity instanceof TileEntityNukeGadget) { - return new ContainerNukeGadget(player.inventory, (TileEntityNukeGadget) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_boy: { - if(entity instanceof TileEntityNukeBoy) { - return new ContainerNukeBoy(player.inventory, (TileEntityNukeBoy) entity); - } - return null; - } - - case ModBlocks.guiID_centrifuge: { - if(entity instanceof TileEntityMachineCentrifuge) { - return new ContainerCentrifuge(player.inventory, (TileEntityMachineCentrifuge) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_man: { - if(entity instanceof TileEntityNukeMan) { - return new ContainerNukeMan(player.inventory, (TileEntityNukeMan) entity); - } - return null; - } - - case ModBlocks.guiID_uf6_tank: { - if(entity instanceof TileEntityMachineUF6Tank) { - return new ContainerUF6Tank(player.inventory, (TileEntityMachineUF6Tank) entity); - } - return null; - } - - case ModBlocks.guiID_puf6_tank: { - if(entity instanceof TileEntityMachinePuF6Tank) { - return new ContainerPuF6Tank(player.inventory, (TileEntityMachinePuF6Tank) entity); - } - return null; - } - - case ModBlocks.guiID_reactor_breeding: { - if(entity instanceof TileEntityMachineReactorBreeding) { - return new ContainerMachineReactorBreeding(player.inventory, (TileEntityMachineReactorBreeding) entity); - } - return null; - } - - case ModBlocks.guiID_bomb_multi: { - if(entity instanceof TileEntityBombMulti) { - return new ContainerBombMulti(player.inventory, (TileEntityBombMulti) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_mike: { - if(entity instanceof TileEntityNukeMike) { - return new ContainerNukeMike(player.inventory, (TileEntityNukeMike) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_tsar: { - if(entity instanceof TileEntityNukeTsar) { - return new ContainerNukeTsar(player.inventory, (TileEntityNukeTsar) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_furnace: { - if(entity instanceof TileEntityNukeFurnace) { - return new ContainerNukeFurnace(player.inventory, (TileEntityNukeFurnace) entity); - } - return null; - } - - case ModBlocks.guiID_rtg_furnace: { - if(entity instanceof TileEntityRtgFurnace) { - return new ContainerRtgFurnace(player.inventory, (TileEntityRtgFurnace) entity); - } - return null; - } - - case ModBlocks.guiID_electric_furnace: { - if(entity instanceof TileEntityMachineElectricFurnace) { - return new ContainerElectricFurnace(player.inventory, (TileEntityMachineElectricFurnace) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_fleija: { - if(entity instanceof TileEntityNukeFleija) { - return new ContainerNukeFleija(player.inventory, (TileEntityNukeFleija) entity); - } - return null; - } - - case ModBlocks.guiID_machine_deuterium: { - if(entity instanceof TileEntityMachineDeuterium) { - return new ContainerMachineDeuterium(player.inventory, (TileEntityMachineDeuterium) entity); - } - return null; - } - - case ModBlocks.guiID_machine_battery: { - if(entity instanceof TileEntityMachineBattery) { - return new ContainerMachineBattery(player.inventory, (TileEntityMachineBattery) entity); - } - return null; - } - - case ModBlocks.guiID_machine_coal: { - if(entity instanceof TileEntityMachineCoal) { - return new ContainerMachineCoal(player.inventory, (TileEntityMachineCoal) entity); - } - return null; - } case ModBlocks.guiID_nuke_prototype: { if(entity instanceof TileEntityNukePrototype) { @@ -714,34 +565,6 @@ public class GUIHandler implements IGuiHandler { return null; } - case ModBlocks.guiID_rbmk_rod: { - if(entity instanceof TileEntityRBMKRod) { - return new ContainerRBMKRod(player.inventory, (TileEntityRBMKRod) entity); - } - return null; - } - - case ModBlocks.guiID_rbmk_boiler: { - if(entity instanceof TileEntityRBMKBoiler) { - return new ContainerRBMKGeneric(player.inventory); - } - return null; - } - - case ModBlocks.guiID_rbmk_control: { - if(entity instanceof TileEntityRBMKControlManual) { - return new ContainerRBMKControl(player.inventory, (TileEntityRBMKControlManual) entity); - } - return null; - } - - case ModBlocks.guiID_rbmk_control_auto: { - if(entity instanceof TileEntityRBMKControlAuto) { - return new ContainerRBMKControlAuto(player.inventory, (TileEntityRBMKControlAuto) entity); - } - return null; - } - case ModBlocks.guiID_storage_drum: { if(entity instanceof TileEntityStorageDrum) { return new ContainerStorageDrum(player.inventory, (TileEntityStorageDrum) entity); @@ -749,13 +572,6 @@ public class GUIHandler implements IGuiHandler { return null; } - case ModBlocks.guiID_rbmk_outgasser: { - if(entity instanceof TileEntityRBMKOutgasser) { - return new ContainerRBMKOutgasser(player.inventory, (TileEntityRBMKOutgasser) entity); - } - return null; - } - case ModBlocks.guiID_maxwell: { if(entity instanceof TileEntityTurretMaxwell) { return new ContainerTurretBase(player.inventory, (TileEntityTurretMaxwell) entity); @@ -776,13 +592,6 @@ public class GUIHandler implements IGuiHandler { } return null; } - - case ModBlocks.guiID_rbmk_storage: { - if(entity instanceof TileEntityRBMKStorage) { - return new ContainerRBMKStorage(player.inventory, (TileEntityRBMKStorage) entity); - } - return null; - } case ModBlocks.guiID_rtg_difurnace: { if (entity instanceof TileEntityDiFurnaceRTG) { @@ -829,161 +638,11 @@ public class GUIHandler implements IGuiHandler { return ((IGUIProvider) item.getItem()).provideGUI(ID, player, world, x, y, z); } - //stop doing this unless you absolutely have to \/ - - if(entity instanceof TileEntityCrateIron) { return new GUICrateIron(player.inventory, (TileEntityCrateIron) entity); } - if(entity instanceof TileEntityCrateSteel) { return new GUICrateSteel(player.inventory, (TileEntityCrateSteel) entity); } - if(entity instanceof TileEntityCrateDesh) { return new GUICrateDesh(player.inventory, (TileEntityCrateDesh) entity); } - if(entity instanceof TileEntityCrateTungsten) { return new GUICrateTungsten(player.inventory, (TileEntityCrateTungsten) entity); } - if(entity instanceof TileEntitySafe) { return new GUISafe(player.inventory, (TileEntitySafe) entity); } - if(entity instanceof TileEntityMassStorage) { return new GUIMassStorage(player.inventory, (TileEntityMassStorage) entity); } + //stop doing this unless you absolutely have to ;3 - if(entity instanceof TileEntityMachineAutocrafter) { return new GUIAutocrafter(player.inventory, (TileEntityMachineAutocrafter) entity); } - - if(entity instanceof TileEntityMachineLiquefactor) { return new GUILiquefactor(player.inventory, (TileEntityMachineLiquefactor) entity); } - if(entity instanceof TileEntityMachineSolidifier) { return new GUISolidifier(player.inventory, (TileEntityMachineSolidifier) entity); } - if(entity instanceof TileEntityMachineRadiolysis) { return new GUIRadiolysis(player.inventory, (TileEntityMachineRadiolysis) entity); } - if(entity instanceof TileEntityMachineAssemfac) { return new GUIAssemfac(player.inventory, (TileEntityMachineAssemfac) entity); } - if(entity instanceof TileEntityMachineChemfac) { return new GUIChemfac(player.inventory, (TileEntityMachineChemfac) entity); } - if(entity instanceof TileEntityElectrolyser) { return new GUIElectrolyser(player.inventory, (TileEntityElectrolyser) entity); } - - if(entity instanceof TileEntityRBMKHeater) { return new GUIRBMKHeater(player.inventory, (TileEntityRBMKHeater) entity); } - - //stop doing this, period \/ + //stop doing this, period >:3 switch(ID) { - case ModBlocks.guiID_test_difurnace: { - if(entity instanceof TileEntityDiFurnace) { - return new GUIDiFurnace(player.inventory, (TileEntityDiFurnace) entity); - } - return null; - } - - case ModBlocks.guiID_test_nuke: { - if(entity instanceof TileEntityTestNuke) { - return new GUITestNuke(player.inventory, (TileEntityTestNuke) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_gadget: { - if(entity instanceof TileEntityNukeGadget) { - return new GUINukeGadget(player.inventory, (TileEntityNukeGadget) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_boy: { - if(entity instanceof TileEntityNukeBoy) { - return new GUINukeBoy(player.inventory, (TileEntityNukeBoy) entity); - } - return null; - } - - case ModBlocks.guiID_centrifuge: { - if(entity instanceof TileEntityMachineCentrifuge) { - return new GUIMachineCentrifuge(player.inventory, (TileEntityMachineCentrifuge) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_man: { - if(entity instanceof TileEntityNukeMan) { - return new GUINukeMan(player.inventory, (TileEntityNukeMan) entity); - } - return null; - } - - case ModBlocks.guiID_uf6_tank: { - if(entity instanceof TileEntityMachineUF6Tank) { - return new GUIMachineUF6Tank(player.inventory, (TileEntityMachineUF6Tank) entity); - } - return null; - } - - case ModBlocks.guiID_puf6_tank: { - if(entity instanceof TileEntityMachinePuF6Tank) { - return new GUIMachinePuF6Tank(player.inventory, (TileEntityMachinePuF6Tank) entity); - } - return null; - } - - case ModBlocks.guiID_reactor_breeding: { - if(entity instanceof TileEntityMachineReactorBreeding) { - return new GUIMachineReactorBreeding(player.inventory, (TileEntityMachineReactorBreeding) entity); - } - return null; - } - - case ModBlocks.guiID_bomb_multi: { - if(entity instanceof TileEntityBombMulti) { - return new GUIBombMulti(player.inventory, (TileEntityBombMulti) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_mike: { - if(entity instanceof TileEntityNukeMike) { - return new GUINukeMike(player.inventory, (TileEntityNukeMike) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_tsar: { - if(entity instanceof TileEntityNukeTsar) { - return new GUINukeTsar(player.inventory, (TileEntityNukeTsar) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_furnace: { - if(entity instanceof TileEntityNukeFurnace) { - return new GUINukeFurnace(player.inventory, (TileEntityNukeFurnace) entity); - } - return null; - } - - case ModBlocks.guiID_rtg_furnace: { - if(entity instanceof TileEntityRtgFurnace) { - return new GUIRtgFurnace(player.inventory, (TileEntityRtgFurnace) entity); - } - return null; - } - - case ModBlocks.guiID_electric_furnace: { - if(entity instanceof TileEntityMachineElectricFurnace) { - return new GUIMachineElectricFurnace(player.inventory, (TileEntityMachineElectricFurnace) entity); - } - return null; - } - - case ModBlocks.guiID_nuke_fleija: { - if(entity instanceof TileEntityNukeFleija) { - return new GUINukeFleija(player.inventory, (TileEntityNukeFleija) entity); - } - return null; - } - - case ModBlocks.guiID_machine_deuterium: { - if(entity instanceof TileEntityMachineDeuterium) { - return new GUIMachineDeuterium(player.inventory, (TileEntityMachineDeuterium) entity); - } - return null; - } - - case ModBlocks.guiID_machine_battery: { - if(entity instanceof TileEntityMachineBattery) { - return new GUIMachineBattery(player.inventory, (TileEntityMachineBattery) entity); - } - return null; - } - - case ModBlocks.guiID_machine_coal: { - if(entity instanceof TileEntityMachineCoal) { - return new GUIMachineCoal(player.inventory, (TileEntityMachineCoal) entity); - } - return null; - } case ModBlocks.guiID_nuke_prototype: { if(entity instanceof TileEntityNukePrototype) { @@ -1489,34 +1148,6 @@ public class GUIHandler implements IGuiHandler { return null; } - case ModBlocks.guiID_rbmk_rod: { - if(entity instanceof TileEntityRBMKRod) { - return new GUIRBMKRod(player.inventory, (TileEntityRBMKRod) entity); - } - return null; - } - - case ModBlocks.guiID_rbmk_boiler: { - if(entity instanceof TileEntityRBMKBoiler) { - return new GUIRBMKBoiler(player.inventory, (TileEntityRBMKBoiler) entity); - } - return null; - } - - case ModBlocks.guiID_rbmk_control: { - if(entity instanceof TileEntityRBMKControlManual) { - return new GUIRBMKControl(player.inventory, (TileEntityRBMKControlManual) entity); - } - return null; - } - - case ModBlocks.guiID_rbmk_control_auto: { - if(entity instanceof TileEntityRBMKControlAuto) { - return new GUIRBMKControlAuto(player.inventory, (TileEntityRBMKControlAuto) entity); - } - return null; - } - case ModBlocks.guiID_rbmk_console: { if(entity instanceof TileEntityRBMKConsole) { return new GUIRBMKConsole(player.inventory, (TileEntityRBMKConsole) entity); @@ -1530,14 +1161,6 @@ public class GUIHandler implements IGuiHandler { } return null; } - - case ModBlocks.guiID_rbmk_outgasser: { - if(entity instanceof TileEntityRBMKOutgasser) { - return new GUIRBMKOutgasser(player.inventory, (TileEntityRBMKOutgasser) entity); - } - return null; - } - case ModBlocks.guiID_maxwell: { if(entity instanceof TileEntityTurretMaxwell) { return new GUITurretMaxwell(player.inventory, (TileEntityTurretMaxwell) entity); @@ -1558,13 +1181,6 @@ public class GUIHandler implements IGuiHandler { } return null; } - - case ModBlocks.guiID_rbmk_storage: { - if(entity instanceof TileEntityRBMKStorage) { - return new GUIRBMKStorage(player.inventory, (TileEntityRBMKStorage) entity); - } - return null; - } case ModBlocks.guiID_rtg_difurnace: { if (entity instanceof TileEntityDiFurnaceRTG) { diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java index 7728952aa..82b5817e4 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java @@ -1,12 +1,17 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerBombMulti; +import com.hbm.inventory.gui.GUIBombMulti; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -14,8 +19,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityBombMulti extends TileEntity implements ISidedInventory { +public class TileEntityBombMulti extends TileEntity implements ISidedInventory, IGUIProvider { public ItemStack slots[]; private String customName; @@ -276,4 +282,14 @@ public class TileEntityBombMulti extends TileEntity implements ISidedInventory { { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerBombMulti(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIBombMulti(player.inventory, this); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java index 86ecc275d..043dfac7b 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java @@ -6,9 +6,11 @@ import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.handler.MissileStruct; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerCompactLauncher; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineCompactLauncher; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemCustomMissile; import com.hbm.items.weapon.ItemMissile; @@ -20,6 +22,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -29,8 +32,10 @@ import api.hbm.item.IDesignatorItem; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -39,9 +44,10 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyUser, IFluidStandardReceiver { +public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyUser, IFluidStandardReceiver, IGUIProvider { private ItemStack slots[]; @@ -617,4 +623,14 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I public FluidTank[] getReceivingTanks() { return tanks; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCompactLauncher(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineCompactLauncher(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index 46319ad09..ccfb537e7 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -1,37 +1,40 @@ package com.hbm.tileentity.bomb; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.LaunchPad; +import com.hbm.inventory.container.ContainerLaunchPadTier1; +import com.hbm.inventory.gui.GUILaunchPadTier1; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissilePacket; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; +import api.hbm.item.IDesignatorItem; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Optional; -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Callback; -import li.cil.oc.api.machine.Context; -import li.cil.oc.api.network.SimpleComponent; - -import api.hbm.item.IDesignatorItem; -import net.minecraft.block.Block; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.LaunchPad; - @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, SimpleComponent { +public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, SimpleComponent, IGUIProvider { public ItemStack slots[]; @@ -320,4 +323,14 @@ public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedI ((LaunchPad) ModBlocks.launch_pad).explode(worldObj, xCoord, yCoord, zCoord); return new Object[] {}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerLaunchPadTier1(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUILaunchPadTier1(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 6d7594261..ffb03dc42 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -6,9 +6,11 @@ import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.handler.MissileStruct; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerLaunchTable; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineLaunchTable; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemCustomMissile; import com.hbm.items.weapon.ItemMissile; @@ -20,6 +22,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; @@ -28,16 +31,19 @@ import api.hbm.item.IDesignatorItem; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver { +public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { private ItemStack slots[]; @@ -590,4 +596,14 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public FluidTank[] getReceivingTanks() { return tanks; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerLaunchTable(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineLaunchTable(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java index 8aaad9be4..5774670b3 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeBoy; +import com.hbm.inventory.gui.GUINukeBoy; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeBoy extends TileEntity implements ISidedInventory { +public class TileEntityNukeBoy extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; private String customName; @@ -199,4 +205,14 @@ public class TileEntityNukeBoy extends TileEntity implements ISidedInventory { { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeBoy(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeBoy(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java index 715afd4f7..abaab3b4c 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java @@ -5,21 +5,27 @@ import java.util.HashMap; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.bomb.NukeCustom; import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerNukeCustom; +import com.hbm.inventory.gui.GUINukeCustom; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeCustom extends TileEntity implements ISidedInventory { +public class TileEntityNukeCustom extends TileEntity implements ISidedInventory, IGUIProvider { public ItemStack slots[]; private String customName; @@ -432,4 +438,14 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory this.entry = entry; } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeCustom(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeCustom(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java index ad4bbd823..594aea78f 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeFleija; +import com.hbm.inventory.gui.GUINukeFleija; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeFleija extends TileEntity implements ISidedInventory { +public class TileEntityNukeFleija extends TileEntity implements ISidedInventory, IGUIProvider { public ItemStack slots[]; private String customName; @@ -209,4 +215,14 @@ public class TileEntityNukeFleija extends TileEntity implements ISidedInventory return 65536.0D; } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeFleija(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeFleija(player.inventory, this); + } + } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java index 4777be282..5cb65de75 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeGadget; +import com.hbm.inventory.gui.GUINukeGadget; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeGadget extends TileEntity implements ISidedInventory { +public class TileEntityNukeGadget extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; private String customName; @@ -261,4 +267,14 @@ public class TileEntityNukeGadget extends TileEntity implements ISidedInventory { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeGadget(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeGadget(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java index 0ddb12425..a620f3c86 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeMan; +import com.hbm.inventory.gui.GUINukeMan; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeMan extends TileEntity implements ISidedInventory { +public class TileEntityNukeMan extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; private String customName; @@ -235,4 +241,14 @@ public class TileEntityNukeMan extends TileEntity implements ISidedInventory { { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeMan(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeMan(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java index 1a4d07f0f..a6783f22f 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeMike; +import com.hbm.inventory.gui.GUINukeMike; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeMike extends TileEntity implements ISidedInventory { +public class TileEntityNukeMike extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; private String customName; @@ -221,4 +227,14 @@ public class TileEntityNukeMike extends TileEntity implements ISidedInventory { return 65536.0D; } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeMike(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeMike(player.inventory, this); + } + } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java index 4139108d1..de91903fb 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeN2; +import com.hbm.inventory.gui.GUINukeN2; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeN2 extends TileEntity implements ISidedInventory { +public class TileEntityNukeN2 extends TileEntity implements ISidedInventory, IGUIProvider { public ItemStack slots[]; private String customName; @@ -209,4 +215,14 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory { { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeN2(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeN2(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN45.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN45.java index 29c457588..df0f5c012 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN45.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN45.java @@ -7,17 +7,22 @@ import com.hbm.config.BombConfig; import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.logic.EntityNukeExplosionMK5; import com.hbm.explosion.ExplosionLarge; +import com.hbm.inventory.container.ContainerNukeN45; +import com.hbm.inventory.gui.GUINukeN45; import com.hbm.items.ModItems; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -28,7 +33,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -public class TileEntityNukeN45 extends TileEntity implements ISidedInventory { +public class TileEntityNukeN45 extends TileEntity implements ISidedInventory, IGUIProvider { public ItemStack slots[]; private String customName; @@ -312,4 +317,14 @@ public class TileEntityNukeN45 extends TileEntity implements ISidedInventory { return 65536.0D; } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeN45(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeN45(player.inventory, this); + } + } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java index f974d943e..04ee99199 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java @@ -1,20 +1,26 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukePrototype; +import com.hbm.inventory.gui.GUINukePrototype; import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemBreedingRod.*; +import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukePrototype extends TileEntity implements ISidedInventory { +public class TileEntityNukePrototype extends TileEntity implements ISidedInventory, IGUIProvider { public ItemStack slots[]; private String customName; @@ -212,4 +218,14 @@ public class TileEntityNukePrototype extends TileEntity implements ISidedInvento { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukePrototype(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukePrototype(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java index c3606d4a9..c2a7fdc98 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeSolinium; +import com.hbm.inventory.gui.GUINukeSolinium; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeSolinium extends TileEntity implements ISidedInventory { +public class TileEntityNukeSolinium extends TileEntity implements ISidedInventory, IGUIProvider { public ItemStack slots[]; private String customName; @@ -206,4 +212,14 @@ public class TileEntityNukeSolinium extends TileEntity implements ISidedInventor { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeSolinium(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeSolinium(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java index 1df071c68..dbdcba85f 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerNukeTsar; +import com.hbm.inventory.gui.GUINukeTsar; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeTsar extends TileEntity implements ISidedInventory { +public class TileEntityNukeTsar extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; private String customName; @@ -218,4 +224,14 @@ public class TileEntityNukeTsar extends TileEntity implements ISidedInventory { { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeTsar(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeTsar(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityTestNuke.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityTestNuke.java index 8aa17c9ad..dccba2b51 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityTestNuke.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityTestNuke.java @@ -1,18 +1,24 @@ package com.hbm.tileentity.bomb; +import com.hbm.inventory.container.ContainerTestNuke; +import com.hbm.inventory.gui.GUITestNuke; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public class TileEntityTestNuke extends TileEntity implements ISidedInventory { +public class TileEntityTestNuke extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; private String customName; @@ -200,4 +206,14 @@ public class TileEntityTestNuke extends TileEntity implements ISidedInventory { slots[i] = null; } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerTestNuke(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUITestNuke(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java index 3eaa5b1c9..23ae55c3c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java @@ -4,9 +4,11 @@ import java.util.Random; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerAMSBase; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIAMSBase; import com.hbm.items.ISatChip; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemCatalyst; @@ -16,19 +18,23 @@ import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.SatelliteResonator; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor { +public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider { private ItemStack slots[]; @@ -528,4 +534,14 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IF { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerAMSBase(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIAMSBase(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java index 7a3107643..8ada54726 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java @@ -1,33 +1,37 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; import java.util.Random; import com.hbm.explosion.ExplosionLarge; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerAMSEmitter; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIAMSEmitter; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor { +public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider { private ItemStack slots[]; @@ -407,4 +411,14 @@ public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerAMSEmitter(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIAMSEmitter(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java index 817398684..899e0e97f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java @@ -5,28 +5,34 @@ import java.util.Random; import com.hbm.explosion.ExplosionLarge; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerAMSLimiter; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIAMSLimiter; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.util.ParticleUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor { +public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider { private ItemStack slots[]; @@ -415,4 +421,14 @@ public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerAMSLimiter(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIAMSLimiter(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java index 5dc289f22..b617caeef 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java @@ -9,25 +9,31 @@ import com.hbm.entity.effect.EntityCloudFleijaRainbow; import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.entity.logic.EntityNukeExplosionMK3.ATEntry; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.inventory.container.ContainerCore; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUICore; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemCatalyst; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ArmorUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; +import net.minecraft.world.World; -public class TileEntityCore extends TileEntityMachineBase { +public class TileEntityCore extends TileEntityMachineBase implements IGUIProvider { public int field; public int heat; @@ -337,4 +343,14 @@ public class TileEntityCore extends TileEntityMachineBase { public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCore(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICore(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 48ea0c69e..ccdfb0eee 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -3,20 +3,31 @@ package com.hbm.tileentity.machine; import java.util.List; import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.inventory.container.ContainerCoreEmitter; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUICoreEmitter; import com.hbm.lib.ModDamageSource; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.block.ILaserable; import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardReceiver; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -24,14 +35,8 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Optional; -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Callback; -import li.cil.oc.api.machine.Context; -import li.cil.oc.api.network.SimpleComponent; - @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent { +public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { public long power; public static final long maxPower = 1000000000L; @@ -355,4 +360,14 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne watts = newOutput; return new Object[] {}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCoreEmitter(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICoreEmitter(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index 94f8f7540..5443df431 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -1,28 +1,34 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.inventory.container.ContainerCoreInjector; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUICoreInjector; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.fluid.IFluidStandardReceiver; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraftforge.common.util.ForgeDirection; - -import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreInjector extends TileEntityMachineBase implements IFluidAcceptor, IFluidStandardReceiver, SimpleComponent { +public class TileEntityCoreInjector extends TileEntityMachineBase implements IFluidAcceptor, IFluidStandardReceiver, SimpleComponent, IGUIProvider { public FluidTank[] tanks; public static final int range = 15; @@ -205,4 +211,14 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl public Object[] getSecondFuel(Context context, Arguments args) { return new Object[] {tanks[1].getFill()}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCoreInjector(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICoreInjector(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index b7822bf84..9618ebcd3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -1,34 +1,36 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.inventory.container.ContainerCoreReceiver; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUICoreReceiver; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.block.ILaserable; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Optional; -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Callback; -import li.cil.oc.api.machine.Context; -import li.cil.oc.api.network.SimpleComponent; - @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent { +public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { public long power; public long joules; @@ -206,4 +208,14 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn public Object[] getCryogel(Context context, Arguments args) { return new Object[] {tank.getFill()}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCoreReceiver(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICoreReceiver(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index 2d708dc83..50d0f44e4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -1,27 +1,33 @@ package com.hbm.tileentity.machine; +import com.hbm.inventory.container.ContainerCoreStabilizer; +import com.hbm.inventory.gui.GUICoreStabilizer; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemLens; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IEnergyUser; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraftforge.common.util.ForgeDirection; - -import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyUser, SimpleComponent { +public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyUser, SimpleComponent, IGUIProvider { public long power; public static final long maxPower = 2500000000L; @@ -206,4 +212,14 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I watts = newOutput; return new Object[] {}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCoreStabilizer(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICoreStabilizer(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index 5ef34d833..269daec40 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -1,23 +1,29 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.MachineDiFurnace; +import com.hbm.inventory.container.ContainerDiFurnace; +import com.hbm.inventory.gui.GUIDiFurnace; import com.hbm.inventory.recipes.BlastFurnaceRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRTGPellet; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.util.RTGUtil; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public class TileEntityDiFurnace extends TileEntity implements ISidedInventory, INBTPacketReceiver { +public class TileEntityDiFurnace extends TileEntity implements ISidedInventory, INBTPacketReceiver, IGUIProvider { private ItemStack slots[]; @@ -359,4 +365,14 @@ public class TileEntityDiFurnace extends TileEntity implements ISidedInventory, this.sideUpper = modes[1]; this.sideLower = modes[2]; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerDiFurnace(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIDiFurnace(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java index ed9135251..9cdaba4c7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java @@ -6,21 +6,27 @@ import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerElectrolyser; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIElectrolyser; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.init.Blocks; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor /* TODO: new fluid API */ { +public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IGUIProvider /* TODO: new fluid API */ { public long power; public static final long maxPower = 20000000; @@ -184,4 +190,14 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn this.power = power; } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerElectrolyser(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIElectrolyser(player.inventory, this); + } + } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java index b764fd23a..827fc3bfc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java @@ -5,13 +5,16 @@ import java.util.Random; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IReactor; +import com.hbm.inventory.container.ContainerFWatzCore; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIFWatzCore; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.world.machine.FWatz; @@ -19,7 +22,9 @@ import com.hbm.world.machine.FWatz; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -27,7 +32,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.World; -public class TileEntityFWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver { +public class TileEntityFWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { public long power; public final static long maxPower = 10000000000L; @@ -445,4 +450,12 @@ public class TileEntityFWatzCore extends TileEntityLoadedBase implements ISidedI public FluidTank[] getAllTanks() { return tanks; } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerFWatzCore(player.inventory, this); + } + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIFWatzCore(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java index 1208805c8..74a08e587 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java @@ -3,10 +3,13 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import com.hbm.inventory.container.ContainerForceField; +import com.hbm.inventory.gui.GUIForceField; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEFFPacket; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; @@ -14,8 +17,10 @@ import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -23,9 +28,10 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { +public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IGUIProvider { private ItemStack slots[]; @@ -475,4 +481,14 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerForceField(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIForceField(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java index bacd632ff..95a7c5336 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java @@ -2,23 +2,29 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.MachineArcFurnace; +import com.hbm.inventory.container.ContainerMachineArcFurnace; +import com.hbm.inventory.gui.GUIMachineArcFurnace; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; -public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { +public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IGUIProvider { private ItemStack slots[]; @@ -381,4 +387,14 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements public long getMaxPower() { return maxPower; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineArcFurnace(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineArcFurnace(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index cdf98fe69..af8c0bc22 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -7,14 +7,17 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerMachineAssembler; +import com.hbm.inventory.gui.GUIMachineAssembler; +import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemAssemblyTemplate; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.storage.TileEntityCrateBase; import com.hbm.tileentity.machine.storage.TileEntityCrateIron; @@ -24,6 +27,9 @@ import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -31,8 +37,9 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.tileentity.TileEntityHopper; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineAssembler extends TileEntityMachineBase implements IEnergyUser { +public class TileEntityMachineAssembler extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { public long power; public static final long maxPower = 100000; @@ -605,4 +612,14 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements return count; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineAssembler(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineAssembler(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java index bdb552293..06189167c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java @@ -7,6 +7,7 @@ import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemAssemblyTemplate; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; @@ -17,7 +18,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChunkCoordinates; -public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBase implements IEnergyUser { +public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { public long power; public int[] progress; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java index 07c2abda0..6ab6e2298 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java @@ -8,9 +8,11 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerAssemfac; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIAssemfac; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; @@ -19,10 +21,14 @@ import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase implements IFluidStandardTransceiver, IFluidAcceptor, IFluidSource { @@ -463,4 +469,14 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im public FluidTank[] getAllTanks() { return new FluidTank[] { water, steam }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerAssemfac(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIAssemfac(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java index 7f5ffa1ac..997947a8d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java @@ -3,11 +3,15 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import com.hbm.inventory.container.ContainerAutocrafter; +import com.hbm.inventory.gui.GUIAutocrafter; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ItemStackUtil; import api.hbm.energy.IEnergyUser; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; @@ -16,8 +20,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; -public class TileEntityMachineAutocrafter extends TileEntityMachineBase implements IEnergyUser { +public class TileEntityMachineAutocrafter extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { public static final String MODE_EXACT = "exact"; public static final String MODE_WILDCARD = "wildcard"; @@ -422,4 +427,14 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen nbt.setInteger("rec", this.recipeIndex); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerAutocrafter(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIAutocrafter(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java index 5bf7373ee..4b088c768 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java @@ -8,26 +8,31 @@ import com.hbm.blocks.machine.MachineBoiler; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerMachineBoiler; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineBoiler; import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.lib.Library; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.world.World; -public class TileEntityMachineBoiler extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IFluidStandardTransceiver { +public class TileEntityMachineBoiler extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IGUIProvider { private ItemStack slots[]; @@ -406,4 +411,14 @@ public class TileEntityMachineBoiler extends TileEntityLoadedBase implements ISi public FluidTank[] getAllTanks() { return tanks; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineBoiler(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineBoiler(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index 4a7323227..9f5dac71e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -8,30 +8,35 @@ import com.hbm.blocks.machine.MachineBoiler; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerMachineBoilerElectric; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineBoilerElectric; import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyUser, IFluidStandardTransceiver { +public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyUser, IFluidStandardTransceiver, IGUIProvider { private ItemStack slots[]; @@ -428,4 +433,14 @@ public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implem public FluidTank[] getAllTanks() { return tanks; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineBoilerElectric(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineBoilerElectric(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java index c855fe8cd..bbadf9d72 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java @@ -2,27 +2,33 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerMachineCMBFactory; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineCMBFactory; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; -public class TileEntityMachineCMBFactory extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver { +public class TileEntityMachineCMBFactory extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { private ItemStack slots[]; @@ -363,4 +369,14 @@ public class TileEntityMachineCMBFactory extends TileEntityLoadedBase implements public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineCMBFactory(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineCMBFactory(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java index 606d992f1..7c1c66592 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java @@ -1,22 +1,29 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerCentrifuge; +import com.hbm.inventory.gui.GUIMachineCentrifuge; import com.hbm.inventory.recipes.CentrifugeRecipes; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; +import net.minecraft.world.World; -public class TileEntityMachineCentrifuge extends TileEntityMachineBase implements IEnergyUser { +public class TileEntityMachineCentrifuge extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { public int progress; public long power; @@ -287,4 +294,14 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement public long getMaxPower() { return maxPower; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCentrifuge(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineCentrifuge(player.inventory, this); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java index ca7974031..94fb3f917 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java @@ -8,9 +8,11 @@ import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerChemfac; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIChemfac; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; @@ -18,10 +20,14 @@ import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase { @@ -390,4 +396,14 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase { public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerChemfac(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIChemfac(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 12a37e670..adcd46c46 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -8,9 +8,11 @@ import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerMachineChemplant; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineChemplant; import com.hbm.inventory.recipes.ChemplantRecipes; import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; import com.hbm.items.ModItems; @@ -18,6 +20,7 @@ import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; import com.hbm.util.fauxpointtwelve.DirPos; @@ -26,15 +29,19 @@ import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver { +public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider { public long power; public static final long maxPower = 100000; @@ -620,4 +627,14 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements public FluidTank[] getAllTanks() { return tanks; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineChemplant(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineChemplant(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index be3879c33..1a32bf626 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -13,6 +13,7 @@ import com.hbm.inventory.recipes.ChemplantRecipes; import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; @@ -33,7 +34,7 @@ import net.minecraft.util.ChunkCoordinates; * Tanks follow the order R1(I1, I2, O1, O2), R2(I1, I2, O1, O2) ... * @author hbm */ -public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IFluidUser { +public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IFluidUser, IGUIProvider { public long power; public int[] progress; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index e3c70e654..f6198447c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -1,14 +1,5 @@ package com.hbm.tileentity.machine; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraftforge.common.util.ForgeDirection; - import java.io.IOException; import com.google.gson.JsonObject; @@ -17,23 +8,37 @@ import com.hbm.blocks.machine.MachineCoal; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidContainerRegistry; +import com.hbm.inventory.container.ContainerMachineCoal; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineCoal; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine { +public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { private ItemStack slots[]; @@ -373,4 +378,14 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide writer.name("I:powerGen").value(genRate); writer.name("D:burnTimeMod").value(fuelMod); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineCoal(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineCoal(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index ee42bac61..4e5cfc197 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -11,15 +11,18 @@ import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionThermo; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerMachineCyclotron; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineCyclotron; import com.hbm.inventory.recipes.CyclotronRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.lib.Library; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -28,12 +31,16 @@ import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IFluidSource, IFluidAcceptor, IEnergyUser, IFluidStandardTransceiver { +public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IFluidSource, IFluidAcceptor, IEnergyUser, IFluidStandardTransceiver, IGUIProvider { public long power; public static final long maxPower = 100000000; @@ -541,4 +548,14 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements public FluidTank[] getAllTanks() { return new FluidTank[] { amat, coolant }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineCyclotron(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineCyclotron(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java index b6f70a09f..06b1e251e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java @@ -1,17 +1,23 @@ package com.hbm.tileentity.machine; +import com.hbm.inventory.container.ContainerMachineDeuterium; +import com.hbm.inventory.gui.GUIMachineDeuterium; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public class TileEntityMachineDeuterium extends TileEntity implements ISidedInventory { +public class TileEntityMachineDeuterium extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -296,4 +302,14 @@ public class TileEntityMachineDeuterium extends TileEntity implements ISidedInve } } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineDeuterium(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineDeuterium(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index d1dc5e237..0a0331617 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -9,24 +9,31 @@ import com.google.gson.stream.JsonWriter; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidContainerRegistry; +import com.hbm.inventory.container.ContainerMachineDiesel; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Combustible; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; +import com.hbm.inventory.gui.GUIMachineDiesel; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDiesel extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine { +public class TileEntityMachineDiesel extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { public long power; public int soundCycle = 0; @@ -288,4 +295,14 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE writer.endArray().setIndent(" "); writer.name("B:shutUp").value(shutUp); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineDiesel(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineDiesel(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java index e6da469d4..ce9941e83 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -1,28 +1,33 @@ package com.hbm.tileentity.machine; +import com.hbm.inventory.container.ContainerMachineEPress; +import com.hbm.inventory.gui.GUIMachineEPress; import com.hbm.inventory.recipes.PressRecipes; import com.hbm.items.machine.ItemStamp; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEPressPacket; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineEPress extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { +public class TileEntityMachineEPress extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IGUIProvider { private ItemStack slots[]; @@ -308,4 +313,14 @@ public class TileEntityMachineEPress extends TileEntityLoadedBase implements ISi public long getMaxPower() { return maxPower; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineEPress(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineEPress(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index fe1a11bd4..7b39aadf1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -2,19 +2,26 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.MachineElectricFurnace; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerElectricFurnace; +import com.hbm.inventory.gui.GUIMachineElectricFurnace; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineElectricFurnace extends TileEntityMachineBase implements ISidedInventory, IEnergyUser { +public class TileEntityMachineElectricFurnace extends TileEntityMachineBase implements ISidedInventory, IEnergyUser, IGUIProvider { // HOLY FUCKING SHIT I SPENT 5 DAYS ON THIS SHITFUCK CLASS FILE // thanks Martin, vaer and Bob for the help @@ -243,4 +250,14 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl public long getMaxPower() { return maxPower; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerElectricFurnace(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineElectricFurnace(player.inventory, this); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java index 260b28c52..66d489911 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java @@ -4,16 +4,18 @@ import java.util.HashMap; import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.inventory.container.ContainerMachineGasCent; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineGasCent; import com.hbm.inventory.recipes.GasCentrifugeRecipes.PseudoFluidType; import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; -import com.hbm.items.machine.ItemFluidIdentifier; import com.hbm.lib.Library; import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; import com.hbm.util.fauxpointtwelve.DirPos; @@ -23,14 +25,18 @@ import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; //epic! -public class TileEntityMachineGasCent extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, IFluidStandardReceiver { +public class TileEntityMachineGasCent extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { public long power; public int progress; @@ -468,4 +474,14 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I * ---------------------------- */ } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineGasCent(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineGasCent(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index e363cc63a..5b1b7929b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -7,13 +7,16 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.BlockDummyable; import com.hbm.config.GeneralConfig; import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.inventory.container.ContainerIGenerator; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Flammable; +import com.hbm.inventory.gui.GUIIGenerator; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.RTGUtil; import com.hbm.util.fauxpointtwelve.DirPos; @@ -22,15 +25,19 @@ import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineIGenerator extends TileEntityMachineBase implements IFluidAcceptor, IEnergyGenerator, IFluidStandardReceiver, IConfigurableMachine { +public class TileEntityMachineIGenerator extends TileEntityMachineBase implements IFluidAcceptor, IEnergyGenerator, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { public long power; public int spin; @@ -370,4 +377,14 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement public FluidTank[] getAllTanks() { return tanks; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerIGenerator(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIIGenerator(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java index bc36ef189..1da2880f6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java @@ -1,18 +1,23 @@ package com.hbm.tileentity.machine; -import com.hbm.items.ModItems; +import com.hbm.inventory.container.ContainerMachineKeyForge; +import com.hbm.inventory.gui.GUIMachineKeyForge; import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; +import com.hbm.items.ModItems; import com.hbm.items.tool.ItemKeyPin; +import com.hbm.tileentity.IGUIProvider; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public class TileEntityMachineKeyForge extends TileEntity implements ISidedInventory { +public class TileEntityMachineKeyForge extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -191,4 +196,14 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven } } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineKeyForge(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineKeyForge(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java index 771e275f4..275931e44 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java @@ -2,6 +2,8 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerMachineMiningDrill; +import com.hbm.inventory.gui.GUIMachineMiningDrill; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; @@ -9,6 +11,7 @@ import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEDrillPacket; import com.hbm.sound.SoundLoopMachine; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.block.IDrillInteraction; @@ -19,13 +22,17 @@ import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineMiningDrill extends TileEntityMachineBase implements IEnergyUser, IMiningDrill { +public class TileEntityMachineMiningDrill extends TileEntityMachineBase implements IEnergyUser, IMiningDrill, IGUIProvider { public long power; public int warning; @@ -474,4 +481,14 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen public int getDrillRating() { return 50; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineMiningDrill(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineMiningDrill(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java index 3d5e06729..541815fd2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java @@ -1,25 +1,31 @@ package com.hbm.tileentity.machine; import com.hbm.handler.MissileStruct; +import com.hbm.inventory.container.ContainerMachineMissileAssembly; +import com.hbm.inventory.gui.GUIMachineMissileAssembly; import com.hbm.items.weapon.ItemCustomMissile; import com.hbm.items.weapon.ItemMissile; import com.hbm.items.weapon.ItemMissile.FuelType; import com.hbm.items.weapon.ItemMissile.PartType; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineMissileAssembly extends TileEntity implements ISidedInventory { +public class TileEntityMachineMissileAssembly extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -303,4 +309,14 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineMissileAssembly(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineMissileAssembly(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index 0929c2dc6..ffb7c1ed7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -1,16 +1,20 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.recipes.MachineRecipes; +import com.hbm.inventory.container.ContainerMachinePress; +import com.hbm.inventory.gui.GUIMachinePress; import com.hbm.inventory.recipes.PressRecipes; import com.hbm.items.machine.ItemStamp; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEPressPacket; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -18,9 +22,10 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachinePress extends TileEntity implements ISidedInventory { +public class TileEntityMachinePress extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -328,4 +333,14 @@ public class TileEntityMachinePress extends TileEntity implements ISidedInventor { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachinePress(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachinePress(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java index cbfe5b0a4..dfd224169 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java @@ -1,22 +1,28 @@ package com.hbm.tileentity.machine; import com.hbm.config.VersatileConfig; +import com.hbm.inventory.container.ContainerMachineRTG; +import com.hbm.inventory.gui.GUIMachineRTG; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.RTGUtil; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator { +public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IGUIProvider { private ItemStack slots[]; @@ -232,4 +238,14 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided public void setPower(long i) { this.power = i; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineRTG(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineRTG(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java index 0cf5628f5..17ca26395 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java @@ -4,23 +4,30 @@ import java.util.HashMap; import com.hbm.blocks.BlockDummyable; import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerMachineRadGen; +import com.hbm.inventory.gui.GUIMachineRadGen; import com.hbm.items.ModItems; import com.hbm.items.special.ItemWasteLong; import com.hbm.items.special.ItemWasteShort; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Triplet; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRadGen extends TileEntityMachineBase implements IEnergyGenerator { +public class TileEntityMachineRadGen extends TileEntityMachineBase implements IEnergyGenerator, IGUIProvider { public int[] progress = new int[12]; public int[] maxProgress = new int[12]; @@ -268,4 +275,14 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineRadGen(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineRadGen(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java index 86c79472b..b2dbfa586 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java @@ -6,7 +6,9 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.config.WeaponConfig; import com.hbm.extprop.HbmLivingProps; -import com.hbm.interfaces.Untested; +import com.hbm.inventory.container.ContainerMachineRadar; +import com.hbm.inventory.gui.GUIMachineRadar; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityTickingBase; import api.hbm.energy.IEnergyUser; @@ -14,14 +16,17 @@ import api.hbm.entity.IRadarDetectable; import api.hbm.entity.IRadarDetectable.RadarTargetType; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineRadar extends TileEntityTickingBase implements IEnergyUser { +public class TileEntityMachineRadar extends TileEntityTickingBase implements IEnergyUser, IGUIProvider { public List entList = new ArrayList(); public List nearbyMissiles = new ArrayList(); @@ -279,4 +284,14 @@ public class TileEntityMachineRadar extends TileEntityTickingBase implements IEn { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineRadar(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineRadar(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java index 75471e696..3c39cd4de 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java @@ -3,34 +3,41 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; -import api.hbm.fluid.IFluidStandardTransceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidStack; +import com.hbm.inventory.container.ContainerRadiolysis; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIRadiolysis; import com.hbm.inventory.recipes.RadiolysisRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.items.machine.ItemRTGPelletDepleted; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.RTGUtil; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyGenerator; +import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, IFluidSource, IFluidContainer, IFluidStandardTransceiver { +public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, IFluidSource, IFluidContainer, IFluidStandardTransceiver, IGUIProvider { public long power; public static final int maxPower = 1000000; @@ -358,4 +365,14 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRadiolysis(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRadiolysis(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index 9d0aa8302..4dbece608 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -2,27 +2,33 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.ReactorResearch; +import com.hbm.inventory.container.ContainerMachineReactorBreeding; +import com.hbm.inventory.gui.GUIMachineReactorBreeding; import com.hbm.inventory.recipes.BreederRecipes; import com.hbm.inventory.recipes.BreederRecipes.BreederRecipe; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraftforge.common.util.ForgeDirection; - -import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.block.Block; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineReactorBreeding extends TileEntityMachineBase implements SimpleComponent { +public class TileEntityMachineReactorBreeding extends TileEntityMachineBase implements SimpleComponent, IGUIProvider { public int flux; public float progress; @@ -226,4 +232,14 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl public Object[] getProgress(Context context, Arguments args) { return new Object[] {progress}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineReactorBreeding(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineReactorBreeding(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index 4c3fa81d9..0b245a895 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import api.hbm.fluid.IFluidStandardTransceiver; import com.hbm.blocks.ModBlocks; import com.hbm.config.MobConfig; import com.hbm.explosion.ExplosionNukeGeneric; @@ -12,19 +11,25 @@ import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerReactorMultiblock; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIReactorMultiblock; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFuelRod; import com.hbm.lib.Library; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; +import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; @@ -33,9 +38,10 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineReactorLarge extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IFluidStandardTransceiver { +public class TileEntityMachineReactorLarge extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IGUIProvider { private ItemStack slots[]; @@ -995,4 +1001,14 @@ public class TileEntityMachineReactorLarge extends TileEntityLoadedBase implemen public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0], tanks[1]}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerReactorMultiblock(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIReactorMultiblock(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index a3aa409dd..54c888d16 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -1,17 +1,26 @@ package com.hbm.tileentity.machine; +import java.util.List; +import java.util.Random; + import com.hbm.entity.missile.EntityMinerRocket; import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.inventory.container.ContainerSatDock; +import com.hbm.inventory.gui.GUISatDock; import com.hbm.items.ISatChip; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.SatelliteMiner; import com.hbm.saveddata.satellites.SatelliteMinerCargoRegistry; +import com.hbm.tileentity.IGUIProvider; import com.hbm.util.WeightedRandomObject; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; @@ -20,11 +29,9 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.WeightedRandom; +import net.minecraft.world.World; -import java.util.List; -import java.util.Random; - -public class TileEntityMachineSatDock extends TileEntity implements ISidedInventory { +public class TileEntityMachineSatDock extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack[] slots; @@ -364,4 +371,14 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerSatDock(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUISatDock(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java index 3a384304f..2bfef6081 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java @@ -1,16 +1,21 @@ package com.hbm.tileentity.machine; +import com.hbm.inventory.container.ContainerMachineSatLinker; +import com.hbm.inventory.gui.GUIMachineSatLinker; import com.hbm.items.ISatChip; -import com.hbm.items.machine.ItemSatChip; +import com.hbm.tileentity.IGUIProvider; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public class TileEntityMachineSatLinker extends TileEntity implements ISidedInventory { +public class TileEntityMachineSatLinker extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -184,4 +189,14 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve } } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineSatLinker(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineSatLinker(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index e9da0a2ba..edc66bd39 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -1,21 +1,28 @@ package com.hbm.tileentity.machine; import com.hbm.config.VersatileConfig; +import com.hbm.inventory.container.ContainerMachineSchrabidiumTransmutator; +import com.hbm.inventory.gui.GUIMachineSchrabidiumTransmutator; import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemCapacitor; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineBase implements IEnergyUser { +public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { public long power = 0; public int process = 0; @@ -234,4 +241,14 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB public long getMaxPower() { return maxPower; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineSchrabidiumTransmutator(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineSchrabidiumTransmutator(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index 40fd34e0c..83d4c5f94 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -9,31 +9,37 @@ import com.google.gson.stream.JsonWriter; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidContainerRegistry; +import com.hbm.inventory.container.ContainerMachineSelenium; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Combustible; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; +import com.hbm.inventory.gui.GUIMachineSelenium; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineSeleniumEngine extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine { +public class TileEntityMachineSeleniumEngine extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { private ItemStack slots[]; @@ -413,4 +419,14 @@ public class TileEntityMachineSeleniumEngine extends TileEntityLoadedBase implem public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineSelenium(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineSelenium(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java index a12e5dcab..7571a6fce 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -1,23 +1,29 @@ package com.hbm.tileentity.machine; +import com.hbm.inventory.container.ContainerMachineShredder; +import com.hbm.inventory.gui.GUIMachineShredder; import com.hbm.inventory.recipes.ShredderRecipes; import com.hbm.items.machine.ItemBlades; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineShredder extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { +public class TileEntityMachineShredder extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IGUIProvider { private ItemStack slots[]; @@ -414,4 +420,14 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I return 0; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineShredder(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineShredder(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java index 7ad87852f..3c89ca986 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java @@ -2,21 +2,27 @@ package com.hbm.tileentity.machine; import java.util.Arrays; +import com.hbm.inventory.container.ContainerMachineSiren; +import com.hbm.inventory.gui.GUIMachineSiren; import com.hbm.items.machine.ItemCassette; import com.hbm.items.machine.ItemCassette.SoundType; import com.hbm.items.machine.ItemCassette.TrackType; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TESirenPacket; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public class TileEntityMachineSiren extends TileEntity implements ISidedInventory { +public class TileEntityMachineSiren extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -217,4 +223,14 @@ public class TileEntityMachineSiren extends TileEntity implements ISidedInventor return TrackType.NULL; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineSiren(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineSiren(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index b2a065e2a..e6808c787 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -6,29 +6,34 @@ import java.util.List; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerMachineTurbine; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; -import com.hbm.inventory.recipes.MachineRecipes; +import com.hbm.inventory.gui.GUIMachineTurbine; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator, IFluidStandardTransceiver { +public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator, IFluidStandardTransceiver, IGUIProvider { private ItemStack slots[]; @@ -368,4 +373,14 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS public FluidTank[] getAllTanks() { return tanks; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineTurbine(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineTurbine(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index bbba68220..d0661daba 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -5,11 +5,13 @@ import java.util.List; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerMachineTurbofan; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Combustible; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; +import com.hbm.inventory.gui.GUIMachineTurbofan; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.ModDamageSource; @@ -17,6 +19,7 @@ import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -25,16 +28,20 @@ import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbofan extends TileEntityMachineBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver { +public class TileEntityMachineTurbofan extends TileEntityMachineBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { public long power; public static final long maxPower = 500_000; @@ -408,4 +415,14 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineTurbofan(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineTurbofan(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java index 82a9dc052..337ed8d7a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java @@ -4,19 +4,25 @@ import java.util.HashMap; import com.hbm.blocks.machine.MachineNukeFurnace; import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerNukeFurnace; +import com.hbm.inventory.gui.GUINukeFurnace; import com.hbm.items.ItemCustomLore; import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemBreedingRod.*; +import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; +import com.hbm.tileentity.IGUIProvider; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory { +public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -391,4 +397,14 @@ public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory return 0; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerNukeFurnace(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUINukeFurnace(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index 6db0cc2fd..bae997295 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -2,19 +2,25 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.inventory.container.ContainerRadiobox; import com.hbm.lib.ModDamageSource; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.IMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyUser { +public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyUser, IGUIProvider { long power; public static long maxPower = 500000; @@ -83,4 +89,14 @@ public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyU public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRadiobox(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java index 3fc148613..c6a686c56 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java @@ -3,24 +3,25 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.ReactorResearch; import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerReactorControl; +import com.hbm.inventory.gui.GUIReactorControl; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlAuto.RBMKFunction; -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; -import net.minecraft.block.BlockRedstoneComparator; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; +import net.minecraft.world.World; -public class TileEntityReactorControl extends TileEntityMachineBase implements IControlReceiver { +public class TileEntityReactorControl extends TileEntityMachineBase implements IControlReceiver, IGUIProvider { private static final int[] slots_io = new int[] {0}; @@ -242,4 +243,14 @@ public class TileEntityReactorControl extends TileEntityMachineBase implements I QUAD, LOG } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerReactorControl(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIReactorControl(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index c19264cf8..2c7a654f5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -8,31 +8,36 @@ import com.hbm.config.MobConfig; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerReactorResearch; +import com.hbm.inventory.gui.GUIReactorResearch; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPlateFuel; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Optional; -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Callback; -import li.cil.oc.api.machine.Context; -import li.cil.oc.api.network.SimpleComponent; - @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) //TODO: fix reactor control; -public class TileEntityReactorResearch extends TileEntityMachineBase implements IControlReceiver, SimpleComponent { +public class TileEntityReactorResearch extends TileEntityMachineBase implements IControlReceiver, SimpleComponent, IGUIProvider { @SideOnly(Side.CLIENT) public double lastLevel; @@ -422,4 +427,14 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements targetLevel = newLevel; return new Object[] {}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerReactorResearch(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIReactorResearch(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java index 1062d3a9d..794d2aa06 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java @@ -1,20 +1,24 @@ package com.hbm.tileentity.machine; +import com.hbm.blocks.machine.MachineRtgFurnace; +import com.hbm.inventory.container.ContainerRtgFurnace; +import com.hbm.inventory.gui.GUIRtgFurnace; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.RTGUtil; + +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -import com.hbm.blocks.machine.MachineRtgFurnace; -import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemRTGPellet; -import com.hbm.util.RTGUtil; - -public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory { +public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -289,4 +293,14 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory this.markDirty(); } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRtgFurnace(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRtgFurnace(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index e0c215294..e985cf1de 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -3,17 +3,20 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; -import com.hbm.handler.MissileStruct; import com.hbm.entity.missile.EntitySoyuz; +import com.hbm.handler.MissileStruct; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerSoyuzLauncher; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUISoyuzLauncher; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -22,6 +25,9 @@ import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.item.IDesignatorItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -29,9 +35,10 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver { +public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { public long power; public static final long maxPower = 1000000; @@ -472,4 +479,14 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS public boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerSoyuzLauncher(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUISoyuzLauncher(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java index 4693ed304..fc06d17b2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java @@ -1,19 +1,25 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerWasteDrum; +import com.hbm.inventory.gui.GUIWasteDrum; import com.hbm.inventory.recipes.FuelPoolRecipes; import com.hbm.items.machine.ItemRBMKRod; +import com.hbm.tileentity.IGUIProvider; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityWasteDrum extends TileEntity implements ISidedInventory { +public class TileEntityWasteDrum extends TileEntity implements ISidedInventory, IGUIProvider { private ItemStack slots[]; @@ -213,4 +219,14 @@ public class TileEntityWasteDrum extends TileEntity implements ISidedInventory { } } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerWasteDrum(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIWasteDrum(player.inventory, this); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java index eedcc3aeb..e6803b09e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java @@ -12,9 +12,11 @@ import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.IReactor; +import com.hbm.inventory.container.ContainerWatzCore; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIWatzCore; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemCapacitor; import com.hbm.items.special.WatzFuel; @@ -22,13 +24,16 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardSender; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -37,7 +42,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidSource, IFluidStandardSender { +public class TileEntityWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidSource, IFluidStandardSender, IGUIProvider { public long power; public final static long maxPower = 100000000; @@ -767,4 +772,12 @@ public class TileEntityWatzCore extends TileEntityLoadedBase implements ISidedIn public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerWatzCore(player.inventory, this); + } + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIWatzCore(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java index bda7c0c88..88ea344b4 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java @@ -6,15 +6,21 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.inventory.container.ContainerMachineOilWell; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineOilWell; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.world.feature.OilSpot; import net.minecraft.block.Block; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.world.World; public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase implements IFluidAcceptor { @@ -202,4 +208,14 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple writer.name("I:gasPerBedrockDepositMax").value(gasPerBedrockDepositMax); writer.name("I:destructionRange").value(destructionRange); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineOilWell(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineOilWell(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java index 6c94e3730..2a6154c4e 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -6,15 +6,18 @@ import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerMachineGasFlare; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; +import com.hbm.inventory.gui.GUIMachineGasFlare; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ParticleUtil; @@ -22,14 +25,17 @@ import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.world.World; -public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IControlReceiver { +public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IControlReceiver, IGUIProvider { public long power; public static final long maxPower = 100000; @@ -278,4 +284,14 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineGasFlare(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineGasFlare(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java index 3d82aa216..b836f62b7 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java @@ -7,12 +7,15 @@ import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidStack; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerLiquefactor; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUILiquefactor; import com.hbm.inventory.recipes.LiquefactionRecipes; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -20,11 +23,15 @@ import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardSender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardSender { +public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardSender, IGUIProvider { public long power; public static final long maxPower = 100000; @@ -278,4 +285,14 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerLiquefactor(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUILiquefactor(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java index b6318ce97..2dcc60cb3 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java @@ -6,14 +6,20 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.ExplosionLarge; +import com.hbm.inventory.container.ContainerMachineOilWell; import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.gui.GUIMachineOilWell; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.util.fauxpointtwelve.DirPos; import net.minecraft.block.Block; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; public class TileEntityMachineOilWell extends TileEntityOilDrillBase { @@ -155,4 +161,14 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase { writer.name("I:gasPerDepositMax").value(gasPerDepositMax); writer.name("D:drainChance").value(drainChance); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineOilWell(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineOilWell(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java index ebcd697ca..6a9dc9638 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java @@ -6,14 +6,20 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.container.ContainerMachineOilWell; import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.gui.GUIMachineOilWell; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.util.fauxpointtwelve.DirPos; import net.minecraft.block.Block; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.oredict.OreDictionary; @@ -205,4 +211,14 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase { writer.name("I:gasPerDepositMax").value(gasPerDepositMax); writer.name("D:drainChance").value(drainChance); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineOilWell(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineOilWell(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java index 4b44632a8..0d072c57b 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -16,12 +16,15 @@ import com.hbm.inventory.OreDictManager; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.container.ContainerMachineRefinery; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineRefinery; import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IOverpressurable; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.IRepairable; @@ -34,8 +37,10 @@ import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -45,7 +50,7 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRefinery extends TileEntityMachineBase implements IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, IOverpressurable, IPersistentNBT, IRepairable, IFluidStandardTransceiver { +public class TileEntityMachineRefinery extends TileEntityMachineBase implements IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, IOverpressurable, IPersistentNBT, IRepairable, IFluidStandardTransceiver, IGUIProvider { public long power = 0; public int sulfur = 0; @@ -475,4 +480,14 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements for(int i = 0; i < 5; i++) this.tanks[i].readFromNBT(data, "" + i); this.hasExploded = data.getBoolean("hasExploded"); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineRefinery(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineRefinery(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java index 18fa8698e..432439c48 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java @@ -2,12 +2,15 @@ package com.hbm.tileentity.machine.oil; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.container.ContainerSolidifier; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUISolidifier; import com.hbm.inventory.recipes.SolidificationRecipes; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; @@ -16,11 +19,15 @@ import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, IFluidStandardReceiver { +public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { public long power; public static final long maxPower = 100000; @@ -252,4 +259,14 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerSolidifier(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUISolidifier(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java index 3225454ad..8ddfb7867 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -15,6 +15,7 @@ import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.BobMathUtil; import com.hbm.util.Tuple; @@ -32,7 +33,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardTransceiver, IConfigurableMachine { +public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider { public int indicator = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index 05caa6325..4fbd6a9bc 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -3,31 +3,34 @@ package com.hbm.tileentity.machine.rbmk; import java.util.ArrayList; import java.util.List; -import api.hbm.fluid.IFluidStandardTransceiver; -import api.hbm.fluid.IFluidUser; -import api.hbm.fluid.IPipeNet; - import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerRBMKGeneric; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIRBMKBoiler; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.fauxpointtwelve.DirPos; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.Vec3; - +import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.fluid.IFluidUser; +import api.hbm.fluid.IPipeNet; import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent { @@ -355,4 +358,14 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I public Object[] getWaterMax(Context context, Arguments args) { return new Object[] {feed.getMaxFill()}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKGeneric(player.inventory); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKBoiler(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java index 07f2dbe02..76188ef66 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java @@ -1,13 +1,18 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerRBMKControlAuto; +import com.hbm.inventory.gui.GUIRBMKControlAuto; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; +import net.minecraft.world.World; public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements IControlReceiver { @@ -126,4 +131,14 @@ public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements public ColumnType getConsoleType() { return ColumnType.CONTROL_AUTO; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKControlAuto(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKControlAuto(player.inventory, this); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java index 154d3018c..6e7a1e2d3 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java @@ -2,16 +2,20 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.blocks.machine.rbmk.RBMKControl; import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerRBMKControl; +import com.hbm.inventory.gui.GUIRBMKControl; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.Vec3; - import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; public class TileEntityRBMKControlManual extends TileEntityRBMKControl implements IControlReceiver { @@ -131,5 +135,15 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement @Optional.Method(modid = "OpenComputers") public Object[] getColor(Context context, Arguments args) { return new Object[] {this.color}; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKControl(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKControl(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java index 5c3fdcad6..bd3ca5f81 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -3,22 +3,28 @@ package com.hbm.tileentity.machine.rbmk; import java.util.ArrayList; import java.util.List; -import api.hbm.fluid.IFluidStandardTransceiver; import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.container.ContainerRBMKHeater; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Heatable; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; +import com.hbm.inventory.gui.GUIRBMKHeater; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.fluid.IFluidStandardTransceiver; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver { @@ -259,4 +265,14 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I public FluidTank[] getReceivingTanks() { return new FluidTank[] {feed}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKHeater(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKHeater(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index c6170daba..0965974c9 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -4,25 +4,31 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import api.hbm.fluid.IFluidStandardSender; import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerRBMKOutgasser; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIRBMKOutgasser; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFluidIcon; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.fluid.IFluidStandardSender; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IFluidSource, IFluidStandardSender { @@ -322,4 +328,14 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement public FluidTank[] getSendingTanks() { return new FluidTank[] {gas}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKOutgasser(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKOutgasser(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java index 2394ecea4..3fa6101b2 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -5,23 +5,28 @@ import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.blocks.machine.rbmk.RBMKRod; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.inventory.container.ContainerRBMKRod; +import com.hbm.inventory.gui.GUIRBMKRod; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRBMKRod; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.Compat; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraftforge.common.util.ForgeDirection; - import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IRBMKLoadable, SimpleComponent { @@ -413,4 +418,14 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM } return new Object[] {"N/A"}; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKRod(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKRod(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java index 6291a04d5..7c6278c84 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.inventory.ISidedInventory; @@ -18,7 +19,7 @@ import net.minecraftforge.fluids.FluidTank; * @author hbm * */ -public abstract class TileEntityRBMKSlottedBase extends TileEntityRBMKActiveBase implements ISidedInventory { +public abstract class TileEntityRBMKSlottedBase extends TileEntityRBMKActiveBase implements ISidedInventory, IGUIProvider { public ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java index 65a75a324..3e9834c79 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java @@ -1,9 +1,15 @@ package com.hbm.tileentity.machine.rbmk; +import com.hbm.inventory.container.ContainerRBMKStorage; +import com.hbm.inventory.gui.GUIRBMKStorage; import com.hbm.items.machine.ItemRBMKRod; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; +import net.minecraft.world.World; public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements IRBMKLoadable { @@ -77,4 +83,14 @@ public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements public void unload() { slots[0] = null; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKStorage(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKStorage(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java index b5c377fd2..3bdf405c2 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine.storage; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.machine.TileEntityLockableBase; import net.minecraft.entity.player.EntityPlayer; @@ -8,7 +9,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -public abstract class TileEntityCrateBase extends TileEntityLockableBase implements ISidedInventory { +public abstract class TileEntityCrateBase extends TileEntityLockableBase implements ISidedInventory, IGUIProvider { protected ItemStack slots[]; public String customName; diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java index 923928b66..6a10cf25c 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java @@ -1,5 +1,13 @@ package com.hbm.tileentity.machine.storage; +import com.hbm.inventory.container.ContainerCrateDesh; +import com.hbm.inventory.gui.GUICrateDesh; + +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.world.World; + public class TileEntityCrateDesh extends TileEntityCrateBase { public TileEntityCrateDesh() { @@ -10,4 +18,14 @@ public class TileEntityCrateDesh extends TileEntityCrateBase { public String getInventoryName() { return this.hasCustomInventoryName() ? this.customName : "container.crateDesh"; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCrateDesh(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICrateDesh(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java index abf54980b..a7915c3db 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java @@ -1,5 +1,13 @@ package com.hbm.tileentity.machine.storage; +import com.hbm.inventory.container.ContainerCrateIron; +import com.hbm.inventory.gui.GUICrateIron; + +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.world.World; + public class TileEntityCrateIron extends TileEntityCrateBase { public TileEntityCrateIron() { @@ -10,4 +18,16 @@ public class TileEntityCrateIron extends TileEntityCrateBase { public String getInventoryName() { return this.hasCustomInventoryName() ? this.customName : "container.crateIron"; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCrateIron(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICrateIron(player.inventory, this); + } + + } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java index 725fde319..dd2a9626e 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java @@ -1,6 +1,13 @@ package com.hbm.tileentity.machine.storage; +import com.hbm.inventory.container.ContainerCrateSteel; +import com.hbm.inventory.gui.GUICrateSteel; + +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; +import net.minecraft.world.World; public class TileEntityCrateSteel extends TileEntityCrateBase implements ISidedInventory { @@ -12,4 +19,14 @@ public class TileEntityCrateSteel extends TileEntityCrateBase implements ISidedI public String getInventoryName() { return this.hasCustomInventoryName() ? this.customName : "container.crateSteel"; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCrateSteel(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICrateSteel(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java index db640f843..993ce1403 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java @@ -1,8 +1,13 @@ package com.hbm.tileentity.machine.storage; +import com.hbm.inventory.container.ContainerCrateTungsten; +import com.hbm.inventory.gui.GUICrateTungsten; import com.hbm.items.ModItems; import api.hbm.block.ILaserable; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.world.World; @@ -94,4 +99,14 @@ public class TileEntityCrateTungsten extends TileEntityCrateBase implements ILas } } } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCrateTungsten(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICrateTungsten(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 6c41047f2..65c412a2a 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -6,7 +6,10 @@ import java.util.List; import java.util.Set; import com.hbm.blocks.machine.MachineBattery; +import com.hbm.inventory.container.ContainerMachineBattery; +import com.hbm.inventory.gui.GUIMachineBattery; import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; @@ -16,20 +19,23 @@ import api.hbm.energy.IEnergyConnector; import api.hbm.energy.IEnergyUser; import api.hbm.energy.IPowerNet; import api.hbm.energy.PowerNet; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraftforge.common.util.ForgeDirection; - import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) -public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyUser, IPersistentNBT, SimpleComponent { +public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyUser, IPersistentNBT, SimpleComponent, IGUIProvider { public long[] log = new long[20]; public long delta = 0; @@ -398,4 +404,14 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I this.redHigh = data.getShort("redHigh"); this.priority = ConnectionPriority.values()[data.getInteger("priority")]; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineBattery(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineBattery(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java index e9ba00d48..f6272de71 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java @@ -1,22 +1,28 @@ package com.hbm.tileentity.machine.storage; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerPuF6Tank; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachinePuF6Tank; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachinePuF6Tank extends TileEntity implements ISidedInventory, IFluidContainer { +public class TileEntityMachinePuF6Tank extends TileEntity implements ISidedInventory, IFluidContainer, IGUIProvider { private ItemStack slots[]; @@ -228,4 +234,14 @@ public class TileEntityMachinePuF6Tank extends TileEntity implements ISidedInven if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerPuF6Tank(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachinePuF6Tank(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java index 9fc7a4ba2..b7b367909 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java @@ -1,22 +1,28 @@ package com.hbm.tileentity.machine.storage; import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.container.ContainerUF6Tank; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineUF6Tank; import com.hbm.items.ModItems; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityMachineUF6Tank extends TileEntity implements ISidedInventory, IFluidContainer { +public class TileEntityMachineUF6Tank extends TileEntity implements ISidedInventory, IFluidContainer, IGUIProvider { private ItemStack slots[]; @@ -230,4 +236,14 @@ public class TileEntityMachineUF6Tank extends TileEntity implements ISidedInvent if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerUF6Tank(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineUF6Tank(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java index dab20d6e6..6e7f87ef6 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java @@ -1,15 +1,20 @@ package com.hbm.tileentity.machine.storage; import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerMassStorage; +import com.hbm.inventory.gui.GUIMassStorage; import com.hbm.items.ModItems; import com.hbm.tileentity.INBTPacketReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; +import net.minecraft.world.World; public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPacketReceiver, IControlReceiver { @@ -186,4 +191,14 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 0, 2 }; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMassStorage(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMassStorage(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java index d258a90a2..2c18a8479 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java @@ -1,6 +1,13 @@ package com.hbm.tileentity.machine.storage; +import com.hbm.inventory.container.ContainerSafe; +import com.hbm.inventory.gui.GUISafe; + +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; +import net.minecraft.world.World; public class TileEntitySafe extends TileEntityCrateBase implements ISidedInventory { @@ -12,4 +19,14 @@ public class TileEntitySafe extends TileEntityCrateBase implements ISidedInvento public String getInventoryName() { return this.hasCustomInventoryName() ? this.customName : "container.safe"; } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerSafe(player.inventory, this); + } + + @Override + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUISafe(player.inventory, this); + } }