About
OS Cobblemon Library is a shared API and compatibility layer for Cobblemon mods.
It centralizes recurring Pokémon, storage, entity, event, battle and Pokédex integrations behind a focused public API, allowing projects to share the same implementation across Fabric and NeoForge instead of maintaining duplicated Cobblemon integration code.
The library intentionally provides infrastructure rather than standalone gameplay systems.
Highlights
- Pokémon identity, forms, aspects and marks
- Reusable Pokémon property matching
- Namespace-aware species resolution
- Command-free Pokémon creation and spawning
- Persistent namespaced Pokémon data
- Natural and effective IV inspection
- Ability classification and type helpers
- Native Pokémon size utilities
- Party and PC storage queries
- Pokémon entity identity, ownership and state
- Reusable Cobblemon event hooks
- Battle inspection and classification
- Pokédex progress and completion queries
- Shared Fabric and NeoForge integration layer
Requirements
Minecraft: 1.21.1
Cobblemon: 1.8.1 to <1.9.0
Java: 21
Loaders: Fabric & NeoForge
Use the file matching your mod loader.
Fabric
- Fabric Loader 0.17.2+
- Fabric API
- Fabric Language Kotlin
- Cobblemon 1.8.1 to <1.9.0
NeoForge
- NeoForge 21.1.182+
- Cobblemon 1.8.1 to <1.9.0
For Players
OS Cobblemon Library is primarily a dependency library.
It does not add standalone gameplay content by itself.
Install it when another mod lists OS Cobblemon Library as a required dependency, and make sure to download the JAR matching your loader.
If none of your installed mods require OS Cobblemon Library, installing it by itself will not add new gameplay features.
For Developers
OS Cobblemon Library provides a focused public API under:
com.ourstory.oscobblemon
The API is organized into reusable Cobblemon-specific domains:
pokemon - identity, matching, creation, persistent data, IVs, abilities, types, labels and size
entity - Pokémon entity identity, ownership and state
storage - Party and PC access, lookup, matching and counts
event - reusable Cobblemon event subscriptions and lifecycle handling
battle - battle inspection and classification
pokedex - species, form, variation and completion queries
Shared functionality is designed to remain loader-independent whenever possible, with Fabric and NeoForge modules handling platform-specific integration.
Pokémon API
The Pokémon API includes helpers for:
- Stable namespaced species identities
- Forms, aspects and marks
- Alpha compatibility
- Immutable identity snapshots
- Reusable
PokemonMatcher predicates
- Species resolution across namespaces
- Pokémon and PokémonEntity creation
- Direct server-side Pokémon spawning
- Namespaced persistent mod data
- Natural and Hyper Trained IV values
- Perfect IV counts and totals
- Common, Hidden, Forced and Unknown ability classification
- Current-form type inspection
- Data-driven labels
- Native size categories and safe scale values
Persistent data uses namespaced keys owned by the consuming mod, allowing projects to attach their own state to a Pokémon without copying Cobblemon integration logic.
Storage, Entities & Battles
PokemonStorage provides shared access to player Party and PC storage with:
- UUID lookup
- Party slot lookup
- Membership snapshots
- Predicate-based searches
- Predicate-based counts
PokemonEntities provides read-only helpers for:
- Underlying Pokémon access
- Pokémon UUIDs
- Owner UUIDs
- Battle state
- Busy state
- Evolution state
- Presence and alive checks
BattleInspector provides reusable battle information including:
- Wild battles
- Trainer battles
- PvP battles
- Battle actors
- Player UUIDs
- Participating Pokémon
- Fainted Pokémon
- Winners and losers
Event API
Version 1.1 expands the library with Java-friendly Cobblemon event hooks.
Supported event areas include:
- Capture calculations and completed captures
- Evolution
- Battle start and victory
- Fainting and fleeing
- Battle gimmick instructions
- Pokémon sending and recalling
- Healing
- Pokémon aspects
- Pokédex updates
- Pokémon spawning
- Entity save and load events
- Hatching
- Trading
- Releasing
- Nicknames
- Level changes
- Experience changes
EventSubscriptionGroup can also track multiple subscriptions and cleanly unsubscribe them together, making it useful for reloadable or optional systems.
Pokédex API
PokedexQueries provides read-only helpers for:
- Seen and caught species
- Form progress
- Aspect progress
- Shiny knowledge
- Global Pokédex counts
- Individual Pokédex counts
- Completion percentages
Documentation
Complete API documentation, integration guides and compatibility information are available online.
Documentation
GitHub Repository
The documentation includes:
- Getting Started
- Public API Overview
- Integration Patterns
- Pokémon API
- Storage API
- Event API
- Battle API
- Pokédex API
- API stability policy
- Cobblemon update strategy
- Local development and Maven usage
License & API Use
OS Cobblemon Library itself is All Rights Reserved and distributed under the OS Cobblemon Library Proprietary API License.
Developers may build and distribute independent mods using the documented public API.
Using the API does not require consuming mods to publish or disclose their own source code.
Redistribution, modified builds, rebranding or copying Library source code are not permitted unless separately authorized.
Support the Project
Using OS Cobblemon Library in your project?
Support continued maintenance, compatibility updates and upcoming Our Story projects through Patreon.

For integration help, API suggestions, compatibility reports or bug reports, join the Our Story community on Discord.
Game Hosting
Need a server for your Cobblemon projects?
Host your server with BisectHosting and use code OURSTORY for 25% OFF.
Every purchase helps support the development of Our Story projects.