
音乐活动
一个基于事件的动态音乐引擎,配备直观易用的游戏内图形界面,可让您控制游戏、模组及自定义音乐。
查看大图音乐事件(Music Events)是一个高度可配置的模组,可对原版游戏音乐和自定义音乐提供广泛的控制。它允许创建复杂、情境化的音轨,例如环境音乐、战斗主题或特定情境下的配乐。该模组具有直观且用户友好的游戏内GUI,极大地方便了模组的配置,也是设置该模组的首要方式。
作为开发者,您的反馈对我帮助巨大! 请随时发表评论或报告任何问题。如果您有任何疑问、需要帮助或想了解关于我的模组的更多信息,欢迎加入我的Discord,我会尽快给您详细解答:
观看关于如何设置恐怖主题配乐的指南:
https://www.youtube.com/watch?v=L5ew7yguK2Q
恐怖主题配乐使用的语法:
查看代码
# ==========================================
# 通用设置
# ==========================================
[universal]
server_nbt_sync = ["warden_spawn_tracker"]
# ==========================================
# 事件 (触发器)
# ==========================================
[[events.mobs]]
event_name = "warden_undetected_4"
priority = 204
detection_range = 25.0
sync_group = "warden_proximity"
resource_name = ["minecraft:warden"]
[[events.player]]
event_name = "shrieker"
priority = 300
event_delay = 6.0
nbt_match = ["{warden_spawn_tracker:{warning_level:3}}"]
[[events.mobs]]
event_name = "warden_undetected_3"
priority = 203
detection_range = 50.0
sync_group = "warden_proximity"
resource_name = ["minecraft:warden"]
[[events.mobs]]
event_name = "warden_undetected_2"
priority = 202
detection_range = 75.0
sync_group = "warden_proximity"
resource_name = ["minecraft:warden"]
[[events.mobs]]
event_name = "warden_detected_4"
priority = 214
detection_range = 25.0
mob_targeting = true
sync_group = "warden_proximity_detected"
resource_name = ["minecraft:warden"]
[[events.mobs]]
event_name = "warden_detected_3"
priority = 213
detection_range = 50.0
mob_targeting = true
sync_group = "warden_proximity_detected"
resource_name = ["minecraft:warden"]
[[events.mobs]]
event_name = "warden_detected_2"
priority = 212
detection_range = 75.0
mob_targeting = true
sync_group = "warden_proximity_detected"
resource_name = ["minecraft:warden"]
[[events.mobs]]
event_name = "warden_detected_1"
priority = 211
detection_range = 100.0
mob_targeting = true
sync_group = "warden_proximity_detected"
resource_name = ["minecraft:warden"]
[[events.mobs]]
event_name = "angel"
priority = 100
detection_range = 50.0
mob_targeting = true
require_fov = 2
resource_name = ["weeping_angels:weeping_angel"]
[[events.mobs]]
event_name = "warden_undetected_1"
priority = 201
detection_range = 100.0
sync_group = "warden_proximity"
resource_name = ["minecraft:warden"]
[[events.mobs]]
event_name = "dweller"
priority = 101
mob_targeting = true
require_fov = 1
resource_name = ["cave_dweller:cave_dweller"]
该模组严格支持 .ogg 格式的音频文件。
配置主要通过专门的游戏内GUI进行处理。
GUI 访问: 按 F6 键即可打开界面。
修改原版音乐:
- 导航到“事件”(Events) 标签页。
- 创建一个新事件(例如,维度),并为其分配优先级。
- 定义所需参数(例如,添加
resource_name并设置为minecraft:overworld)。 - 选择“注册音频”(Register Audio) 并搜索所需的音频文件。
- 注意:搜索使用的是内部文件名(例如,Haggstrom 存储为 hal3)。
- 注意:将鼠标悬停在下拉列表中的文件上即可预览音频。
- 点击“保存”(Save),然后点击“重新加载”(Reload) 以应用配置。
使用自定义音频文件:
- 使用 GUI 打开“音频”(Audios) 文件夹。
- 将自定义的 .ogg 文件(如果您想保持更有条理,也可以创建子文件夹)放入指定目录。
- 使用标准的“注册音频”(Register Audio) 流程将音轨链接到事件。
GUI 面板概览:
- 通用 (Universal): 管理全局适用于所有新创建事件的默认参数值。事件特定参数将覆盖通用设置。
- 事件 (Events): 处理自定义事件的创建及其各自参数的配置。
- 音频 (Audios): 管理单个音轨的配置设置。
- 同步组 (Sync Groups): 提供使用
sync_group参数绑定在一起的事件的概览和管理界面。
事件类型、修改器和示例:
每个事件在触发音频播放之前都会评估情境条件。
通用参数(默认事件配置池):
点击展开
play_when_paused = true/false:确定在游戏菜单暂停时是否允许播放该音轨。muffling_when_paused = 1.0:游戏暂停时应用的消音效果倍率。(推荐值:1.0)。underwater_muffling = 1.0:玩家浸入水中时应用的消音效果倍率。(推荐值:1.0)。gui_muffling = 1.0:当 GUI 界面激活时应用的消音效果倍率。(推荐值:1.0)。gui_muffling_delay = 20:GUI 消音效果生效前的延迟时间(以秒为单位)。gui_muffling_blacklist = ["InventoryScreen"]:绕过消音效果的 GUI 类列表。 使用模组的调试屏幕来了解您当前正在查看的 GUI。pause_volume_multiplier = 0.5:游戏暂停时应用的音量控制倍率。remember_track = true/false:如果启用,事件会记住其在变为非活动状态前播放的最后一条音轨,并在重新激活时重播该音轨,而不是选择新的随机音轨。resume_from_timestamp = true/false:如果启用,当事件重新激活时,它将直接从暂停的确切时间点(时间戳)恢复播放。seamless_handoff = true/false:启用平滑的音轨转换。如果事件 A 过渡到事件 B,并且两者在其播放列表中共享当前正在播放的音轨,则该音轨将无缝地继续播放,无需重新开始或淡出。fade_in = 2.0 / fade_out = 2.0:指定事件激活或停用时音频音量的过渡持续时间(以秒为单位)。persistence = 10.0:定义在其激活条件不再满足后,事件强制保持活动状态并继续播放音乐的持续时间(以秒为单位)(例如,怪物死亡后仍保持战斗状态 10 秒)。time_between_audio = 60.0:指定在一段音轨播放完毕后,事件能够触发后续音轨播放之前的冷却持续时间(以秒为单位)。jukebox_behavior = "ignore"/"pause"/"muffle":确定音轨如何响应附近原版点唱机播放的音乐唱片。cooldown_group_time = 120.0 / cooldown_group_events = ["eventA", "eventB"]:关联多个不同事件间的音轨冷却时间。如果某个事件完成播放一段音轨,则cooldown_group_events中列出的所有事件在允许再次播放前,都将共享指定的cooldown_group_time冷却时间。mob_blacklist = ["minecraft:slime", "minecraft:vex"]:禁止全局激活怪物事件的实体 ID 列表。priority = 50:决定多个事件同时激活时播放优先级的整数值。数值越高,优先级越高。hard_interrupt = true/false:强制立即终止当前音轨,绕过并忽略标准的持久性和淡出参数。locked = true / unlocks_event = "phase_2" / relock_when_inactive = true:允许顺序事件激活的状态管理参数。事件默认可以是locked状态,只有其他事件调用其unlocks_event时才会变为活动状态。sync_group = "battlefield_crescendo":将事件分配到同步组。同一sync_group内的顺序事件将继承先前活动音轨的精确播放时间戳。适用于共享相同节奏/布局的分层或多阶段音频文件。
音频轨参数:
点击展开
volume = 1.0:音轨音量水平的倍率。weight = 50:当一个事件有多个注册音轨时,决定播放概率。权重越高,被选中的机会就越大。require_all_events = true/false:如果为 true,则要求target_events数组中严格列出的所有事件同时处于活动状态,该音轨才能播放。target_events = ["overworld_day", "overworld_night"]:定义该音轨所属并检查其激活状态的特定事件列表。upgrade_delay = 5.0 / upgrade_fade_in = 3.0 / upgrade_fade_out = 3.0:动态音轨升级的缓动配置。如果满足事件条件,当前正在播放的音轨可以无缝“升级”到此音轨,利用这些独立的淡入淡出时间,专门绕过标准的事件淡入淡出设置。start_time = 15.5:指定音轨开始播放的时间戳(以秒为单位)。通过将其设置为 15.5,音轨将始终从内部第 15.5 秒处开始播放,跳过开头。start_x = 2:配置重复。该音轨在完成前将精确重复 2 次。loop_start = 10.0 / loop_end = 60.0:创建一个独立的内部播放循环。音轨正常开始,但当播放到达loop_end(例如 60.0 秒)时,它会无缝跳回loop_start(例如 10.0 秒),并根据start_x的值无限重复该子部分。play_once = 1/2/3/4/5:确定音轨可重播的频率。它接受以下数值:- 1(轮询):在所有其他可用于活动事件的音轨播放完毕之前,该音轨不会再次播放。
- 2(事件生命周期):只要事件保持连续活动状态,该音轨就只播放一次。
- 3(会话):每次加入世界时,该音轨只播放一次。退出并重新登录时会重置。
- 4(JVM 会话):每次启动游戏时,该音轨只播放一次。当 Minecraft 完全重启时重置。
- 5(世界持久):在特定世界中,该音轨只播放一次,永久有效。持久化存储。
interruptible = true/false:指定该音轨是否可以被更高优先级的事件强制中断。标记为false的音轨充当护盾,拒绝被暂停,始终从头到尾播放完毕。breakthrough_priority = 500:覆盖音轨的不可中断状态。即使音轨充当护盾,任何优先级等于或高于 500 的事件都可以强行突破并中断它。interrupt_whitelist = ["boss_phase_2"]:允许绕过中断标志并暂停该音轨的专属事件名称列表,无论优先级如何。
特定事件类型和约束:
生物 (Mobs): 基于实体距离激活。
点击展开
resource_name = ["minecraft:zombie", "category:monster", "regex:.*zombie.*", "player:Name"]:要监视的目标实体 ID、标签或通配符。nbt_match = "{IsBaby:1b}":评估实体必须拥有的字符串匹配 NBT 属性。detection_range = 16.0:围绕玩家评估实体存在与否的半径。activation_mobs = 5 / deactivation_mobs = 2:严格的数值阈值。只有存在 5 个或更多匹配实体时事件才会激活,当数量降至 2 或以下时事件停止。max_health = 10.0:仅当目标匹配实体的生命值低于此指定阈值时,事件才会激活。health_override_threshold = 100.0:如果即使只有一个匹配实体的生命值大幅超过此最大生命值,也允许事件立即绕过activation_mobs数值阈值(对于 boss 变体很有用)。mob_targeting = true/false:仅限制为对玩家具有攻击性并针对玩家的实体进行激活。require_fov = "Spotted"/"Constant":将激活限制为当前处于玩家视线范围内的实体。
击杀 (Kill): 基于实体死亡激活。
点击展开
resource_name = ["minecraft:ender_dragon"]:被击杀的特定实体类型。attacker_name = ["minecraft:player"]:需要给予最后一击的实体类型。nbt_match = "{...}", detection_range = 128.0, require_fov = "Spotted":与生物事件类似地应用约束。
物品栏 (Inventory): 当物品存在于特定物品栏位置时激活。
点击展开
resource_name = ["minecraft:diamond", "slot:head|regex:.*_helmet"]:目标物品 ID 或正则表达式模式。可以加上slot:xxx|前缀来专门评估特定槽位中的该物品。target_slots = ["mainhand", "offhand", "head", "chest", "legs", "feet", "any"]:指定有效检查槽位的数组,作为全局回退方案。如果resource_name中的物品没有slot:前缀,它将在此处定义的所有槽位中进行评估。require_all_resources = true/false:如果为 true,则强制要求同时拥有所有顺序列出的物品,而不是任意单个物品。
玩家 (Player): 评估玩家的确切内部状态。
点击展开
is_dead = true/false:严格要求玩家死亡。max_health = 6.0:当玩家生命值严格降至或低于此值时事件激活。min_y = -64.0 / max_y = 0.0:限制事件触发地点的垂直高度约束边界。min_light = 0 / max_light = 7 / light_type = "sky"/"block"/"total":基于所选光源检查最大环境光照度。require_underwater = true/false:强制直接检查液体浸没。nbt_match = "{...}":玩家数据 NBT 条件。
区域 (Zones): 基于固定坐标的体积触发。
点击展开
min_x = -50 / max_x = 50 / min_y = 64 / max_y = 120 / min_z = -50 / max_z = 50:建立一个永久性的 3D 地理边界框,严格要求基于坐标的激活。
袭击 (Raid): 评估掠夺者袭击变量。
点击展开
min_wave = 1 / max_wave = 5:对活跃的掠夺者袭击波次级别强制设置上下限。status = "active"/"victory"/"loss"/"stopped"/"any":验证特定的袭击进度状态。
统计 (Statistic): 评估内部玩家统计追踪。
点击展开
resource_name = ["minecraft:mined:minecraft:diamond_ore=100"]:定义目标指标追踪。格式明确要求核心类别、模组 ID、对象和数值限制(例如,minecraft:used:minecraft:elytra=50或minecraft:custom:minecraft:play_time=12000)。require_all_resources = true/false:强制要求同时满足所有数值统计追踪要求。
维度 / 生物群系 / 时间 / 天气 / 游戏模式 / 难度 / 结构 / 进度 / PvP / 骑乘 / GUI / 效果: 通过统一的
resource_name参数进行评估,提供标准字符串匹配数组。点击展开
- 维度默认值:
["minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"] - 生物群系默认值:
["minecraft:plains", "minecraft:desert", "minecraft:badlands"] - 时间默认值:
["day", "night", "sunrise", "sunset"] - 天气默认值:
["clear", "rain", "thunder"] - 游戏模式默认值:
["survival", "creative", "adventure", "spectator"] - 难度默认值:
["peaceful", "easy", "normal", "hard"] - 结构默认值:
["minecraft:bastion_remnant", "minecraft:village", "minecraft:stronghold"] - 进度默认值:
["minecraft:story/enter_the_nether", "minecraft:end/kill_dragon"] - PvP 默认值:
["player:Name", "any"] - 骑乘默认值:
["minecraft:horse", "minecraft:minecart"] - GUI 默认值:
["InventoryScreen", "ChatScreen", "TitleScreen"]使用模组的调试屏幕来了解您当前正在查看的 GUI。 - 效果默认值:
["minecraft:poison", "minecraft:regeneration"]
- 维度默认值:
命令与调试:
点击展开
/musicevents reload:指示模组对音频引擎执行硬重置,并从文件系统重新加载所有配置和音频内存缓存。/musicevents skip:立即跳过当前正在播放的音轨,并评估下一个最佳音轨或事件优先级。/musicevents unlock event_name:解锁一个处于锁定状态机的事件,将其标记为活动/可评估状态。/musicevents relock event_name:重新锁定特定状态机事件,阻止其激活,除非再次满足其解锁条件。您也可以使用/musicevents relock all来重置整个状态进度。/musicevents zone pos1//musicevents zone pos2:围绕您的确切玩家坐标设置一个维度边界框的第一个和第二个角点。/musicevents zone save event_name:将内部的 pos1 和 pos2 边界坐标永久写入特定区域事件!
此外,默认情况下可以按 F4 键切换内置的调试屏幕。调试屏幕作为一个活动覆盖层,可帮助您配置参数,了解模组如何计算优先级、哪条音轨正在播放,以及哪些参数在运行时强制影响音轨行为。
正在加载版本记录…




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