SCP CoreLib

A utility mod I use for all my SCP mods

File Details

SCP CoreLib 1.0.2.0

  • R
  • May 27, 2026
  • 210.57 KB
  • 18
  • 1.20.1
  • Forge

File Name

scp_core-1.0.2.0.jar

Supported Versions

  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:scp-corelib-1552194:8152307")
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Added — Hume system

  • Hume: per-position "reality solidity" value. Dimension baselines: Overworld 32, Nether 79, End 12 (overridable via HumeManager.setBaseline).
  • HumeField: spherical or box-shaped zones, additive deltas or absolute overrides (for enclosed cells), optional linear fade from source. Anchor to a fixed position or to a moving entity.
  • HumeManager API: getHume, addField / removeField / removeFieldsBySource, setBaseline, plus block/entity watchers (WatchedHumeBlock, WatchedHumeEntity) that fire onHumeUpdate when the value changes.
  • NaturalHumeSources: block-type registry where each registered block contributes a Hume delta within a radius. Built-ins:
    • End Stone: −1
    • End Stone Bricks: −4
    • Netherrack: +1
    • Nether Bricks: +4
  • Per-dimension toggle for natural-source scanning (HumeManager.setNaturalSourcesEnabled). Opt-in; default off in Nether/End to avoid scanning a 7×7×7 region every read. Overworld is on by default.

Added — Dispersal system

  • DispersalEffect registry for dispersal types — built-ins: holy_water, salt, radiation. Mods can register their own.
  • DispersalManager.disperse(effect, level, center, radius, fade, source): dispatches an event to every subscribed block/entity in range. Spatial fade gives stronger events near the center.
  • DispersalListener interface — entities and blocks implement it to react. Auto-registered on entity join / chunk load.
  • Occlusion modes for disperse — new overload disperse(..., Occlusion) controls how blocks block the dispersal line:
    • NONE — pass through every block (default; original behavior).
    • OCCLUDERS — stops at blocks added via DispersalManager.addOccluder(Block). For selective walls (e.g. only obsidian / lead-lined panels block holy water).
    • EVERYTHING — stops at any non-air block. For physical effects like steam, smoke, mist, or gas that can't pass through obstacles.
  • Occluder list API: DispersalManager.addOccluder / removeOccluder / isOccluder / clearOccluders. Empty by default — registered occluders only take effect under Occlusion.OCCLUDERS.