MOBS AND WALK ANIMATIONS NOW LIVE IN entities.csv

Experimental Storm Generator: use soulstorm_generator in a STRUCTURE BLOCK
above a solid floor. It uses a dedicated native spawn volume, not a prop.
Its standalone behavior outside a timed Soul Storm is untested. Use a
disposable offline save. Ambush-wave linking is not supported yet.

Open entities.csv beside MaptoMCD2_Compiler.bat.
Read ENTITIES_GUIDE.txt in the same folder for columns, state options and examples.
These CSV instructions replace the earlier Python/C# code-edit instructions.

TRY SPIDER
1. In Minecraft Creative, run: /give @s minecraft:structure_block
2. Place it directly on a solid floor with clear space above and around it.
3. Switch to LOAD mode and enter minecraft:spider.
4. Choose rotation and click Done, NOT Load.
5. Save and Quit Minecraft. Rebuild/install with MCD II closed; test offline.

The spider CSV row is enabled with state walk, its own Spider_Walk animation,
FullBody slot and playback_rate 1. Spider is compile-checked but still needs
in-game validation. Baby zombie native spawning is the tested mob path.

CUSTOM MOD MOB
The Mooshroom marker is registered in custom_mobs.json beside entities.csv.
Enter mooshroom or mooshroom_N (for example mooshroom_3) in a structure
block's Structure Name field. The number requests that many spawns if clear
floor positions are available. Click Done, save and close the Minecraft world,
then rebuild the map. The earlier mooshroom1 marker remains an alias. On install,
the compiler adds Mooshroom2 only when
the built map contains a Mooshroom marker; installing a map without one removes
the compiler-managed Mooshroom mod. Close MCD II before installing.
This is a separate SW.Mob.Mooshroom02 type with its own Blueprint, model,
animations and 100 HP. It does not replace an existing mob.

CHANGE A MOB
- name: the structure-block marker name (without minecraft:).
- enabled: true/false. false disables the marker; remove it from your world.
- state: native (game-controlled animations) or walk (walking helper enabled).
- animation and slot: verified assets for that mob's own skeleton.
- playback_rate: 1 normal, 0.8 slower, 1.2 faster; does not alter AI speed.
- spawn_offset: increase to raise or decrease to lower; 100 units = one block.
- clearance: required empty height in Minecraft blocks.
- collision: keep native for mobs.

MOB COUNTS
- Every enabled mob marker uses a native game spawn definition and volume.
  For example, zombie requests one; zombie_2 requests two from one volume.
- One and two baby zombies were observed in the test map. Other types now
  compile through the same path, but their AI and counts need in-game tests.
- Bosses, flying mobs, pets and friendlies may need special game setup; the
  compiler cannot guarantee that every type will behave like baby zombies.
- Extra mobs need nearby clear floor positions; the compiler reports how many
  positions were available if the requested count does not fit.

The game still controls attacks, hit reactions and death. No custom attack,
death or idle-state override is implemented. Do not put those names in state.
The shared helper retains floor, bounds, stopping and active-montage checks.
Put specific subclasses above parent rows; first matching walk profile wins.

CHECK YOUR BUILD
In Maps\<map name>\<newest build>, placement.json must contain the mob's tag,
e.g. SW.Mob.Spider. HavenDoor.generated.cs contains the generated walk calls.
The build's entities.csv is a snapshot; edit the master beside the BAT instead.

Search recipe\MOB_NAMES.txt for available markers. Native definitions are in:
GameExtract\Dungeons\Content\Spicewood\Core\DataTables\UFS\DT_Mob*.json.
Use a real tag and its matching character path; the compiler validates them.

Test approach/turning, walking/stopping, attacks/damage, hits/death, then check
a familiar zombie and chest. If it fails, restore your CSV backup and rebuild.
No changes to portals, area JSON, loot, terrain or water are needed.

Runtime diagnostic Log.Write calls are stripped from v2 builds. Check the
compiler build log for compile errors, then verify behavior in game.
Local files only; nothing is uploaded automatically.
