promotional bannermobile promotional banner

ObserverLib

A Library mod that allows for generic area observation.

ObserverLib is a library mod, usable to reliably observe block changes in a potentially large area with very little performance implications.

 

The library is publicly usable and is primarily focused to be used in Astral Sorcery from 1.13+.

 

In essence this mod allows you to register an Observer - whatever it observes in the end is up to the implementation - for a specific area. Changes that happen in the world in its observed area are passed onto the Observer. The observer can then decide on its own what these changes mean; if they invalidate or validate the observer's state. So for example if the structure is now complete or not.

 

The actual call to check if things are valid or not is to query the ChangeSubscriber at the relevant position and then ask if its current state is valid or not.

 

What makes this better than generally just repeatedly checking a large area? What happens if the area you want to observe is larger than a chunk? What happens if the other chunk you have to check becomes unloaded? In order to be sure nothing has changed and the structure is intact, a mod would have to load said chunk and check the block. Potentially an issue if this causes a lot of chunk loading and unloading. The Implementation of ObserverLib makes sure you can relax and the changes passed onto your implementation of notifyChange contain all necessary information to make sure whatever you're observing is still valid or not.

 

One exemplary implementation for checking if a structure is built correctly or not can be seen here. Instead of always checking everything of the structure's components, the check makes sure to track the positions that are incorrect/mismatching and only works based off of mismatches to what the matcher expects.

 

If you're interested in using it for your own projects, you can grab it from maven here: https://maven.hellfiredev.net/hellfirepvp/observerlib/observerlib/ 

 

For further explanations and details, feel free to ask on the AstralSorcery discord: https://discord.gg/q37VRcT

The ObserverLib Team

profile avatar
  • 129
    Followers
  • 9
    Projects
  • 110.0M
    Downloads

More from HellFirePvPView all

  • The Vault Mod (Standalone) project image

    The Vault Mod (Standalone)

    • 4.8M
    • Mods

    Level up, loot the vaults and defeat the bosses to collect 25 artifacts!

    • 4.8M
    • April 22, 2026
    • Mods
    • +4
  • Vault Hunters Third Edition project image

    Vault Hunters Third Edition

    • 5.7M
    • Modpacks

    Action RPG in Minecraft! Level up, learn talents and abilities, build a base, build farms collect the 25 artifacts and defeat the final boss!

    • 5.7M
    • April 19, 2026
    • Modpacks
    • +2
  • Gadothaumy project image

    Gadothaumy

    • 76.9K
    • Mods

    A mod allows you start thaumcraft infusion automatically

    • 76.9K
    • February 6, 2026
    • Mods
    • +3
  • ISpawner project image

    ISpawner

    • 4.0M
    • Mods

    A custom MobSpawner plugin

    • 4.0M
    • November 21, 2024
    • Mods
  • The Vault Mod (Standalone) project image

    The Vault Mod (Standalone)

    • 4.8M
    • Mods

    Level up, loot the vaults and defeat the bosses to collect 25 artifacts!

    • 4.8M
    • April 22, 2026
    • Mods
    • +4
  • Vault Hunters Third Edition project image

    Vault Hunters Third Edition

    • 5.7M
    • Modpacks

    Action RPG in Minecraft! Level up, learn talents and abilities, build a base, build farms collect the 25 artifacts and defeat the final boss!

    • 5.7M
    • April 19, 2026
    • Modpacks
    • +2
  • Gadothaumy project image

    Gadothaumy

    • 76.9K
    • Mods

    A mod allows you start thaumcraft infusion automatically

    • 76.9K
    • February 6, 2026
    • Mods
    • +3
  • ISpawner project image

    ISpawner

    • 4.0M
    • Mods

    A custom MobSpawner plugin

    • 4.0M
    • November 21, 2024
    • Mods