Interface IAspectProperties

All Known Implementing Classes:
AspectProperties

public interface IAspectProperties
A property that can be used inside aspects.
  • Method Details

    • getTypes

      Deprecated.
      Use this with caution! Better to use IAspect.getPropertyTypes() instead because this object might hold deprecated elements.
      Returns:
      The types.
    • getValue

      <T extends IValueType<V>, V extends IValue> V getValue(IAspectPropertyTypeInstance<T,V> type)
      Get the value of the given type.
      Type Parameters:
      T - The value type type.
      V - The value type.
      Parameters:
      type - The type to get the value from.
      Returns:
      The value.
    • setValue

      <T extends IValueType<V>, V extends IValue> void setValue(IAspectPropertyTypeInstance<T,V> type, V value)
      Set the value for the given type.
      Type Parameters:
      T - The value type type.
      V - The value type.
      Parameters:
      type - The type to get the value from.
      value - The value.
    • removeValue

      <T extends IValueType<V>, V extends IValue> void removeValue(IAspectPropertyTypeInstance<T,V> type)
      Remove the value of the given type.
      Type Parameters:
      T - The value type type.
      V - The value type.
      Parameters:
      type - The type to get the value from.
    • clone

      Returns:
      A deep copy of the properties.
    • toNBT

      net.minecraft.nbt.CompoundTag toNBT()
      Convert the data to an NBT tag.
      Returns:
      The NBT tag.
    • fromNBT

      void fromNBT(ValueDeseralizationContext valueDeseralizationContext, net.minecraft.nbt.CompoundTag tag)
      Read the data from an NBT tag and place it in this object. The given tag will never be null, so make sure that all fields have a correct default value in case the received tag would be null anyways.
      Parameters:
      valueDeseralizationContext - The deserialization context.
      tag - The tag to read from.