HTSellwands

HTSellwands

为你的服务器添加出售魔杖功能

实用

HTSellWands


Discord: https://discord.gg/y6RemcjSaD

HTSellWands 让玩家只需右键单击,即可立即出售箱子或容器中的物品。您可以创建带有不同倍率、使用次数限制、音效和粒子效果的自定义出售魔杖。魔杖完全可通过游戏内界面或 JSON 文件配置,且价格按物品单独设定,让您对服务器经济拥有完全控制权。

当玩家手持出售魔杖右键点击容器时,容器内所有已设定价格的物品将自动出售。收益计算公式为:价格 x 数量 x 魔杖倍率,随后直接存入玩家余额。未设定价格的物品将保留在容器中,不受影响。每次使用消耗一次充能,充能耗尽后魔杖将损坏。

需要 VaultUnlocked 来实现经济系统集成。兼容任何通过 VaultUnlocked 注册的经济插件。


指令

所有指令均以 /sellwand 开头(别名 /sw)。

指令 描述
/sellwand give (玩家) (魔杖ID) [数量] 给予一名玩家一个或多个魔杖
/sellwand giveall (魔杖ID) [数量] 给予所有在线玩家魔杖
/sellwand list 显示所有已配置的魔杖类型
/sellwand info (魔杖ID) 显示特定魔杖的详细信息
/sellwand setprice (物品ID) (价格) 设置物品的出售价格
/sellwand removeprice (物品ID) 移除物品的出售价格
/sellwand pricelist [页数] 列出所有已配置的物品价格
/sellwand reload 从磁盘重新加载魔杖和价格配置
/sellwand ui 打开可视化魔杖编辑器

权限

权限节点 描述
htsellwands.admin 访问基础 /sellwand 指令
htsellwands.admin.give 给予玩家魔杖
htsellwands.admin.giveall 给予所有在线玩家魔杖
htsellwands.admin.list 列出魔杖定义
htsellwands.admin.info 查看魔杖详情
htsellwands.admin.setprice 设置物品出售价格
htsellwands.admin.removeprice 移除物品出售价格
htsellwands.admin.pricelist 查看价格列表
htsellwands.admin.reload 重载配置文件
htsellwands.admin.ui 打开魔杖编辑器界面

每把魔杖的独立权限

每把魔杖都可以选择性地要求玩家拥有特定权限才能使用。在魔杖定义的 permission 字段中设置您选择的权限节点。例如,如果将魔杖的权限设置为 sellwand.use.premium,则只有拥有该权限的玩家才能使用它出售物品。没有权限的玩家会看到一条提示信息,告知他们无权使用。如果您将权限字段留空或不包含该字段,那么任何手持该魔杖的玩家都可以无限制地使用它。


配置

插件首次运行时会在 plugins/HTSellWands/ 目录下创建两个 JSON 文件。

wands.json — 此文件用于存放魔杖定义。每把魔杖都有一个 ID、一个用于复制外观的基础物品、一个带颜色代码的显示名称、一个描述模板、一个用于发光效果的质量等级、最大使用次数、一个出售倍率,以及可选的音效/粒子效果。以下是一个示例:

{
  "wands": [
    {
      "id": "htsellwands:basic_wand",
      "baseItemId": "Tool_Growth_Potion",
      "displayName": "基础出售魔杖",
      "description": "右键点击箱子以出售内容\n倍率:{multiplier}x\n次数:{uses_remaining}/{max_uses}",
      "qualityIndex": 3,
      "maxUses": 10,
      "multiplier": 1.0,
      "sellSound": "BlockPlace_Stone",
      "sellSoundVolume": 1.0,
      "sellSoundPitch": 1.2
    },
    {
      "id": "htsellwands:premium_wand",
      "baseItemId": "Tool_Growth_Potion",
      "displayName": "高级出售魔杖",
      "description": "右键点击箱子以出售内容\n倍率:{multiplier}x\n次数:{uses_remaining}/{max_uses}",
      "qualityIndex": 5,
      "maxUses": 50,
      "multiplier": 2.0,
      "permission": "sellwand.use.premium",
      "sellSound": "BlockPlace_Stone",
      "sellSoundVolume": 1.0,
      "sellSoundPitch": 0.8,
      "sellParticle": "Combat_Crit_Attack",
      "sellParticleScale": 1.0
    }
  ]
}

描述字段支持占位符:{multiplier} 显示魔杖的出售倍率,{max_uses} 显示总使用次数,{uses_remaining} 显示剩余使用次数。颜色代码使用 <color is="#FF22FF">text</color> 格式,最好在 JSON 内部设置。

item_prices.json — 这是一个物品 ID 到其基础出售价值的简单映射。只有在此列表中列出的物品才能被魔杖出售。任何不在列表中的物品都将保留在容器中。示例:

{
  "prices": {
    "Food_Bread": 10.0,
    "Ore_Copper_Stone": 25.0,
    "Ore_Iron_Stone": 50.0,
    "Ore_Gold_Stone": 100.0
  }
}

您也可以在游戏内使用 /sellwand setprice/sellwand removeprice 管理价格,无需编辑文件。


出售机制

玩家收到的每种物品的最终金额计算公式为:基础价格 x 数量 x 魔杖倍率。因此,如果面包价格为 10,箱子里有 64 个面包,魔杖的倍率为 2.0x,则玩家将获得 1280。出售后,无论容器中有多少物品,魔杖都会消耗一次使用次数。当使用次数归零时,魔杖将被销毁。玩家总会收到一条聊天消息,显示售出的物品数量、总收入以及剩余使用次数。


关于物品提示显示的说明

由于 Hytale 处理物品提示的方式存在限制,魔杖提示上显示的剩余使用次数偶尔可能会不正确或无法立即更新。这只是一个显示上的问题。实际剩余使用次数会在物品的内部元数据中准确跟踪,并且在每次使用时正确递减。每次出售后,聊天消息都会显示真实的剩余使用次数。即使提示显示有延迟,底层数据始终是正确的。