SCP CoreLib 1.0.3.0
Curse Maven Snippet
What's new
Added — Temperature system
- Temperature: per-position °C value derived from biome, altitude lapse, sources, fields, and entity armor.
- TemperatureField: spherical or box-shaped zones, additive deltas or absolute overrides (sealed cells), optional fade. Anchor to a fixed position or to a moving entity. Same builder shape as
HumeField. - TemperatureManager API:
getTemperature,getBodyTemperature(entity),addField/removeField/removeFieldsBySource,setBiomeBaselineOverride,fillZone(flood-fill sealed-volume detector for fridges/freezers), plus block/entity watchers (WatchedTemperatureBlock,WatchedTemperatureEntity) that fire on change. - BiomeTemperatures: every vanilla 1.20.1 biome registered with a realistic °C baseline. Plains 15, desert 35, snowy plains −8, ice spikes −20, jagged peaks −22, warm ocean 28, Nether Wastes 80, basalt deltas 110, End −20.
- Altitude lapse rate: −1°C per 10 blocks above sea level (skipped in Nether/End). Mountains get genuinely cold.
- TemperatureSources: per-block ±°C contribution registry with radius, fade, and per-type cap so stacks of the same block can't drive the local temperature past a sane ceiling. Built-ins: campfire +22, soul campfire +14, lava +40, fire +20, magma +15, torch +3, ice −8, packed ice −18, blue ice −28, snow block −5.
- Insulators: per-block registry that attenuates source contributions along the line of sight by ~30% per insulator block. Wool (any color), stone, cobblestone, deepslate, cobbled deepslate.
- ArmorTemperature: per-armor-item flat °C delta. Leather set +20 (warmth), gold set −28 (cooling), turtle shell helmet −10 (cooling).
- ArmorStabilization: new multiplicative mechanic — pulls body temp toward 20°C by a percentage. Full netherite set = 100% stabilize → body always 20°C regardless of surroundings.
- BlockReactions: water freezes below −15°C (5°F), boils above 38°C (100°F), ice melts above −11°C (10°F), lava cools to obsidian below 30°C, obsidian remelts to lava above 80°C. Hysteresis gap prevents flicker.
- Damage: freezes below 0°C using vanilla powdered-snow visual, burns above 32°C (no fire animation). Players always affected; non-player mobs opt in via
TemperatureSensitive. - Game rule
doTemperatureDamagetoggles both damage paths.
Added — Items / blocks
- Thermometer: right-click reports ambient temp, body temp, and biome baseline in the action bar.
- Hume Indicator block: red-dust particle density scales with local Hume reading; color shifts cooler when drained, brighter when boosted. Showcases a Hume-gated recipe station.
Added — Memetic system
- Memetic base class: a perception-borne effect tracked per-{@link LivingEntity}. Each declares whether it's
cancelable, whether itpersistsThroughDeath, and whether it'scurableByAmnestic. - MemeticManager API:
register,apply,cancel,cure,amnestic(entity)(wipes every curable memetic),has,get,getAll. - Seen-tracking:
markSeen(memetic, observer)/getSeenBy(memetic) → Set<UUID>. An entity that has perceived a memetic source can be looked up later for area cleansers, amnestic dispatchers, etc. - Update listeners:
addUpdateListenerfires on every state change (APPLIED / EXPIRED / CANCELLED / CURED / DEATH_WIPED) so HUDs, audit logs, or world events can react when an amnestic actually works. - Built-in memetic:
HALLUCINATION— vanilla nausea + blindness, cancelable, curable, lost on death. - Memetic Hazard Block: sculk-textured. Looking at it marks you as a seen observer, applies
HALLUCINATION, and deals 1 damage. Properly suppressed while blinking (uses the existing sight tracker). - Amnestic Stick: debug item. Right-click wipes every curable memetic on you.
Added — Armor protection (for downstream mods)
- ProtectionKind registry: hazmat / radiation / memetic / gas-mask / thermal. Mods register their own.
- ProtectionRegistry: per-item defaults + per-stack NBT overrides;
getTotalProtection(entity, kind),getSlotProtection(entity, slot, kind),isProtected(entity, kind, threshold). - Debug Helmet (iron-helmet visual with
GAS_MASK = 5) and Gas Hazard Block (10-block aura, damages anyone without head-slot gas-mask protection) for testing.
Added — UI / config
- Client config
temperatureUnit: Celsius (default) or Fahrenheit. Affects all displays; thresholds remain Celsius internally. - Client config
showHeatTint: toggle the full-screen red heat overlay without disabling damage. - Heat tint overlay: appears at the burn threshold, intensity scales with how hot you are, pulses at 5°C+ overage, tweens smoothly in and out.
- Tooltips on every item registered with the temperature or Hume systems — colored lines on armor (red/aqua/purple for heat/cooling/stabilize) and on source blocks (
Heat source: +22°C over 5b,Hume source: -4 over 3b).
This mod has no additional files

