================================================================================
                    CUSTOM MOB SPAWNER MOD
                        Configuration Guide
================================================================================

TABLE OF CONTENTS
--------------------------------------------------
1. Getting Started
2. Configuration Fields
   2.1. Basic Settings
   2.2. Equipment & Armor
   2.3. Attributes & Stats
   2.4. Potion Effects
   2.5. Custom Drops
   2.6. Spawn Conditions
   2.7. Behavior Modifiers
   2.8. Visual Effects
   2.9. Special Behaviors
3. Commands
4. Tips & Best Practices
5. Troubleshooting

1. GETTING STARTED
==================================================
This mod allows you to create custom mob configurations that automatically
apply to naturally spawned mobs, mobs from spawners, and spawn eggs.

HOW TO CREATE CONFIGURATIONS:
1. Navigate to: config/CustomMobSpawner/Mobs/
2. Create a new .json file (e.g., 'super_zombie.json')
3. Add your configuration using the fields described below
4. Use '/cms reload' in-game to reload configurations
5. Use '/cms list' to see all loaded configurations

BASIC STRUCTURE:
{
  "mobID": "minecraft:zombie",
  "spawnRate": 25.0,
  "customName": "§4Super Zombie",
  // Add more fields as needed...
}

EXAMPLE FILES PROVIDED:
- enhanced_zombie.json - Basic enhanced zombie with better equipment
- boss_skeleton.json - Powerful boss mob with custom drops
- nether_piglin.json - Dimension-specific spawning example

2. CONFIGURATION FIELDS
==================================================

2.1. BASIC SETTINGS
------------------------------
mobID (String, Required):
  The entity type to customize (e.g., "minecraft:zombie")

spawnRate (Double, Default: 100.0):
  Percentage chance this configuration applies (0.0-100.0)

customName (String, Optional):
  Custom display name for the mob. Use § for color codes
  Examples: "§4Red Name", "§l§eBold Yellow"

hasBossBar (Boolean, Default: false):
  Whether to show a boss bar for this mob

bossBarColor (String, Default: "RED"):
  Boss bar color: RED, BLUE, GREEN, YELLOW, PURPLE, PINK, WHITE

bossBarStyle (String, Default: "SOLID"):
  Boss bar style: SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20

2.2. EQUIPMENT & ARMOR
------------------------------
Equipment fields (all optional):
  helmet, chestplate, leggings, boots, weapon, offhand
  Value: Item ID (e.g., "minecraft:netherite_helmet")

Drop chance fields:
  helmetDropChance, chestplateDropChance, leggingsDropChance,
  bootsDropChance, weaponDropChance, offhandDropChance
  Value: Percentage (0.0-100.0), Default: 8.5

NBT Data fields:
  helmetNBT, chestplateNBT, leggingsNBT, bootsNBT, weaponNBT, offhandNBT
  Value: NBT string (e.g., "{Enchantments:[{id:\"sharpness\",lvl:5}]}")

2.3. ATTRIBUTES & STATS
------------------------------
extraHealth (Double, Default: 0.0):
  Additional health points (20.0 = 10 hearts)

extraDamage (Double, Default: 0.0):
  Additional attack damage

extraSpeed (Double, Default: 0.0):
  Additional movement speed (0.1 = 10% faster)

extraDefence (Double, Default: 0.0):
  Additional armor points

knockbackResistance (Double, Default: 0.0):
  Knockback resistance (0.0-1.0, 1.0 = immune)

followRange (Double, Default: 0.0):
  Additional follow range for targeting

Other attributes:
  attackSpeed, flyingSpeed, luck, armorToughness,
  jumpStrength, swimSpeed

2.4. POTION EFFECTS
------------------------------
potionEffects (Array, Optional):
  [
    {
      "effect": "minecraft:strength",
      "duration": 999999,
      "amplifier": 2,
      "ambient": false,
      "visible": true,
      "showIcon": true
    }
  ]
Common effects: strength, speed, regeneration, resistance,
fire_resistance, water_breathing, invisibility, night_vision

2.5. CUSTOM DROPS
------------------------------
customDrops (Array, Optional):
  [
    {
      "item": "minecraft:diamond",
      "count": 1,
      "minCount": 1,
      "maxCount": 3,
      "dropChance": 50.0,
      "onlyIfKilledByPlayer": true,
      "nbt": "{display:{Name:\"\\\"Custom Item\\\"\"}}"
    }
  ]
Note: NBT strings must have proper JSON escaping for quotes

2.6. SPAWN CONDITIONS
------------------------------
allowedDimensions (Array, Optional):
  ["minecraft:overworld", "minecraft:nether", "minecraft:the_end"]

allowedBiomes (Array, Optional):
  ["minecraft:plains", "minecraft:forest"]

Light and altitude conditions:
  minLightLevel, maxLightLevel (0-15)
  minAltitude, maxAltitude (-64 to 320)

Time and weather conditions:
  spawnOnlyAtNight, spawnOnlyDuringDay (Boolean)
  requireRain, requireThunderstorm (Boolean)

Location conditions:
  spawnInWater, spawnOnSurface, spawnUnderground (Boolean)

2.7. BEHAVIOR MODIFIERS
------------------------------
isHostile (Boolean):
  Force mob to be hostile or passive

canPickupItems (Boolean, Default: true):
  Whether mob can pick up items

isPersistent (Boolean, Default: false):
  Prevent despawning

Immunity settings:
  immuneToFire, immuneToFallDamage, immuneToDrowning,
  immuneToExplosions (Boolean)

Movement restrictions:
  cannotMove, cannotAttack (Boolean)

Other behaviors:
  canBreakBlocks, alwaysShowNameTag (Boolean)

2.8. VISUAL EFFECTS
------------------------------
glowing (Boolean, Default: false):
  Makes mob glow (outline effect)

invisible (Boolean, Default: false):
  Makes mob invisible

scale (Double, Default: 1.0):
  Mob size multiplier (requires Pehkui mod)

silent (Boolean, Default: false):
  Removes all mob sounds

noGravity (Boolean, Default: false):
  Makes mob float/fly

invulnerable (Boolean, Default: false):
  Makes mob immune to all damage

2.9. SPECIAL BEHAVIORS
------------------------------
explodeOnDeath (Boolean, Default: false):
  Mob explodes when killed

explosionPower (Double, Default: 4.0):
  Explosion strength (4.0 = TNT strength)

teleportOnHurt (Boolean, Default: false):
  Mob teleports when taking damage

healOverTime (Double, Default: 0.0):
  Health regeneration per second

burnInSunlight (Boolean, Default: false):
  Forces mob to burn in sunlight

experienceMultiplier (Double, Default: 1.0):
  XP drop multiplier when killed

Custom sounds:
  customDeathSound, customHurtSound, customAmbientSound (String)
  Use sound IDs like "minecraft:entity.zombie.death"

3. COMMANDS
==================================================
All commands require OP permissions (level 2)

/cms reload
  Reloads all custom mob configurations from files
  Use this after editing configuration files

/cms list
  Lists all loaded custom mob configurations
  Shows configuration name, mob type, and spawn rate

/cms info <mobName>
  Shows detailed information about a specific configuration
  Replace <mobName> with the configuration file name (without .json)
  Example: /cms info enhanced_zombie

4. TIPS & BEST PRACTICES
==================================================
NAMING CONVENTIONS:
• Use descriptive file names (e.g., 'boss_skeleton.json')
• Keep configuration names consistent and organized

SPAWN RATES:
• Lower spawn rates for powerful mobs (1.0-5.0%)
• Medium spawn rates for enhanced mobs (10.0-25.0%)
• Higher spawn rates for minor modifications (50.0-100.0%)

PERFORMANCE:
• Avoid too many boss bars simultaneously
• Use reasonable potion effect durations
• Test configurations in creative mode first

COLOR CODES (use § symbol):
• §0 Black    §1 Dark Blue    §2 Dark Green   §3 Dark Aqua
• §4 Dark Red §5 Dark Purple  §6 Gold         §7 Gray
• §8 Dark Gray§9 Blue         §a Green        §b Aqua
• §c Red      §d Light Purple §e Yellow       §f White
• §l Bold     §o Italic       §n Underline    §m Strikethrough
• §k Obfuscated §r Reset

NBT FORMATTING:
• Use proper JSON escaping for quotes
• Test NBT data in creative mode with /give commands
• Common enchantment IDs: sharpness, protection, efficiency
• Example: "{Enchantments:[{id:\"sharpness\",lvl:5}]}"

TESTING:
• Use '/cms reload' to test changes without restarting
• Start with simple configurations and add complexity gradually
• Use spawn eggs in creative mode for quick testing

BALANCING:
• Scale health and damage appropriately for gameplay
• Consider using spawn conditions to limit powerful mobs
• Provide appropriate rewards through custom drops

5. TROUBLESHOOTING
==================================================
CONFIGURATION NOT LOADING:
• Check JSON syntax with an online JSON validator
• Ensure file is saved with .json extension
• Look for error messages in the server log
• Use '/cms reload' to reload after changes

MOB NOT SPAWNING WITH CUSTOMIZATIONS:
• Verify mobID is correct (e.g., "minecraft:zombie")
• Check spawn rate - lower values spawn less frequently
• Ensure spawn conditions are met (dimension, biome, etc.)
• Test with spawn eggs in creative mode

EQUIPMENT NOT APPEARING:
• Check item IDs are valid
• Ensure mob can wear the equipment type
• Some mobs have equipment restrictions
• Verify drop chances are set if you want guaranteed drops

NBT DATA NOT WORKING:
• Validate NBT syntax with Minecraft commands
• Use proper JSON escaping for quotes
• Test NBT with /give command first
• Check that the item supports the NBT tags used

BOSS BAR NOT SHOWING:
• Ensure 'hasBossBar' is true
• Check if mob has a custom name
• Boss bars only show to nearby players
• Verify bossBarColor and bossBarStyle are valid

POTION EFFECTS NOT APPLYING:
• Check effect names are correct (e.g., "minecraft:strength")
• Ensure duration and amplifier values are reasonable
• Some effects may not be visible on certain mobs
• Use '/effect' command to test effect compatibility

PERFORMANCE ISSUES:
• Reduce number of simultaneous boss bars
• Lower potion effect durations if excessive
• Use spawn conditions to limit mob density
• Consider reducing particle effects and visual enhancements

LOG FILE LOCATIONS:
• Server: logs/latest.log
• Client: .minecraft/logs/latest.log
• Look for '[CustomMobSpawner]' entries
• Error messages will indicate the specific problem

GETTING HELP:
• Check the mod's documentation and examples
• Include your configuration file when reporting issues
• Provide relevant error logs from the game
• Test with minimal configurations to isolate problems

================================================================================
Thank you for using Custom Mob Spawner!
Version: 1.0.0 | For Minecraft 1.20.1
================================================================================
