Class Property<T>

java.lang.Object
foundry.veil.api.client.property.Property<T>
Type Parameters:
T -
Direct Known Subclasses:
BoolProperty, FloatProperty, IntProperty, InvertibleProperty, RandomFloatProperty, Sampler2DProperty, TimeProperty, Vec2Property, Vec3Property, Vec4Property

public abstract class Property<T> extends Object

Properties are variables (and usually also shader uniforms) that can be created from a data driven context. Used by Flare effects to manipulate models and shader uniforms

  • Field Details

    • overrideValue

      protected T overrideValue
    • value

      protected final T value
  • Constructor Details

  • Method Details

    • setQueries

      protected void setQueries(gg.moonflower.molangcompiler.api.MolangRuntime.Builder builder)
    • applyValue

      public abstract void applyValue(String name, net.minecraft.client.renderer.ShaderInstance shader)
    • modify

      public abstract void modify(T value, PropertyModifier.PropertyModifierMode mode, Optional<List<gg.moonflower.molangcompiler.api.MolangExpression>> optionalMolang)
    • cloneValue

      protected abstract T cloneValue(T value)
    • resetOverrideValue

      public void resetOverrideValue()
    • getType

      public PropertyRegistry.PropertyType<T,? extends Property<T>> getType()
    • codec

      public static <T, M extends Property<T>> com.mojang.serialization.MapCodec<M> codec(PropertyRegistry.PropertyType<T,M> type)
    • createCodec

      public static <T, M extends Property<T>> com.mojang.serialization.MapCodec<M> createCodec(Function<T,M> factory, com.mojang.serialization.Codec<T> typeCodec)
    • getEnvironment

      public Supplier<gg.moonflower.molangcompiler.api.MolangEnvironment> getEnvironment()