BigStacks 1.0.5
Curse Maven Snippet
What's new
[1.0.5]
Added
- Config GUI keybind (default K, rebindable in Options → Controls → BigStacks): opens the config GUI in game. The binding is edge-triggered (holding the key only opens the screen once) and uses the
IN_GAMEconflict context, so it never fires while a GUI is open. - Blacklist editor in the config GUI: the main screen now has Overrides / Blacklist tabs; blacklist entries can be added, edited and removed like overrides (same
id/#tag/mod:*syntax, no max-stack field). - Item icons in the GUI: list rows, the autocomplete dropdown and the edit screen's live preview now render the real item icon for each entry (first item of a tag, first item of a namespace wildcard); unknown patterns show a red placeholder. Hovering a row shows a tooltip with the resolved item name.
- Adding an item to the blacklist removes its override (and vice versa), so the two lists can't contradict each other.
Fixed
- Crash when saving the config from the in-game GUI (
WritingException: Failed to atomically write ... bigstacks-common.toml/NoSuchFileException): two concurrent Nightconfig saves could move the same.new.tmp.tomltemp file out from under each other. All saves now go through a single lock (Config.saveSpec()), serializing the atomic-replace. - Redundant TOML writes: applying a full config (GUI or
/BigStacks) wrote the file and re-baked the rules up to 3–4 times per payload.ServerConfigSync.apply()now performs 1 save + 1 bake per payload, andConfig.applyRemote(S2C to clients) is also batched into a single bake. - Log spam of repeated
[BigStacks] config loadedlines: from ~10 lines per GUI change down to 1 per actual reload. Now it is also deduplicated against the last logged state, so FML's double load (client + integrated server) and the file watcher no longer repeat the line when the values did not change. - The blacklist received over sync is now persisted on dedicated servers (
save=true), so it survives server restarts. ItemSuggestBoxnow truly caps the dropdown at 8 visible rows (previouslyvisiblewas always empty at the trim point, so every match was added and drawn overlapping the whole screen).- The "not configured" prompt can no longer be swallowed by the loading-screen check in singleplayer.
example-config.tomlandREADME.mddocument the real overrides format: a list of strings ("minecraft:ender_pearl,999"), not TOML tables.example-config.tomlnow points to the real config path (config/bigstacks-common.toml, it saidconfig/bigstacks.toml).- All server and client command feedback is now translatable (
bigstacks.cmd.*/bigstacks.clientcmd.*); the hardcoded Spanish strings were removed. es_es.jsonnow uses proper Spanish accents ("Añadir", "vacío", "aquí").Error loading class: ironfurnaces/...warning on every launch when Iron Furnaces is not installed: the compat mixin is now filtered byBigStacksMixinPlugin(only applied when the mod is present) instead of relying onrequire = 0.- Login sync no longer re-broadcasts the config to every connected player; only the joining player receives the payload (
ServerConfigSync.sendTo). /bigstacks global getoutput is translatable too (bigstacks.cmd.global_get), and the OP-required message usesbigstacks.cmd.no_permissioninstead of a hardcoded string.
Changed
Config.setGlobalMax,Config.setOverridesandConfig.applyRemoteBlacklistaccept arebakeflag to batch mutations and rebuild the resolution cache only once (less work in thegetMaxStackSizehot path).
Cleanup
- Removed leftover files:
bigstacks-common-1..5.toml.bak(obsolete FML backups in the run folder),itemstacks-common.toml(config of the mod's old id) and the emptyrun/folder (dev runs live inruns/clientandruns/server). - Removed dead code:
Config.overridesFullRaw()(exact duplicate ofoverridesRaw()),BigStacksSync.isConnected()and the unused lang keys (itemGroup.bigstacks,bigstacks.clientcmd.invalid). - Replaced deprecated APIs:
Item#builtInRegistryHolder()→BuiltInRegistries.ITEMlookups, anddefineListAllowEmpty(path, list, predicate)→ the variant with a new-element supplier. Compiles warning-free now. - Renamed the resource pack description in
pack.mcmetafrom the old mod id ("ItemStacks") to "BigStacks". - Renamed the Gradle root project from the old name (
ItemStacks) toBigStacksinsettings.gradle.kts. - Added
LICENSE(MIT, matching the declaration inneoforge.mods.toml) and aREADME.mdwith features, commands and the real config format.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

