
Features
🩸 Dynamic blood effects
Blood particles paint dynamic blood splatters on surfaces like walls and floors rather than simply creating particles, to improve performance and aesthetics.
🩹 Low HP dripping
Mobs below 35% health will contantly bleed (roughly 1 drop every 2 - 4 seconds)
🪜 Dynamic surface adaption
Because of the way the mod works, the splatters will adapt to slabs, stairs, and other blocks, rather than hanging off the edge.
📄 Simple configuration menu
The config menu is simple, yet gives you a lot of control over the mod, from color saturation config to blood particle size config (requires mod menu mod if on fabric)
🌈 Entity specific blood colors
Different mobs have different blood colors, such as red, purple, green, and yellow blood.

Blood splatters are bound to a 16x16 pixel grid per block, making the blood splatters fit better into the world compared to previous versions of RedFX.
Trailer: (outdated)
Blood colors
- Red blood
- Blue blood (Warden)
- White blood? (All skeletons)
- Purple blood (Enderman/Ender Dragon)
- Green blood (Slime/Creeper)
- Lava blood (Magma cube/Blaze)
Compatibility
RedFX is compatible with Physics Mod by Haubna, however, you must disable block particle physics in general settings
Important notes
-The NeoForge port has been fixed and now works.
How to Install RedFX (Blood Particle) (Mod)
RedFX (Blood Particle) by Drinfonty is verified for Fabric, Neoforge across Minecraft versions 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5 (latest release: 3.2.0-mc26.3.x-neoforge, file size: 179 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5) and platform (Fabric, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Neoforge.
- Move the downloaded RedFX (Blood Particle) file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 |
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k
A major visual and polish update introducing **organic procedural splatter shapes with satellite droplets**, **seamless blood pool melding**, **world-space mottled liquid shading**, and important **bug fixes and rendering optimizations** across all supported Minecraft versions.
### Highlights
- Procedural Organic Splatters & Satellite Droplets**:
- Dynamic Blob Generation**: Replaced fixed 16×16 static bitmasks with procedural organic silhouettes perturbed by low-frequency angular harmonics and per-texel jitter. Every blood impact now forms a uniquely shaped puddle rather than repeating the same stamp patterns.
- Satellite Droplets & Tendrils**: Impacts now cast realistic satellite droplets and thin connecting tendrils outward, capturing the high-velocity kinetic spray of combat and naturally bridging adjacent splatter impacts.
- Organic Pool Melding**: Overlapping blood splatters in [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java) now smoothly blend colors (averaging RGB while preserving the dominant alpha) rather than creating harsh cuts or hard overwrites, forming cohesive pools of blood on the ground. - Continuous Mottled Shading**: Liquid color texturing is now computed using global world-space coordinates, ensuring seamless, unified lighting and liquid variation across adjacent blocks and merging splatters.
- Bug Fixes & Correctness**:
- Particle Alpha Reflection Fix on 26.x**: Fixed a silent
WrongMethodTypeExceptioninParticleAlphaHelperon Minecraft 26.x wheresetAlphawas moved toSingleQuadParticle, properly adapting method handle types and prioritizingsetAlpha/method_3084name lookups. - Removed Duplicate Underwater Smoke**: Fixed an issue where underwater blood clouds were registered twice with
ParticleEngine, causing them to tick twice per game tick and expire at $2\times$ speed. - Broken Block Pending Decal Cleanup**: Decal clearing now purges queued delayed stages from [
ClientCanvasStore](file:///home/ptphong/Projects/Minecraft/RedFX/common/src/main/java/com/drinfonty/redfx/client/ClientCanvasStore.java), preventing floating blood decals from appearing in mid-air if a block was destroyed while gradual splatter or wall-drip blossoms were still in progress. - Accurate Weapon Scaling Attribution**: Damage source attribution now checks the actual
LivingEntityattacker fromDamageSourcerather than falsely applying the local player's held weapon multiplier to environmental damage or mobs fighting nearby. - Low-Health Drip Alpha Consistency**: Ensured low-health dripping particles properly apply configured
bloodOpacityandparticleLifetimeSecondsidentically to impact particles.
- Performance & Code Simplifications**:
- NeoForge Dynamic Model Cache Optimization**: Normalized
Canvastimestamps inSurfaceCanvasso NeoForge's quad cache k