Class JsonCodecProvider<T>

java.lang.Object
net.neoforged.neoforge.common.data.JsonCodecProvider<T>
Type Parameters:
T - the type of thing being generated.
All Implemented Interfaces:
net.minecraft.data.DataProvider
Direct Known Subclasses:
SpriteSourceProvider

public abstract class JsonCodecProvider<T> extends Object implements net.minecraft.data.DataProvider

Dataprovider for using a Codec to generate jsons. Path names for jsons are derived from the given registry folder and each entry's namespaced id, in the format:

 <assets/data>/entryid/registryfolder/entrypath.json 
 
  • Nested Class Summary

    Nested classes/interfaces inherited from interface net.minecraft.data.DataProvider

    net.minecraft.data.DataProvider.Factory<T extends net.minecraft.data.DataProvider>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final com.mojang.serialization.Codec<T>
     
    protected final Map<net.minecraft.resources.ResourceLocation,WithConditions<T>>
     
    protected final String
     
    private static final org.slf4j.Logger
     
    protected final CompletableFuture<net.minecraft.core.HolderLookup.Provider>
     
    protected final String
     
    protected final net.minecraft.data.PackOutput.PathProvider
     

    Fields inherited from interface net.minecraft.data.DataProvider

    FIXED_ORDER_FIELDS, INDENT_WIDTH, KEY_COMPARATOR
  • Constructor Summary

    Constructors
    Constructor
    Description
    JsonCodecProvider(net.minecraft.data.PackOutput output, net.minecraft.data.PackOutput.Target target, String directory, com.mojang.serialization.Codec<T> codec, CompletableFuture<net.minecraft.core.HolderLookup.Provider> lookupProvider, String modId)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    conditionally(net.minecraft.resources.ResourceLocation id, Consumer<WithConditions.Builder<T>> configurator)
     
    protected abstract void
     
     
    private void
    process(net.minecraft.resources.ResourceLocation id, WithConditions<T> withConditions)
     
    run(net.minecraft.data.CachedOutput cache)
     
    void
    unconditional(net.minecraft.resources.ResourceLocation id, T value)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • pathProvider

      protected final net.minecraft.data.PackOutput.PathProvider pathProvider
    • lookupProvider

      protected final CompletableFuture<net.minecraft.core.HolderLookup.Provider> lookupProvider
    • modid

      protected final String modid
    • directory

      protected final String directory
    • codec

      protected final com.mojang.serialization.Codec<T> codec
    • conditions

      protected final Map<net.minecraft.resources.ResourceLocation,WithConditions<T>> conditions
  • Constructor Details

    • JsonCodecProvider

      public JsonCodecProvider(net.minecraft.data.PackOutput output, net.minecraft.data.PackOutput.Target target, String directory, com.mojang.serialization.Codec<T> codec, CompletableFuture<net.minecraft.core.HolderLookup.Provider> lookupProvider, String modId)
      Parameters:
      output - PackOutput provided by the DataGenerator.
      directory - String representing the directory to generate jsons in, e.g. "dimension" or "cheesemod/cheese".
      codec - Codec to encode values to jsons with using the provided DynamicOps.
  • Method Details

    • run

      public CompletableFuture<?> run(net.minecraft.data.CachedOutput cache)
      Specified by:
      run in interface net.minecraft.data.DataProvider
    • gather

      protected abstract void gather()
    • getName

      public String getName()
      Specified by:
      getName in interface net.minecraft.data.DataProvider
    • unconditional

      public void unconditional(net.minecraft.resources.ResourceLocation id, T value)
    • conditionally

      public void conditionally(net.minecraft.resources.ResourceLocation id, Consumer<WithConditions.Builder<T>> configurator)
    • process

      private void process(net.minecraft.resources.ResourceLocation id, WithConditions<T> withConditions)