-
Notifications
You must be signed in to change notification settings - Fork 0
Effects Reference
Maire edited this page Jun 10, 2026
·
1 revision
MarieLib provides a threshold effect system that consuming mods wire to their gameplay. Effects fire automatically when value levels cross configured thresholds.
Effects are defined via ThresholdEffect and registered through MarieAPI.registerCustomEffect() or datapacks (loader in progress).
| Type | When it fires |
|---|---|
CRITICAL |
Value drops below critical threshold |
LOW |
Value drops below low threshold |
EXCESS |
Value exceeds excess threshold |
BONUS |
Value is within bonus range (e.g. all values above threshold) |
Path: data/<ns>/<modId>/effects/<id>.json
{
"marie_schema_version": 1,
"value_key": "proteins",
"threshold": 0.2,
"threshold_type": "LOW",
"effect_id": "minecraft:weakness",
"amplifier": 0,
"duration": 300
}| Field | Required | Description |
|---|---|---|
value_key |
✅ | Which value triggers this effect |
threshold |
✅ | Trigger point (0.0–1.0) |
threshold_type |
✅ |
CRITICAL, LOW, EXCESS, or BONUS
|
effect_id |
✅ | Vanilla or modded effect ID |
amplifier |
Effect level (0 = level I) | |
duration |
Duration in ticks (20 ticks = 1 second) |
The datapack loader for
effects/is still in progress. Consuming mods may load effects from their own config files until the MarieLib loader is complete.
ThresholdEffect effect = ThresholdEffect.builder()
.valueKey("proteins")
.threshold(0.25f)
.thresholdType(ThresholdEffect.ThresholdType.LOW)
.effectId(ResourceLocation.parse("minecraft:mining_fatigue"))
.amplifier(0)
.duration(140)
.build();
MarieAPI.registerCustomEffect(effect);Consuming mods provide their own effect applier wired through MarieLibContext. MarieLib fires threshold crossings; the consuming mod applies potion effects.
MarieLib · Shared framework for Marie mods · Documentation for 1.0.x