购物者 (Lightmans货币插件)

购物者 (Lightmans货币插件)

这是Lightman货币系统的一个附加组件,增加了会从你的商店购物、在你的赌场赌博、以及参与你拍卖的村民。

经济

购物者 - Lightman's Currency NPC 附属模组

购物者是一个针对 NeoForge 1.21.1 的 Lightman's Currency 附属模组,它为游戏添加了功能性的 NPC 顾客。这些 NPC 会在玩家拥有的商店周围生成,浏览库存、购买商品、使用 ATM 以及玩老虎机,帮助填充单人世界或服务器中的活跃经济活动参与者。


特性

生成行为与视觉效果

  • 定向生成:NPC 会在活跃玩家商店周围 24-40 格范围内生成,并自动寻路前往商业中心。
  • 生物群系特定皮肤:购物者会根据生物群系显示分层服装(平原、针叶林、沙漠和雪地),与基础村民模型无缝融合。
  • 自定义名称:超过 50 个经济主题名称(例如 Scrooge McDirt、Stonks Steve 和 WallStreet Wally)以 3D 方式显示在顾客头顶上方。
  • 原版速度:购物者以实际速度行走(与原版标准村民一致),而不是移动速度飘忽不定。

经济阶层

顾客属于四个阶层之一,决定其初始货币和物品兴趣:

  1. 农民:持有铁币。购买基础建筑材料(泥土、圆石、橡木、种子和廉价食物)。
  2. 市民:持有金币。购买日常用品(煤炭、羊毛、火把、床、熟食和玻璃)。
  3. 商人:持有绿宝石币。购买工具、武器、护甲、原矿/冶炼矿石、锭和盾牌。
  4. 大亨:持有下界合金币。购买高价值物品(钻石、附魔书、潜影盒、不死图腾和鞘翅)。

智能 AI 交互

  • 通用商店兼容性:购物者与所有 Lightman's Currency 交易方块交互,包括自动售货机、货架、冰柜、冰箱、展示柜、盔甲架、书架商人、卡片展示架和拍卖台。
  • 虚拟钱包与自动兑换:购物者携带统一的铜币当量预算。他们可以使用高等级币种购买低价值物品,模组会自动处理币种扣除并找零。
  • 防拥挤机制:购物者会检查交易方块、ATM 或老虎机是否在 1.5 格范围内被其他实体占用。如果被占用,则会绕过该方块以防止堆积。
  • ATM 寻路:当购物者的钱包低于 500 铜币时,他们会寻路到最近的 ATM 取款或存款,并随机选择空闲的 ATM 以分散人群。

真实的赌博机制

购物者在玩老虎机和扭蛋机前会评估风险:

  • 赔率检查:购物者会通过安全反射检查老虎机的加权奖励和总权重。
  • 风险阈值:市民和农民拒绝玩中奖概率低于 15% 的机器。大亨和商人接受低至 5% 的风险机器。
  • 鲁莽行为:有 10% 的几率 NPC 完全忽略赔率,直接玩机器。

每日时间表

市场根据游戏时间遵循每日周期:

  • 早高峰(游戏刻 1000 - 4000):购物者生成速度加倍,本地中心容量增加 50%,购物者行走速度略快(倍率 0.75)。
  • 晚间赌场高峰(游戏刻 9000 - 12000):赌场人群达到峰值。大亨和市民出现,玩老虎机并在拍卖台竞拍。
  • 夜间打烊(游戏刻 13000 - 23000):生成几乎完全停止。购物者移动缓慢(倍率 0.45),如果远离活跃玩家,会伴随烟雾粒子效果消失。

合成价值评估引擎

  • 动态价值计算器:没有预设价格的自定义或模组物品,通过递归检查服务器的配方注册表、累加原料价值并除以输出数量来动态估值。
  • 自定义价值:服务器管理员可以使用 /shoppers value set <物品> <铜币价值> 定义物品的自定义价值。
  • 捡便宜者:购物者优先选择具有高性价比评分(市场价值与价格比)的优惠。如果发现折扣达 40% 或以上的交易,即使该物品不在其阶层兴趣范围内,他们也会购买。

性能与优化

  • SaveData 注册表:所有已放置的经济方块的坐标数据全局存储在 ShoppersWorldData 中,完全消除了 AI 目标中基于刻的重型方块扫描需求。
  • 玩家为中心扫描:一个优化的后台循环每 5 秒扫描活跃玩家附近的区块,自动发现并注册已有的商店。
  • AI 寻路冷却:如果目标方块变得无法到达,AI 目标会应用严格的冷却时间,消除寻路泛滥和刻尖峰。

命令

  • /shoppers value <物品> - 返回物品的计算市场价值。
  • /shoppers value set <物品> <铜币价值> - 为物品配置持久自定义价值(需要管理员权限)。

要求与兼容性

  • Lightman's Currency(必需)
  • NeoForge 1.21.1
  • 开箱即用兼容模组物品和子附属模组。