
Assorted Lib
The library mod that all of the other assorted mods rely on.
19 тыс.7обновлён 31 окт. 2026 г.
Библиотеки
Описание
Assorted Lib
A library mod that does nothing on it's own. But will be a requirement for the new versions of my different Assorted mods.
This includes a number of utilities to make it easier to support both Forge and Fabric versions.
This does not require any other mod/tool besides the usual for each environment. (Forge itself and the Fabric Loader and Fabric API)
Последние версии
Все версии →release
Assorted Lib 5.0.2 (NeoForge)
5.0.2+neoforge31 окт. 2026 г.66Minecraft: 26.3neoforge
Что нового
## 5.0.2
- Fixed sorting mods such as ClientSort and Inventory Profiles Next not sorting storage menus, like
the Assorted Chests ones. Every slot of a storage now shares one vanilla container, apart from
lock slots, which keep one of their own so sorting never moves the lock
- Storage and lock slots can always be emptied, as vanilla slots can. ClientSort gave up on any
storage with an empty slot in it
- Locked ender inventories accept items on the client, as vanilla ones do, so sorting mods use their
empty slots too
- Fixed locked ender chest lids sometimes staying open
- `StorageHandlerContainer#separate` gives other slots that sorting should leave alone, like
upgrades, a container of their own
release
Assorted Lib 5.0.2 (Fabric)
5.0.2+fabric31 окт. 2026 г.442Minecraft: 26.3fabric
Что нового
## 5.0.2
- Fixed sorting mods such as ClientSort and Inventory Profiles Next not sorting storage menus, like
the Assorted Chests ones. Every slot of a storage now shares one vanilla container, apart from
lock slots, which keep one of their own so sorting never moves the lock
- Storage and lock slots can always be emptied, as vanilla slots can. ClientSort gave up on any
storage with an empty slot in it
- Locked ender inventories accept items on the client, as vanilla ones do, so sorting mods use their
empty slots too
- Fixed locked ender chest lids sometimes staying open
- `StorageHandlerContainer#separate` gives other slots that sorting should leave alone, like
upgrades, a container of their own
release
Assorted Lib 5.0.1 (NeoForge)
5.0.1+neoforge24 окт. 2026 г.341Minecraft: 26.3neoforge
Что нового
## 5.0.1
- Fixed players getting kicked with Invalid player data when Iris is installed
release
Assorted Lib 5.0.1 (Fabric)
5.0.1+fabric24 окт. 2026 г.1,6 тыс.Minecraft: 26.3fabric
Что нового
## 5.0.1
- Fixed players getting kicked with Invalid player data when Iris is installed
release
Assorted Lib 5.0.0 (Fabric)
5.0.0+fabric23 окт. 2026 г.229Minecraft: 26.3fabric
Что нового
## 5.0.0
Updated to Minecraft 26.3, for NeoForge and Fabric.
- Recipes, loot tables and advancements are registry entries in 26.3, so a mod's NeoForge datagen
writes them through `ForgeRegistryEntries` along with its worldgen. It replaces
`ForgeDatapackRegistryProvider` and the recipe `Runner`s, and still writes the files for both loaders.
- `ConditionalRecipeProvider` and `LibBlockLootProvider` are built from 26.3's datagen contexts, and
`IConditionHelper#conditionalContext` gives each entry its load conditions.
- Fuel is an item component now. `IPlatformHelper#isFuel` checks an item on either side,
`#getFuelTime` gives its burn time in a furnace, another block or anywhere on the server, and
`BurnTimes` names the burn times a mod's fuels use.
- `CompostChances` and `IPlatformHelper#modifyDefaultComponents` set components on items, which is
where 26.3 keeps compost chances.
- `LootTableModificationContext#lootTable` gives the holder a nested loot table needs now.
- `SubmitHelper` keeps the `submitModel` calls that drew the block breaking overlay.
- `BlockPosUtil` keeps the box shaped block searches `BlockPos` no longer has.
- On NeoForge the blocks given to `registerFlammable` go in NeoForge's flammable data map, written
by datagen, so a datapack can change their fire odds.
- `HandWrittenData#advancement` reads an advancement a mod writes as json by hand back through
vanilla's codec, so a format change fails datagen instead of the server.
- A manual recipe page skips the recipes that are not loaded, such as ones an optional mod adds, and
only says a recipe is missing when none of its recipes are there.
- `ClientModelCheck` and `ManualCheck` are client gametest helpers. They find blocks and items that
draw the missing texture, and manual pages or station slots that would draw nothing.
- `CommonTests` registers four gametests every mod can share. They check that each recipe is made from
its own ingredients, each block drops something, each block entity reads back what it saved, and each
item is in a creative tab, apart from any the mod names as kept out on purpose. `ClientChecks` runs the client checks from a Fabric client gametest, and
`TestSupport#mortalPlayer` gives a test player that can be hurt. `ClientModelCheck` also readies every
entity's renderer, and `CommonTests#upgradesThatLoseTheirData` checks that storage upgrade recipes keep
what the upgraded item held.
- The `assortedlib:recipe_exists` display condition hides a manual page until one of its recipes is
loaded, and `ChapterBuilder#optionalRecipes` adds a recipe page with it, for recipes another mod's
ingredient turns on. The manual checks its conditions again once recipes reach the client.
release
Assorted Lib 5.0.0 (NeoForge)
5.0.0+neoforge23 окт. 2026 г.62Minecraft: 26.3neoforge
Что нового
## 5.0.0
Updated to Minecraft 26.3, for NeoForge and Fabric.
- Recipes, loot tables and advancements are registry entries in 26.3, so a mod's NeoForge datagen
writes them through `ForgeRegistryEntries` along with its worldgen. It replaces
`ForgeDatapackRegistryProvider` and the recipe `Runner`s, and still writes the files for both loaders.
- `ConditionalRecipeProvider` and `LibBlockLootProvider` are built from 26.3's datagen contexts, and
`IConditionHelper#conditionalContext` gives each entry its load conditions.
- Fuel is an item component now. `IPlatformHelper#isFuel` checks an item on either side,
`#getFuelTime` gives its burn time in a furnace, another block or anywhere on the server, and
`BurnTimes` names the burn times a mod's fuels use.
- `CompostChances` and `IPlatformHelper#modifyDefaultComponents` set components on items, which is
where 26.3 keeps compost chances.
- `LootTableModificationContext#lootTable` gives the holder a nested loot table needs now.
- `SubmitHelper` keeps the `submitModel` calls that drew the block breaking overlay.
- `BlockPosUtil` keeps the box shaped block searches `BlockPos` no longer has.
- On NeoForge the blocks given to `registerFlammable` go in NeoForge's flammable data map, written
by datagen, so a datapack can change their fire odds.
- `HandWrittenData#advancement` reads an advancement a mod writes as json by hand back through
vanilla's codec, so a format change fails datagen instead of the server.
- A manual recipe page skips the recipes that are not loaded, such as ones an optional mod adds, and
only says a recipe is missing when none of its recipes are there.
- `ClientModelCheck` and `ManualCheck` are client gametest helpers. They find blocks and items that
draw the missing texture, and manual pages or station slots that would draw nothing.
- `CommonTests` registers four gametests every mod can share. They check that each recipe is made from
its own ingredients, each block drops something, each block entity reads back what it saved, and each
item is in a creative tab, apart from any the mod names as kept out on purpose. `ClientChecks` runs the client checks from a Fabric client gametest, and
`TestSupport#mortalPlayer` gives a test player that can be hurt. `ClientModelCheck` also readies every
entity's renderer, and `CommonTests#upgradesThatLoseTheirData` checks that storage upgrade recipes keep
what the upgraded item held.
- The `assortedlib:recipe_exists` display condition hides a manual page until one of its recipes is
loaded, and `ChapterBuilder#optionalRecipes` adds a recipe page with it, for recipes another mod's
ingredient turns on. The manual checks its conditions again once recipes reach the client.
release
Assorted Lib 4.3.0 (Fabric)
4.3.0+fabric5 окт. 2026 г.1,8 тыс.Minecraft: 26.2fabric
Что нового
## 4.3.0
- `IPlatformHelper#registerFlammable` lets fire spread to and burn away a mod's block, with the
same odds on both loaders.
- `PlayerDeathDropsEvent` fires once a player's death is final, after any totem, and before their
inventory and experience drop. Fabric's own death events come either before the totem or after
the drops.
- `IClientHelper#registerLevelSubmit` adds geometry to every level frame, after entities and
block entities, on both loaders.
- Registry aliases, for a mod that moves its content to a new id: `IRegistryFactory#alias`, or
`RegistryProvider#aliasFrom(oldNamespace)` to alias everything a provider registers. A world
saved under the old ids loads the same entities, items and blocks.
- `SharedCreativeTabs` gives a family of mods one creative tab between them, registered by
whichever is installed first and filled in a fixed order.
- A mod's manual chapters can join another namespace's section: `LibManualProvider` takes a
manual namespace, and a section's `icon` can list several items, the first registered drawn.
- `MovedIds` keeps a player's recipe book and advancement progress when a mod moves its recipes and
advancements to new ids: `inherit(oldNamespace, newNamespace)`, and `renameCriteria` for criteria
that were renamed. It also carries over structures already in a world and the loot of chests
that were never opened. `migration.carryOverMovedIds` in the new `assortedlib-common.toml` (`.json` on Fabric) turns it off.
- `ICanColor` marks a block a paint roller can recolor, so blocks from one mod take another mod's paint.
- `AdvancementIcons` draws an advancement with the first of several items that is installed, for a
root advancement a family of mods ships between them.
- Mods can join a family to share a creative tab and manual section, and each one can be turned off in the family's parts config.
- `creative.hideUncraftableItems` in `assortedlib-common.toml` (`.json` on Fabric) hides items from the creative menu when nothing installed
provides their material. Mods add those items with `CreativeTabItems#addIfObtainable`, and `ItemUtil.isTagEmpty` does the check.
- The storage pieces Assorted Storage's parts share now live here, so they can become separate mods.
`core.storage` has `StorageMaterial`, the base storage block, block entity and menus, and
`core.storage.ender` the locked ender inventories. Their screens are in `client.screen.storage`.
- The chest, barrel, hopper and shulker box blocks are here too, with their block entities, menus,
renderers and models, so Assorted Locks can own the locked vanilla ones while each part keeps its
materials. Nothing is registered by Lib. A mod hands its blocks the block entity and menu types it
registered through `StorageTypes`, and a block entity takes its type from its block.
- `LockConversions` says what a lock turns a block into, so one padlock locks the containers of
whichever mods are installed. `LockItems` and the new `c:locks` and `c:keys` tags let a container
take a lock or check a key without knowing the mod that adds them.
- `LevelUpgrades` says how a mod's containers upgrade from one material to the next, so a level
upgrade works on all of them.
- `StorageAccessUtil` moved here too, and `registerKeySource` adds somewhere else a key can be, such
as an accessory slot.
- `SharedDataComponents` gives a family of mods one data component type between them, registered
under its id by whichever asks first. `StorageInfo`, the lock and level lines on storage items, uses
it, and the shared container backgrounds are Lib's own textures now.
- `core.tool` holds the tool materials Assorted Tools' parts share. `ToolTiers.get()` gives wood through
netherite and 17 extra materials such as tin and ruby, from `assortedlib-tool-tiers.toml`, which only
exists once a mod asks for it. `ArmorMaterialConfig`, `ConfigurableArmorItem`, `ConfigurableTieredItem`
and `HarvestTiers` came with them.
- `ISwitchModes` items share one switch-modes key, Z by default. A mod turns it on with
`ModeSwitching.enable()` and, on the client, `ModeSwitchKey.enable()`; without one, there is no key
and no packet.
- `MovedIds` also carries over data-driven entries saved under an old id, such as an enchantment on an
item or a book, which vanilla would drop.
- `IConditionHelper#conditionalOutput` takes a function from a recipe id to its conditions instead of a map. A mod that calls it directly can pass `map::get`.
- Fixed recipe conditions, tooltips and biome changes that could go missing on NeoForge when several mods added them at the same time while loading.
release
Assorted Lib 4.3.0 (NeoForge)
4.3.0+neoforge5 окт. 2026 г.716Minecraft: 26.2neoforge
Что нового
## 4.3.0
- `IPlatformHelper#registerFlammable` lets fire spread to and burn away a mod's block, with the
same odds on both loaders.
- `PlayerDeathDropsEvent` fires once a player's death is final, after any totem, and before their
inventory and experience drop. Fabric's own death events come either before the totem or after
the drops.
- `IClientHelper#registerLevelSubmit` adds geometry to every level frame, after entities and
block entities, on both loaders.
- Registry aliases, for a mod that moves its content to a new id: `IRegistryFactory#alias`, or
`RegistryProvider#aliasFrom(oldNamespace)` to alias everything a provider registers. A world
saved under the old ids loads the same entities, items and blocks.
- `SharedCreativeTabs` gives a family of mods one creative tab between them, registered by
whichever is installed first and filled in a fixed order.
- A mod's manual chapters can join another namespace's section: `LibManualProvider` takes a
manual namespace, and a section's `icon` can list several items, the first registered drawn.
- `MovedIds` keeps a player's recipe book and advancement progress when a mod moves its recipes and
advancements to new ids: `inherit(oldNamespace, newNamespace)`, and `renameCriteria` for criteria
that were renamed. It also carries over structures already in a world and the loot of chests
that were never opened. `migration.carryOverMovedIds` in the new `assortedlib-common.toml` (`.json` on Fabric) turns it off.
- `ICanColor` marks a block a paint roller can recolor, so blocks from one mod take another mod's paint.
- `AdvancementIcons` draws an advancement with the first of several items that is installed, for a
root advancement a family of mods ships between them.
- Mods can join a family to share a creative tab and manual section, and each one can be turned off in the family's parts config.
- `creative.hideUncraftableItems` in `assortedlib-common.toml` (`.json` on Fabric) hides items from the creative menu when nothing installed
provides their material. Mods add those items with `CreativeTabItems#addIfObtainable`, and `ItemUtil.isTagEmpty` does the check.
- The storage pieces Assorted Storage's parts share now live here, so they can become separate mods.
`core.storage` has `StorageMaterial`, the base storage block, block entity and menus, and
`core.storage.ender` the locked ender inventories. Their screens are in `client.screen.storage`.
- The chest, barrel, hopper and shulker box blocks are here too, with their block entities, menus,
renderers and models, so Assorted Locks can own the locked vanilla ones while each part keeps its
materials. Nothing is registered by Lib. A mod hands its blocks the block entity and menu types it
registered through `StorageTypes`, and a block entity takes its type from its block.
- `LockConversions` says what a lock turns a block into, so one padlock locks the containers of
whichever mods are installed. `LockItems` and the new `c:locks` and `c:keys` tags let a container
take a lock or check a key without knowing the mod that adds them.
- `LevelUpgrades` says how a mod's containers upgrade from one material to the next, so a level
upgrade works on all of them.
- `StorageAccessUtil` moved here too, and `registerKeySource` adds somewhere else a key can be, such
as an accessory slot.
- `SharedDataComponents` gives a family of mods one data component type between them, registered
under its id by whichever asks first. `StorageInfo`, the lock and level lines on storage items, uses
it, and the shared container backgrounds are Lib's own textures now.
- `core.tool` holds the tool materials Assorted Tools' parts share. `ToolTiers.get()` gives wood through
netherite and 17 extra materials such as tin and ruby, from `assortedlib-tool-tiers.toml`, which only
exists once a mod asks for it. `ArmorMaterialConfig`, `ConfigurableArmorItem`, `ConfigurableTieredItem`
and `HarvestTiers` came with them.
- `ISwitchModes` items share one switch-modes key, Z by default. A mod turns it on with
`ModeSwitching.enable()` and, on the client, `ModeSwitchKey.enable()`; without one, there is no key
and no packet.
- `MovedIds` also carries over data-driven entries saved under an old id, such as an enchantment on an
item or a book, which vanilla would drop.
- `IConditionHelper#conditionalOutput` takes a function from a recipe id to its conditions instead of a map. A mod that calls it directly can pass `map::get`.
- Fixed recipe conditions, tooltips and biome changes that could go missing on NeoForge when several mods added them at the same time while loading.
release
Assorted Lib 4.2.0 (NeoForge)
4.2.0+neoforge24 сент. 2026 г.50Minecraft: 26.2neoforge
Что нового
## 4.2.0
- `IWorldGenHelper#addCustomSpawner` adds a custom spawner to every server level, beside vanilla's
own, on both loaders. A factory makes each level its own copy.
- Mods can add creatures now. `IPlatformHelper#registerEntityAttributes` and
`#registerSpawnPlacement` register a mob's attributes and where it may spawn, and
`IWorldGenHelper#addSpawnToBiomes` adds it to the natural spawns of the biomes.
Spawns are added in the same order on both loaders.
- `IWorldGenHelper#addSpawnToStructures` adds a creature to the natural spawns inside the structures
in a tag, wherever one of their pieces is, underground included. It is added to what already
spawns there, and nothing is taken away.
- Long item descriptions in tooltips wrap onto several lines instead of running across the screen.
release
Assorted Lib 4.2.0 (Fabric)
4.2.0+fabric24 сент. 2026 г.61Minecraft: 26.2fabric
Что нового
## 4.2.0
- `IWorldGenHelper#addCustomSpawner` adds a custom spawner to every server level, beside vanilla's
own, on both loaders. A factory makes each level its own copy.
- Mods can add creatures now. `IPlatformHelper#registerEntityAttributes` and
`#registerSpawnPlacement` register a mob's attributes and where it may spawn, and
`IWorldGenHelper#addSpawnToBiomes` adds it to the natural spawns of the biomes.
Spawns are added in the same order on both loaders.
- `IWorldGenHelper#addSpawnToStructures` adds a creature to the natural spawns inside the structures
in a tag, wherever one of their pieces is, underground included. It is added to what already
spawns there, and nothing is taken away.
- Long item descriptions in tooltips wrap onto several lines instead of running across the screen.