Tunnels Memory Card Fix, and Messages.

This commit is contained in:
AlgorithmX2 2014-01-30 15:07:03 -06:00
parent 96e1789b22
commit ae6ba6a071

View file

@ -13,8 +13,10 @@ import appeng.api.AEApi;
import appeng.api.config.PowerUnits; import appeng.api.config.PowerUnits;
import appeng.api.config.TunnelType; import appeng.api.config.TunnelType;
import appeng.api.implementations.items.IMemoryCard; import appeng.api.implementations.items.IMemoryCard;
import appeng.api.implementations.items.MemoryCardMessages;
import appeng.api.parts.IPart; import appeng.api.parts.IPart;
import appeng.api.parts.IPartCollsionHelper; import appeng.api.parts.IPartCollsionHelper;
import appeng.api.parts.IPartItem;
import appeng.api.parts.IPartRenderHelper; import appeng.api.parts.IPartRenderHelper;
import appeng.api.parts.PartItemStack; import appeng.api.parts.PartItemStack;
import appeng.client.texture.CableBusTextures; import appeng.client.texture.CableBusTextures;
@ -65,27 +67,40 @@ public class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicState
ItemStack newType = ItemStack.loadItemStackFromNBT( data ); ItemStack newType = ItemStack.loadItemStackFromNBT( data );
long freq = data.getLong( "freq" ); long freq = data.getLong( "freq" );
getHost().removePart( side, true ); if ( newType != null )
ForgeDirection dir = getHost().addPart( newType, side, player );
IPart newBus = getHost().getPart( dir );
if ( newBus instanceof PartP2PTunnel )
{ {
PartP2PTunnel newTunnel = (PartP2PTunnel) newBus; if ( newType.getItem() instanceof IPartItem )
newTunnel.output = true; {
newTunnel.onChange(); IPart testPart = ((IPartItem) newType.getItem()).createPartFromItemStack( newType );
if ( testPart instanceof PartP2PTunnel )
{
getHost().removePart( side, true );
ForgeDirection dir = getHost().addPart( newType, side, player );
IPart newBus = getHost().getPart( dir );
try if ( newBus instanceof PartP2PTunnel )
{ {
P2PCache p2p = newTunnel.proxy.getP2P(); PartP2PTunnel newTunnel = (PartP2PTunnel) newBus;
p2p.updateFreq( newTunnel, freq ); newTunnel.output = true;
} newTunnel.onChange();
catch (GridAccessException e)
{ try
// :P {
P2PCache p2p = newTunnel.proxy.getP2P();
p2p.updateFreq( newTunnel, freq );
}
catch (GridAccessException e)
{
// :P
}
}
mc.notifyUser( player, MemoryCardMessages.SETTINGS_LOADED );
return true;
}
} }
} }
mc.notifyUser( player, MemoryCardMessages.INVALID_MACHINE );
} }
else if ( tt != null ) // attune-ment else if ( tt != null ) // attune-ment
{ {
@ -145,7 +160,7 @@ public class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicState
// :P // :P
} }
} }
return true;
} }
} }
@ -191,6 +206,7 @@ public class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicState
data.setLong( "freq", freq ); data.setLong( "freq", freq );
mc.setMemoryCardContents( is, type + ".name", data ); mc.setMemoryCardContents( is, type + ".name", data );
mc.notifyUser( player, MemoryCardMessages.SETTINGS_SAVED );
return true; return true;
} }
return false; return false;
@ -244,8 +260,8 @@ public class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicState
rh.setBounds( 2, 2, 14, 14, 14, 16 ); rh.setBounds( 2, 2, 14, 14, 14, 16 );
rh.renderInventoryBox( renderer ); rh.renderInventoryBox( renderer );
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.BlockP2PTunnel2.getIcon(), rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.BlockP2PTunnel2.getIcon(), is.getIconIndex(),
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() ); CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
rh.setBounds( 2, 2, 14, 14, 14, 16 ); rh.setBounds( 2, 2, 14, 14, 14, 16 );
rh.renderInventoryBox( renderer ); rh.renderInventoryBox( renderer );
@ -265,8 +281,8 @@ public class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicState
rh.setBounds( 2, 2, 14, 14, 14, 16 ); rh.setBounds( 2, 2, 14, 14, 14, 16 );
rh.renderBlock( x, y, z, renderer ); rh.renderBlock( x, y, z, renderer );
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.BlockP2PTunnel2.getIcon(), rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.BlockP2PTunnel2.getIcon(), is.getIconIndex(),
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() ); CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
rh.setBounds( 2, 2, 14, 14, 14, 16 ); rh.setBounds( 2, 2, 14, 14, 14, 16 );
rh.renderBlock( x, y, z, renderer ); rh.renderBlock( x, y, z, renderer );