Class ImbuementEnchantDataHolder

java.lang.Object
com.binaris.wizardry.capabilities.ImbuementEnchantDataHolder
All Implemented Interfaces:
ImbuementEnchantData, net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>

public class ImbuementEnchantDataHolder extends Object implements net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, ImbuementEnchantData
  • Field Details

    • LOCATION

      public static final net.minecraft.resources.ResourceLocation LOCATION
    • INSTANCE

      public static final net.minecraftforge.common.capabilities.Capability<ImbuementEnchantDataHolder> INSTANCE
  • Constructor Details

    • ImbuementEnchantDataHolder

      public ImbuementEnchantDataHolder()
  • Method Details

    • addImbuement

      public void addImbuement(net.minecraft.world.item.enchantment.Enchantment enchant, long expireTime)
      Description copied from interface: ImbuementEnchantData
      Adds a temporary enchantment with expiration time. This only adds tracking; the actual enchantment should be applied to the item separately.
      Specified by:
      addImbuement in interface ImbuementEnchantData
      Parameters:
      enchant - the Enchantment to track as temporary
      expireTime - the absolute game time when this enchantment expires
    • getImbuements

      public Map<net.minecraft.resources.ResourceLocation,Long> getImbuements()
      Description copied from interface: ImbuementEnchantData
      Gets all temporary enchantments and their expiration times. Returns a map of enchantment location -> expiration time
      Specified by:
      getImbuements in interface ImbuementEnchantData
      Returns:
      map of enchantment ResourceLocations to expiration times
    • removeImbuement

      public void removeImbuement(net.minecraft.world.item.enchantment.Enchantment enchant)
      Description copied from interface: ImbuementEnchantData
      Removes a temporary enchantment from tracking.
      Specified by:
      removeImbuement in interface ImbuementEnchantData
      Parameters:
      enchant - the enchantment to remove
    • isImbuement

      public boolean isImbuement(net.minecraft.world.item.enchantment.Enchantment enchant)
      Description copied from interface: ImbuementEnchantData
      Checks if an enchantment is tracked as temporary.
      Specified by:
      isImbuement in interface ImbuementEnchantData
      Parameters:
      enchant - the Enchantment to check
      Returns:
      true if the enchantment is temporary
    • getExpirationTime

      public long getExpirationTime(net.minecraft.world.item.enchantment.Enchantment enchantment)
      Description copied from interface: ImbuementEnchantData
      Gets the expiration time for a specific enchantment.
      Specified by:
      getExpirationTime in interface ImbuementEnchantData
      Parameters:
      enchantment - the enchantment
      Returns:
      the expiration time in game ticks, or -1 if not found
    • serializeNBT

      public net.minecraft.nbt.CompoundTag serializeNBT()
      Specified by:
      serializeNBT in interface net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
    • deserializeNBT

      public void deserializeNBT(net.minecraft.nbt.CompoundTag tag)
      Specified by:
      deserializeNBT in interface net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>