Package net.minecraftforge.common
Interface IExtensibleEnum
- All Known Implementing Classes:
- BiomeSpecialEffects.GrassColorModifier,- BlockPathTypes,- EnchantmentCategory,- FireworkRocketItem.Shape,- HumanoidModel.ArmPose,- ItemDisplayContext,- MobCategory,- Raid.RaiderType,- Rarity,- RecipeBookCategories,- RecipeBookType,- SpawnPlacements.Type
public interface IExtensibleEnum
To be implemented on vanilla enums that should be enhanced with ASM to be
 extensible. If this is implemented on a class, the class must define a static
 method called "create" which takes a String (enum name), and the rest of the
 parameters matching a constructor.
 
 For example, an enum with the constructor MyEnum(Object foo) would
 require the method:
 
 public static MyEnum create(String name, Object foo)
 {
     throw new IllegalStateException("Enum not extended");
 }
 
 The method contents will be replaced with ASM at runtime. Multiple
 create methods can be defined as long as each
 matches a constructor.- 
Method SummaryModifier and TypeMethodDescriptionstatic <E extends Enum<E> & StringRepresentable>
 com.mojang.serialization.Codec<E>createCodecForExtensibleEnum(Supplier<E[]> valuesSupplier, Function<? super String, ? extends E> enumValueFromNameFunction) Use this instead ofStringRepresentable.fromEnum(Supplier)for extensible enums because this not cache the enum values on constructiondefault voidinit()Deprecated.
- 
Method Details- 
initDeprecated.Called by generated factory code to do any post-constructor setup required by the enum. Should not be called manually.
- 
createCodecForExtensibleEnumstatic <E extends Enum<E> & StringRepresentable> com.mojang.serialization.Codec<E> createCodecForExtensibleEnum(Supplier<E[]> valuesSupplier, Function<? super String, ? extends E> enumValueFromNameFunction) Use this instead ofStringRepresentable.fromEnum(Supplier)for extensible enums because this not cache the enum values on construction
 
-