@Override public void addProbeInfo(ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data) { TileEntity te = world.getTileEntity(data.getPos()); if(te instanceof IProgress) { IProgress progressTe = (IProgress) te; float progress = progressTe.getProgress(); if(progress > 0f) { probeInfo.horizontal().progress((int)(progress*100f), 100, probeInfo.defaultProgressStyle().suffix("%")); } } } }
@Override public void addProbeInfo(ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data) { TileEntity te = world.getTileEntity(data.getPos()); if(te instanceof TileCasting) { TileCasting casting = (TileCasting) te; ItemStack output = casting.getCurrentResult(); if(output != null) { probeInfo.horizontal().text(Util.translateFormatted("gui.waila.casting.recipe", output.getDisplayName())); } } } }
@Override public void addProbeInfo( AEBaseTile tile, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { if( tile instanceof TileCharger ) { final TileCharger charger = (TileCharger) tile; final IItemHandler chargerInventory = charger.getInternalInventory(); final ItemStack chargingItem = chargerInventory.getStackInSlot( 0 ); if( !chargingItem.isEmpty() ) { final String currentInventory = chargingItem.getDisplayName(); final IProbeInfo centerAlignedHorizontalLayout = probeInfo .horizontal( probeInfo.defaultLayoutStyle().alignment( ElementAlignment.ALIGN_CENTER ) ); centerAlignedHorizontalLayout.item( chargingItem ); centerAlignedHorizontalLayout.text( currentInventory ); } } }
@Override public void addProbeInfo( AEBaseTile tile, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { if( tile instanceof IPowerChannelState ) { final IPowerChannelState state = (IPowerChannelState) tile; final boolean isActive = state.isActive(); final boolean isPowered = state.isPowered(); if( isActive && isPowered ) { probeInfo.text( TheOneProbeText.DEVICE_ONLINE.getLocal() ); } else if( isPowered ) { probeInfo.text( TheOneProbeText.DEVICE_MISSING_CHANNEL.getLocal() ); } else { probeInfo.text( TheOneProbeText.DEVICE_OFFLINE.getLocal() ); } } }
@Override public void addProbeInfo( ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { final TileEntity tile = world.getTileEntity( data.getPos() ); if( tile instanceof AEBaseTile ) { final AEBaseTile aeBaseTile = (AEBaseTile) tile; for( final ITileProbInfoProvider provider : this.providers ) { provider.addProbeInfo( aeBaseTile, mode, probeInfo, player, world, blockState, data ); } } } }
public Optional<IPart> getMaybePart( final TileEntity te, final IProbeHitData data ) { if( te instanceof IPartHost ) { BlockPos pos = data.getPos(); final Vec3d position = data.getHitVec().addVector( -pos.getX(), -pos.getY(), -pos.getZ() ); final IPartHost host = (IPartHost) te; final SelectedPart sp = host.selectPart( position ); if( sp.part != null ) { return Optional.of( sp.part ); } } return Optional.empty(); } }
public IProbeInfo get() { if (eiobox == null) { eiobox = probeinfo.vertical(probeinfo.defaultLayoutStyle().borderColor(0xffff0000)); } return eiobox; }
@SuppressWarnings("unused") public ILayoutStyle right() { return probeinfo.defaultLayoutStyle().alignment(ElementAlignment.ALIGN_BOTTOMRIGHT); }
@Override public Void apply( ITheOneProbe input ) { input.registerProbeConfigProvider( new AEConfigProvider() ); input.registerProvider( new TileInfoProvider() ); input.registerProvider( new PartInfoProvider() ); return null; } }
@Nullable @Override public Void apply(ITheOneProbe probe) { probe.registerProvider(new CastingInfoProvider()); probe.registerProvider(new ProgressInfoProvider()); return null; } }
@Override public void addProbeEntityInfo(ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, Entity entity, IProbeHitEntityData data) { if (entity instanceof IProbeInfoEntityAccessor) { IProbeInfoEntityAccessor accessor = (IProbeInfoEntityAccessor) entity; accessor.addProbeInfo(mode, probeInfo, player, world, entity, data); } } }
@Override public void addProbeInfo( AEBaseTile tile, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { if( tile instanceof TileCraftingMonitorTile ) { final TileCraftingMonitorTile monitor = (TileCraftingMonitorTile) tile; final IAEItemStack displayStack = monitor.getJobProgress(); if( displayStack != null ) { // TODO: check if OK final ItemStack itemStack = displayStack.asItemStackRepresentation(); final String itemName = itemStack.getDisplayName(); final String formattedCrafting = String.format( TheOneProbeText.CRAFTING.getLocal(), itemName ); final IProbeInfo centerAlignedHorizontalLayout = probeInfo .horizontal( probeInfo.defaultLayoutStyle().alignment( ElementAlignment.ALIGN_CENTER ) ); centerAlignedHorizontalLayout.item( itemStack ); centerAlignedHorizontalLayout.text( formattedCrafting ); } } }
@Override public void addProbeInfo( IPart part, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { if( part instanceof IPowerChannelState ) { final IPowerChannelState state = (IPowerChannelState) part; final String tooltip = this.getToolTip( state.isActive(), state.isPowered() ); probeInfo.text( tooltip ); } }
@Override public void addProbeInfo( ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { final TileEntity te = world.getTileEntity( data.getPos() ); final Optional<IPart> maybePart = this.accessor.getMaybePart( te, data ); if( maybePart.isPresent() ) { final IPart part = maybePart.get(); for( final IPartProbInfoProvider provider : this.providers ) { provider.addProbeInfo( part, mode, probeInfo, player, world, blockState, data ); } } } }
public ILayoutStyle center() { return probeinfo.defaultLayoutStyle().alignment(ElementAlignment.ALIGN_CENTER); }
@Override public void addProbeInfo( AEBaseTile tile, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { if( tile instanceof IAEPowerStorage ) { final IAEPowerStorage storage = (IAEPowerStorage) tile; final double maxPower = storage.getAEMaxPower(); if( maxPower > 0 ) { final long internalCurrentPower = (long) ( storage.getAECurrentPower() * 100 ); if( internalCurrentPower >= 0 ) { final long internalMaxPower = (long) ( 100 * maxPower ); final String formatCurrentPower = Platform.formatPowerLong( internalCurrentPower, false ); final String formatMaxPower = Platform.formatPowerLong( internalMaxPower, false ); final String formattedString = String.format( TheOneProbeText.STORED_ENERGY.getLocal(), formatCurrentPower, formatMaxPower ); probeInfo.text( formattedString ); } } } }
probeInfo.text( TheOneProbeText.P2P_UNLINKED.getLocal() ); break; case STATE_OUTPUT: probeInfo.text( TheOneProbeText.P2P_OUTPUT.getLocal() ); break; case STATE_INPUT: probeInfo.text( getOutputText( outputCount ) ); break; final String freqTooltip = Platform.p2p().toHexString( freq ); probeInfo.text( freqTooltip );
@Override public void addProbeInfo( IPart part, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { if( part instanceof IPartStorageMonitor ) { final IPartStorageMonitor monitor = (IPartStorageMonitor) part; final IAEStack<?> displayed = monitor.getDisplayed(); final boolean isLocked = monitor.isLocked(); // TODO: generalize if( displayed instanceof IAEItemStack ) { final IAEItemStack ais = (IAEItemStack) displayed; probeInfo.text( TheOneProbeText.SHOWING.getLocal() + ": " + ais.asItemStackRepresentation().getDisplayName() ); } else if( displayed instanceof IAEFluidStack ) { final IAEFluidStack ais = (IAEFluidStack) displayed; probeInfo.text( TheOneProbeText.SHOWING.getLocal() + ": " + ais.getFluid().getLocalizedName( ais.getFluidStack() ) ); } probeInfo.text( isLocked ? TheOneProbeText.LOCKED.getLocal() : TheOneProbeText.UNLOCKED.getLocal() ); } }
@Override public void addProbeInfo( IPart part, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data ) { if( part instanceof PartDenseCableSmart || part instanceof PartCableSmart ) { final int usedChannels; final int maxChannels = ( part instanceof PartDenseCableSmart ) ? 32 : 8; if( part.getGridNode().isActive() ) { final NBTTagCompound tmp = new NBTTagCompound(); part.writeToNBT( tmp ); usedChannels = tmp.getByte( "usedChannels" ); } else { usedChannels = 0; } final String formattedChannelString = String.format( TheOneProbeText.CHANNELS.getLocal(), usedChannels, maxChannels ); probeInfo.text( formattedChannelString ); } }