货币袋

货币袋

一个全面的Minecraft经济系统,包含虚拟货币、精美商店GUI以及强大的游戏内管理命令。功能包括持久化金币存储、支持按类别组织的可定制商店、热重载配置

经济

钱袋模组

一个为 Minecraft 打造的综合性经济系统,包含硬币、商店和游戏内管理功能!

📋 概述

钱袋模组为 Minecraft 添加了一套完整的虚拟货币系统,让玩家可以赚取、存储和消费硬币。该模组拥有精美的商店 GUI、强大的管理员命令以及完整的配置支持——而且无需任何外部依赖!

✨ 主要特性

💰 虚拟货币系统

  • 持久化硬币存储:每位玩家拥有自己的硬币余额,跨会话保存
  • 大数值支持:使用 long 数据类型,支持高达 9,223,372,036,854,775,807 枚硬币的余额
  • 自动同步:在以下情况下硬币会自动同步:
    • 加入服务器时
    • 死亡后重生时
    • 切换维度时
    • 进行购买时

🏪 商店系统

  • 精美的 GUI:现代化的无贴图界面,带有渐变背景和金色点缀
  • 分类组织:物品按可自定义的分类整理(资源、装备、食物、魔法等)
  • 视觉反馈:悬停效果、动画按钮和清晰的定价显示
  • 余额显示:在商店和物品栏界面中实时显示硬币余额
  • 智能校验:购买前检查硬币是否充足以及物品栏空间

🎮 游戏内商店管理

无需重启服务器即可管理商店的强大命令:

  • 添加物品:/coins shop add <category> <itemId> <price> <name> <description>
  • 移除物品:/coins shop remove <category> <itemId>
  • 列出物品:/coins shop list [category]
  • 重载配置:/coins shop reload(无需重启即可应用更改!)
  • 调试工具:/coins debug <modid>(查找来自任意模组的物品 ID)

⚙️ 配置系统

  • 基于 JSON:易于编辑的配置文件
  • 热重载:更改无需重启服务器即可生效
  • 默认物品:自带预配置的商店物品
  • 模组支持:兼容来自任意模组的物品!

🎨 用户界面

  • 物品栏显示:在玩家物品栏中显示硬币余额,数字经过格式化(1K、1M 等)
  • 商店分类:带有物品数量的视觉分类图标
  • 物品卡片:精美的物品展示,包含图标、名称、价格和描述
  • 响应式设计:悬停效果和点击反馈

🛠️ 合成配方

商店方块

[Gold] [Emerald] [Gold]
[Diamond] [Chest] [Diamond]
[Iron Block] [Iron Block] [Iron Block]

面向服务器管理员:

  1. 给自己发放硬币:/coins add @p 1000
  2. 在出生点放置一个商店方块
  3. 通过命令或配置文件自定义商店物品
  4. 做出更改后使用 /coins shop reload

📝 配置

商店配置存储在 config/currency_pouch_mod-shop.json

配置示例:

{
  "categories": [
    {
      "name": "Resources",
      "icon": "⛏",
      "items": [
        {
          "itemId": "minecraft:diamond",
          "price": 100,
          "name": "Diamond",
          "description": "Precious gem"
        }
      ]
    }
  ]
}

添加来自其他模组的物品:

  1. 查找物品 ID:/coins debug modname
  2. 添加到商店:/coins shop add "Category" "modname:item" 100 "Name" "Description"
  3. 重载:/coins shop reload

重要提示:对于包含冒号的物品 ID,请使用引号括起来!

🎯 使用场景

生存服务器

  • 创建由玩家驱动的经济体系
  • 奖励玩家完成任务
  • 设置出售必需品的出生点商店
  • 通过硬币购买来平衡游戏进程

小游戏服务器

  • 为赢得游戏奖励硬币
  • 创建装饰品商店
  • 实现下注系统
  • 追踪玩家财富

RPG 服务器

  • 以硬币作为任务奖励
  • 拥有地区性物品的城镇商店
  • 通过硬币进行玩家交易
  • 经济成长系统

创造服务器

  • 奖励建筑比赛
  • 地块购买系统
  • 资源分配控制

🔧 技术细节

特性:

  • 能力系统:高效的玩家数据存储
  • 网络同步:客户端-服务器硬币同步
  • NBT 持久化:数据在服务器重启后依然保留
  • 命令系统:基于 Brigadier 的命令,带权限控制
  • 事件处理:在死亡/维度切换时自动复制数据

性能:

  • 极低的服务器开销
  • 高效的 NBT 序列化
  • 客户端渲染优化
  • 无外部依赖

📚 命令参考

玩家命令:

无——所有命令均需要 OP 等级 2

管理员命令:

硬币管理:

/coins add <player> <amount>     - 为玩家添加硬币
/coins set <player> <amount>     - 设置玩家的余额
/coins get <player>              - 查看玩家的余额

商店管理:

/coins shop add <category> <itemId> <price> <name> <description>
  - 向商店添加物品
  
/coins shop remove <category> <itemId>
  - 从商店移除物品
  
/coins shop list [category]
  - 列出所有分类或某分类中的物品
  
/coins shop reload
  - 无需重启即可重载配置

调试:

/coins debug <modid>
  - 列出指定模组的所有物品

🎨 自定义

商店分类:

  • 创建无限数量的分类
  • 自定义图标(Unicode 符号)
  • 以合理的方式组织物品
  • 可视化分类选择

物品配置:

  • 设置自定义价格
  • 添加描述
  • 使用来自任意模组的物品
  • 从配置动态加载

视觉自定义:

  • 颜色编码的 UI 元素
  • 渐变背景
  • 营造高级感的金色点缀
  • 响应式悬停效果

🔒 权限

所有命令默认需要 OP 等级 2。

授予权限:

/op <player>

🐛 故障排除

商店为空:

  1. 检查 config/currency_pouch_mod-shop.json 是否存在
  2. 确认物品 ID 正确
  3. 使用 /coins debug <modid> 查找正确的 ID
  4. 运行 /coins shop reload

找不到物品:

  • 确保模组已加载
  • 检查物品 ID 格式:modname:itemname
  • 模组 ID 使用小写
  • 对于包含冒号的 ID 使用引号括起来

硬币未保存:

  • 确认服务器对世界文件夹有写入权限
  • 检查日志中的错误
  • 确保 Forge 版本兼容

更改未生效:

  • 配置更改后运行 /coins shop reload
  • 玩家必须重新打开商店才能看到更新
  • 检查日志中的配置错误

📖 示例

设置一个新手商店:

/coins shop add "Starter" "minecraft:wooden_sword" 10 "Wooden Sword" "Basic weapon"
/coins shop add "Starter" "minecraft:bread" 5 "Bread" "Restores hunger"
/coins shop add "Starter" "minecraft:torch" 1 "Torch" "Provides light"
/coins shop reload

添加模组物品(Mekanism 示例):

/coins debug mekanism
/coins shop add "Tech" "mekanism:ingot_osmium" 50 "Osmium Ingot" "Advanced material"
/coins shop add "Tech" "mekanism:energy_tablet" 100 "Energy Tablet" "Stores power"
/coins shop reload

发放奖励:

/coins add @a[tag=winner] 1000
/coins add @p 500

🤝 兼容性

兼容:

  • ✅ 所有 Forge 模组(可将物品添加到商店)
  • ✅ 多人服务器
  • ✅ 单人世界
  • ✅ 整合包

已测试:

  • Mekanism
  • Applied Energistics 2
  • Tinkers' Construct
  • Thermal Expansion
  • 以及更多!

📜 许可证

本模组按原样提供给 Minecraft 1.19.2 与 Forge。