• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
XZInviteReward — 邀请奖励 / 充值返利 / 累计邀请奖励 / 高度自定义

原创 工具 XZInviteReward — 邀请奖励 / 充值返利 / 累计邀请奖励 / 高度自定义 1.0.1

完成注册/登录后下载
版权类型
原创
插件中文名称
邀请系统
插件英文名称
XZInviteReward
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Leaves
  4. 其他核心
语言支持
中文(简体)
前置组件
(可选)PlayerPoints https://www.minebbs.com/resources/playerpoints.9144/
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
  10. 1.12



♦️XZInviteReward♦️




🪧 简介

• 邀请码:进服自动生成,长度与字符集可配置
• 邀请门槛:邀请码主人需累计在线达标后,他人才能使用
• 邀请请求:码主人需在线同意/拒绝,可设过期时间
• 单次奖励:成功邀请后立即执行配置命令
• 累计奖励:按邀请人数分档发奖,GUI 可自定义
• 邀请记录:分页查看被邀请玩家在线、充值、返利
• 点券返利:软依赖 PlayerPoints,按比例返利给邀请人
• 版本支持:材质兼容层,覆盖 1.12.X ~ 1.21.X




🔗 命令

指令​
说明​
权限​
/邀请 [邀请码]​
向其他人发送邀请​
所以人​
/xzia open​
打开邀请系统界面​
所有人​
/xzia reset [玩家名]​
重置该玩家全部数据​
管理员​
/xzia regen [玩家名]​
为该玩家重新生成邀请码​
管理员​
/xzia settime [玩家名] [时间]​
为该玩家设置在线时长​
管理员​
/xzia info [玩家名]​
查看该玩家的邀请信息​
管理员​
/xzia reload​
重载插件配置​
管理员​
/xzia save​
手动保存数据​
管理员​




⚙️ 配置​

config.yml(主要配置文件)

YAML:
# 数据存储方式 (yaml: 本地存储, mysql: 数据库存储)
storage:
  type: yaml
  mysql:
    host: localhost
    port: 3306
    database: minecraft
    username: root
    password: "password"
    table-prefix: xzinvite_
    use-ssl: false

# 主人需要累计在线时长(分钟),邀请码才能被其他人使用
required-online-minutes: 120

# 邀请码长度
code-length: 8

# 邀请码字符集 (去掉容易混淆的字符: 0/O/1/l/I)
code-chars: "ABCDEFGHJKMNPQRSTUVWXYZ23456789"

# 当玩家第一次进服时,自动生成的邀请码是否自动发放到聊天栏
announce-code-on-join: false

# 邀请计数归属模式:
#   code-owner  - (传统) B 输入 A 的码 -> A 的 invited +1
#   active      - (主动) A 输入 B 的码 -> A 的 invited +1 (A 主动拉了 B)
invite-count-mode: active

# 调试模式
debug: false

# 邀请请求过期时间(分钟)
# 设置为 0 表示永不过期
request-expire-minutes: 10

# 点券返利系统
rebate:
  # 是否启用点券返利
  enabled: true
  # 返利比例(0.1 = 10%)
  rate: 0.1

# 邀请码奖励
single-reward:
  enabled: true
  message: "&a输入邀请码成功! 你获得了奖励!"
  commands:
    - "[CONSOLE] money give {player} 2000"
    - "[CONSOLE] broadcast &f玩家 &b{player} &f成功邀请 &b{inviter} &f来到服务器!"

gui.yml(界面配置文件)

YAML:
# 邀请系统主界面
title: "&8&l邀请奖励 &7({player})"
size: 27
show-player-head: true

info-item:
  material: BOOK
  name: "&e邀请信息"
  lore:
    - "&7你的邀请码: &b{code}"
    - "&7当前在线时长: &a{online_minutes} &7/ &a{need_minutes} 分钟"
    - "&7累计邀请人数: &a{count}"
    - "&7点券返利: &6{rebate} &7点券"
    - "&7状态: {status}"

milestone-item:
  material: CHEST
  name: "&e累计奖励"
  lore:
    - "&7当前邀请人数: &a{count}"
    - "&7距离下一档奖励: &e{next} &7人"
    - "&e点击查看详细进度"

invited-list-item:
  material: PAPER
  name: "&e邀请记录"
  lore:
    - "&7已邀请人数: &a{count}"
    - "&e点击查看详细列表"

# 邀请记录界面
invited-list-menu:
  title: "&8&l邀请记录"

# 累计奖励界面
milestone-menu:
  title: "&8&l累计奖励"
  enabled: true
  disabled-title: "&c累计奖励暂未开启"
  disabled-subtitle: "&7请等待管理员开放"
  rewards:
    - count: 5
      material: GOLD_INGOT
      name: "&e邀请 {count} 人奖励 {status}"
      lore:
        - "&7奖励内容:"
        - "&f金币 x5000"
        - "&7当前进度: &a{current} &7/ &a{count}"
      message:
        - "&e&l━━━━━━━━━━━━━━━━━━━━━"
        - "&e邀请奖励:"
        - "&f金币x5000"
        - "&e&l━━━━━━━━━━━━━━━━━━━━━"
      commands:
        - "[CONSOLE] money give {player} 5000"
        - "[CONSOLE] broadcast &f玩家 &b{player} &f成功邀请 &b5位 &f好友来到服务器!"
    - count: 10
      material: DIAMOND
      name: "&b邀请 {count} 人奖励 {status}"
      lore:
        - "&7奖励内容:"
        - "&f金币 x5000"
        - "&7当前进度: &a{current} &7/ &a{count}"
      message:
        - "&e&l━━━━━━━━━━━━━━━━━━━━━"
        - "&e邀请奖励:"
        - "&f金币x5000"
        - "&e&l━━━━━━━━━━━━━━━━━━━━━"
      commands:
        - "[CONSOLE] money give {player} 5000"
        - "[CONSOLE] broadcast &f玩家 &b{player} &f成功邀请 &b10位 &f好友来到服务器!"
    - count: 15
      material: EMERALD
      name: "&a邀请 {count} 人奖励 {status}"
      lore:
        - "&7奖励内容:"
        - "&f金币 x5000"
        - "&7当前进度: &a{current} &7/ &a{count}"
      message:
        - "&e&l━━━━━━━━━━━━━━━━━━━━━"
        - "&e邀请奖励:"
        - "&f金币x5000"
        - "&e&l━━━━━━━━━━━━━━━━━━━━━"
      commands:
        - "[CONSOLE] money give {player} 5000"
        - "[CONSOLE] broadcast &f玩家 &b{player} &f成功邀请 &b15位 &f好友来到服务器!"

messages.yml(消息配置文件

YAML:
# 命令提示信息
prefix: "&f[&b邀请系统&f]"
no-permission: "&c你没有权限执行该命令."
player-only: "&c该命令只能由玩家执行."
unknown-command: "&c未知子命令,使用 /inviteadmin 查看帮助."
player-not-found: "&c找不到玩家 {player}."
code-generated: "&a已为你生成专属邀请码: &b{code} &7(请妥善保管)"
code-self: "&e你的专属邀请码是: &b{code}"
code-other: "&e玩家 &b{player} &e的专属邀请码是: &b{code}"
code-not-found: "&c邀请码 &b{code} &c不存在."
code-self-input: "&c你不能输入自己的邀请码."
code-already-used: "&c你已经使用过该邀请码了."
code-already-used-by: "&c该邀请码已被使用."
code-not-ready: "&c该邀请码的主人在线时长还未达到要求 ({online_minutes}/{need_minutes} 分钟)."
code-accept-success: "&a成功使用邀请码 &b{code} &a! 来自 &b{inviter}&a."
inviter-online-time: "&e玩家 &b{inviter} &e当前在线时长: &a{online_minutes} &7/ &a{need_minutes} &7分钟."
data-reset: "&a已重置玩家 &b{player} &a的所有数据."
data-reloaded: "&a配置文件已重新加载."
cannot-input-own-code: "&c你不能使用自己的邀请码."
milestone-unlocked: "&f[&e里程碑达成&f] &f玩家 &e{player} &f已成功邀请 &e{count} &f位好友来到服务器,获得奖励!"

# 邀请请求相关消息
request-incoming-notify-line1: "&e玩家 &b{player} &e想使用你的邀请码 &b{code}&e,请选择:"
request-sent: "&a请求已发送! 等待 &b{code} &a的主人 &e同意后即可成功邀请."
request-accepted-notify: "&a你的邀请请求已被 &b{owner} &a同意!&7奖励已发放!"
request-rejected-notify: "&c很遗憾,&b{owner} &c拒绝了你的邀请请求。"
request-rejected-owner-notify: "&e你已拒绝 &b{player} &e的邀请请求 (码: {code})"
request-accepted-self: "&a已同意邀请请求!"
request-rejected-self: "&c已拒绝邀请请求."
request-list-empty: "&7暂无邀请请求."
request-owner-offline: "&c邀请码的主人不在线,请稍后再试."
request-already-pending: "&c你已经发送过邀请请求,请等待 &b{owner} &c处理或等待请求过期后再试."
mutual-invite-not-allowed: "&c无法使用该邀请码! &b{owner} &c已经使用过你的邀请码,不能互相邀请."

# 点券返利相关消息
rebate-received: "&f[&b邀请系统&f] &e你邀请的玩家 &b{player} &e充值了 &6{amount} &e点券,你获得了 &6{rebate} &e点券返利!"



📃 结语​

感谢使用 XZInviteReward 插件,我会持续更新更多功能。
对于插件如果你有任何问题或建议,请添加作者的QQ:3414446



作者
有丸没丸
下载
4
查看
65
首次发布
最后更新

评分

0.00 星 0 次评分

有丸没丸 的其他资源

后退
顶部 底部