Package net.minecraftforge.common.data
Class JsonCodecProvider<T>
java.lang.Object
net.minecraftforge.common.data.JsonCodecProvider<T>
- Type Parameters:
T- the type of thing being generated.
- All Implemented Interfaces:
DataProvider
- Direct Known Subclasses:
SpriteSourceProvider
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
DataProvider.Factory<T extends DataProvider> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.mojang.serialization.Codec<T>protected Map<ResourceLocation,ICondition[]> protected final Stringprotected final com.mojang.serialization.DynamicOps<com.google.gson.JsonElement>protected final Map<ResourceLocation,T> protected final ExistingFileHelperprivate static final org.slf4j.Loggerprotected final Stringprotected final PackOutputprotected final PackTypeFields inherited from interface net.minecraft.data.DataProvider
FIXED_ORDER_FIELDS, KEY_COMPARATOR -
Constructor Summary
ConstructorsConstructorDescriptionJsonCodecProvider(PackOutput output, ExistingFileHelper existingFileHelper, String modid, com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> dynamicOps, PackType packType, String directory, com.mojang.serialization.Codec<T> codec, Map<ResourceLocation, T> entries) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidgather(BiConsumer<ResourceLocation, T> consumer) getName()run(CachedOutput cache) setConditions(Map<ResourceLocation, ICondition[]> conditions) Applies a condition map to this provider.
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
output
-
existingFileHelper
-
modid
-
dynamicOps
protected final com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> dynamicOps -
packType
-
directory
-
codec
-
entries
-
conditions
-
-
Constructor Details
-
JsonCodecProvider
public JsonCodecProvider(PackOutput output, ExistingFileHelper existingFileHelper, String modid, com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> dynamicOps, PackType packType, String directory, com.mojang.serialization.Codec<T> codec, Map<ResourceLocation, T> entries) - Parameters:
output- PackOutput provided by theDataGenerator.dynamicOps- DynamicOps to encode values to jsons with using the provided Codec, e.g.JsonOps.INSTANCE.packType- PackType specifying whether to generate entries in assets or data.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.entries- Map of named entries to serialize to jsons. Paths for values are derived from the ResourceLocation's entryid:entrypath as specified above.
-
-
Method Details
-
run
- Specified by:
runin interfaceDataProvider
-
gather
-
getName
- Specified by:
getNamein interfaceDataProvider
-
setConditions
Applies a condition map to this provider. These conditions will be applied to the created JsonElements with the matching names. Null or empty arrays will not be written, and if the top-level json type is not JsonObject, attempting to add conditions will error.- Parameters:
conditions- The name->condition map to apply.
-