Bloody Bits Fix

Quick rating

Community listing page, reviews here may not be monitored by the author.

Bloody Bits Fix

No reviews yet

Fixes client crash (Ticking entity) in CravenCraft’s Bloody Bits v1.3.3 by safely handling CLIENT_SIDE_BLOOD_SPRAYS overflow and avoiding Map#get(0) NPE. Client-side only.

Mod Loaders
Minecraft

About

Description

Bloody Bits Fix

A small compatibility patch for CravenCraft’s Bloody Bits v1.3.3 on Forge 1.20.1 that prevents client crashes (Ticking entity) caused by a NullPointerException in BloodSprayEntity#setClientBloodColor.


🩸 What Was Broken

When the internal CLIENT_SIDE_BLOOD_SPRAYS map overflowed, the original code called map.get(0) and attempted to access a null entry, leading to crashes during heavy blood-particle activity.


🧩 What This Fix Does

Rewrites the method via Mixin overwrite:
• Safely synchronizes state of respawned sprays (including life).
• When the limit (CommonConfig.maxSpatters()) is reached, removes the oldest entry instead of key 0.
• Calls discard() before removal.
• Fully eliminates all NullPointerException cases.


⚙️ Installation

1️⃣ Install Bloody Bits 1.3.3.
2️⃣ Drop bloodybitsfix-1.0.1.jar into your /mods/ folder.


✅ How to Verify

✔️ Spawn large hordes to generate blood sprays.
✔️ Confirm that no crash occurs.
✔️ The total number of splatters stabilizes around the configured maxSpatters limit.


🧠 Notes

• life duration behavior matches the original implementation.
• To further reduce visual load, lower maxSpatters in the Bloody Bits config.


🔗 Dependencies

Required: Bloody Bits (by CravenCraft)


💬 Community patch developed and tested by MsMurk — keeping Forge stable and bloody! 🩸