Class JsonCodecProvider<T>
java.lang.Object
io.github.vampirestudios.vampirelib.api.datagen.JsonCodecProvider<T>
- Type Parameters:
T- the type of thing being generated.
- All Implemented Interfaces:
net.minecraft.data.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
net.minecraft.data.DataProvider.Factory<T extends net.minecraft.data.DataProvider> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.mojang.serialization.Codec<T>protected Map<net.minecraft.resources.ResourceLocation,net.fabricmc.fabric.api.resource.conditions.v1.ConditionJsonProvider[]> protected final Stringprotected final com.mojang.serialization.DynamicOps<com.google.gson.JsonElement>protected final ExistingFileHelperprotected final Stringprotected final net.minecraft.data.PackOutputprotected final net.minecraft.server.packs.PackTypeFields inherited from interface net.minecraft.data.DataProvider
FIXED_ORDER_FIELDS, KEY_COMPARATOR -
Constructor Summary
ConstructorsConstructorDescriptionJsonCodecProvider(net.minecraft.data.PackOutput output, ExistingFileHelper existingFileHelper, String modid, com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> dynamicOps, net.minecraft.server.packs.PackType packType, String directory, com.mojang.serialization.Codec<T> codec, Map<net.minecraft.resources.ResourceLocation, T> entries) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidgather(BiConsumer<net.minecraft.resources.ResourceLocation, T> consumer) getName()run(net.minecraft.data.CachedOutput cache) setConditions(Map<net.minecraft.resources.ResourceLocation, net.fabricmc.fabric.api.resource.conditions.v1.ConditionJsonProvider[]> conditions) Applies a condition map to this provider.
-
Field Details
-
output
protected final net.minecraft.data.PackOutput output -
existingFileHelper
-
modid
-
dynamicOps
protected final com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> dynamicOps -
packType
protected final net.minecraft.server.packs.PackType packType -
directory
-
codec
-
entries
-
conditions
protected Map<net.minecraft.resources.ResourceLocation,net.fabricmc.fabric.api.resource.conditions.v1.ConditionJsonProvider[]> conditions
-
-
Constructor Details
-
JsonCodecProvider
public JsonCodecProvider(net.minecraft.data.PackOutput output, ExistingFileHelper existingFileHelper, String modid, com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> dynamicOps, net.minecraft.server.packs.PackType packType, String directory, com.mojang.serialization.Codec<T> codec, Map<net.minecraft.resources.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 interfacenet.minecraft.data.DataProvider
-
gather
-
getName
- Specified by:
getNamein interfacenet.minecraft.data.DataProvider
-
setConditions
public JsonCodecProvider<T> setConditions(Map<net.minecraft.resources.ResourceLocation, net.fabricmc.fabric.api.resource.conditions.v1.ConditionJsonProvider[]> conditions) 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.
-