Short Description
LMfix is a Forge 1.20.1 compatibility and configuration mod for Legendary Monsters 2.1.15. It exposes boss defense mechanics through JSON config entries for easier modpack and server balancing.
Full Description
LMfix lets modpack authors and server owners configure many Legendary Monsters boss defense mechanics without editing Legendary Monsters itself. It can control potion effects, damage caps, projectile immunity, invulnerability frames, damage reduction, damage adaptation, natural healing, anti-cheese checks, return-to-spawn behavior, and phase reset behavior where those mechanics exist.
The default config is testing-friendly: major defensive mechanics are disabled and potion effects are allowed. Bosses can be configured individually through config/bossfix.json, which is generated after the game or server starts once.
Features
- Supports Legendary Monsters 2.1.15
- Per-boss JSON configuration
- Potion effect control, including Cloud Golem tick-based buff clearing
- Per-hit damage cap toggle and value
- Anti-cheese distance check toggle
- Arrow and projectile immunity toggle
- Invulnerability frame toggle and tick duration
- Stage damage reduction, generic damage reduction, and damage adaptation controls
- Natural healing, return-to-spawn, and phase reset toggles
- Testing-friendly default config with major defensive mechanics disabled
Requirements
- Minecraft 1.20.1
- Forge 47+
- Legendary Monsters 2.1.15
Guide
### 1. Config File Location
LMfix automatically generates its config after the game or dedicated server starts successfully:
```text
config/bossfix.json
```
The project root also includes two reference files:
```text
D:\BOSSfix\bossfix.example.json
D:\BOSSfix\bossfix.no_defense.json
```
Restart the game or server after editing the config. The file is loaded during startup.
### 2. Basic Structure
`bossfix.json` has two top-level sections:
```json
{
"global": {},
"bosses": {}
}
```
`global` is the fallback config. It is used when a boss has no explicit entry, or when a future Legendary Monsters update adds an unknown boss.
`bosses` contains per-boss overrides. LMfix 1.0.3 supports boss-specific mechanic control through boss keys.
Not every boss has every mechanic. Keeping a field for a boss that does not use that mechanic is harmless, but it will not create a new mechanic by itself.
### 3. Supported Boss Keys
Use these keys inside `bosses` to control individual bosses:
```text
animated_boss
animated_mini_boss
cloud_golem
possessed_paladin_boss
new_possessed_paladin
the_obliterator
the_warped_one
ancient_guardian
annihilation_pursuer
beheaded_knight
endersent
frostbitten_golem
lava_eater
overgrown_colossus
posessed_paladin
resurrected_knight
shulker_mimic
skeletosaurus
withered_abomination
```
`animated_boss` and `animated_mini_boss` are shared fallback entries for Legendary Monsters base classes and common logic. Keep them unless you know you do not need them.
### 4. Field Reference
`note`: Human-readable note only. It does not affect gameplay.
`potionEffects`: Allows or blocks boss potion effects. `true` allows effects, `false` blocks them. Tick-based effect clearing, such as Cloud Golem buff clearing, is also controlled by this setting.
`damageCapEnabled`: Enables or disables the per-hit damage cap. `false` disables damage capping.
`damageCap`: Per-hit damage limit. Only used when `damageCapEnabled=true`.
`antiCheeseEnabled`: Enables or disables anti-cheese distance checks.
`antiCheeseDistance`: Distance threshold for anti-cheese logic. Only used when `antiCheeseEnabled=true`.
`projectileImmunity`: Enables or disables projectile immunity. Set this to `false` to allow arrows and other projectiles to deal damage.
`invulnerability`: Enables or disables Legendary Monsters custom invulnerability frames or short invulnerability logic.
`invulnerabilityTicks`: Invulnerability duration in ticks. `20 ticks = 1 second`. Only used when `invulnerability=true`.
`damageReduction`: Enables or disables staged, timed, or state-based damage reduction.
`damageReductionMultiplier`: Damage multiplier for reduction logic. `0.5` means half damage, `1.0` means no reduction. Only used when `damageReduction=true`.
`damageAdaptation`: Enables or disables damage adaptation.
`adaptationFactor`: Strength of damage adaptation. Higher values make adaptation faster or stronger. Only used when `damageAdaptation=true`.
`phaseDamageReduction`: Enables or disables phase-transition damage reduction.
`phaseDamageReductionMultiplier`: Damage multiplier during phase-transition reduction. Only used when `phaseDamageReduction=true`.
`naturalHealing`: Enables or disables out-of-combat natural healing.
`naturalHealingAmount`: Healing amount per heal tick. Only used when `naturalHealing=true`.
`naturalHealingIntervalTicks`: Healing interval in ticks. Only used when `naturalHealing=true`.
`returnToSpawn`: Enables or disables returning, teleporting, or resetting position back to the spawn/arena point.
`resetPhases`: Enables or disables phase reset after disengaging.
### 5. Default Config
LMfix 1.0.3 defaults to a testing-friendly no-defense setup:
```json
{
"potionEffects": true,
"damageCapEnabled": false,
"antiCheeseEnabled": false,
"projectileImmunity": false,
"invulnerability": false,
"damageReduction": false,
"damageAdaptation": false,
"phaseDamageReduction": false,
"naturalHealing": false,
"returnToSpawn": false,
"resetPhases": false
}
```
By default, bosses can receive potion effects, arrows can damage them, and damage caps, damage reduction, anti-cheese checks, invulnerability frames, natural healing, and return-to-spawn behavior are disabled.
### 6. Common Examples
Disable defensive mechanics for every boss that does not have a specific override:
```json
{
"global": {
"potionEffects": true,
"damageCapEnabled": false,
"antiCheeseEnabled": false,
"projectileImmunity": false,
"invulnerability": false,
"damageReduction": false,
"damageAdaptation": false,
"phaseDamageReduction": false,
"naturalHealing": false,
"returnToSpawn": false,
"resetPhases": false
}
}
```
Enable a damage cap for one boss, for example limiting `the_obliterator` to 40 damage per hit:
```json
{
"bosses": {
"the_obliterator": {
"damageCapEnabled": true,
"damageCap": 40.0
}
}
}
```
Allow Cloud Golem potion effects and disable projectile immunity:
```json
{
"bosses": {
"cloud_golem": {
"potionEffects": true,
"projectileImmunity": false
}
}
}
```
Disable anti-cheese and return-to-spawn logic for one boss:
```json
{
"bosses": {
"the_warped_one": {
"antiCheeseEnabled": false,
"returnToSpawn": false
}
}
}
```
Set custom invulnerability frames for one boss, for example 5 ticks:
```json
{
"bosses": {
"possessed_paladin_boss": {
"invulnerability": true,
"invulnerabilityTicks": 5
}
}
}
```
### 7. Notes
The config file uses JSON syntax. Do not add a trailing comma after the last field.
You may only write the fields you want to change. LMfix fills missing fields automatically on startup.
If the config becomes invalid, delete `config/bossfix.json` and restart. LMfix will generate a fresh default config.
For dedicated servers, edit the server instance config. For single-player, edit the client instance config.

