Skip to content

Commit

Permalink
Merge pull request #549 from mystchonky/dev/ghost-overlay
Browse files Browse the repository at this point in the history
  • Loading branch information
Rover656 committed Nov 11, 2023
2 parents 8dbeb9e + 7063126 commit c39cbc3
Show file tree
Hide file tree
Showing 22 changed files with 58 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.ProgressWidget;
Expand All @@ -15,7 +14,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class AlloySmelterScreen extends EIOScreen<AlloySmelterMenu> {
public class AlloySmelterScreen extends MachineScreen<AlloySmelterMenu> {

public static final ResourceLocation BG_TEXTURE_AUTO = EnderIO.loc("textures/gui/alloy_smelter_auto.png");
private static final ResourceLocation BG_TEXTURE_ALLOY = EnderIO.loc("textures/gui/alloy_smelter_alloy.png");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.EnergyWidget;
import com.enderio.machines.client.gui.widget.ioconfig.IOConfigButton;
Expand All @@ -12,7 +11,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class CapacitorBankScreen extends EIOScreen<CapacitorBankMenu> {
public class CapacitorBankScreen extends MachineScreen<CapacitorBankMenu> {

public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/capacitor_bank.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.ioconfig.IOConfigButton;
Expand All @@ -12,7 +11,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class CrafterScreen extends EIOScreen<CrafterMenu> {
public class CrafterScreen extends MachineScreen<CrafterMenu> {

private static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/crafter.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.core.client.gui.widgets.ToggleImageButton;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
Expand All @@ -16,7 +15,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class DrainScreen extends EIOScreen<DrainMenu> {
public class DrainScreen extends MachineScreen<DrainMenu> {

public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/drain.png");
private static final ResourceLocation BUTTONS = EnderIO.loc("textures/gui/icons/buttons.png");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.machines.common.menu.EnchanterMenu;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
Expand All @@ -11,7 +10,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class EnchanterScreen extends EIOScreen<EnchanterMenu> {
public class EnchanterScreen extends MachineScreen<EnchanterMenu> {
public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/enchanter.png");

public EnchanterScreen(EnchanterMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.FluidStackWidget;
import com.enderio.machines.client.gui.widget.ioconfig.IOConfigButton;
Expand All @@ -12,7 +11,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class FluidTankScreen extends EIOScreen<FluidTankMenu> {
public class FluidTankScreen extends MachineScreen<FluidTankMenu> {
public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/tank.png");
public FluidTankScreen(FluidTankMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
super(pMenu, pPlayerInventory, pTitle);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.ioconfig.IOConfigButton;
Expand All @@ -13,7 +12,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class ImpulseHopperScreen extends EIOScreen<ImpulseHopperMenu> {
public class ImpulseHopperScreen extends MachineScreen<ImpulseHopperMenu> {
private static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/impulse_hopper.png");

public ImpulseHopperScreen(ImpulseHopperMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.enderio.machines.client.gui.screen;

import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.machines.common.menu.GhostMachineSlot;
import com.enderio.machines.common.menu.MachineMenu;
import com.enderio.machines.common.menu.PreviewMachineSlot;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.inventory.Slot;

public abstract class MachineScreen<T extends MachineMenu> extends EIOScreen<T> {
public static final int SLOT_COLOR = -2130706433;
protected MachineScreen(T pMenu, Inventory pPlayerInventory, Component pTitle) {
super(pMenu, pPlayerInventory, pTitle);
}

protected MachineScreen(T pMenu, Inventory pPlayerInventory, Component pTitle, boolean renderLabels) {
super(pMenu, pPlayerInventory, pTitle, renderLabels);
}

@Override
public void renderSlot(GuiGraphics guiGraphics, Slot slot) {
super.renderSlot(guiGraphics, slot);

if (slot instanceof GhostMachineSlot || slot instanceof PreviewMachineSlot) {
if (slot.hasItem()) {
guiGraphics.pose().pushPose();
guiGraphics.pose().translate(0.0F, 0.0F, 300F);
guiGraphics.fill(slot.x, slot.y, slot.x + 16, slot.y + 16, SLOT_COLOR);
guiGraphics.pose().popPose();
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.ProgressWidget;
Expand All @@ -12,7 +11,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class PaintingMachineScreen extends EIOScreen<PaintingMachineMenu> {
public class PaintingMachineScreen extends MachineScreen<PaintingMachineMenu> {

private static final ResourceLocation PAINTING_MACHINE_BG = EnderIO.loc("textures/gui/painting_machine.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.core.client.gui.widgets.ToggleImageButton;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
Expand All @@ -19,7 +18,7 @@

import java.util.Optional;

public class PoweredSpawnerScreen extends EIOScreen<PoweredSpawnerMenu> {
public class PoweredSpawnerScreen extends MachineScreen<PoweredSpawnerMenu> {

public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/powered_spawner_spawn.png");
private static final ResourceLocation RANGE_BUTTON_TEXTURE = EnderIO.loc("textures/gui/icons/range_buttons.png");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@

import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.machines.client.gui.widget.ProgressWidget;
import com.enderio.machines.common.menu.PrimitiveAlloySmelterMenu;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class PrimitiveAlloySmelterScreen extends EIOScreen<PrimitiveAlloySmelterMenu> {
public class PrimitiveAlloySmelterScreen extends MachineScreen<PrimitiveAlloySmelterMenu> {
public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/primitive_alloy_smelter.png");

public PrimitiveAlloySmelterScreen(PrimitiveAlloySmelterMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.enderio.api.grindingball.IGrindingBallData;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.core.common.util.TooltipUtil;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
Expand All @@ -27,7 +26,7 @@
import javax.annotation.Nullable;
import java.util.List;

public class SagMillScreen extends EIOScreen<SagMillMenu> {
public class SagMillScreen extends MachineScreen<SagMillMenu> {
public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/sag_mill.png");

public SagMillScreen(SagMillMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.ProgressWidget;
Expand All @@ -13,7 +12,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class SlicerScreen extends EIOScreen<SlicerMenu> {
public class SlicerScreen extends MachineScreen<SlicerMenu> {
public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/slice_and_splice.png");

public SlicerScreen(SlicerMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.ExperienceCraftingWidget;
Expand All @@ -14,7 +13,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class SoulBinderScreen extends EIOScreen<SoulBinderMenu> {
public class SoulBinderScreen extends MachineScreen<SoulBinderMenu> {

public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/soul_binder.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.FluidStackWidget;
Expand All @@ -19,7 +18,7 @@

import java.util.Optional;

public class SoulEngineScreen extends EIOScreen<SoulEngineMenu>{
public class SoulEngineScreen extends MachineScreen<SoulEngineMenu> {

public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/soul_engine.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.ProgressWidget;
Expand All @@ -13,7 +12,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class StirlingGeneratorScreen extends EIOScreen<StirlingGeneratorMenu> {
public class StirlingGeneratorScreen extends MachineScreen<StirlingGeneratorMenu> {
public static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/stirling_generator.png");

public StirlingGeneratorScreen(StirlingGeneratorMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.ToggleImageButton;
import com.enderio.machines.common.menu.TravelAnchorMenu;
import net.minecraft.client.gui.components.EditBox;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class TravelAnchorScreen extends EIOScreen<TravelAnchorMenu> {
public class TravelAnchorScreen extends MachineScreen<TravelAnchorMenu> {

private static final ResourceLocation TRAVEL_ANCHOR_BG = EnderIO.loc("textures/gui/travel_anchor.png");
private static final ResourceLocation VISIBILITY_BTNS = EnderIO.loc("textures/gui/icons/visibility_buttons.png");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.core.client.gui.widgets.ToggleImageButton;
import com.enderio.machines.common.menu.VacuumChestMenu;
Expand All @@ -13,7 +12,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class VacuumChestScreen extends EIOScreen<VacuumChestMenu> {
public class VacuumChestScreen extends MachineScreen<VacuumChestMenu> {

private static final ResourceLocation VACUUM_CHEST_BG = EnderIO.loc("textures/gui/vacuum_chest.png");
private static final ResourceLocation BUTTONS = EnderIO.loc("textures/gui/icons/buttons.png");
Expand Down Expand Up @@ -59,4 +58,4 @@ public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPar
guiGraphics.drawString(font, getMenu().getBlockEntity().getRange() + "", leftPos + imageWidth - 8 - 8 - 10, topPos + 90, 0, false);
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,16 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.CapacitorEnergyWidget;
import com.enderio.machines.client.gui.widget.EnergyWidget;
import com.enderio.machines.client.gui.widget.ProgressWidget;
import com.enderio.machines.client.gui.widget.ioconfig.IOConfigButton;
import com.enderio.machines.common.menu.WiredChargerMenu;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class WiredChargerScreen extends EIOScreen<WiredChargerMenu> {
public class WiredChargerScreen extends MachineScreen<WiredChargerMenu> {

private static final ResourceLocation BG_TEXTURE = EnderIO.loc("textures/gui/wired_charger.png");
public WiredChargerScreen(WiredChargerMenu pMenu, Inventory pPlayerInventory, Component pTitle) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.machines.client.gui.widget.ExperienceWidget;
import com.enderio.machines.client.gui.widget.ioconfig.IOConfigButton;
Expand All @@ -15,7 +14,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class XPObeliskScreen extends EIOScreen<XPObeliskMenu> {
public class XPObeliskScreen extends MachineScreen<XPObeliskMenu> {
private static final ResourceLocation BG = EnderIO.loc("textures/gui/xp_obelisk.png");
private static final ResourceLocation XP_BTNS = EnderIO.loc("textures/gui/icons/xp_obelisk.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.enderio.EnderIO;
import com.enderio.api.misc.Vector2i;
import com.enderio.base.common.lang.EIOLang;
import com.enderio.core.client.gui.screen.EIOScreen;
import com.enderio.core.client.gui.widgets.EnumIconWidget;
import com.enderio.core.client.gui.widgets.ToggleImageButton;
import com.enderio.machines.client.gui.widget.FluidStackStaticWidget;
Expand All @@ -14,7 +13,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

public class XPVacuumScreen extends EIOScreen<XPVacuumMenu> {
public class XPVacuumScreen extends MachineScreen<XPVacuumMenu> {

private static final ResourceLocation XP_VACUUM_BG = EnderIO.loc("textures/gui/xp_vacuum.png");
private static final ResourceLocation BUTTONS = EnderIO.loc("textures/gui/icons/buttons.png");
Expand Down
2 changes: 2 additions & 0 deletions src/main/resources/META-INF/accesstransformer.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,5 @@ public net.minecraft.client.renderer.RenderStateShard f_110133_ # name

# GhostSlotBehaviour for AbstractContainerMenu
public net.minecraft.world.inventory.AbstractContainerMenu m_150430_(IILnet/minecraft/world/inventory/ClickType;Lnet/minecraft/world/entity/player/Player;)V # doClick
# GhostSlot rendering for AbstractContainerScreen
public net.minecraft.client.gui.screens.inventory.AbstractContainerScreen m_280092_(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/inventory/Slot;)V # renderSlot

0 comments on commit c39cbc3

Please sign in to comment.