From e6fff394d2baa6d8c91ba3f47e2f9de10d9305d5 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 25 Jan 2023 18:35:33 +0900 Subject: Add status info of ME buses to Waila (#1684) --- .../machines/GT_MetaTileEntity_Hatch_InputBus_ME.java | 16 +++++++++++++++- .../machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java | 17 ++++++++++++++++- .../machines/GT_MetaTileEntity_Hatch_Output_ME.java | 16 +++++++++++++++- 3 files changed, 46 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java index d7619da823..f8bc564ab4 100644 --- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java +++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java @@ -5,6 +5,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ME_INPUT_HATCH_ACTI import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; +import appeng.api.implementations.IPowerChannelState; import appeng.api.networking.GridFlags; import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.security.IActionHost; @@ -41,8 +42,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; +@Optional.Interface(iface = "appeng.api.implementations.IPowerChannelState", modid = "appliedenergistics2") public class GT_MetaTileEntity_Hatch_InputBus_ME extends GT_MetaTileEntity_Hatch_InputBus - implements IConfigurationCircuitSupport, IAddGregtechLogo, IAddUIWidgets { + implements IConfigurationCircuitSupport, IAddGregtechLogo, IAddUIWidgets, IPowerChannelState { private static final int SLOT_COUNT = 16; private BaseActionSource requestSource = null; private AENetworkProxy gridProxy = null; @@ -111,6 +113,18 @@ public class GT_MetaTileEntity_Hatch_InputBus_ME extends GT_MetaTileEntity_Hatch @Optional.Method(modid = "appliedenergistics2") public void gridChanged() {} + @Override + @Optional.Method(modid = "appliedenergistics2") + public boolean isPowered() { + return getProxy() != null && getProxy().isPowered(); + } + + @Override + @Optional.Method(modid = "appliedenergistics2") + public boolean isActive() { + return getProxy() != null && getProxy().isActive(); + } + @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java index 579884c332..e52ff2796b 100644 --- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java +++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java @@ -4,6 +4,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ME_HATCH; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ME_HATCH_ACTIVE; import appeng.api.AEApi; +import appeng.api.implementations.IPowerChannelState; import appeng.api.networking.GridFlags; import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.security.IActionHost; @@ -40,7 +41,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; -public class GT_MetaTileEntity_Hatch_OutputBus_ME extends GT_MetaTileEntity_Hatch_OutputBus { +@Optional.Interface(iface = "appeng.api.implementations.IPowerChannelState", modid = "appliedenergistics2") +public class GT_MetaTileEntity_Hatch_OutputBus_ME extends GT_MetaTileEntity_Hatch_OutputBus + implements IPowerChannelState { private BaseActionSource requestSource = null; private AENetworkProxy gridProxy = null; IItemList itemCache = @@ -180,6 +183,18 @@ public class GT_MetaTileEntity_Hatch_OutputBus_ME extends GT_MetaTileEntity_Hatc lastOutputTick = tickCounter; } + @Override + @Optional.Method(modid = "appliedenergistics2") + public boolean isPowered() { + return getProxy() != null && getProxy().isPowered(); + } + + @Override + @Optional.Method(modid = "appliedenergistics2") + public boolean isActive() { + return getProxy() != null && getProxy().isActive(); + } + @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (GT_Values.GT.isServerSide()) { diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java index 940a4ad4ab..6fbcbe4681 100644 --- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java +++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java @@ -6,6 +6,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ME_FLUID_HATCH_ACTI import appeng.api.AEApi; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; +import appeng.api.implementations.IPowerChannelState; import appeng.api.networking.GridFlags; import appeng.api.networking.energy.IEnergySource; import appeng.api.networking.security.BaseActionSource; @@ -45,7 +46,8 @@ import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; -public class GT_MetaTileEntity_Hatch_Output_ME extends GT_MetaTileEntity_Hatch_Output { +@Optional.Interface(iface = "appeng.api.implementations.IPowerChannelState", modid = "appliedenergistics2") +public class GT_MetaTileEntity_Hatch_Output_ME extends GT_MetaTileEntity_Hatch_Output implements IPowerChannelState { private BaseActionSource requestSource = null; private AENetworkProxy gridProxy = null; IItemList fluidCache = @@ -202,6 +204,18 @@ public class GT_MetaTileEntity_Hatch_Output_ME extends GT_MetaTileEntity_Hatch_O lastOutputTick = tickCounter; } + @Override + @Optional.Method(modid = "appliedenergistics2") + public boolean isPowered() { + return getProxy() != null && getProxy().isPowered(); + } + + @Override + @Optional.Method(modid = "appliedenergistics2") + public boolean isActive() { + return getProxy() != null && getProxy().isActive(); + } + @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (GT_Values.GT.isServerSide()) { -- cgit