Class AnimationFrameCapture
java.lang.Object
dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.AnimationFrameCapture
- All Implemented Interfaces:
TexSource
A
TexSource that captures a frame from a source split up by an AnimationSplittingSource.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.mojang.serialization.MapCodec<AnimationFrameCapture> Fields inherited from interface dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource
METADATA_CACHE_KEY -
Method Summary
Modifier and TypeMethodDescription<T> @NonNull com.mojang.serialization.DataResult<T> cacheMetadata(com.mojang.serialization.DynamicOps<T> ops, TexSourceDataHolder data) If your texture source depends on runtime data context (anything stored in theTexSourceDataHolder), you will need to override this method to return a unique key for the given context.@NonNull com.mojang.serialization.MapCodec<? extends TexSource> codec()net.minecraft.server.packs.resources.IoSupplier<com.mojang.blaze3d.platform.NativeImage> getSupplier(TexSourceDataHolder data, ResourceGenerationContext context) Provides a supplier for the texture this source will generate, or null if a texture cannot be provided.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource
getCachedSupplier, persistentCacheData, stringify
-
Field Details
-
CODEC
-
-
Method Details
-
codec
-
getSupplier
public net.minecraft.server.packs.resources.IoSupplier<com.mojang.blaze3d.platform.NativeImage> getSupplier(TexSourceDataHolder data, ResourceGenerationContext context) Description copied from interface:TexSourceProvides a supplier for the texture this source will generate, or null if a texture cannot be provided. Should be overridden, but not called; callTexSource.getCachedSupplier(dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSourceDataHolder, dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext)instead to support caching.- Specified by:
getSupplierin interfaceTexSource- Parameters:
data- context information passed by outer nesting texture sources; if you depend on this, you will want to implement the caching API (seeTexSource.cacheMetadata(com.mojang.serialization.DynamicOps<T>, dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSourceDataHolder))context- context about the environment the texture is generating in- Returns:
- a supplier able to produce the texture, or null if the texture could not be produced.
-
cacheMetadata
public <T> @NonNull com.mojang.serialization.DataResult<T> cacheMetadata(com.mojang.serialization.DynamicOps<T> ops, TexSourceDataHolder data) Description copied from interface:TexSourceIf your texture source depends on runtime data context (anything stored in theTexSourceDataHolder), you will need to override this method to return a unique key for the given context. This key will be used when caching textures generated by this source. If your source should not be cached, return a DataResult.error.- Specified by:
cacheMetadatain interfaceTexSource- Parameters:
ops- DynamicOps to encode the unique key with.data- Data holder that the key is dependent on.- Returns:
- A success with a unique key for the given context, or an error if no key can be generated.
-
getCapture
-