#add cooldown to food

18 messages · Page 1 of 1 (latest)

drowsy shoal
#

ItemEvents.foodEaten(event => {
const player = event.player
const item = event.item

if (item.id === 'kubejs:my_thing') {
  player.potionEffects.add('minecraft:levitation', 80, 5)
  player.potionEffects.add('minecraft:haste', 400, 2)
  player.potionEffects.add('minecraft:speed', 400, 2)
}

})

but how do i add a cooldown

wintry gobletBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

drowsy shoal
#

ok i figured out how to use the tag

#

ItemEvents.rightClicked(Item.of('#c:foods'), event => {
event.server.scheduleInTicks(1, () => {
event.player.addItemCooldown('minecraft:carrot', 400)
})
})

#

that works

#

but

#

then i tried same thing but on the cooldown

#

ItemEvents.rightClicked(Item.of('#c:foods'), event => {
event.server.scheduleInTicks(1, () => {
event.player.addItemCooldown(Item.of('#c:foods'), 400)
})
})

#

and this doesnt work

#

wait

#

it does work

#

it just only does items with ONLY that tag

#

if it has any other tags then it doesnt work

#

solved

#
ItemEvents.rightClicked('#c:foods', event => {
  event.server.scheduleInTicks(1, () => {
    let foodTagItems = Ingredient.of('#c:foods').getItemIds()
    foodTagItems.forEach(id => {
      event.player.addItemCooldown(id, 40)
    })
  })
})
drowsy shoal
#

nvm, right clicking anything adds cd to the tag

drowsy shoal
#
ItemEvents.rightClicked(event => {
  if (Ingredient.of('#speedysmp:drugs').test(event.item)) {
    event.server.scheduleInTicks(1, () => {
      let foodTagItems = Ingredient.of('#speedysmp:drugs').getItemIds()
      foodTagItems.forEach(id => {
        event.player.addItemCooldown(id, 60)
      })
    })
  }
})

fixed