ValidatedPair
A validated pair of values
Author
fzzyhmstrs since 0.6.0
Parameters
stored type of the left side of the tuple
stored type of the right side of the tuple
Tuple default pair of values
LayoutStyle, optional. Whether the two handlers' widgets are laid-out side by side with half the space for each, or stacked like two "normal" settings on top of each other. Default is side-by-side.
See also
Samples
import me.fzzyhmstrs.fzzy_config.util.AllowableIdentifiers
import me.fzzyhmstrs.fzzy_config.util.EnumTranslatable
import me.fzzyhmstrs.fzzy_config.util.FcText.lit
import me.fzzyhmstrs.fzzy_config.util.ValidationResult
import me.fzzyhmstrs.fzzy_config.validation.collection.ValidatedList
import me.fzzyhmstrs.fzzy_config.validation.minecraft.ValidatedIdentifier
import me.fzzyhmstrs.fzzy_config.validation.minecraft.ValidatedRegistryType
import me.fzzyhmstrs.fzzy_config.validation.minecraft.ValidatedTagKey
import me.fzzyhmstrs.fzzy_config.validation.misc.*
import me.fzzyhmstrs.fzzy_config.validation.misc.ValidatedColor.Companion.validatedColor
import me.fzzyhmstrs.fzzy_config.validation.number.ValidatedInt
import net.minecraft.item.Items
import net.minecraft.item.SwordItem
import net.minecraft.registry.Registries
import net.minecraft.registry.tag.ItemTags
import net.minecraft.util.Identifier
import java.awt.Color
import java.util.function.Function
fun main() {
//sampleStart
//example validated pair. This is the long form constructor version, pairTo is convenient shorthand
val validatedPair = ValidatedPair(ValidatedPair.Tuple(5, "Hi"), ValidatedInt(5, 10, 0), ValidatedString())
//validated pair made with shorthand method
val validatedPairShort = ValidatedInt(5, 10, 0).pairWith(ValidatedString())
//sampleEnd
}
Constructors
Types
Functions
updates the wrapped value. NOTE: this method will push updates to an UpdateManager, if any. For in-game updating consider validateAndSet
Attaches a listener to this field. This listener will be called any time the field is written to ("set"). accept
, validateAndSet
, setAndUpdate
and so on will all call the listener.
Provides a Codec representing the value type of this validation, backed by the validators within as applicable
Copies the stored value and returns it.
Copies the provided input as deeply as possible. For immutables like numbers and booleans, this will simply return the input
The translated Text description from the descriptionKey. Falls back to an empty string so no tooltip is rendered.
translation key of this Translatable's description. the "description" in-game, the descriptions Enchantment Descriptions adds to enchantment tooltips are a good example.
Specialized equals
method for determining if a newly deserialized value is effectively equal to its old counterpart.
supplies the wrapped value
Provides this validations default value
Whether this Translatable has a valid description
Whether this Translatable has a valid translation
creates a deep copy of this ValidatedBoolean return ValidatedBoolean wrapping the current boolean value
Attaches a listener to this field. This listener will be called any time the field is written to ("set"). accept
, validateAndSet
, setAndUpdate
and so on will all call the listener.
Maps this validation to a new convertible type. The default value will be applied from this delegates current storedValue
Maps this validation to a new convertible type.
Called when the left side value is modified in-GUI or with set methods
Called when the right side value is modified in-GUI or with set methods
Pairs this validation with another validation into one ValidatedPair
The translated Text description from the descriptionKey. Falls back to an empty string so no tooltip is rendered.
Called in the prepare stage of screen building to perform any necessary pre-entry-creation tasks.
Convert this field to a ValidatedCondition using the provided validation as a supplier. The provided condition (and any others you append) must pass for the stored value to be provided, otherwise the fallback will be supplied.
Convert this field to a ValidatedCondition. The provided condition (and any others you append) must pass for the stored value to be provided, otherwise the fallback will be supplied.
Convert this field to a ValidatedCondition using the provided scope with a default boolean provider. The provided condition (and any others you append) must pass for the stored value to be provided, otherwise the fallback will be supplied. The provided scope must point to a valid boolean config scope otherwise the initial condition will never pass.
Wraps the provided values into a ValidatedList with this field as validation
Wraps the provided collection into a ValidatedList with this field as validation
Wraps the provided values into a ValidatedSet with this field as validation
Wraps the provided collection into a ValidatedSet with this field as validation
translation key of this Translatable. the "name" in-game
A setter method for the storedValue that first validates the value being set and then stores the post-validation result.
A setter method for the storedValue that first validates the value being set and then stores the post-validation result.
Builds a new ClickableWidget and applies a tooltip to it. This shouldn't need to be overridden in most cases