diff --git a/common/src/main/java/muramasa/antimatter/Data.java b/common/src/main/java/muramasa/antimatter/Data.java index b3caa46c5..d1e7c365b 100644 --- a/common/src/main/java/muramasa/antimatter/Data.java +++ b/common/src/main/java/muramasa/antimatter/Data.java @@ -16,7 +16,6 @@ import muramasa.antimatter.gui.MenuHandlerPipe; import muramasa.antimatter.gui.container.ContainerBasicMachine; import muramasa.antimatter.gui.container.ContainerCover; -import muramasa.antimatter.gui.container.ContainerHatch; import muramasa.antimatter.gui.container.ContainerMachine; import muramasa.antimatter.gui.container.ContainerMultiMachine; import muramasa.antimatter.item.DebugScannerItem; @@ -25,7 +24,6 @@ import muramasa.antimatter.registration.Side; import muramasa.antimatter.texture.Texture; import muramasa.antimatter.tile.TileEntityMachine; -import muramasa.antimatter.tile.multi.TileEntityHatch; import muramasa.antimatter.tile.multi.TileEntityMultiMachine; import muramasa.antimatter.tile.single.TileEntityInfiniteStorage; import muramasa.antimatter.tool.enchantment.ElectricEnchantment; @@ -106,18 +104,6 @@ public String screenID() { } }; - public static MenuHandlerMachine HATCH_MENU_HANDLER = new MenuHandlerMachine(Ref.ID, "container_hatch") { - @Override - public ContainerHatch getMenu(IGuiHandler tile, Inventory playerInv, int windowId) { - return tile instanceof TileEntityHatch ? new ContainerHatch((TileEntityHatch) tile, playerInv, this, windowId) : null; - } - - @Override - public String screenID() { - return "hatch"; - } - }; - public static final BasicMachine CREATIVE_GENERATOR = new BasicMachine(Ref.ID, "creative_generator").addFlags(ENERGY, GUI).setTiers(MAX).setAllowVerticalFacing(true).allowFrontIO().setTile(TileEntityInfiniteStorage::new) .noCovers(); diff --git a/common/src/main/java/muramasa/antimatter/client/ClientData.java b/common/src/main/java/muramasa/antimatter/client/ClientData.java index e5ccb192b..e8fa3d56b 100644 --- a/common/src/main/java/muramasa/antimatter/client/ClientData.java +++ b/common/src/main/java/muramasa/antimatter/client/ClientData.java @@ -10,7 +10,6 @@ public class ClientData { public final static MenuScreens.ScreenConstructor SCREEN_BASIC = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "basic", Ref.ID, (MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenBasicMachine((ContainerBasicMachine) a, b, c)); public final static MenuScreens.ScreenConstructor SCREEN_MACHINE = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "machine", Ref.ID, (MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenMachine((ContainerMachine) a, b, c)); public final static MenuScreens.ScreenConstructor SCREEN_MULTI = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "multi", Ref.ID, (MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenMultiMachine((ContainerMultiMachine) a, b, c)); - public final static MenuScreens.ScreenConstructor SCREEN_HATCH = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "hatch", Ref.ID, (MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenHatch((ContainerHatch) a, b, c)); public final static MenuScreens.ScreenConstructor SCREEN_COVER = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "cover", Ref.ID, (MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenCover((ContainerCover) a, b, c)); public final static MenuScreens.ScreenConstructor SCREEN_DEFAULT = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "default", Ref.ID, (MenuScreens.ScreenConstructor)(a, b, c) -> new AntimatterContainerScreen(a, b, c)); diff --git a/common/src/main/java/muramasa/antimatter/gui/container/ContainerHatch.java b/common/src/main/java/muramasa/antimatter/gui/container/ContainerHatch.java deleted file mode 100644 index c940028eb..000000000 --- a/common/src/main/java/muramasa/antimatter/gui/container/ContainerHatch.java +++ /dev/null @@ -1,12 +0,0 @@ -package muramasa.antimatter.gui.container; - -import muramasa.antimatter.gui.MenuHandlerMachine; -import muramasa.antimatter.tile.multi.TileEntityHatch; -import net.minecraft.world.entity.player.Inventory; - -public class ContainerHatch> extends ContainerMachine { - - public ContainerHatch(T tile, Inventory playerInv, MenuHandlerMachine> menuHandler, int windowId) { - super(tile, playerInv, menuHandler, windowId); - } -} diff --git a/common/src/main/java/muramasa/antimatter/gui/screen/ScreenHatch.java b/common/src/main/java/muramasa/antimatter/gui/screen/ScreenHatch.java index f00a80437..49b4575b6 100644 --- a/common/src/main/java/muramasa/antimatter/gui/screen/ScreenHatch.java +++ b/common/src/main/java/muramasa/antimatter/gui/screen/ScreenHatch.java @@ -1,18 +1,11 @@ package muramasa.antimatter.gui.screen; import com.mojang.blaze3d.vertex.PoseStack; -import muramasa.antimatter.gui.SlotData; -import muramasa.antimatter.gui.SlotType; -import muramasa.antimatter.gui.container.ContainerHatch; -import muramasa.antimatter.machine.MachineFlag; import muramasa.antimatter.tile.multi.TileEntityHatch; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; -import java.util.List; - -public class ScreenHatch, U extends ContainerHatch> extends ScreenMachine { +public class ScreenHatch, U extends muramasa.antimatter.gui.container.ContainerMachine> extends ScreenMachine { public ScreenHatch(U container, Inventory inv, Component name) { super(container, inv, name); @@ -21,9 +14,5 @@ public ScreenHatch(U container, Inventory inv, Component name) { @Override protected void renderBg(PoseStack stack, float partialTicks, int mouseX, int mouseY) { super.renderBg(stack, partialTicks, mouseX, mouseY); - ResourceLocation gui = container.source().handler.getGuiTexture(); - if (container.getTile().getMachineType().has(MachineFlag.FLUID)) { - drawTexture(stack, gui, leftPos + 8, topPos + 21, imageWidth, 36, 18, 54); - } } } diff --git a/common/src/main/java/muramasa/antimatter/gui/widget/TankIconWidget.java b/common/src/main/java/muramasa/antimatter/gui/widget/TankIconWidget.java new file mode 100644 index 000000000..c857de0cf --- /dev/null +++ b/common/src/main/java/muramasa/antimatter/gui/widget/TankIconWidget.java @@ -0,0 +1,25 @@ +package muramasa.antimatter.gui.widget; + +import com.mojang.blaze3d.vertex.PoseStack; +import muramasa.antimatter.Ref; +import muramasa.antimatter.gui.GuiInstance; +import muramasa.antimatter.gui.IGuiElement; +import muramasa.antimatter.gui.Widget; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class TankIconWidget extends Widget { + protected TankIconWidget(@NotNull GuiInstance gui, @Nullable IGuiElement parent) { + super(gui, parent); + } + + @Override + public void render(PoseStack matrixStack, double mouseX, double mouseY, float partialTicks) { + drawTexture(matrixStack, new ResourceLocation(Ref.ID, "textures/gui/button/tank.png"), realX(), realY(), 0, 0, 18, 18, 18, 18); + } + + public static WidgetSupplier build() { + return builder(TankIconWidget::new); + } +} diff --git a/common/src/main/java/muramasa/antimatter/machine/types/HatchMachine.java b/common/src/main/java/muramasa/antimatter/machine/types/HatchMachine.java index d7bad36b8..a939e609c 100644 --- a/common/src/main/java/muramasa/antimatter/machine/types/HatchMachine.java +++ b/common/src/main/java/muramasa/antimatter/machine/types/HatchMachine.java @@ -2,6 +2,7 @@ import muramasa.antimatter.Data; import muramasa.antimatter.cover.CoverFactory; +import muramasa.antimatter.gui.widget.TankIconWidget; import muramasa.antimatter.machine.Tier; import muramasa.antimatter.tile.multi.TileEntityHatch; import muramasa.antimatter.util.Utils; @@ -9,8 +10,7 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.block.state.properties.Property; -import static muramasa.antimatter.machine.MachineFlag.COVERABLE; -import static muramasa.antimatter.machine.MachineFlag.HATCH; +import static muramasa.antimatter.machine.MachineFlag.*; public class HatchMachine extends Machine { String idForHandlers; @@ -21,7 +21,7 @@ public HatchMachine(String domain, String id, CoverFactory cover) { setTile(TileEntityHatch::new); setTiers(Tier.getAllElectric()); addFlags(HATCH, COVERABLE); - setGUI(Data.HATCH_MENU_HANDLER); + setGUI(Data.BASIC_MENU_HANDLER); setAllowVerticalFacing(true); covers(cover); setOutputCover(cover); @@ -38,6 +38,16 @@ public String getIdForHandlers() { return idForHandlers; } + @Override + protected void setupGui() { + super.setupGui(); + addGuiCallback(t -> { + if (has(FLUID)){ + t.addWidget(TankIconWidget.build().setPos(8, 39)); + } + }); + } + @Override public Direction handlePlacementFacing(BlockPlaceContext ctxt, Property which, Direction dir) { return dir.getOpposite(); diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/apad_left.png b/common/src/main/resources/assets/antimatter/textures/gui/button/apad_left.png new file mode 100644 index 000000000..ff4066a54 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/apad_left.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/apad_right.png b/common/src/main/resources/assets/antimatter/textures/gui/button/apad_right.png new file mode 100644 index 000000000..de54f6955 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/apad_right.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/conditional.png b/common/src/main/resources/assets/antimatter/textures/gui/button/conditional.png new file mode 100644 index 000000000..f01a716fa Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/conditional.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/export.png b/common/src/main/resources/assets/antimatter/textures/gui/button/export.png new file mode 100644 index 000000000..0f34b8a2a Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/export.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/export_import.png b/common/src/main/resources/assets/antimatter/textures/gui/button/export_import.png new file mode 100644 index 000000000..8a57e9419 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/export_import.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/ignore_redstone.png b/common/src/main/resources/assets/antimatter/textures/gui/button/ignore_redstone.png new file mode 100644 index 000000000..07db90f55 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/ignore_redstone.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/import.png b/common/src/main/resources/assets/antimatter/textures/gui/button/import.png new file mode 100644 index 000000000..0415d176c Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/import.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/import_export.png b/common/src/main/resources/assets/antimatter/textures/gui/button/import_export.png new file mode 100644 index 000000000..e6c2938c7 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/import_export.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/invert_conditional.png b/common/src/main/resources/assets/antimatter/textures/gui/button/invert_conditional.png new file mode 100644 index 000000000..fa48e7c03 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/invert_conditional.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/no_overlay.png b/common/src/main/resources/assets/antimatter/textures/gui/button/no_overlay.png new file mode 100644 index 000000000..9984bb4d3 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/no_overlay.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/pad_left.png b/common/src/main/resources/assets/antimatter/textures/gui/button/pad_left.png new file mode 100644 index 000000000..451577904 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/pad_left.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/pad_right.png b/common/src/main/resources/assets/antimatter/textures/gui/button/pad_right.png new file mode 100644 index 000000000..28de8d4f5 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/pad_right.png differ diff --git a/common/src/main/resources/assets/antimatter/textures/gui/button/tank.png b/common/src/main/resources/assets/antimatter/textures/gui/button/tank.png new file mode 100644 index 000000000..a3ae53cb9 Binary files /dev/null and b/common/src/main/resources/assets/antimatter/textures/gui/button/tank.png differ