P2P tunnel frequency color indicators (#3610)

This commit is contained in:
fscan
2018-07-14 17:05:07 +02:00
committed by GitHub
parent e809c688df
commit 2891014cf6
12 changed files with 1143 additions and 54 deletions
@@ -19,10 +19,13 @@
package appeng.parts.p2p;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Optional;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -134,7 +137,7 @@ public abstract class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicSt
{
super.readFromNBT( data );
this.setOutput( data.getBoolean( "output" ) );
this.setFrequency( data.getShort( "freq" ) );
this.freq = data.getShort( "freq" );
}
@Override
@@ -145,6 +148,22 @@ public abstract class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicSt
data.setShort( "freq", this.getFrequency() );
}
@Override
public boolean readFromStream( ByteBuf data ) throws IOException
{
final boolean c = super.readFromStream( data );
final short oldf = this.freq;
this.freq = data.readShort();
return c || oldf != this.freq;
}
@Override
public void writeToStream( ByteBuf data ) throws IOException
{
super.writeToStream( data );
data.writeShort( getFrequency() );
}
@Override
public float getCableConnectionLength( AECableType cable )
{
@@ -381,7 +400,12 @@ public abstract class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicSt
public void setFrequency( final short freq )
{
final short oldf = this.freq;
this.freq = freq;
if( oldf != this.freq )
{
this.getHost().markForUpdate();
}
}
public boolean isOutput()
@@ -393,4 +417,17 @@ public abstract class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicSt
{
this.output = output;
}
@Override
public Long getRenderFlag()
{
long ret = Short.toUnsignedLong( this.getFrequency() );
if( this.isActive() && this.isPowered() )
{
ret |= 0x10000L;
}
return ret;
}
}