Class EnumProperty<T extends Enum<T> & StringIdentifiable>

java.lang.Object
net.minecraft.state.property.Property<T>
net.minecraft.state.property.EnumProperty<T>
Direct Known Subclasses:
DirectionProperty

public class EnumProperty<T extends Enum<T> & StringIdentifiable> extends Property<T>
Represents a property that has enum values.

Notes on the enum class:

See Properties for example usages.

Mappings:
Namespace Name
named net/minecraft/state/property/EnumProperty
intermediary net/minecraft/class_2754
official dtc
  • Field Details

    • values

      private final ImmutableSet<T extends Enum<T> & StringIdentifiable> values
      Mappings:
      Namespace Name Mixin selector
      named values Lnet/minecraft/state/property/EnumProperty;values:Lcom/google/common/collect/ImmutableSet;
      intermediary field_12595 Lnet/minecraft/class_2754;field_12595:Lcom/google/common/collect/ImmutableSet;
      official a Ldtc;a:Lcom/google/common/collect/ImmutableSet;
    • byName

      private final Map<String,T extends Enum<T> & StringIdentifiable> byName
      Mappings:
      Namespace Name Mixin selector
      named byName Lnet/minecraft/state/property/EnumProperty;byName:Ljava/util/Map;
      intermediary field_12596 Lnet/minecraft/class_2754;field_12596:Ljava/util/Map;
      official b Ldtc;b:Ljava/util/Map;
  • Constructor Details

    • EnumProperty

      protected EnumProperty(String name, Class<T> type, Collection<T> values)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/state/property/EnumProperty;<init>(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
      intermediary <init> Lnet/minecraft/class_2754;<init>(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
      official <init> Ldtc;<init>(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
  • Method Details

    • getValues

      public Collection<T> getValues()
      Returns all possible values of this property.
      Specified by:
      getValues in class Property<T extends Enum<T> & StringIdentifiable>
      Mappings:
      Namespace Name Mixin selector
      named getValues Lnet/minecraft/state/property/Property;getValues()Ljava/util/Collection;
      intermediary method_11898 Lnet/minecraft/class_2769;method_11898()Ljava/util/Collection;
      official a Ldth;a()Ljava/util/Collection;
    • parse

      public Optional<T> parse(String name)
      Specified by:
      parse in class Property<T extends Enum<T> & StringIdentifiable>
      Mappings:
      Namespace Name Mixin selector
      named parse Lnet/minecraft/state/property/Property;parse(Ljava/lang/String;)Ljava/util/Optional;
      intermediary method_11900 Lnet/minecraft/class_2769;method_11900(Ljava/lang/String;)Ljava/util/Optional;
      official b Ldth;b(Ljava/lang/String;)Ljava/util/Optional;
    • name

      public String name(T t)
      Description copied from class: Property
      Returns the name of the given value of this property.
      Specified by:
      name in class Property<T extends Enum<T> & StringIdentifiable>
      Mappings:
      Namespace Name Mixin selector
      named name Lnet/minecraft/state/property/EnumProperty;name(Ljava/lang/Enum;)Ljava/lang/String;
      intermediary method_11846 Lnet/minecraft/class_2754;method_11846(Ljava/lang/Enum;)Ljava/lang/String;
      official a Ldtc;a(Ljava/lang/Enum;)Ljava/lang/String;
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Property<T extends Enum<T> & StringIdentifiable>
      Mappings:
      Namespace Name Mixin selector
      named equals Lnet/minecraft/state/property/Property;equals(Ljava/lang/Object;)Z
      intermediary equals Lnet/minecraft/class_2769;equals(Ljava/lang/Object;)Z
      official equals Ldth;equals(Ljava/lang/Object;)Z
    • computeHashCode

      public int computeHashCode()
      Overrides:
      computeHashCode in class Property<T extends Enum<T> & StringIdentifiable>
      Mappings:
      Namespace Name Mixin selector
      named computeHashCode Lnet/minecraft/state/property/Property;computeHashCode()I
      intermediary method_11799 Lnet/minecraft/class_2769;method_11799()I
      official b Ldth;b()I
    • of

      public static <T extends Enum<T> & StringIdentifiable> EnumProperty<T> of(String name, Class<T> type)
      Creates an enum property with all values of the given enum class.

      See notes on the enum class.

      Parameters:
      name - the name of the property; see the note on the name
      type - the type of the values the property contains
      Throws:
      IllegalArgumentException - if multiple values have the same name
      Mappings:
      Namespace Name Mixin selector
      named of Lnet/minecraft/state/property/EnumProperty;of(Ljava/lang/String;Ljava/lang/Class;)Lnet/minecraft/state/property/EnumProperty;
      intermediary method_11850 Lnet/minecraft/class_2754;method_11850(Ljava/lang/String;Ljava/lang/Class;)Lnet/minecraft/class_2754;
      official a Ldtc;a(Ljava/lang/String;Ljava/lang/Class;)Ldtc;
    • of

      public static <T extends Enum<T> & StringIdentifiable> EnumProperty<T> of(String name, Class<T> type, Predicate<T> filter)
      Creates an enum property with the values allowed by the given filter.

      See notes on the enum class.

      Parameters:
      name - the name of the property; see the note on the name
      type - the type of the values the property contains
      filter - the filter which specifies if a value is allowed; required to allow 2 or more values
      Throws:
      IllegalArgumentException - if multiple values have the same name
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named of Lnet/minecraft/state/property/EnumProperty;of(Ljava/lang/String;Ljava/lang/Class;Ljava/util/function/Predicate;)Lnet/minecraft/state/property/EnumProperty;
      intermediary method_11848 Lnet/minecraft/class_2754;method_11848(Ljava/lang/String;Ljava/lang/Class;Ljava/util/function/Predicate;)Lnet/minecraft/class_2754;
      official a Ldtc;a(Ljava/lang/String;Ljava/lang/Class;Ljava/util/function/Predicate;)Ldtc;
    • of

      public static <T extends Enum<T> & StringIdentifiable> EnumProperty<T> of(String name, Class<T> type, T[] values)
      Creates an enum property with the given values.

      See notes on the enum class.

      Parameters:
      name - the name of the property; see the note on the name
      type - the type of the values the property contains
      values - the values the property contains; required to have 2 or more values
      Throws:
      IllegalArgumentException - if multiple values have the same name
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named of Lnet/minecraft/state/property/EnumProperty;of(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Enum;)Lnet/minecraft/state/property/EnumProperty;
      intermediary method_11849 Lnet/minecraft/class_2754;method_11849(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Enum;)Lnet/minecraft/class_2754;
      official a Ldtc;a(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Enum;)Ldtc;
    • of

      public static <T extends Enum<T> & StringIdentifiable> EnumProperty<T> of(String name, Class<T> type, Collection<T> values)
      Creates an enum property with the given values.

      See notes on the enum class.

      Parameters:
      name - the name of the property; see the note on the name
      type - the type of the values the property contains
      values - the values the property contains; required to have 2 or more values
      Throws:
      IllegalArgumentException - if multiple values have the same name
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named of Lnet/minecraft/state/property/EnumProperty;of(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)Lnet/minecraft/state/property/EnumProperty;
      intermediary method_11847 Lnet/minecraft/class_2754;method_11847(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)Lnet/minecraft/class_2754;
      official a Ldtc;a(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)Ldtc;