雷蛇灯光控制

雷蛇灯光控制

使用该模组时,游戏会将游戏事件——例如生命值、伤害、状态效果、生物群系和天气——发送到雷蛇Synapse控制器。

===================================================================== RAZER LIGHTS CONTROL - 功能说明 Minecraft NeoForge 1.21.1 模组 =====================================================================

概述

Razer Lights Control 将 Minecraft 与 Razer Chroma SDK 连接,让你的 RGB 灯光根据游戏中发生的一切动态反应。该模组使用 9 层系统,每一层都会修改前一层 的颜色,从而创造出丰富、感知环境的灯光效果。

要求:运行 Razer Synapse 并启用 Chroma SDK。

调试可视化 (F9): - 按 F9 切换屏幕叠加层,实时显示每一层的当前状态。 - 显示每一层的输入/输出颜色、激活的修饰器、混合百分比以及最终计算出的 RGB 值。 - 显示实际发送到 Chroma SDK 的最终颜色。 - 用于诊断为什么 LED 上显示特定颜色,以及调整 RGBPalette 中的调色板常量。 - 默认状态:关闭(切换仅在当前会话中保持)。

===================================================================== 第 1 层:基础环境

根据你当前所在位置确定基础颜色。

维度:

  • 主世界:生物群系草色,根据一天中的时间调整
  • 下界:根据局部光照等级的橙红色光晕
  • 末地:根据局部光照等级的紫色光晕

地表(主世界):

  • 白天:完整的生物群系草色,85% 亮度
  • 黄昏:温暖的橙红色过渡色调
  • 黎明:冷调的蓝紫色过渡色调
  • 夜晚:深蓝色调,随月相变化 (满月 = 更亮的蓝色,新月 = 几乎关闭)

树下(阴影):

  • 白天:生物群系颜色大幅变暗(35% 亮度)
  • 夜晚:几乎关闭,非常微弱的蓝绿色光晕

洞穴:

  • 蓝绿色暗淡光晕,随深度变暗
  • 即使在完全黑暗中最低也有 15% 亮度(LED 从不会完全关闭)
  • 靠近火把或其他光源时更亮

水中:

  • 蓝色调,来自生物群系水色
  • 随深度逐渐变暗(最深 20 格)
  • 水面:更亮的蓝色
  • 深水:深海军蓝
  • 夜间水下:非常深的蓝色

===================================================================== 第 2 层:生物群系修饰器

根据生物群系类型混合特定颜色(仅主世界)。

生物群系 颜色 混合比例

沙漠 沙黄色 60% 雪原 冰白蓝色 50% 冰刺之地 冰白蓝色 50% 积雪针叶林 冰白蓝色 50% 积雪山坡 冰白蓝色 50% 冰封山峰 冰白蓝色 50% 尖峭山峰 冰白蓝色 50% 丛林 鲜艳绿色 60% 竹林 鲜艳绿色 60% 稀疏丛林 鲜艳绿色 60% 樱花树林 柔粉色 50% 沼泽 深绿色 40% 红树林沼泽 深绿色 40% 蘑菇岛 紫粉色 50% 恶地 红橙色 60% 被风蚀的恶地 红橙色 60% 疏林恶地 红橙色 60% 深暗之域 近黑色蓝 70% 繁茂洞穴 亮绿色 50% 溶洞 棕色 40%

===================================================================== 第 3 层:天气

根据当前天气状况修改灯光。

下雨:

  • 灰蓝色调
  • 整体亮度降低至 65%

下雪:

  • 白蓝色调
  • 整体亮度降低至 70%

雷暴:

  • 大幅变暗(40-50% 亮度)
  • 随机白色闪电闪烁(每 tick 3% 概率)

===================================================================== 第 4 层:玩家状态

根据玩家正在做的事情改变颜色。

使用鞘翅飞行:

  • 天蓝色,随高度增强
  • 低空:较浅的蓝色
  • 高空(256+ 格):深亮蓝色

睡觉:

  • 温暖暗淡的橙色光晕(篝火感)
  • 非常低的亮度(50%)

疾跑:

  • 微妙的黄色调,表示速度

潜行/蹲下:

  • 所有颜色变暗至 60%(潜行模式)

骑乘:

  • 微妙的棕色调(皮革/鞍座感)

===================================================================== 第 5 层:接近检测

检测 16 格内的附近实体或 5 格内的方块。 缓存每 20 tick(1 秒)更新一次以提升性能。

Boss 生物(最高优先级):

  • 末影龙:强烈的紫色光晕
  • 凋灵:近黑色,带随机白色闪烁(5% 概率)

传送门:

  • 附近有末地传送门:深紫色光晕
  • 附近有下界传送门:紫红色光晕

生物:

  • 附近有敌对生物:脉动红色光晕(正弦脉冲)
  • 附近有被动生物:微妙的绿色调

方块:

  • 附近有刷怪笼:脉动绿色光晕
  • 附近有信标:亮白色增强

===================================================================== 第 6 层:手持物品

根据主手中的物品改变颜色。

物品 颜色

钻石(任意工具) 青蓝色 绿宝石 亮绿色 下界合金(任意工具) 深枪灰色 金(任意工具) 亮金色/黄色 铁(任意工具) 浅银灰色

附魔物品:

  • 任何附魔物品都会获得紫色光晕叠加
  • 与基础物品颜色结合

===================================================================== 第 7 层:状态效果

对激活的药水效果和状态做出反应。 一次只应用一种关键状态(按优先级顺序)。

关键状态(阻止生命值层):

  • 冰冻:明亮的冰蓝色,随冰冻等级增强 (从浅蓝色开始,完全冰冻时变为纯白蓝色)
  • 着火:强烈的橙色光晕

其他状态(按优先级顺序):

  • 中毒:亮绿色
  • 凋零:深灰色
  • 反胃/混乱:紫色漩涡

累积效果(始终叠加应用):

  • 失明:近黑色(10% 亮度)
  • 黑暗:非常暗(15-20% 亮度)
  • 夜视:150% 亮度增强

===================================================================== 第 8 层:生命值

根据剩余生命值渐进式红色调。 如果玩家有关键状态(冰冻或着火)则不会应用。

生命值范围 效果

100% 无效果 60-100% 无效果 40-60% 轻微红色调(30% 混合) 20-40% 中度红色(50% 混合,绿/蓝减少) 0-20% 强烈红色(80% 混合,绿/蓝为 10%)

===================================================================== 第 9 层:局部环境

检测 2 格内的直接周围环境。

附近有岩浆:

  • 强烈的橙色光晕
  • 与现有颜色 50% 混合

===================================================================== 临时闪烁事件

这些独立于层系统,会短暂覆盖。

玩家受伤:

  • 红色闪烁 (255, 40, 40)
  • 持续时间:350ms
  • 玩家受到伤害时触发

附近爆炸:

  • 橙色闪烁 (255, 180, 50)
  • 持续时间:300ms
  • 20 格内发生爆炸时触发

击杀生物:

  • 黄色闪烁 (220, 220, 100)
  • 持续时间:200ms
  • 10 格内有生物死亡时触发

===================================================================== 技术细节

通信:

  • 使用 Razer Chroma SDK REST API
  • 基于会话的连接,自动心跳(3 秒间隔)
  • 会话丢失时自动重连

颜色编码:

  • 自定义旋转映射:(G<<16) | (R<<8) | B
  • 确保通过 ChromaLink 管道正确输出通道

性能:

  • 接近缓存每 20 tick(1 秒)更新一次
  • 颜色请求节流至最小 150ms 间隔
  • 所有 Chroma SDK 通信使用后台守护线程
  • 不影响主游戏线程

兼容性:

  • Minecraft 1.21.1
  • NeoForge 21.1.0 或更高版本
  • Java 21+
  • 需要启用 Chroma SDK 的 Razer Synapse

===================================================================== 事件监听器

ClientTickEvent.Post - 主颜色计算循环 LivingIncomingDamageEvent - 受伤闪烁 ExplosionEvent.Detonate - 爆炸闪烁 LivingDeathEvent - 击杀生物闪烁