java.lang.Object
net.minecraft.world.item.Item
tech.anonymoushacker1279.immersiveweapons.item.CursedItem
All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, net.neoforged.neoforge.common.extensions.IItemExtension

public class CursedItem extends net.minecraft.world.item.Item
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.item.Item

    net.minecraft.world.item.Item.Properties, net.minecraft.world.item.Item.TooltipContext
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static float
     

    Fields inherited from class net.minecraft.world.item.Item

    ABSOLUTE_MAX_STACK_SIZE, APPROXIMATELY_INFINITE_USE_DURATION, BASE_ATTACK_DAMAGE_ID, BASE_ATTACK_SPEED_ID, BY_BLOCK, canCombineRepair, CODEC, DEFAULT_MAX_STACK_SIZE, descriptionId, MAX_BAR_WIDTH, STREAM_CODEC

    Fields inherited from interface net.minecraft.world.flag.FeatureElement

    FILTERED_REGISTRIES
  • Constructor Summary

    Constructors
    Constructor
    Description
    CursedItem(net.minecraft.world.item.Item.Properties properties, String name)
    Cursed items cannot be removed once used.
  • Method Summary

    Modifier and Type
    Method
    Description
    static List<net.minecraft.world.item.ItemStack>
    getCurses(net.minecraft.world.entity.player.Player player)
    Get a list of cursed accessories in the player's inventory.
    int
    getMaxDamage(net.minecraft.world.item.ItemStack stack)
     
    int
    getUseDuration(net.minecraft.world.item.ItemStack stack, net.minecraft.world.entity.LivingEntity entity)
     
    void
    inventoryTick(net.minecraft.world.item.ItemStack stack, net.minecraft.server.level.ServerLevel level, net.minecraft.world.entity.Entity entity, net.minecraft.world.entity.EquipmentSlot slot)
     
    void
    onUseTick(net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity livingEntity, net.minecraft.world.item.ItemStack stack, int remainingUseDuration)
     
    boolean
    releaseUsing(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity livingEntity, int timeCharged)
     
    net.minecraft.world.InteractionResult
    use(net.minecraft.world.level.Level level, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand)
     
    boolean
    useOnRelease(net.minecraft.world.item.ItemStack stack)
     

    Methods inherited from class net.minecraft.world.item.Item

    appendHoverText, asItem, builtInRegistryHolder, byBlock, byId, canDestroyBlock, canFitInsideContainerItems, components, finishUsingItem, getAttackDamageBonus, getBarColor, getBarWidth, getCraftingRemainder, getDamageSource, getDefaultInstance, getDefaultMaxStackSize, getDescriptionId, getDestroySpeed, getId, getName, getName, getPlayerPOVHitResult, getTooltipImage, getUseAnimation, hurtEnemy, interactLivingEntity, isBarVisible, isCombineRepairable, isCorrectToolForDrops, isFoil, mineBlock, modifyDefaultComponentsFrom, onCraftedBy, onCraftedPostProcess, onDestroyed, overrideOtherStackedOnMe, overrideStackedOnOther, postHurtEnemy, requiredFeatures, shouldPrintOpWarning, toString, useOn, verifyComponentsAfterLoad

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.world.flag.FeatureElement

    isEnabled

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IItemExtension

    applyEnchantments, canBeHurtBy, canContinueUsing, canEquip, canFitInsideContainerItems, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, getAllEnchantments, getBurnTime, getCraftingRemainder, getCreatorModId, getDamage, getDefaultAttributeModifiers, getEnchantmentLevel, getEntityLifespan, getEquipmentSlot, getHighlightTip, getMaxStackSize, getSweepHitBox, getXpRepairRatio, hasCustomEntity, isDamageable, isDamaged, isGazeDisguise, isNotReplaceableByPickAction, isPiglinCurrency, isPrimaryItemFor, makesPiglinsNeutral, onAnimalArmorTick, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onItemUseFirst, onLeftClickEntity, onStopUsing, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimation, supportsEnchantment
  • Field Details

    • CURSE_EFFECT_FADE

      public static float CURSE_EFFECT_FADE
  • Constructor Details

    • CursedItem

      public CursedItem(net.minecraft.world.item.Item.Properties properties, String name)
      Cursed items cannot be removed once used. Their effects are permanent in survival mode, even persisting through death. They are "charged" and require 100 entity kills while the item is in the inventory to be used.

      The only way to clear the effects of a cursed item is to use a CurseCleaningSoapItem item, which is not obtainable in survival mode.

      Parameters:
      properties - the Properties for the item
      name - the name of the item, used for setting tags on the player
  • Method Details

    • getMaxDamage

      public int getMaxDamage(net.minecraft.world.item.ItemStack stack)
    • getCurses

      public static List<net.minecraft.world.item.ItemStack> getCurses(net.minecraft.world.entity.player.Player player)
      Get a list of cursed accessories in the player's inventory.
    • getUseDuration

      public int getUseDuration(net.minecraft.world.item.ItemStack stack, net.minecraft.world.entity.LivingEntity entity)
      Overrides:
      getUseDuration in class net.minecraft.world.item.Item
    • useOnRelease

      public boolean useOnRelease(net.minecraft.world.item.ItemStack stack)
      Overrides:
      useOnRelease in class net.minecraft.world.item.Item
    • onUseTick

      public void onUseTick(net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity livingEntity, net.minecraft.world.item.ItemStack stack, int remainingUseDuration)
      Overrides:
      onUseTick in class net.minecraft.world.item.Item
    • inventoryTick

      public void inventoryTick(net.minecraft.world.item.ItemStack stack, net.minecraft.server.level.ServerLevel level, net.minecraft.world.entity.Entity entity, @Nullable net.minecraft.world.entity.EquipmentSlot slot)
      Overrides:
      inventoryTick in class net.minecraft.world.item.Item
    • use

      public net.minecraft.world.InteractionResult use(net.minecraft.world.level.Level level, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand)
      Overrides:
      use in class net.minecraft.world.item.Item
    • releaseUsing

      public boolean releaseUsing(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity livingEntity, int timeCharged)
      Overrides:
      releaseUsing in class net.minecraft.world.item.Item