
简单之血
添加简单的血液粒子效果。

*添加了简单的血液粒子。*
当实体受到伤害时,它们会根据造成的伤害比例流血。轻击会产生小而短暂的飞溅,重击则会引发剧烈的血液喷溅。低生命值的实体会缓慢滴血,致命一击则会触发更大的死亡喷溅。
功能
击中喷溅 + 死亡喷溅 + 血迹

不同颜色的血液

铁傀儡碎片粒子

水下血雾

一切均可配置

配置
所有效果均可通过 Mod Menu 完全自定义。
针对模组开发者
Simple Blood 公开了一个客户端 API,用于完全控制您模组中实体的血液行为。请从您的 客户端初始化器 中调用它。您注册的所有内容都会覆盖配置和默认设置;每个选项都是可选的,因此您只需设置想更改的部分。
import com.bloodmod.BloodModAPI;
// 通过原始 ID 字符串注册适用于所有加载器和 MC 版本:
BloodModAPI.registerEntityBlood("yourmod:custom_mob", new BloodModAPI.BloodSettings()
.setColor(0xFF0000) // 血液颜色 0xRRGGBB(或 setColor(r, g, b))
.setCanBleed(true)
.setCanDripAtLowHealth(true) // 受伤时持续滴血
.setTransformToStains(true)); // 地面血迹 + 水下雾气
// 您也可以通过 EntityType 注册:
BloodModAPI.registerEntityBlood(YourEntities.CUSTOM_MOB, new BloodModAPI.BloodSettings()
.setColor(0x8B0000));
所有 BloodSettings 选项
颜色
setColor(int rgb)/setColor(int r, int g, int b)— 静态血液颜色。setColorProvider(Function<LivingEntity, Integer>)— 为每个实体实例解析的 动态 颜色(例如,跟随实体的色调或状态)。返回null以回退。
核心行为
setCanBleed(boolean)— 是否流血。setCanDripAtLowHealth(boolean)— 对构造体/亡灵设为false。setTransformToStains(boolean)— 地面血迹 + 水下血雾云。
水与环境
setCreatesFogUnderwater(boolean)— 独立强制启用水下血雾行为。setParticlesDespawnInWater(boolean)— 粒子在接触水时消失(类似雪傀儡风格)。setBleedWhenAsphyxiating(boolean)— 重新 启用 因溺死/窒息/脱水导致的流血(Simple Blood 默认抑制这些情况)。
数量、大小与声音
setParticleSizeMultiplier(float)— 液滴大小(1.0 = 默认)。setBurstIntensityMultiplier(float)— 每次击中/死亡的粒子数量。setDripIntensityMultiplier(float)— 低生命值时的滴血量。setBloodSound(SoundEvent)— 自定义血液声音。setSoundEnabled(boolean)— 按实体的声音开关。
高级设置
setBleedPredicate(BiPredicate<LivingEntity, DamageSource>)— 完全控制哪些攻击会流血;返回true表示流血。覆盖默认的窒息过滤逻辑。
示例
// 跟随实体的动态颜色:
BloodModAPI.registerEntityBlood("yourmod:rainbow_slime", new BloodModAPI.BloodSettings()
.setColorProvider(e -> ((RainbowSlime) e).getTintRGB()));
// 流树液的树人:棕色,无滴血,无血迹:
BloodModAPI.registerEntityBlood("yourmod:treant", new BloodModAPI.BloodSettings()
.setColor(0x5B3A1A)
.setCanDripAtLowHealth(false)
.setTransformToStains(false));
// 在脱水时确实流水的元素生物:
BloodModAPI.registerEntityBlood("yourmod:water_elemental", new BloodModAPI.BloodSettings()
.setBleedWhenAsphyxiating(true));
// 流大量鲜血但永远不会因摔落伤害流血的巨型 Boss:
BloodModAPI.registerEntityBlood("yourmod:colossus", new BloodModAPI.BloodSettings()
.setParticleSizeMultiplier(1.5f)
.setBurstIntensityMultiplier(2.0f)
.setBleedPredicate((entity, source) -> !source.is(DamageTypes.FALL)));
全局控制
// 阻止这些伤害类型对 ANY(任何)实体产生血液:
BloodModAPI.addNonBleedingDamageType(DamageTypes.IN_FIRE);
BloodModAPI.addNonBleedingDamageType(DamageTypes.LAVA);
BloodModAPI.getRegisteredEntities(); // 已注册 ID 的 Set<String>
BloodModAPI.unregisterEntityBlood("yourmod:x"); // 移除一个实体
内置的溺水/窒息/脱水抑制始终生效,除非实体通过 setBleedWhenAsphyxiating(true) 或其自身的 bleedPredicate 选择退出。
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。