diff --git a/items/tools/ToolBiometricCard.java b/items/tools/ToolBiometricCard.java index c2bfdf1dd..ac5cb862f 100644 --- a/items/tools/ToolBiometricCard.java +++ b/items/tools/ToolBiometricCard.java @@ -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) diff --git a/items/tools/ToolNetworkTool.java b/items/tools/ToolNetworkTool.java index fc75a1c16..e3f5d5f98 100644 --- a/items/tools/ToolNetworkTool.java +++ b/items/tools/ToolNetworkTool.java @@ -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) {