Posted May 20, 20223 yr How to create cooldown use item Code: public class Ice_Sword extends SwordItem { public Ice_Sword(IItemTier tier, int attackDamageIn, float attackSpeedIn, Properties builderIn) { super(tier, attackDamageIn, attackSpeedIn, builderIn); } @Override public ActionResultType onItemUseFirst(ItemStack stack, ItemUseContext context) { World world = context.getWorld(); if (!world.isRemote) { PlayerEntity playerEntity = Objects.requireNonNull(context.getPlayer()); BlockState clickedBlock = world.getBlockState(context.getPos()); rightClickOnCertainBlockState(clickedBlock, context, playerEntity); stack.damageItem(1, playerEntity, player -> player.sendBreakAnimation(context.getHand())); } return super.onItemUseFirst(stack, context); } private void rightClickOnCertainBlockState(BlockState clickedBlock, ItemUseContext context, PlayerEntity playerEntity) { boolean playerIsNotOnFire = !playerEntity.isBurning(); if (random.nextFloat() > 1f) { } else if (playerIsNotOnFire && blockIsValidForResistance(clickedBlock)) { gainFireResistanceAndDestroyBlock(playerEntity, context.getWorld(), context.getPos()); } } private boolean blockIsValidForResistance(BlockState clickedBlock) { return clickedBlock.getBlock() == Blocks.SAND; } private void gainFireResistanceAndDestroyBlock(PlayerEntity playerEntity, World world, BlockPos pos) { gainFireResistance(playerEntity); world.destroyBlock(pos, false); world.setBlockState(pos, Blocks.GLASS.getDefaultState()); } public static void gainFireResistance(PlayerEntity playerEntity) { playerEntity.addPotionEffect(new EffectInstance(Effects.FIRE_RESISTANCE, 1, 100)); } }
May 20, 20223 yr You can use in your onItemUseFirst method: playerEntity.getCooldowns().addCooldown(this, ticks); Just replace ticks by the number of ticks you want the cooldown to last.
May 21, 20223 yr Author 18 hours ago, steakmans said: You can use in your onItemUseFirst method: playerEntity.getCooldowns().addCooldown(this, ticks); Just replace ticks by the number of ticks you want the cooldown to last. works as a shield cooldown
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.