Class SimpleStringEffectData<E extends ResearchEffect>

java.lang.Object
com.portingdeadmods.researchd.api.research.effects.SimpleStringEffectData<E>
All Implemented Interfaces:
ResearchEffectData<E>
Direct Known Subclasses:
UnlockIEMultiblockEffectData

public abstract class SimpleStringEffectData<E extends ResearchEffect> extends Object implements ResearchEffectData<E>
Subclasses only need to supply key(ResearchEffect), type() and build their codecs
  • Field Details

    • values

      protected final com.portingdeadmods.portingdeadlibs.utils.UniqueArray<String> values
  • Constructor Details

    • SimpleStringEffectData

      protected SimpleStringEffectData(com.portingdeadmods.portingdeadlibs.utils.UniqueArray<String> values)
    • SimpleStringEffectData

      protected SimpleStringEffectData()
  • Method Details

    • key

      protected abstract String key(E effect)
    • add

      public void add(E effect, net.minecraft.world.level.Level level)
      Specified by:
      add in interface ResearchEffectData<E extends ResearchEffect>
    • remove

      public void remove(E effect, net.minecraft.world.level.Level level)
      Specified by:
      remove in interface ResearchEffectData<E extends ResearchEffect>
    • contains

      public boolean contains(String value)
    • isEmpty

      public boolean isEmpty()
    • values

      public com.portingdeadmods.portingdeadlibs.utils.UniqueArray<String> values()
    • getAll

      public com.portingdeadmods.portingdeadlibs.utils.UniqueArray<String> getAll()
      Specified by:
      getAll in interface ResearchEffectData<E extends ResearchEffect>
    • codec

      public static <T extends SimpleStringEffectData<?>> com.mojang.serialization.MapCodec<T> codec(String fieldName, Function<com.portingdeadmods.portingdeadlibs.utils.UniqueArray<String>,T> factory)
    • streamCodec

      public static <T extends SimpleStringEffectData<?>> net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,T> streamCodec(Function<com.portingdeadmods.portingdeadlibs.utils.UniqueArray<String>,T> factory)