/
api.common.storage.v1) for persistent data storage at three scopes:
DataStore interface (extends NBTSerializable) for storable dataDataStoreType<T> record with factory, registered to the DATA_STORE_TYPES registryDataStoreManager interface with getGlobal(), getLevel(), and getChunk() methodsMinecraftServer#saveEverythingServerLevel#save{world}/blib/data_storage/{namespace}/:
global/{path}.nbtlevels/{dimension}/{path}.nbtlevels/{dimension}/chunks/r32.{rx}.{rz}.nbtDATA_STORE_TYPES registry to BLibRegistries and BLibBuiltInRegistriesBLibMod#storage() method to access storage through the mod facadeBLibStorageAccess for type-safe data store accessBLibServerSaveEvent, BLibLevelSaveEvent, BLibChunkSaveEvent, and BLibChunkUnloadEventBLibEventAccess#onServerSave(), onLevelSave(), onChunkSave(), and onChunkUnload() event accessorsapi.common.faction.v1) for persistent, type-safe faction management:
FactionManager interface for creating, accessing, and removing factionsFactionType<T> for defining custom faction data types, registered to the FACTION_TYPES registryFactionKey<T> record for type-safe faction identification (couples faction ID with its type)FactionData base class for custom per-faction dataFactionRelationships for tracking faction members and parent-faction relationshipsFactionMember sealed interface with Entity and SubFaction variantsFactionDataError sealed interface with UnknownType and TypeMismatch error variantsResult<T, FactionDataError> to prevent type mismatchesFactionManager#getFactionIds(UUID)FACTION_TYPES registry to BLibRegistries and BLibBuiltInRegistriesBLibMod#factions() method to access factions through the mod facadeBLibFactionAccess for type-safe faction accessBLibEntityRemoveEvent for entity removal events (provides Entity and RemovalReason)BLibEventAccess#onEntityRemove() event accessorBLibFactionRemoveEvent for faction removal eventsBLibEventAccess#onFactionRemove() event accessorDirty interface (api.common.util.v1) for reusable dirty-trackingapi.common.reputation.v1) for asymmetric reputation tracking:
ReputationManager interface for reputation operationsReputationKey sealed interface with Faction(ResourceLocation) and Entity(UUID) variantsReputationData class for holding a subject's outgoing reputation map (implements Dirty)BLibMod#reputation() method to access reputation through the mod facadeBLibReputationAccess for reputation access/blib operator commands (permission level 2) for debugging and management:
/blib factions create|remove|add-member|remove-member|list — faction management/blib reputation get|set|remove — reputation management between factions and entitiesonServerStarted() (replaces serverStarted())onServerStarting() (replaces serverStarting())onServerStopped() (replaces serverStopped())onServerStopping() (replaces serverStopping())serverStarted(), serverStarting(), serverStopped(), serverStopping() for removalBLibDataStoreManager into dedicated sub-managers:
BLibGlobalDataStoreManager for server-wide storesBLibLevelDataStoreManager for per-dimension storesBLibChunkDataStoreManager for region-based chunk storesDataStoreIO for shared file I/O utilitiesMixinMinecraftServer_SaveGlobalData hooks into saveEverything()MixinServerLevel_Events hooks into save() and unload()MixinChunkMap_SaveChunkData hooks into ChunkMap#save()BLibGlobalEvents.SERVER_SAVE, LEVEL_SAVE, CHUNK_SAVE, and CHUNK_UNLOAD global event handlesShardUtil utility for shard index calculations and dirty shard detectionBLibFactionManager internal implementation with shard-based IO and reverse entity indexFactionDataIO, FactionRelationshipsIO, and FactionIO for faction persistenceFactionDataSerializer and FactionRelationshipsSerializer for faction NBT serializationBLibGlobalEvents.ENTITY_REMOVE global event handleMixinEntity_TickEvent to MixinEntity_Events (now handles both tick and remove events)BLibReputationManager internal implementation with shard-based IO and reverse incoming indexReputationDataIO and ReputationIO for reputation persistenceReputationDataSerializer for reputation NBT serializationFactionMemberIndex from BLibFactionManager for cleaner separation of concernsShardManager to generalize shard-based persistence across faction and reputation systemsBLibCommandSuggestions utility with suggestion providers for faction IDs and faction type IDsBLibFactionCommands, BLibReputationCommands, and BLibGOAPCommands command implementationsBLibCommands init class for registering the /blib command treeapi.common.storage.v1) for persistent data storage at three scopes:
DataStore interface (extends NBTSerializable) for storable dataDataStoreType<T> record with factory, registered to the DATA_STORE_TYPES registryDataStoreManager interface with getGlobal(), getLevel(), and getChunk() methodsMinecraftServer#saveEverythingServerLevel#save{world}/blib/data_storage/{namespace}/:
global/{path}.nbtlevels/{dimension}/{path}.nbtlevels/{dimension}/chunks/r32.{rx}.{rz}.nbtDATA_STORE_TYPES registry to BLibRegistries and BLibBuiltInRegistriesBLibMod#storage() method to access storage through the mod facadeBLibStorageAccess for type-safe data store accessBLibServerSaveEvent, BLibLevelSaveEvent, BLibChunkSaveEvent, and BLibChunkUnloadEventBLibEventAccess#onServerSave(), onLevelSave(), onChunkSave(), and onChunkUnload() event accessorsapi.common.faction.v1) for persistent, type-safe faction management:
FactionManager interface for creating, accessing, and removing factionsFactionType<T> for defining custom faction data types, registered to the FACTION_TYPES registryFactionKey<T> record for type-safe faction identification (couples faction ID with its type)FactionData base class for custom per-faction dataFactionRelationships for tracking faction members and parent-faction relationshipsFactionMember sealed interface with Entity and SubFaction variantsFactionDataError sealed interface with UnknownType and TypeMismatch error variantsResult<T, FactionDataError> to prevent type mismatchesFactionManager#getFactionIds(UUID)FACTION_TYPES registry to BLibRegistries and BLibBuiltInRegistriesBLibMod#factions() method to access factions through the mod facadeBLibFactionAccess for type-safe faction accessBLibEntityRemoveEvent for entity removal events (provides Entity and RemovalReason)BLibEventAccess#onEntityRemove() event accessorBLibFactionRemoveEvent for faction removal eventsBLibEventAccess#onFactionRemove() event accessorDirty interface (api.common.util.v1) for reusable dirty-trackingapi.common.reputation.v1) for asymmetric reputation tracking:
ReputationManager interface for reputation operationsReputationKey sealed interface with Faction(ResourceLocation) and Entity(UUID) variantsReputationData class for holding a subject's outgoing reputation map (implements Dirty)BLibMod#reputation() method to access reputation through the mod facadeBLibReputationAccess for reputation access/blib operator commands (permission level 2) for debugging and management:
/blib factions create|remove|add-member|remove-member|list — faction management/blib reputation get|set|remove — reputation management between factions and entitiesonServerStarted() (replaces serverStarted())onServerStarting() (replaces serverStarting())onServerStopped() (replaces serverStopped())onServerStopping() (replaces serverStopping())serverStarted(), serverStarting(), serverStopped(), serverStopping() for removalBLibDataStoreManager into dedicated sub-managers:
BLibGlobalDataStoreManager for server-wide storesBLibLevelDataStoreManager for per-dimension storesBLibChunkDataStoreManager for region-based chunk storesDataStoreIO for shared file I/O utilitiesMixinMinecraftServer_SaveGlobalData hooks into saveEverything()MixinServerLevel_Events hooks into save() and unload()MixinChunkMap_SaveChunkData hooks into ChunkMap#save()BLibGlobalEvents.SERVER_SAVE, LEVEL_SAVE, CHUNK_SAVE, and CHUNK_UNLOAD global event handlesShardUtil utility for shard index calculations and dirty shard detectionBLibFactionManager internal implementation with shard-based IO and reverse entity indexFactionDataIO, FactionRelationshipsIO, and FactionIO for faction persistenceFactionDataSerializer and FactionRelationshipsSerializer for faction NBT serializationBLibGlobalEvents.ENTITY_REMOVE global event handleMixinEntity_TickEvent to MixinEntity_Events (now handles both tick and remove events)BLibReputationManager internal implementation with shard-based IO and reverse incoming indexReputationDataIO and ReputationIO for reputation persistenceReputationDataSerializer for reputation NBT serializationFactionMemberIndex from BLibFactionManager for cleaner separation of concernsShardManager to generalize shard-based persistence across faction and reputation systemsBLibCommandSuggestions utility with suggestion providers for faction IDs and faction type IDsBLibFactionCommands, BLibReputationCommands, and BLibGOAPCommands command implementationsBLibCommands init class for registering the /blib command treeMixinLivingEntity_ApplyArmorEffects - the automatic fire resistance armor behavior is no longer built-in. Use the new onEntityTick() event to implement custom armor set effects.BLibEntityTickEvent - a new event fired on every entity tick.onEntityTick() to BLibEventAccess for registering entity tick listeners.KeyedAccess interface for key-value access patterns (moved to com.blib.api.common.util.v1).KeyedAccess from com.blib.api.common to com.blib.api.common.util.v1.BLibGlobalEventHandle and BLibGlobalEvents for efficient cross-mod event invocation.BLibGlobalOnlyEventHandle for BLib-specific events that don't have platform (Fabric/NeoForge) equivalents.MixinLivingEntity_ApplyArmorEffects - the automatic fire resistance armor behavior is no longer built-in. Use the new onEntityTick() event to implement custom armor set effects.BLibEntityTickEvent - a new event fired on every entity tick.onEntityTick() to BLibEventAccess for registering entity tick listeners.KeyedAccess interface for key-value access patterns (moved to com.blib.api.common.util.v1).KeyedAccess from com.blib.api.common to com.blib.api.common.util.v1.BLibGlobalEventHandle and BLibGlobalEvents for efficient cross-mod event invocation.BLibGlobalOnlyEventHandle for BLib-specific events that don't have platform (Fabric/NeoForge) equivalents.just-goap to 0.3.0.
just-goap was mostly rewritten. Please consult that project's changelog for migration guidance.
A library that makes multi-loader mod development more streamlined.