Fixed Right Click Behavior of BiometricCard and Network tool when clicking on air.

This commit is contained in:
AlgorithmX2 2014-01-30 20:02:18 -06:00
parent dc9a337560
commit 8653a4f79b
2 changed files with 18 additions and 4 deletions

View file

@ -37,26 +37,28 @@ public class ToolBiometricCard extends AEBaseItem
@Override
public boolean itemInteractionForEntity(ItemStack is, EntityPlayer par2EntityPlayer, EntityLivingBase target)
{
if ( target instanceof EntityPlayer )
if ( target instanceof EntityPlayer && !par2EntityPlayer.isSneaking() )
{
if ( par2EntityPlayer.capabilities.isCreativeMode )
is = par2EntityPlayer.getCurrentEquippedItem();
encode( is, (EntityPlayer) target );
par2EntityPlayer.swingItem();
return true;
}
return false;
}
@Override
public boolean onItemUse(ItemStack is, EntityPlayer p, World w, int x, int y, int z, int side, float hitx, float hity, float hitz)
public ItemStack onItemRightClick(ItemStack is, World w, EntityPlayer p)
{
if ( p.isSneaking() )
{
encode( is, p );
return true;
p.swingItem();
return is;
}
return false;
return is;
}
private void encode(ItemStack is, EntityPlayer p)

View file

@ -12,6 +12,7 @@ import appeng.api.implementations.guiobjects.IGuiItem;
import appeng.api.implementations.guiobjects.IGuiItemObject;
import appeng.api.implementations.items.IAEWrench;
import appeng.api.networking.IGridHost;
import appeng.container.AEBaseContainer;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
import appeng.items.AEBaseItem;
@ -64,16 +65,27 @@ public class ToolNetworkTool extends AEBaseItem implements IGuiItem, IAEWrench,
if ( !p.isSneaking() )
{
if ( p.openContainer instanceof AEBaseContainer )
return true;
TileEntity te = w.getBlockTileEntity( x, y, z );
if ( te instanceof IGridHost )
Platform.openGUI( p, te, ForgeDirection.getOrientation( side ), GuiBridge.GUI_NETWORK_STATUS );
else
Platform.openGUI( p, null, ForgeDirection.UNKNOWN, GuiBridge.GUI_NETWORK_TOOL );
return true;
}
return false;
}
@Override
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
onItemUse( par1ItemStack, par3EntityPlayer, par2World, 0, 0, 0, -1, 0, 0, 0 );
return super.onItemRightClick( par1ItemStack, par2World, par3EntityPlayer );
}
@Override
public boolean shouldPassSneakingClickToBlock(World w, int x, int y, int z)
{