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
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.minecraftforge.common.capabilities.Capability<ImbuementEnchantDataHolder>static final net.minecraft.resources.ResourceLocation -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddImbuement(net.minecraft.world.item.enchantment.Enchantment enchant, long expireTime) Adds a temporary enchantment with expiration time.voiddeserializeNBT(net.minecraft.nbt.CompoundTag tag) longgetExpirationTime(net.minecraft.world.item.enchantment.Enchantment enchantment) Gets the expiration time for a specific enchantment.Gets all temporary enchantments and their expiration times.booleanisImbuement(net.minecraft.world.item.enchantment.Enchantment enchant) Checks if an enchantment is tracked as temporary.voidremoveImbuement(net.minecraft.world.item.enchantment.Enchantment enchant) Removes a temporary enchantment from tracking.net.minecraft.nbt.CompoundTagMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.binaris.wizardry.api.content.data.ImbuementEnchantData
getRemainingTime
-
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:ImbuementEnchantDataAdds a temporary enchantment with expiration time. This only adds tracking; the actual enchantment should be applied to the item separately.- Specified by:
addImbuementin interfaceImbuementEnchantData- Parameters:
enchant- the Enchantment to track as temporaryexpireTime- the absolute game time when this enchantment expires
-
getImbuements
Description copied from interface:ImbuementEnchantDataGets all temporary enchantments and their expiration times. Returns a map of enchantment location -> expiration time- Specified by:
getImbuementsin interfaceImbuementEnchantData- Returns:
- map of enchantment ResourceLocations to expiration times
-
removeImbuement
public void removeImbuement(net.minecraft.world.item.enchantment.Enchantment enchant) Description copied from interface:ImbuementEnchantDataRemoves a temporary enchantment from tracking.- Specified by:
removeImbuementin interfaceImbuementEnchantData- Parameters:
enchant- the enchantment to remove
-
isImbuement
public boolean isImbuement(net.minecraft.world.item.enchantment.Enchantment enchant) Description copied from interface:ImbuementEnchantDataChecks if an enchantment is tracked as temporary.- Specified by:
isImbuementin interfaceImbuementEnchantData- 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:ImbuementEnchantDataGets the expiration time for a specific enchantment.- Specified by:
getExpirationTimein interfaceImbuementEnchantData- 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:
serializeNBTin interfacenet.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
-
deserializeNBT
public void deserializeNBT(net.minecraft.nbt.CompoundTag tag) - Specified by:
deserializeNBTin interfacenet.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
-