Class UnbakedMutator
java.lang.Object
net.neoforged.neoforge.client.model.generators.blockstate.UnbakedMutator
Implements functionality similar to Vanillas
VariantMutator
,
but generalized to unbaked blockstate models in general.
This is used in conjunction with PropertyDispatch.modifyUnbaked(net.minecraft.world.level.block.state.properties.Property<T1>)
and
MultiVariantGenerator.withUnbaked(net.minecraft.client.data.models.blockstates.PropertyDispatch<net.neoforged.neoforge.client.model.generators.blockstate.UnbakedMutator>)
to modify arbitrary properties
of custom unbaked blockstate models during datagen based on blockstate properties.
Note that an unbaked mutator must declare handlers for all types of unbaked models that it expects to be applied to. If it finds a type of unbaked model in the blockstate definition that it cannot handle it will throw an exception to avoid silently ignoring property modifications.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
private static final record
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
UnbakedMutator
(Map<Class<?>, UnbakedMutator.Handler<?>> handlers) -
Method Summary
Modifier and TypeMethodDescription<T extends net.minecraft.client.renderer.block.model.BlockStateModel.Unbaked>
Tapply
(T unbaked) static UnbakedMutator.Builder
builder()
private <T extends net.minecraft.client.renderer.block.model.BlockStateModel.Unbaked>
@Nullable UnbakedMutator.Handler<T> getHandler
(T unbaked)
-
Field Details
-
handlers
-
-
Constructor Details
-
UnbakedMutator
-
-
Method Details
-
apply
public <T extends net.minecraft.client.renderer.block.model.BlockStateModel.Unbaked> T apply(T unbaked) -
getHandler
@Nullable private <T extends net.minecraft.client.renderer.block.model.BlockStateModel.Unbaked> @Nullable UnbakedMutator.Handler<T> getHandler(T unbaked) -
builder
-