Added a color code to the memory card. (#3609)

Can be used to encode the stored content as a 4x2 grid of AEColors
Currently used to indicate the P2P frequency.
This commit is contained in:
yueh
2018-07-14 19:42:56 +02:00
committed by GitHub
parent 2891014cf6
commit fe4db2eb98
17 changed files with 462 additions and 77 deletions
@@ -36,6 +36,7 @@ public enum TheOneProbeText
P2P_INPUT_ONE_OUTPUT,
P2P_INPUT_MANY_OUTPUTS,
P2P_OUTPUT,
P2P_FREQUENCY,
LOCKED,
UNLOCKED,
@@ -33,6 +33,7 @@ import appeng.api.parts.IPart;
import appeng.integration.modules.theoneprobe.TheOneProbeText;
import appeng.me.GridAccessException;
import appeng.parts.p2p.PartP2PTunnel;
import appeng.util.Platform;
public class P2PStateInfoProvider implements IPartProbInfoProvider
@@ -41,7 +42,6 @@ public class P2PStateInfoProvider implements IPartProbInfoProvider
private static final int STATE_UNLINKED = 0;
private static final int STATE_OUTPUT = 1;
private static final int STATE_INPUT = 2;
public static final String TAG_P2P_STATE = "p2p_state";
@Override
public void addProbeInfo( IPart part, ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data )
@@ -50,6 +50,11 @@ public class P2PStateInfoProvider implements IPartProbInfoProvider
{
final PartP2PTunnel tunnel = (PartP2PTunnel) part;
if( !tunnel.isPowered() )
{
return;
}
// The default state
int state = STATE_UNLINKED;
int outputCount = 0;
@@ -84,6 +89,11 @@ public class P2PStateInfoProvider implements IPartProbInfoProvider
probeInfo.text( getOutputText( outputCount ) );
break;
}
final short freq = tunnel.getFrequency();
final String freqTooltip = Platform.p2p().toHexString( freq );
probeInfo.text( freqTooltip );
}
}
@@ -27,6 +27,7 @@ import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.translation.I18n;
import net.minecraft.world.World;
import mcp.mobius.waila.api.IWailaConfigHandler;
@@ -36,6 +37,7 @@ import appeng.api.parts.IPart;
import appeng.core.localization.WailaText;
import appeng.me.GridAccessException;
import appeng.parts.p2p.PartP2PTunnel;
import appeng.util.Platform;
/**
@@ -48,6 +50,7 @@ public final class P2PStateWailaDataProvider extends BasePartWailaDataProvider
private static final int STATE_OUTPUT = 1;
private static final int STATE_INPUT = 2;
public static final String TAG_P2P_STATE = "p2p_state";
public static final String TAG_P2P_FREQUENCY = "p2p_frequency";
/**
* Adds state to the tooltip
@@ -86,6 +89,10 @@ public final class P2PStateWailaDataProvider extends BasePartWailaDataProvider
break;
}
}
final short freq = nbtData.getShort( TAG_P2P_FREQUENCY );
final String freqTooltip = Platform.p2p().toHexString( freq );
currentToolTip.add( I18n.translateToLocalFormatted( "gui.tooltips.appliedenergistics2.P2PFrequency", freqTooltip ) );
}
}
@@ -97,7 +104,16 @@ public final class P2PStateWailaDataProvider extends BasePartWailaDataProvider
{
if( part instanceof PartP2PTunnel )
{
PartP2PTunnel tunnel = (PartP2PTunnel) part;
final PartP2PTunnel tunnel = (PartP2PTunnel) part;
if( !tunnel.isPowered() )
{
return tag;
}
// Frquency
final short frequency = tunnel.getFrequency();
tag.setShort( TAG_P2P_FREQUENCY, frequency );
// The default state
int state = STATE_UNLINKED;
@@ -125,6 +141,7 @@ public final class P2PStateWailaDataProvider extends BasePartWailaDataProvider
state,
outputCount
} );
}
return tag;