diff options
author | Jason Mitchell <mitchej@gmail.com> | 2023-01-20 00:30:50 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-20 09:30:50 +0100 |
commit | 7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb (patch) | |
tree | bea33f6637b929427e9abbe733e19606f8bf9032 /src/main/java/gregtech/api/gui | |
parent | 750a4070af4756e3708e2b2555b9874864bf3cfb (diff) | |
download | GT5-Unofficial-7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb.tar.gz GT5-Unofficial-7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb.tar.bz2 GT5-Unofficial-7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb.zip |
MTE Inventory updates (#1496)
* MTE Inventory updates
* Separate Input/Output inventory
* Use a LinkedHashMap to ensure inventory orders are deterministic
* Input/Output work on either Input/Output inventories
* MTE Inventory
* Add GT_Packet_MultiTileEntity
* More dyanmic packet with packetFeatures
* Add IMTE_HasModes for MultiBlockPart
* Help with MTE Inventory (#1613)
* convert inventory to use ItemStackHandler
* Update MUI
* inventories
* move Iteminventory to its own method
Co-authored-by: miozune <miozune@gmail.com>
* Update MUI
* Update MUI
* Add IMultiBlockPart
* Mte fluid inventory (#1639)
* first work on fluid inventory
* make gui work with numbers not dividable by 4
* use math.min
* add outputfluids saving
* actually working
* Update MUI
Co-authored-by: miozune <miozune@gmail.com>
* Ticking Covers!
* Parts now register covers with the controller
* Controllers now tick covers on parts
* Break cover ticking out into `tickCoverAtSide`
Fix some inventory methods on MultiBlockController
* Filter on tickable covers
* Improve GUIs for MTEs (#1650)
* working controller GUI
* locked inventory selection work
* input and output locking of inventories
Co-authored-by: miozune <miozune@gmail.com>
* spotless
* CoverInfo refactor (#1654)
* Add `CoverInfo` and deprecate the old fields to hold cover information
* Disable MTE registration
* Fix NPE - Return EMPTY_INFO for SIDE_UNKNOWN
Temporarily add back old NBT saving in case of a revert so covers aren't lost.
* Actually save the old NBT data, instead of empty
Co-authored-by: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com>
Co-authored-by: miozune <miozune@gmail.com>
Diffstat (limited to 'src/main/java/gregtech/api/gui')
3 files changed, 24 insertions, 25 deletions
diff --git a/src/main/java/gregtech/api/gui/modularui/GT_UIInfos.java b/src/main/java/gregtech/api/gui/modularui/GT_UIInfos.java index 2d776ce71e..d1e699bb40 100644 --- a/src/main/java/gregtech/api/gui/modularui/GT_UIInfos.java +++ b/src/main/java/gregtech/api/gui/modularui/GT_UIInfos.java @@ -70,9 +70,9 @@ public class GT_UIInfos { side, UIBuilder.of() .container((player, world, x, y, z) -> { - TileEntity te = world.getTileEntity(x, y, z); + final TileEntity te = world.getTileEntity(x, y, z); if (!(te instanceof ICoverable)) return null; - ICoverable gtTileEntity = (ICoverable) te; + final ICoverable gtTileEntity = (ICoverable) te; GT_CoverBehaviorBase<?> cover = gtTileEntity.getCoverBehaviorAtSideNew(side); return createCoverContainer( player, @@ -84,10 +84,10 @@ public class GT_UIInfos { }) .gui((player, world, x, y, z) -> { if (!world.isRemote) return null; - TileEntity te = world.getTileEntity(x, y, z); + final TileEntity te = world.getTileEntity(x, y, z); if (!(te instanceof ICoverable)) return null; - ICoverable gtTileEntity = (ICoverable) te; - GT_CoverBehaviorBase<?> cover = gtTileEntity.getCoverBehaviorAtSideNew(side); + final ICoverable gtTileEntity = (ICoverable) te; + final GT_CoverBehaviorBase<?> cover = gtTileEntity.getCoverBehaviorAtSideNew(side); return createCoverGuiContainer( player, cover::createWindow, @@ -148,11 +148,9 @@ public class GT_UIInfos { Function<UIBuildContext, ModularWindow> windowCreator, Runnable onWidgetUpdate, ContainerConstructor containerCreator) { - UIBuildContext buildContext = new UIBuildContext(player); - ModularWindow window = windowCreator.apply(buildContext); - if (window == null) { - return null; - } + final UIBuildContext buildContext = new UIBuildContext(player); + final ModularWindow window = windowCreator.apply(buildContext); + if (window == null) return null; return containerCreator.of(new ModularUIContext(buildContext, onWidgetUpdate), window); } @@ -161,10 +159,9 @@ public class GT_UIInfos { EntityPlayer player, Function<UIBuildContext, ModularWindow> windowCreator, ContainerConstructor containerConstructor) { - ModularUIContainer container = createTileEntityContainer(player, windowCreator, null, containerConstructor); - if (container == null) { - return null; - } + final ModularUIContainer container = + createTileEntityContainer(player, windowCreator, null, containerConstructor); + if (container == null) return null; return new ModularGui(container); } @@ -175,11 +172,9 @@ public class GT_UIInfos { int coverID, byte side, ICoverable tile) { - GT_CoverUIBuildContext buildContext = new GT_CoverUIBuildContext(player, coverID, side, tile, false); - ModularWindow window = windowCreator.apply(buildContext); - if (window == null) { - return null; - } + final GT_CoverUIBuildContext buildContext = new GT_CoverUIBuildContext(player, coverID, side, tile, false); + final ModularWindow window = windowCreator.apply(buildContext); + if (window == null) return null; return new ModularUIContainer(new ModularUIContext(buildContext, onWidgetUpdate), window); } @@ -190,7 +185,7 @@ public class GT_UIInfos { int coverID, byte side, ICoverable tile) { - ModularUIContainer container = createCoverContainer(player, windowCreator, null, coverID, side, tile); + final ModularUIContainer container = createCoverContainer(player, windowCreator, null, coverID, side, tile); if (container == null) { return null; } diff --git a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java index a92ff64df6..3ca1e6d45e 100644 --- a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java +++ b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java @@ -347,4 +347,8 @@ public class GT_UITextures { public static final UITexture PICTURE_SQUARE_LIGHT_GRAY = UITexture.fullImage(MODID, "gui/picture/square_light_gray"); public static final UITexture PICTURE_GAUGE = UITexture.fullImage(MODID, "gui/picture/gauge"); + public static final UITexture PICTURE_ITEM_IN = UITexture.fullImage(MODID, "gui/picture/item_in"); + public static final UITexture PICTURE_ITEM_OUT = UITexture.fullImage(MODID, "gui/picture/item_out"); + public static final UITexture PICTURE_FLUID_IN = UITexture.fullImage(MODID, "gui/picture/fluid_in"); + public static final UITexture PICTURE_FLUID_OUT = UITexture.fullImage(MODID, "gui/picture/fluid_out"); } diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiCoverTabLine.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiCoverTabLine.java index 525618589b..d5e383ed50 100644 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiCoverTabLine.java +++ b/src/main/java/gregtech/api/gui/widgets/GT_GuiCoverTabLine.java @@ -79,7 +79,7 @@ public class GT_GuiCoverTabLine extends GT_GuiTabLine { */ private void setupTabs() { for (byte tSide = 0; tSide < 6; tSide++) { - ItemStack cover = tile.getCoverItemAtSide(tSide); + final ItemStack cover = tile.getCoverItemAtSide(tSide); if (cover != null) { addCoverToTabs(tSide, cover); } @@ -114,7 +114,7 @@ public class GT_GuiCoverTabLine extends GT_GuiTabLine { * @param cover */ private void addCoverToTabs(byte side, ItemStack cover) { - boolean enabled = this.tile.getCoverBehaviorAtSideNew(side).hasCoverGUI(); + final boolean enabled = this.tile.getCoverBehaviorAtSideNew(side).hasCoverGUI(); this.setTab(side, cover, null, getTooltipForCoverTab(side, cover, enabled)); this.setTabEnabled(side, enabled); } @@ -127,7 +127,7 @@ public class GT_GuiCoverTabLine extends GT_GuiTabLine { * @return This cover tab's tooltip */ private String[] getTooltipForCoverTab(byte side, ItemStack cover, boolean enabled) { - List<String> tooltip = cover.getTooltip(Minecraft.getMinecraft().thePlayer, true); + final List<String> tooltip = cover.getTooltip(Minecraft.getMinecraft().thePlayer, true); tooltip.set( 0, (enabled ? EnumChatFormatting.UNDERLINE : EnumChatFormatting.DARK_GRAY) @@ -158,9 +158,9 @@ public class GT_GuiCoverTabLine extends GT_GuiTabLine { static class CoverTabLineNEIHandler extends INEIGuiAdapter { @Override public boolean hideItemPanelSlot(GuiContainer gui, int x, int y, int w, int h) { - Rectangle neiSlotArea = new Rectangle(x, y, w, h); + final Rectangle neiSlotArea = new Rectangle(x, y, w, h); if (gui instanceof GT_GUIContainerMetaTile_Machine) { - GT_GuiTabLine tabLine = ((GT_GUIContainerMetaTile_Machine) gui).coverTabs; + final GT_GuiTabLine tabLine = ((GT_GUIContainerMetaTile_Machine) gui).coverTabs; if (!tabLine.visible) { return false; } |