Mob Farm Processing - MarkusBordihn/BOs-Easy-Mob-Farm GitHub Wiki
This guide explains how the Mob Farm processes captured mobs and generates loot, including the advanced item buffer system that prevents item loss.
The Mob Farm uses a multi-stage processing system to convert captured mobs into valuable loot. The system is designed to be efficient, lag-free, and scalable for both single-player and multiplayer environments.
- Farm Progress Tracker - Monitors how close the farm is to completing a processing cycle
- Loot Generator - Creates items based on mob type, farm tier, and enhancements
- Item Buffer - Temporarily stores items when output slots are full
- Output Slots - Final storage for processed loot (can be expanded with upgrades)
Every tick (20 times per second), the farm checks its current status:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Is Redstone Power Active? โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Yes โ Status: DISABLED โ
โ No โ Continue to next check โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
States:
- DISABLED - Farm is powered by redstone, no processing occurs
- IDLE - No captured mob or waiting to start
- WORKING - Actively processing
- PROCESSING - Generating loot drops
- FULL - Output slots and buffer are completely full
Every 20 ticks (1 second), the farm increases its progress based on:
-
Base Speed: 20 ticks per cycle (configurable via
farmProgressingTime) -
Tier Bonus:
- Tier 0: +0 ticks
- Tier 1: +2 ticks
- Tier 2: +4 ticks
- Tier 3: +6 ticks
- Speed Enhancements: +6 ticks per speed enhancement item
Formula:
Progress per Cycle = Base Speed + Tier Bonus + Enhancement Bonuses
Example:
- Tier 3 farm with 2 speed enhancements:
20 + 6 + (2 ร 6) = 38 ticks/second - Time to complete:
6000 ticks รท 38 ticks/sec โ 158 seconds (~2.6 minutes)
When progress reaches 6000 ticks (5 minutes by default), the farm generates loot:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. Get Vanilla Loot Tables โ
โ - Entity-specific drops โ
โ - Modified by enchantments โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. Apply Custom Loot Tables โ
โ - OVERWRITE (replaces vanilla) โ
โ - PRIORITY (added first) โ
โ - BONUS (added after vanilla) โ
โ - FALLBACK (if no drops) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. Add Bonus Drops (if configured) โ
โ - Based on farm type + tier โ
โ - Chance-based (1 in X) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. Apply Filters โ
โ - No Meat Filter โ
โ - No Flowers Filter โ
โ - Specific Item Filters โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 5. Store Items (see next section) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The farm attempts to store each item using a two-phase approach:
For each item drop:
For each output slot:
If slot is empty:
โ Place item in slot
โ DONE
If slot has same item AND count < max stack size:
โ Add to existing stack
โ If item fully merged: DONE
โ If partial merge: Continue to next slot
If an item cannot be placed in output slots:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Is Item Buffer Enabled? โ
โ (enableItemBuffer = true) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ YES โ Check buffer space โ
โ NO โ Skip to Phase 3 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Buffer Size < Max Buffer Size? โ
โ (default: 128 items) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ YES โ Add item to buffer queue โ
โ NO โ Buffer is full, go to Phase 3 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
When buffer is full or disabled:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Drop Items to World? โ
โ (dropItemsToWorldWhenBufferFull) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ TRUE โ Drop items as entities โ
โ FALSE โ Void items (deleted forever) โ ๏ธ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The buffer system prevents item loss when output slots are temporarily full, giving extraction systems (hoppers, pipes, etc.) time to remove items.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ITEM BUFFER QUEUE โ
โ [Item 1] โ [Item 2] โ [Item 3] โ ... โ [Item 128] โ
โ โ โ โ
โ INPUT OUTPUT โ
โ (new items) (to output slots)โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Every 20 ticks (1 second) by default, the buffer attempts to move items to output slots:
- Takes first item from buffer queue
- Attempts placement in output slots (same logic as Phase 1)
- If successful: Removes item from buffer, continues to next item
- If failed: Stops processing until next cycle (output slots still full)
- Processes up to 8 items per cycle to avoid lag
New drops always have priority over buffered items:
Processing Cycle:
1. Process new mob drops first
2. Store in output slots or buffer
3. THEN process buffered items (separate tick cycle)
This ensures farms never stall even when buffer is processing old items.
On Server Restart:
- Buffer is automatically cleared to prevent item duplication exploits
- Warning logged if buffer had items:
"Cleared X buffered items on load"
During Normal Operation:
- Buffer persists between chunks loading/unloading
- Items remain in buffer until successfully placed or server restarts
All settings are in config/easy_mob_farm/mob_farm.cfg:
# Time in ticks for farm to complete one processing cycle
# Default: 6000 (5 minutes)
# Lower = faster processing, higher = slower
farmProgressingTime=6000
# Tier progression speed bonuses
tier0progressionUpgradeSpeed=0
tier1progressionUpgradeSpeed=2
tier2progressionUpgradeSpeed=4
tier3progressionUpgradeSpeed=6
# Speed enhancement upgrade bonus
speedEnhancementUpgradeSpeed=6# Whether farms only process when the owner is online
# Default: false
# Set to true to prevent offline resource accumulation
progressingRequiresOwnerToBeOnline=false# Enable temporary item buffer when output slots are full
# Default: true
# Set to false to disable buffer (items may be lost/voided)
enableItemBuffer=true
# Maximum number of items that can be buffered
# Default: 128
# Higher values = more temporary storage, more memory usage
maxBufferSize=128
# Ticks between buffer processing attempts
# Default: 20 (1 second)
# Lower = faster buffer clearing, higher = less frequent processing
bufferProcessInterval=20
# Drop items to world when buffer is full
# Default: false (items are voided instead)
# WARNING: true may cause lag with many item entities
dropItemsToWorldWhenBufferFull=false# Maximum multiplier for bonus drop amounts vs item stack size
# Default: 100
# Example: Diamond (stack size 64) can have up to 6400 configured
maxBonusDropMultiplier=100Symptoms:
- Farm progress stops
- Status indicator shows "FULL"
- No loot being produced
Solutions:
-
Check Output Slots:
- Are all output slots full?
- Add more slot upgrade items (up to 27 total slots)
- Connect hoppers/pipes to extract items faster
-
Check Buffer:
- Buffer may be full (128 items by default)
- Increase
maxBufferSizeif using high-output farms - Check extraction system is working
-
Check Logs:
[WARN] Buffer full at (x, y, z), voiding items- Items are being deleted - increase buffer size or improve extraction
-
Temporary Fix:
- Remove items manually from output slots
- Farm will resume automatically within 10 seconds (200 ticks)
Symptoms:
- Warning logs:
"voiding items (dropItemsToWorldWhenBufferFull=false)" - Expected items not appearing
Solutions:
-
Enable Dropping to World (temporary):
dropItemsToWorldWhenBufferFull=trueโ ๏ธ May cause lag with many farms -
Increase Buffer Size:
maxBufferSize=1024 # or higher
-
Improve Item Extraction:
- Add more hoppers
- Use faster pipes (from other mods)
- Add more output slot upgrades
-
Reduce Processing Speed:
farmProgressingTime=12000 # Double the time (10 minutes)
Symptoms:
- Takes forever to get drops
- Progress bar barely moves
Solutions:
-
Upgrade Farm Tier:
- Higher tiers = faster processing
- Tier 3 is ~40% faster than Tier 0
-
Add Speed Enhancements:
- Each enhancement adds +6 ticks/second
- Up to 6 enhancement slots available
-
Adjust Config:
farmProgressingTime=3000 # Half the default time (2.5 minutes)
-
Check for Redstone:
- Farm is disabled if powered by redstone
- Remove any adjacent redstone signals
Symptoms:
- Only vanilla drops appearing
- Expected bonus items missing
Solutions:
-
Check Configuration:
- Open
config/easy_mob_farm/mob_farm_bonus.cfg - Verify entry exists for your farm type + tier + mob
- Format:
farm_type::tier::entity = item::amount::chance
- Open
-
Understand Chance:
- Chance is
1 in X - Lower number = higher probability
- Example:
chance=5means 1 in 5 (20%)
- Chance is
-
Check Filters:
- Filter items may be blocking bonus drops
- Remove filter items to test
-
Verify Mob Type:
- Farm type must match mob type
- Example: Bees only work in Bee Hive Farm
Symptoms:
- Items still being lost despite buffer enabled
- Buffer never fills up
Diagnostic Steps:
-
Check Config:
enableItemBuffer=true # Must be true maxBufferSize=128 # Must be > 0
-
Check Logs:
- Debug mode shows buffer activity
"adding X to buffer (size: Y/128)"
-
Verify Farm Status:
- Buffer only activates when output slots are full
- If slots have space, items go directly to slots (bypassing buffer)
-
Test Setup:
- Fill all output slots manually
- Let farm process once
- Check logs for buffer messages
-
Stagger Processing Delays:
- Farms automatically randomize their processing tick to avoid simultaneous processing
- Spreads server load across ticks
-
Optimize Buffer Size:
- Larger buffers = less item loss
- But more memory usage
- Recommended: 256-1024 per farm
-
Use Efficient Extraction:
- Avoid item entities (keep
dropItemsToWorldWhenBufferFull=false) - Use direct pipe connections
- Consider bulk storage systems
- Avoid item entities (keep
-
Adjust Processing Time:
- Longer cycles = less frequent processing
- Reduces server overhead
- Balance with desired output rate
-
High-Capacity Storage Mods:
- Refined Storage
- Applied Energistics 2
- Functional Storage
- Can handle extreme drop rates
-
Fast Transport:
- LaserIO
- XNet
- Integrated Dynamics
- Extract items faster than buffer fills
-
Stack Size Mods:
- If using stack size multipliers
- Increase
maxBonusDropMultiplieraccordingly - Example: 64x stacks โ set to 6400
For developers and advanced users:
private final Queue<ItemStack> itemBuffer = new LinkedList<>();
private int bufferProcessTick = 0;- Queue (FIFO): First-In-First-Out ensures oldest items are processed first
- Per-Instance: Each farm has its own independent buffer
- Non-Persistent: Cleared on server restart (prevents duplication)
// Every bufferProcessInterval ticks
if(level.getGameTime() %bufferProcessInterval ==bufferProcessTick){
processBufferedItems(); // Process up to 8 items
}Bonus drops are validated on config load:
// Check amount vs item max stack size
int maxStackSize = item.getMaxStackSize();
int maxAllowed = maxStackSize * maxBonusDropMultiplier;
if(configuredAmount >maxAllowed){
log.
warn("Capping {} to {}",configuredAmount, maxAllowed);
itemStack.
setCount(maxAllowed);
}