Каждый тик заменять его стак на такой же со следующей метой а-ля
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean inHand) {
stack = new ItemStack(stack.getItem(), stack.stackSize, (stack.getItemDamage() + 1) % FRAMES_COUNT)
}
Но это говнокод...