Applied-Energistics-2-tiler.../parts/reporting/PartTerminal.java
2014-02-08 19:34:52 -06:00

87 lines
1.8 KiB
Java

package appeng.parts.reporting;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Vec3;
import appeng.api.storage.IMEMonitor;
import appeng.api.storage.IStorageMonitorable;
import appeng.client.texture.CableBusTextures;
import appeng.core.localization.PlayerMessages;
import appeng.core.sync.GuiBridge;
import appeng.me.GridAccessException;
import appeng.util.Platform;
public class PartTerminal extends PartMonitor implements IStorageMonitorable
{
public PartTerminal(Class clz, ItemStack is) {
super( clz, is );
}
public PartTerminal(ItemStack is) {
super( PartTerminal.class, is );
frontBright = CableBusTextures.PartTerminal_Bright;
frontColored = CableBusTextures.PartTerminal_Colored;
frontDark = CableBusTextures.PartTerminal_Dark;
frontSolid = CableBusTextures.PartTerminal_Solid;
}
public GuiBridge getGui()
{
return GuiBridge.GUI_ME;
}
@Override
public boolean onActivate(EntityPlayer player, Vec3 pos)
{
if ( !player.isSneaking() )
{
if ( Platform.isClient() )
return true;
if ( proxy.isActive() )
Platform.openGUI( player, getHost().getTile(), side, getGui() );
else
{
if ( proxy.isPowered() )
player.addChatMessage( PlayerMessages.CommunicationError.get() );
else
player.addChatMessage( PlayerMessages.MachineNotPowered.get() );
}
return true;
}
return false;
}
@Override
public IMEMonitor getFluidInventory()
{
try
{
return proxy.getStorage().getFluidInventory();
}
catch (GridAccessException e)
{
// err nope?
}
return null;
}
@Override
public IMEMonitor getItemInventory()
{
try
{
return proxy.getStorage().getItemInventory();
}
catch (GridAccessException e)
{
// err nope?
}
return null;
}
}