Lightweight Blood Mechanics
A simple, lightweight, mod that adds semi-realistic bleeding effects and health stats to the game. PvP is no longer what it used to be. You may have won the fight, but you may not win the battle.
DISCLAIMER: This mod can be quite intensive due to the amount of particles it spawns. If you have a lower end system you will need to tweak the config to reduce the amount of output particles.
Summary
To begin, the first thing you'll notice in survival mode is that a meter has been added directly to the right of the hotbar. This meter shows you your current blood loss. If the meter is full, you're healthy and ready to battle. If the meter is low, you may begin to get lightheaded. This effect will continue on until you treat your wounds with gauze and regenerate ~40% of your blood. Regeneration takes time, you will need to be patient. If you loose enough blood, you will eventually loose all vision, and shortly after; die of blood loss.
Fatal Bleeds
The worst type of bleed you can get is a Fatal Bleed. Fatal bleeds last a minute and are triggered if you loose 3 hearts of health or more. If you get hurt again, an additional 30 seconds will be added to the length of this bleed. This type of bleed will most certainly kill you if not treated quickly. In addition, you will bleed all over the world, which may allow your opponent to track you easier.
Bleed
A standard bleed. This one is not fatal, but will certainly still kill you, especially if paired with a fatal bleed. This type of bleed is triggered if you receive 1.5 hearts of damage or more. Similar to fatal bleeds, this bleed will last 60 seconds the first time, and an additional 30 seconds each additional time you get hurt. Although both types of bleeds are technically potion effects, they can not be cleared by drinking milk. You must use gauze to remove a bleed effect.
Gauze
Gauze is the only way to resolve a bleed. Milk will not remove a bleed effect. You can hold 64 in a single stack, and it takes approximately 6.4 seconds to use it. Bleeding effects will immediately be removed. This alone is not enough to regenerate blood. To regenerate your blood you must have a full health bar. Only then will the blood bar slowly fill back up. In addition, this does not remove the lightheaded effect or the blindness effect. Your blood bar must fill back up near halfway to remove these effects. The effect takes 30 seconds to wear off.
Blood Particles
Blood particles are emitted from your body or any living entity that is injured. Fatal injuries emit more blood than normal injuries. These particles take 2 minutes 30 seconds maximum to fade away, 2 minutes minimum. A hit of any sort above 1.5 hearts will cause your player to emit additional blood and loose blood in the blood meter. This effect intensifies the greater the damage is.
Impact caused blood pools
If you happen to explode, the resulting effect is not quite so pretty. Little bits of your DNA will splatter across the land.
It should be noted that these effects do not simply apply to players, but all living entities. See examples below:
Multi-Pig-Explosion
Creeper Blood
Enderman Blood
Enderman explosion
Slime blood
Zombie blood
Lightheaded Effect
The effect that will be automatically engaged once you've lost too much blood.
Configuration
This mod is highly configurable via its config file. Settings and their descriptions will be added here at a future time.
Installation Requirements
Lightweight Blood Mechanics requires Minecraft Forge and MDX. MDX can be found on CurseForge as well.
Copyright (C) 2019 ASX
Add an Issue tracker, please. Crashes with Better Animals Plus, Quark, Ice and Fire, and many other mods.
https://pastebin.com/7yz0cbev
In reply to MagmaSlime_123:
Don't use the newest mdxlib! Use 3.0.0.20
Hey Guys. TLauncher Crash:
The Mod-pack could not be started. Most likely, the problem occurred because of the
installed mod or resource packs. (Incompatibility with some mods or low-quality mods)
We recommend to disable all mods and activate one or several in order to understand what
causes the problem.(Try installing different versions of the problemtic mod or resource pack)
For a more precise definition, the "developer Console" was called. Use the following guidelines
for working with console
how do i tweak settings. game just crashes after i am bleeding
is it possible to change the color of player blood to pink, by any chance?
Is there a way to make the blood particles last on the ground longer?
1.16 plz
How do I use the config file to modify the mod? I don't know how to do it.
In reply to siggywiggy23:
idk lol
ohhhhh, its not twentey seconds, its actuly when the effect ends, and also, i cant join my world after word
also this is a very good mod please keep updating it
HELP, When ever i get hit, its perfectiley fine, untill 20 seconds later. my game crashes! it so wierd, bc i trolled my brother with this mod, and its fine! heres my crash report
---- Minecraft Crash Report ----
WARNING: coremods are present:
FMLModule (mdxlib-3.0.0.20(1).jar)
Contact their authors BEFORE contacting forge
// Don't do that.
Time: 1/6/22 12:12 PM
Description: Unexpected error
java.lang.NullPointerException: Unexpected error
at com.asx.mdx.lib.util.Reflect.get(Reflect.java:129)
at com.asx.lbm.client.Shaders.enableLightheaded(Shaders.java:29)
at com.asx.lbm.common.Events.render(Events.java:92)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_63_Events_render_RenderWorldLastEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(ForgeHooksClient.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.optifine.reflect.Reflector.callVoid(Reflector.java:669)
at net.minecraft.client.renderer.EntityRenderer.func_175068_a(EntityRenderer.java:1959)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1621)
at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1390)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1119)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Client thread
Stacktrace:
at com.asx.mdx.lib.util.Reflect.get(Reflect.java:129)
at com.asx.lbm.client.Shaders.enableLightheaded(Shaders.java:29)
at com.asx.lbm.common.Events.render(Events.java:92)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_63_Events_render_RenderWorldLastEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(ForgeHooksClient.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.optifine.reflect.Reflector.callVoid(Reflector.java:669)
at net.minecraft.client.renderer.EntityRenderer.func_175068_a(EntityRenderer.java:1959)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1621)
-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['RJ_Gamer80'/195, l='MpServer', x=14.79, y=4.00, z=-533.07]]
Chunk stats: MultiplayerChunkCache: 121, 121
Level seed: 0
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options:
Level spawn location: World: (9,4,-502), Chunk: (at 9,0,10 in 0,-32; contains blocks 0,0,-512 to 15,255,-497), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
Level time: 18193 game time, 3494 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
Forced entities: 56 total; [EntityItem['item.item.arrow'/128, l='MpServer', x=48.52, y=4.00, z=-592.47], EntityItem['item.item.bone'/129, l='MpServer', x=48.22, y=4.00, z=-592.93], EntityCow['Cow'/130, l='MpServer', x=57.20, y=4.00, z=-552.35], EntityItem['item.item.rottenFlesh'/131, l='MpServer', x=54.20, y=4.00, z=-542.10], EntityItem['item.item.rottenFlesh'/132, l='MpServer', x=61.89, y=4.00, z=-531.92], EntityChicken['Chicken'/133, l='MpServer', x=55.17, y=4.00, z=-524.11], EntityItem['item.item.egg'/134, l='MpServer', x=54.61, y=4.00, z=-523.23], EntityItem['item.item.rottenFlesh'/135, l='MpServer', x=63.32, y=4.00, z=-520.07], EntityItem['item.item.rottenFlesh'/136, l='MpServer', x=59.35, y=4.00, z=-525.82], EntityChicken['Chicken'/137, l='MpServer', x=52.18, y=4.00, z=-509.37], EntityChicken['Chicken'/138, l='MpServer', x=52.10, y=4.00, z=-508.24], EntityItem['item.item.egg'/139, l='MpServer', x=50.23, y=4.00, z=-506.37], EntitySheep['Sheep'/140, l='MpServer', x=48.25, y=4.00, z=-496.23], EntityItem['item.item.rottenFlesh'/58, l='MpServer', x=-44.87, y=4.00, z=-579.91], EntityPig['Pig'/60, l='MpServer', x=-47.50, y=4.00, z=-569.50], EntityItem['item.item.rottenFlesh'/61, l='MpServer', x=-42.21, y=4.00, z=-562.62], EntityPig['Pig'/62, l='MpServer', x=-39.35, y=4.00, z=-544.34], EntityItem['item.item.arrow'/63, l='MpServer', x=-42.25, y=4.00, z=-512.61], EntityItem['item.item.arrow'/70, l='MpServer', x=-28.76, y=4.00, z=-576.88], EntityItem['item.item.bone'/71, l='MpServer', x=-27.57, y=4.00, z=-577.31], EntityPig['Pig'/72, l='MpServer', x=-27.68, y=4.00, z=-567.56], EntitySlime['Slime'/73, l='MpServer', x=-24.12, y=4.00, z=-533.91], EntitySlime['Slime'/74, l='MpServer', x=-30.94, y=4.00, z=-478.33], EntityPlayerSP['RJ_Gamer80'/195, l='MpServer', x=14.79, y=4.00, z=-533.07], EntitySlime['Slime'/83, l='MpServer', x=-2.88, y=5.25, z=-587.24], EntityItem['item.item.arrow'/84, l='MpServer', x=-5.09, y=4.00, z=-552.67], EntitySlime['Slime'/85, l='MpServer', x=-10.35, y=4.00, z=-483.97], EntityChicken['Chicken'/86, l='MpServer', x=-7.73, y=4.00, z=-490.91], EntitySlime['Slime'/87, l='MpServer', x=-6.87, y=4.00, z=-473.97], EntitySlime['Slime'/88, l='MpServer', x=-6.14, y=4.00, z=-481.87], EntitySlime['Slime'/92, l='MpServer', x=0.81, y=4.00, z=-595.90], EntitySheep['Sheep'/93, l='MpServer', x=15.49, y=4.00, z=-530.20], EntityItem['item.item.muttonRaw'/94, l='MpServer', x=15.21, y=4.00, z=-517.55], EntityItem['item.tile.dirt.default'/95, l='MpServer', x=11.99, y=4.00, z=-519.21], EntityXPOrb['Experience Orb'/96, l='MpServer', x=14.62, y=4.00, z=-520.75], EntityXPOrb['Experience Orb'/97, l='MpServer', x=15.32, y=4.00, z=-520.75], EntityCreeper['Creeper'/98, l='MpServer', x=7.57, y=4.00, z=-524.24], EntityItem['item.item.rottenFlesh'/99, l='MpServer', x=12.68, y=4.00, z=-506.78], EntityPig['Pig'/100, l='MpServer', x=2.41, y=4.00, z=-483.28], EntityChicken['Chicken'/101, l='MpServer', x=9.17, y=4.00, z=-480.27], EntityItem['item.item.egg'/102, l='MpServer', x=4.07, y=4.00, z=-474.43], EntityItem['item.item.egg'/103, l='MpServer', x=2.17, y=4.00, z=-472.65], EntitySlime['Slime'/109, l='MpServer', x=19.78, y=4.00, z=-594.70], EntitySlime['Slime'/110, l='MpServer', x=27.15, y=4.00, z=-567.43], EntityWitch['Witch'/111, l='MpServer', x=16.32, y=4.00, z=-557.48], EntityItem['item.tile.cloth.white'/112, l='MpServer', x=16.26, y=4.00, z=-518.44], EntityChicken['Chicken'/113, l='MpServer', x=17.85, y=4.00, z=-488.54], EntityItem['item.item.arrow'/117, l='MpServer', x=44.92, y=4.00, z=-587.15], EntityItem['item.item.bone'/118, l='MpServer', x=45.65, y=4.00, z=-587.00], EntitySlime['Slime'/119, l='MpServer', x=32.85, y=4.00, z=-582.85], EntitySlime['Slime'/120, l='MpServer', x=39.63, y=5.25, z=-567.63], EntityChicken['Chicken'/121, l='MpServer', x=45.88, y=4.00, z=-518.62], EntityChicken['Chicken'/122, l='MpServer', x=44.20, y=4.00, z=-519.63], EntityCow['Cow'/123, l='MpServer', x=42.17, y=4.00, z=-484.65], EntityChicken['Chicken'/124, l='MpServer', x=46.23, y=4.00, z=-491.53], EntitySlime['Slime'/125, l='MpServer', x=38.22, y=4.00, z=-482.35]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:532)
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2741)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:427)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Linux (amd64) version 5.10.0-kali9-amd64
Java Version: 1.8.0_202, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 401230576 bytes (382 MB) / 738197504 bytes (704 MB) up to 13958643712 bytes (13312 MB)
JVM Flags: 7 total; -Xmx13G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.5.2855 Optifine OptiFine_1.12.2_HD_U_G5 7 mods loaded, 7 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
| State | ID | Version | Source | Signature |
|:------ |:----------- |:------------ |:----------------------------- |:---------------------------------------- |
| LCHIJA | minecraft | 1.12.2 | minecraft.jar | None |
| LCHIJA | mcp | 9.42 | minecraft.jar | None |
| LCHIJA | FML | 8.0.99.99 | forge-1.12.2-14.23.5.2855.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCHIJA | forge | 14.23.5.2855 | forge-1.12.2-14.23.5.2855.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCHIJA | mdxlib | 3.0.0.20 | mdxlib-3.0.0.20(1).jar | None |
| LCHIJA | lbm | 1.0 | lbm-1.0.0.9.jar | None |
| LCHIJA | srparasites | 1.9.1 | SRParasites-1.12.2v1.9.1.jar | None |
Loaded coremods (and transformers):
FMLModule (mdxlib-3.0.0.20(1).jar)
com.asx.mdx.AccessTransformer
GL info: ' Vendor: 'Intel Open Source Technology Center' Version: '2.1 Mesa 21.2.6' Renderer: 'Mesa DRI Intel(R) HD Graphics (ILK)'
Launched Version: 1.12.2-forge-14.23.5.2855
LWJGL: 2.9.4
OpenGL: Mesa DRI Intel(R) HD Graphics (ILK) GL version 2.1 Mesa 21.2.6, Intel Open Source Technology Center
GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because ARB_framebuffer_object is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.
Using VBOs: No
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: AudioCraftV1.5.zip
Current Language: English (Canada)
Profiler Position: N/A (disabled)
CPU: 4x Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz
OptiFine Version: OptiFine_1.12.2_HD_U_G5
OptiFine Build: 20210124-142939
Render Distance Chunks: 5
Mipmaps: 1
Anisotropic Filtering: 1
Antialiasing: 0
Multitexture: false
Shaders: null
OpenGlVersion: 2.1 Mesa 21.2.6
OpenGlRenderer: Mesa DRI Intel(R) HD Graphics (ILK)
OpenGlVendor: Intel Open Source Technology Center
CpuCount: 4
Hers My Mod List: LBM Optifine SRP mdxlIB
the time to use healing item is too long, most importantly attack can go through shield block and make the blocker bleed and lose blood plz fix
Is there a way to change the blood color of the player, or even specific players? Players don't have NBT data, I don't think.
1.7.10 plz
How do i remove all visual effects (like blood particles on the floor) while keeping the mod's functionality? Since the blood particles cause extreme lag (900fps to 50 stuttery fps) when the blood is on the floor, even on the lowest graphical settings
En réponse à pigpoker :
you can completely deactivate the blood drop with the config
In reply to samlegamer_:
ok thanks
whenever i try to use this mod my games always crashes a few seconts after a i load a world, and it tells me this :
java.lang.NoSuchMethodError: com.asx.mdx.lib.client.entityfx.EntityBloodFX.<init>(Lnet/minecraft/world/World;DDDIZ)V