public static boolean isWrench( final EntityPlayer player, final ItemStack eq, final BlockPos pos ) { if( !eq.isEmpty() ) { try { // TODO: Build Craft Wrench? /* * if( eq.getItem() instanceof IToolWrench ) * { * IToolWrench wrench = (IToolWrench) eq.getItem(); * return wrench.canWrench( player, x, y, z ); * } */ if( eq.getItem() instanceof cofh.api.item.IToolHammer ) { return ( (cofh.api.item.IToolHammer) eq.getItem() ).isUsable( eq, player, pos ); } } catch( final Throwable ignore ) { // explodes without BC } if( eq.getItem() instanceof IAEWrench ) { final IAEWrench wrench = (IAEWrench) eq.getItem(); return wrench.canWrench( eq, player, pos ); } } return false; }
@Override public void used(@Nonnull EnumHand hand, @Nonnull EntityPlayer player, @Nonnull BlockPos pos) { ItemStack stack = player.getHeldItem(hand); ((IToolHammer) stack.getItem()).toolUsed(stack, player, pos); }
@Override public boolean canUse(@Nonnull EnumHand hand, @Nonnull EntityPlayer player, @Nonnull BlockPos pos) { ItemStack stack = player.getHeldItem(hand); return ((IToolHammer) stack.getItem()).isUsable(stack, player, pos); }
@Override public void toolUsed(ItemStack stack, EntityPlayer entityplayer, BlockPos pos) { if(isToolHammer(stack.getItem())) ((IToolHammer)stack.getItem()).toolUsed(stack, entityplayer, pos); } }
@Override public boolean canHammer(ItemStack stack, EntityPlayer entityplayer, BlockPos pos) { return isToolHammer(stack.getItem()) && ((IToolHammer)stack.getItem()).isUsable(stack, entityplayer, pos); }
@Override public void wrenchUsed(EntityPlayer player, ItemStack wrench, ILPPipeTile pipe) { if(wrench.isEmpty() || !(wrench.getItem() instanceof IToolHammer)) return; ((IToolHammer)wrench.getItem()).toolUsed(wrench, player, pipe.getBlockPos()); } };
@Override public boolean canWrench(EntityPlayer player, ItemStack wrench, ILPPipeTile pipe) { if(wrench.isEmpty() || !(wrench.getItem() instanceof IToolHammer)) return false; return ((IToolHammer)wrench.getItem()).isUsable(wrench, player, pipe.getBlockPos()); }
public static void usedWrench(EntityPlayer player, RayTraceResult traceResult) { if (player == null || traceResult == null) { return; } EnumHand hand = EnumHand.MAIN_HAND; ItemStack stack = player.getHeldItem(hand); if (stack.isEmpty()) { hand = EnumHand.OFF_HAND; stack = player.getHeldItem(hand); } if (stack.isEmpty()) { return; } if (stack.getItem() instanceof IToolHammer) { BlockPos pos = traceResult.getBlockPos(); ((IToolHammer) stack.getItem()).toolUsed(stack, player, pos); } else if (bcWrenchExists) { //bcWrenchUsed(player, hand, stack, traceResult); } }
public static boolean isHoldingUsableWrench(EntityPlayer player, RayTraceResult traceResult) { if (player == null || traceResult == null) { return false; } EnumHand hand = EnumHand.MAIN_HAND; ItemStack stack = player.getHeldItem(hand); if (stack.isEmpty()) { hand = EnumHand.OFF_HAND; stack = player.getHeldItem(hand); } if (stack.isEmpty()) { return false; } if (stack.getItem() instanceof IToolHammer) { BlockPos pos = traceResult.getBlockPos(); return ((IToolHammer) stack.getItem()).isUsable(stack, player, pos); } else if (bcWrenchExists) { //return canHandleBCWrench(player, hand, stack, traceResult); } return false; }