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
Modifier and TypeFieldDescriptionprotected final com.mojang.serialization.Codec<T>
protected Map<ResourceLocation,
ICondition[]> protected final String
protected final com.mojang.serialization.DynamicOps<com.google.gson.JsonElement>
protected final Map<ResourceLocation,
T> protected final ExistingFileHelper
private static final org.slf4j.Logger
protected final String
protected final PackOutput
protected final PackType
Fields inherited from interface net.minecraft.data.DataProvider
FIXED_ORDER_FIELDS, KEY_COMPARATOR
-
Constructor Summary
ConstructorDescriptionJsonCodecProvider
(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 void
gather
(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:
run
in interfaceDataProvider
-
gather
-
getName
- Specified by:
getName
in 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.
-