package advancedsystemsmanager.compatibility.waila; import advancedsystemsmanager.helpers.LocalizationHelper; import advancedsystemsmanager.reference.Names; import advancedsystemsmanager.tileentities.TileEntityEmitter; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import mcp.mobius.waila.api.IWailaConfigHandler; import mcp.mobius.waila.api.IWailaDataAccessor; import mcp.mobius.waila.api.IWailaDataProvider; import net.minecraft.client.gui.GuiScreen; 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.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import java.util.List; public class RedstoneOutputDataProvider implements IWailaDataProvider { @Override public ItemStack getWailaStack(IWailaDataAccessor iWailaDataAccessor, IWailaConfigHandler iWailaConfigHandler) { return null; } @Override public List<String> getWailaHead(ItemStack itemStack, List<String> list, IWailaDataAccessor iWailaDataAccessor, IWailaConfigHandler iWailaConfigHandler) { return null; } @Override public List<String> getWailaBody(ItemStack itemStack, List<String> list, IWailaDataAccessor iWailaDataAccessor, IWailaConfigHandler iWailaConfigHandler) { TileEntityEmitter emitter = (TileEntityEmitter)iWailaDataAccessor.getTileEntity(); if (isShiftDown()) { for (int i = 0; i < ForgeDirection.VALID_DIRECTIONS.length; i++) { list.add(getEmitterSide(emitter, i, true)); } } else { list.add(getEmitterSide(emitter, iWailaDataAccessor.getPosition().sideHit, false)); } return list; } @SideOnly(Side.CLIENT) private boolean isShiftDown() { return GuiScreen.isShiftKeyDown(); } private String getEmitterSide(TileEntityEmitter emitter, int side, boolean full) { String str = StatCollector.translateToLocal(emitter.hasStrongSignalAtSide(side) ? Names.STRONG_POWER : Names.WEAK_POWER) + ": " + emitter.getStrengthFromSide(side) + " "; if (full) { str = StatCollector.translateToLocal(LocalizationHelper.getDirectionString(side)) + " " + str; } return str; } @Override public List<String> getWailaTail(ItemStack itemStack, List<String> list, IWailaDataAccessor iWailaDataAccessor, IWailaConfigHandler iWailaConfigHandler) { return null; } @Override public NBTTagCompound getNBTData(EntityPlayerMP entityPlayerMP, TileEntity tileEntity, NBTTagCompound nbtTagCompound, World world, int i, int i1, int i2) { return null; } }