RandomForge（随机熔炉）使用说明 v1.1.4
==========================================

作者：非小酋啊、Hy3、WorkBuddy
适用版本：Terraria 1.4.5.6 / TShock 6.1 / .NET 9.0
插件文件：RandomForge.dll
配置文件（单一文件）：
  · RandomForge.json   —— 内含「随机投资」「随机掉落」「随机礼物」三节，首次启动自动生成
  · RandomForge_默认配置.json —— 随包附带的“默认配置样例”，方便对照修改
                            （不要直接覆盖你的 RandomForge.json；仅在需要从零开始时把它改名用）

（首次启动时若检测到旧版拆分配置 RandomMayhem.json / RandomMancer.json / 随机礼物.json，
 会自动合并迁移进 RandomForge.json，迁移后旧文件可手动删除。）

（v1.1.4 起旧配置键名也会自动迁移：节「随机事件」→「随机投资」、
 「随机黑名单_ID列表」→「禁止发放的物品ID」，无需手动改。旧的 /请求投资 指令别名依旧可用。）


------------------------------------------------
〇、这是什么（关于“缝合”）
------------------------------------------------
RandomForge（随机熔炉）是三个插件缝在一起的合体版本：

  · RandomMayhem（原“随机事件”）
  · RandomMancer（随机掉落）v0.1.2
  · RandomGift（随机礼物）v1.0.0（原作者：答辩）

v1.1.3 起做了大幅精简：原 RandomMayhem 的“自动随机事件”（主循环每 tick 按概率触发的
各种混乱效果）被整体移除——因为实际体验里基本没效果。最终只保留三个前身里真正有用、
彼此独立的三块功能，统一收纳进 **一个** RandomForge.json、只占一个插件槽位：

  · /随机投资 指令（来自 RandomMayhem，重做后变成“每 5 分钟随机抽一波物品”）
  · 随机掉落（来自 RandomMancer）
  · 随机礼物（来自 RandomGift）

v1.1.4 起把原先拗口的「随机事件」改名为更直白的「随机投资」，指令也更名为 /随机投资
（/请求投资 作为兼容别名继续可用），配置文件键名一并更新，并给配置文件加了一段
“_说明”备注，让人一眼能看懂每个字段是干嘛的。


------------------------------------------------
一、随机投资（/随机投资）—— 玩家手动输入触发
------------------------------------------------
这是插件里和人互动最核心的一个指令。每次使用会随机给玩家一波物品。

  · 冷却：每位玩家各自计时。默认每「冷却_秒」（默认 300 秒 = 5 分钟）才能再用一次；
          冷却中再输入会提示还剩多少秒。
  · 数量：每次随机抽 1~5 个物品。
  · 物品：从游戏全部物品池里随机抽（黑名单里的物品除外）。
  · 堆叠：每个物品随机堆叠 1~N（N = 该物品最大堆叠与 99 取较小值）。
  · 修饰词：如果该物品支持修饰词，则随机给一个修饰词（如“锐利的”“笨重的”…）。
  · 反馈：发放后直接告诉玩家这一波摸到了什么，例如：
           🎲 随机投资成功，你获得了：木剑 ×3、铁镐 ×12

指令：
  /随机投资        （兼容别名：/请求投资、/touzi、/invest）

注意：默认黑名单屏蔽了 71/72/73（铜币、银币、金币、铂金币——Terraria 中钱币 ID 即 71~74），
防止用这个指令刷钱。如想允许发钱，把对应 ID 从黑名单里删掉即可（一般不建议）。


------------------------------------------------
二、随机掉落（来自 RandomMancer）
------------------------------------------------
在“挖矿 / 打怪 / 开宝箱 / 钓鱼”四种场景下，按概率把原本的掉落替换成随机物品。
每一项都可独立开关、独立设黑名单、独立调概率：

  · 物块破坏随机：挖矿/拆物块时触发；「阻止原掉落」开启后只掉随机物品，不再掉原矿。
  · 生物随机：打怪/打 Boss 时触发；「阻止原掉落」仅对普通怪生效，Boss 始终保留原掉落。
  · 宝箱随机：开宝箱时触发；「直接替换原内容」开启后宝箱内容被完全随机化。
  · 钓鱼随机：钓鱼钓上来时触发；「声纳显示随机物品」让声纳药水显示随机物品。
  · 全局：随机物品最小/最大堆叠、是否允许随机掉出钱币。


------------------------------------------------
三、随机礼物（来自 RandomGift）
------------------------------------------------
一个定时器，每隔「间隔分钟」分钟，自动给所有在线玩家各发「物品数量」个随机物品，
并在聊天栏刷出「提示消息」。无需玩家操作。


------------------------------------------------
四、配置文件 RandomForge.json 详解
------------------------------------------------
文件顶部的 “_说明” 字段是一段纯给人看的备注，插件不会读取它，可随意删改或保留。

  {
    "_说明": "……（一段说明文字，可删）……",
    "随机投资": {
      "冷却_秒": 300,              // 每个玩家两次领取之间要等多少秒（默认 300 = 5 分钟）
      "禁止发放的物品ID": [71, 72, 73]   // 这些物品绝不发放（默认屏蔽钱币，防刷钱）
    },
    "随机掉落": { …… 见上文“二”，字段含义见 RandomMancerConfig …… },
    "随机礼物": {
      "是否启用": true,
      "间隔分钟": 5,
      "物品数量": 1,
      "提示消息": "随机礼物发放！你获得了："
    }
  }

修改配置后，在游戏里输入 /reload 即可热重载，无需重启服务器。


------------------------------------------------
五、原生命令一览
------------------------------------------------
  /随机投资        领取随机物品（每名玩家按冷却_秒 各自计时）
                   别名：/请求投资、/touzi、/invest
  /reload          原生指令。整体重载 RandomForge.json（随机投资 + 随机掉落 + 随机礼物），
                   并重建随机物品池与黑名单。
  （随机掉落 / 随机礼物各自的开关指令来自 RandomMancer / RandomGift 原版，
   详见对应前身插件的说明。）


------------------------------------------------
六、稳定性与注意事项
------------------------------------------------
  · 随机投资使用「玩家输入 → 即时发放」模式，不挂主循环、不每 tick 跑逻辑，几乎零性能开销。
  · 物品池在加载时一次性构建（遍历全部物品 ID 并 SetDefaults）；若构建异常只会降级，
    不会导致插件初始化失败（最坏情况：随机投资暂时不可用，掉落/礼物照常）。
  · 原 RandomMayhem 的“自动随机事件”已在 v1.1.3 彻底移除，与之相关的主循环钩子、
    事件权重调度、各类混乱效果均已删除，不会再有任何自动触发的意外行为。


------------------------------------------------
七、更新日志
------------------------------------------------
v1.1.4（本次）
  · 「随机事件」正式改名为「随机投资」，更直观。
  · 指令更名：/请求投资 → /随机投资（保留 /请求投资 为兼容别名）。
  · 配置文件键名更新：「随机事件」节 →「随机投资」；「随机黑名单_ID列表」→「禁止发放的物品ID」。
  · 旧配置键名在首次启动时自动迁移，无需手动改。
  · 给 RandomForge.json 增加“_说明”备注字段，配置文件更易读。
  · 随机掉落、随机礼物逻辑不变。

v1.1.3（随机事件精简为单一指令）
  · 移除原 RandomMayhem 的全部“自动随机事件”（主循环按概率触发的生物召唤 / 物品变化 /
    天灾 / 挖矿 / 宝箱 / 钓鱼 / 其他，共 7 类事件加权调度）。
  · 保留并**重做** /请求投资 指令：每位玩家每「冷却_秒」秒（默认 300）可用一次，每次随机
    给予 1~5 个随机物品，每个随机堆叠（上限 99）且支持修饰词则随机修饰词，并发放清单给玩家。
  · 合并为单一配置 RandomForge.json；「随机事件」配置节精简为两项：冷却_秒、随机黑名单_ID列表
    （默认屏蔽 71/72/73 钱币）。
  · 旧 RandomMayhem.json 迁移时仅取「冷却」与「物品黑名单」两项映射到新配置。

v1.1.2
  · RandomMayhem 自动事件：生物召唤/物品变化明确告知“召唤了什么生物 / 变成了什么物品”，
    其余随机变化保持静默；提供默认配置样例。

v1.1.1
  · 三插件合并为单一 RandomForge，单一配置 RandomForge.json，单一插件槽位。

v1.1.0
  · 在 v1.0.0 基础上新增随机物品修饰词支持。

v1.0.0
  · 初版：RandomMayhem（自动随机事件）+ RandomMancer（随机掉落）+ RandomGift（随机礼物）缝合。
