Class DestroyableRef<T>

java.lang.Object
alexiil.mc.lib.attributes.misc.DestroyableRef<T>
All Implemented Interfaces:
Reference<T>

public final class DestroyableRef<T> extends Object implements Reference<T>
A Reference that can be modified until destroy() is called, after which all calls to set(Object) and isValid(Object) will return false.
  • Constructor Details

    • DestroyableRef

      public DestroyableRef(Reference<T> ref)
  • Method Details

    • destroy

      public void destroy()
      Prevents set(Object) from returning true in the future.
    • get

      public T get()
      Specified by:
      get in interface Reference<T>
      Returns:
      The object referenced. Note that you should generally not modify the returned value directly - instead copy it before passing it to Reference.set(Object) or Reference.isValid(Object) to see if your modifications are permitted.
    • set

      public boolean set(T value)
      Specified by:
      set in interface Reference<T>
      Returns:
      True if the new value was accepted, false otherwise.
    • isValid

      public boolean isValid(T value)
      Specified by:
      isValid in interface Reference<T>
      Returns:
      True if Reference.set(Object) was called with the same value.