Changelog
⚠ Variants-CIT v5 replaces v3 and v4 for their respective versions of minecraft. It includes potentially breaking changes to existing packs.
The codebase received sweeping changes, so there may be unintended breaking changes. If you find any that is not listed here, please report it.
The syntax for the new precondition system may receive adjustments in upcoming versions.
Additions:
- Added the
preconditionfield to all modules. Likeitems, it imposes arbitrary requirements that the item must fulfill before the module can even attempt to apply. Preconditions use a system similarcomponent_dataandcomponent_data. See Wiki. - Added module type:
predicates, which lets you manually attribute individual variant IDs based on preconditions. This is the most Optifine-like module so far. See Wiki. - Added module type:
group, which combines other modules into a single one. Acts as syntaxic sugar and as an optimization, for when the same item needs multiple modules with different priorities. - Some transforms are now able to handle data types other than strings.
- Added transforms:
equals,smaller_than,smaller_or_equals,greater_than,greater_or_equals, intended to be used in preconditions. - Added transform equivalents of the
expectfield:get_string,get_number,get_identifier,get_rich_text,get_rich_text_array
Behaviour Changes:
- Module option
contextis being renamed tohook. The old name will remain functional for the foreseeable future, but is now deprecated. expectnow defaults to accepting every data type. Data that can be converted to strings will automatically do so when required. In general,expectwill no longer be required, and should be considered deprecated in favor of its transform counterparts.sanitizewas changed to behave the same assanitize_auto. Addedsanitize_legacyfor the old behaviour. The namesanitize_autois now deprecated.- Module
custom_name's flavour of sanitization was changed from_legacyto_auto. - Added a
multiline_handlingoption for regex transforms. Changed the default behaviour to make working with lore components more intuitive. THIS WILL LIKELY BREAK ALL EXISTING LORE-BASED MODULES. Set this option toregex_defaultto restore the old behaviour.
Removals:
- Removed the Java API.
- Removed
expectvalues:autoandprimitive. - Removed module types:
custom_data,entity_data,bucket_entity_dataandblock_entity_data.
Usecomponent_datainstead - Removed the old parameters
nbtKeyandcaseSensitivefromcomponent_data. - Removed the old syntax of the
nbtPathparameter. - Removed module field
itemsFromModel. Its behaviour is now tied to whethermodelParentis set. - Removed the various
debugparameters from all the modules. Use thewalkthroughcommands instead.
Dependencies
Files
variants-cit-5.0.0+26.1-rc-1.jar(320.8 KiB) Primary Download
External resources
Project members
Estecka
Author
Technical information
License
EUPL-1.2
Client side
required
Server side
unsupported
Project ID

