Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,10 @@ public boolean onWireCutterClick(EntityPlayer playerIn, EnumHand hand, EnumFacin
return true;
}

public boolean isOnline() {
return isOnline;
}

@Override
public NBTTagCompound writeToNBT(NBTTagCompound data) {
super.writeToNBT(data);
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/gregtech/integration/hwyla/HWYLAModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import gregtech.api.modules.GregTechModule;
import gregtech.api.util.Mods;
import gregtech.integration.IntegrationSubmodule;
import gregtech.integration.hwyla.provider.AEMultiblockHatchProvider;
import gregtech.integration.hwyla.provider.ActiveTransformerDataProvider;
import gregtech.integration.hwyla.provider.BatteryBufferDataProvider;
import gregtech.integration.hwyla.provider.BlockOreDataProvider;
Expand Down Expand Up @@ -59,6 +60,7 @@ public void register(IWailaRegistrar registrar) {
ActiveTransformerDataProvider.INSTANCE.register(registrar);
BatteryBufferDataProvider.INSTANCE.register(registrar);
QuantumStorageProvider.INSTANCE.register(registrar);
AEMultiblockHatchProvider.INSTANCE.register(registrar);
}

/** Render an ItemStack. */
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package gregtech.integration.hwyla.provider;

import gregtech.api.GTValues;
import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
import gregtech.common.metatileentities.multi.multiblockpart.appeng.MetaTileEntityAEHostablePart;

import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import mcp.mobius.waila.api.IWailaDataProvider;
import mcp.mobius.waila.api.IWailaRegistrar;
import org.jetbrains.annotations.NotNull;

import java.util.List;

public class AEMultiblockHatchProvider implements IWailaDataProvider {

private static final String NBT_KEY = "ae_part_online";

public static final AEMultiblockHatchProvider INSTANCE = new AEMultiblockHatchProvider();

public void register(@NotNull IWailaRegistrar registrar) {
registrar.registerBodyProvider(this, IGregTechTileEntity.class);
registrar.registerNBTProvider(this, IGregTechTileEntity.class);
registrar.addConfig(GTValues.MOD_NAME, "gregtech.ae_multiblock_hatch_provider");
}

@Override
public @NotNull NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te, NBTTagCompound tag, World world,
BlockPos pos) {
if (te instanceof IGregTechTileEntity gtte &&
gtte.getMetaTileEntity() instanceof MetaTileEntityAEHostablePart<?>aeHostablePart) {
tag.setBoolean(NBT_KEY, aeHostablePart.isOnline());
}

return tag;
}

@Override
public @NotNull List<String> getWailaBody(ItemStack itemStack, List<String> tooltip, IWailaDataAccessor accessor,
IWailaConfigHandler config) {
if (accessor.getNBTData().hasKey(NBT_KEY)) {
if (accessor.getNBTData().getBoolean(NBT_KEY)) {
tooltip.add(I18n.format("gregtech.gui.me_network.online"));
} else {
tooltip.add(I18n.format("gregtech.gui.me_network.offline"));
}
}

return tooltip;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ public void init(FMLInitializationEvent event) {
oneProbe.registerProvider(new QuantumStorageProvider());
oneProbe.registerProvider(new ActiveTransformerInfoProvider());
oneProbe.registerProvider(new BatteryBufferInfoProvider());
oneProbe.registerProvider(new AEMultiblockHatchProvider());

// Dev environment debug providers
oneProbe.registerProvider(new DebugPipeNetInfoProvider());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package gregtech.integration.theoneprobe.provider;

import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
import gregtech.common.metatileentities.multi.multiblockpart.appeng.MetaTileEntityAEHostablePart;

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;

import mcjty.theoneprobe.api.IProbeHitData;
import mcjty.theoneprobe.api.IProbeInfo;
import mcjty.theoneprobe.api.IProbeInfoProvider;
import mcjty.theoneprobe.api.ProbeMode;

public class AEMultiblockHatchProvider implements IProbeInfoProvider {

@Override
public String getID() {
return ":ae_multiblock_hatch_provider";
}

@Override
public void addProbeInfo(ProbeMode probeMode, IProbeInfo probeInfo, EntityPlayer entityPlayer, World world,
IBlockState blockState, IProbeHitData probeHitData) {
if (blockState.getBlock().hasTileEntity(blockState) &&
world.getTileEntity(probeHitData.getPos()) instanceof IGregTechTileEntity gtte &&
gtte.getMetaTileEntity() instanceof MetaTileEntityAEHostablePart<?>aeHostablePart) {
if (aeHostablePart.isOnline()) {
probeInfo.text("{*gregtech.gui.me_network.online*}");
} else {
probeInfo.text("{*gregtech.gui.me_network.offline*}");
}
}
}
}
4 changes: 2 additions & 2 deletions src/main/resources/assets/gregtech/lang/en_us.lang
Original file line number Diff line number Diff line change
Expand Up @@ -5624,8 +5624,8 @@ gregtech.gui.multiblock_fluid_voiding=Voiding Mode/n§7Voiding §9Fluids
gregtech.gui.multiblock_item_fluid_voiding=Voiding Mode/n§7Voiding §6Items §7and §9Fluids
gregtech.gui.multiblock_no_voiding=Voiding Mode/n§7Voiding Nothing
gregtech.gui.multiblock_voiding_not_supported=This Multiblock does not support Voiding Mode
gregtech.gui.me_network.online=Network Status: §2Online§r
gregtech.gui.me_network.offline=Network Status: §4Offline§r
gregtech.gui.me_network.online=Network: §aOnline§r
gregtech.gui.me_network.offline=Network: §4Offline§r
gregtech.gui.waiting_list=Sending Queue:
gregtech.gui.config_slot=§fConfig Slot§r
gregtech.gui.config_slot.set=§7Click to §bset/select§7 config slot.§r
Expand Down
Loading