TheDragonLib 1.4.1 for NeoForge 26.1.2
Curse Maven Snippet
What's new
26.1.2 - 1.4.1
Rule Editor
- Number inputs and buttons are now sized to fit their largest value instead of sharing the row evenly with pickers; pickers share what's left of the row.
- Added
Field.withIcon(Identifier)— aTOGGLEfield can be a small icon button without its own label. - Added
Field.withRowLabel(String)— labels the row with a differentfield.<name>translation, for fields (e.g. several icon toggles) that share one label. - A picker's resolved name now shows inline at the end of its input when it fits, instead of always on a note line below.
RuleListScreennow sizes itself to the widest entry (between 308px and 560px) instead of always being as wide as possible, and centers row text vertically.
26.1.2 - 1.4.0
Rule Editor
RuleEditScreenrows now sit in a scrolling list instead of shrinking to fit, so a rule can have any number of fields.- Added
Field.asInline()— a field shares a row with the field before it when there's room, instead of always getting its own row. - Added
Field.withFallback(String)— an empty value shows (and summarizes as) the fallback instead of blank. - Added Copy and Paste buttons that round-trip a rule line through the clipboard; pasted text is validated before it replaces the open rule's values.
RuleListScreenrows show the raw saved line as a hover tooltip instead of always rendering it below the summary when the rule is valid.
26.1.2 - 1.3.1
Rule Editor
RuleListScreenrows now wrap long summaries and rule lines instead of cutting them off, each row grows to fit its text, and rows can be up to 560px wide (was 400px). The hover tooltip for cut-off text is gone.
26.1.2 - 1.3.0
Rule Editor
- Added
client.config.RuleFormat— how a config line maps to the fields of aRuleType.RuleFormat.PIPEis the previous positional format; mods can now edit other syntaxes (prefixes,key=valuepairs, lines saved in an older layout) and provide their own cross-field checks and row summaries. - Added the field kinds
BLOCK,CUSTOM(a picker whose options the mod provides byField.source()),CHOICEandTOGGLE(buttons instead of text inputs). - Added
client.config.RegistrySuggestionSource— aRuleSuggestionSourcebacked byRegistryCandidates, which mods extend for theirCUSTOMfields. RuleListScreencan take anEntryPickerto add several entries at once next to the Add button.RuleListScreen.withDefaultsadds a Reset button.RuleSuggestionSource.Optioncan have an icon, shown in the suggestion list.RuleEditScreenrows now shrink on short screens so rules with many fields stay above the error line and buttons.- Long explanations under the screen titles are cut off with the full text on hover instead of running off the screen.
- Fixed a crash in
RuleType.validatewhen a min/max field pair was optional and left empty, andATTRIBUTE_VALUEfields assuming the attribute is the line's second field.
Breaking Changes
RuleSuggestionSourcenow takes theRuleType.Field(and the line's current values where they matter) instead of aKindand a context string.
26.1.2 - 1.2.1
Fixes
- Added
ConfigHelper.getOrDefault/ConfigHolder.getOrDefault— a guard that returns a fallback instead of throwingIllegalStateExceptionwhen a config value is read before its spec is loaded (e.g. datagen or other contexts where no config file is ever loaded, such as a block'sisEnabled(FeatureFlagSet)check running under the loot table provider).
26.1.2 - 1.2.0
New Utilities
- Added
util.ModCompat.isLoaded(String modId)— a one-line check for whether another mod is loaded, replacing hand-rolled per-mod loader enums. - Added
util.RomanNumeralUtil.generate(int)— converts an int to a Roman numeral string.
New Client Rendering Helpers
- Added
client.util.PoseStackHelper.translateAndScale/rotateItem— commonPoseStacktransforms for drawing anItemStackat an offset inside a block entity renderer. - Added
client.util.RenderingUtils.swing/flap/bob/walk— limb-animation math forModelParts.
New Config/GUI Helpers
- Added
client.config.RegistryCandidates— turns a built-in or datapack registry (entities, items, blocks, attributes, enchantments, biomes) into a searchable candidate list forEntryPickerScreen, including a fallback for datapack-driven registries (biomes, enchantments) when no world is loaded, e.g. editing config from the title screen. - Added a second, heavier config-list editor for pipe-delimited, multi-field config rows:
client.config.RuleType(field schema with per-field validation),RuleSuggestionSource(caller-supplied id lookups),RuleListContext(translation key prefixes),RuleListScreenandRuleEditScreen. This complements the existing append-onlyPickerListScreenfor config lists that need several validated fields per row, edited in place.
Internal Cleanup
- No breaking changes to existing public APIs.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

