Woot The Learning System
The core of Woot's efficiency is its learning system. Before a factory can produce loot, it must understand what a mob drops.
How Learning Works
When a factory is first tasked with a new mob/looting combination, Woot creates a server-wide table stored in Woot.json. To populate this table, the mod:
1. Creates a virtual instance of the mob (not spawned in the world).
2. Kills the entity using a FakePlayer.
3. Captures the LivingDropsEvent to record the items.
4. Repeats this process until a statistically significant sample size is reached.
The Bedrock Learning Area
Some mods spawn items directly into the world during death events rather than adding them to the drop list. To account for this, Woot creates a small 3x3 area at bedrock level (y=0) directly below the factory. This area is used to "hoover up" any items spawned by "naughty" mods during the learning phase. This area must remain clear of blocks for the learning system to function correctly.
Flushing Loot Tables
If you add new mods that change mob drops after Woot has already learned them, you must flush the tables using the /woot flush command or by deleting the Woot.json file in the server's config folder.