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
FieldsModifier and TypeFieldDescriptionprotected 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
ConstructorsConstructorDescriptionJsonCodecProvider
(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 TypeMethodDescriptionvoid
conditionally
(net.minecraft.resources.ResourceLocation id, Consumer<WithConditions.Builder<T>> configurator) protected abstract void
gather()
getName()
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)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
pathProvider
protected final net.minecraft.data.PackOutput.PathProvider pathProvider -
lookupProvider
-
modid
-
directory
-
codec
-
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 theDataGenerator
.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
- Specified by:
run
in interfacenet.minecraft.data.DataProvider
-
gather
protected abstract void gather() -
getName
- Specified by:
getName
in interfacenet.minecraft.data.DataProvider
-
unconditional
-
conditionally
public void conditionally(net.minecraft.resources.ResourceLocation id, Consumer<WithConditions.Builder<T>> configurator) -
process
-