public static boolean setHeldMultiModeItemState(EntityPlayer player, int mode) { if (!isPlayerHoldingSomething(player)) { return false; } ItemStack heldItem = getMainhandStack(player); Item equipped = heldItem.getItem(); if (equipped instanceof IMultiModeItem) { IMultiModeItem multiModeItem = (IMultiModeItem) equipped; return multiModeItem.setMode(heldItem, mode); } else { heldItem = getOffhandStack(player); equipped = heldItem.getItem(); IMultiModeItem multiModeItem = (IMultiModeItem) equipped; return multiModeItem.setMode(heldItem, mode); } }