找回密码
 立即注册

QQ登录

只需一步,快速开始

[1.12.2-1.20.4]Banker ✨ 多功能MM战利品分配

像素搬运菌 2024-2-29 01:49:44 综合 阅读 494 来自 中国广西南宁
服务器插件
中文名称:
英文名称: Banker
插件来源: 转载
适用服务端: Spigot Paper 
插件类型: 综合
语言支持: 中文 
适用版本: 1.12.x 1.13.x 1.14.x 1.15.x 1.16.x 1.17.x 1.18.x 1.19.x 1.20.x 
前置插件/mod: NeigeItems; MythicMobs
下载地址: https://github.com/Neige7/Banker/releases
原贴地址:

马上登录/注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Banker
Version 1.2.7
本帖插件及内容禁止任何人转载到任何地方
使用过程中如果遇到bug请加群沟通提交

▎ 功能简介

本插件的主要功能是在MM怪物死亡后向玩家发送伤害统计信息,
并通过自带的多种模式,根据伤害占比、伤害排名、伤害数值等因素,
给予玩家不同的战利品




▎ 功能介绍



▎ 插件指令

    []为必填, ()为选填, 仅后台或OP可执行
    /banker reload > 重新加载Banker配置
    /banker help > 查看帮助信息

▎ 插件配置

config.yml
# 是否记录全部MM怪物的伤害统计信息(包含未配置死后执行指令的怪物)
LogAll: false

Messages:
  # 怪物死亡提示文本
  Death: "§f§l§k|§r §c已击杀 {monster}, 讨伐奖励已发放! {damagemessage}"
  # 伤害统计查看提示
  Damage: "§f[§c§l查看讨伐报告§f]"
  # 怪物伤害统计前缀, 设置为 DamagePrefix: [] 代表不发送
  DamagePrefix:
    - "§c§m§l----------§f§l/ §c讨伐报告 §f§l/§c§m§l----------"
    - "§f§m  §f§l|  §7讨伐目标 - {monster}"
    - "§f§m  §f§l|  §7累计伤害 - {totaldamage}"
    - "§f§m  §f§l|  §7伤害统计: "
  # 怪物伤害统计
  DamageInfo: "  §f§l┕§f§m        §r §7{ranking}. {player}: §a{damage} §8({percentage})"
  # 怪物伤害统计后缀, 设置为 DamageSuffix: [] 代表不发送
  DamageSuffix:
    - ""
    - "§c§m§l----------------------------"
  # 战利品类型错误提示
  LootTypeError: "§e[Banker] §4未知战利品类型: {type}"
  InvalidPlugin: '§e[Banker] §6未发现前置插件: {plugin}'
  Reloaded: '§e[Banker] §6重载完毕'

Help:
  prefix: |-
    §6======================§eBanker§6======================
    §6==================[]为必填, ()为选填==================
  suffix: §6================<< §e{prev} §f{current}§e/§f{total} §e{next} §6>>================
  amount: 10
  format: "{command} §7> {description}"
  prev: 上一页
  next: 下一页
  commands:
    reload:
      command: §e/banker §freload
      description: 重新加载config文件
    help:
      command: §e/banker §fhelp (页数)
      description: 查看帮助信息



plugins/MythicMobs/Mobs/Banker/ExampleMobs.yml
SeparateExample:
  Type: ZOMBIE
  Health: 1
  Banker:
    # 当前战利品ID, 只要不重复就可以
    SeparateExample:
      # Separate模式下,每一组动作将分别进行随机,分派给不同玩家。比如:
      # 玩家A造成50%伤害,玩家B造成30%伤害,玩家C造成20%伤害
      # 根据动作组数进行多轮随机:
      # 第一组动作:50%交由A玩家执行,30%交由B玩家执行,20%交由C玩家执行
      # 第二组动作:50%交由A玩家执行,30%交由B玩家执行,20%交由C玩家执行
      # 第三组动作:50%交由A玩家执行,30%交由B玩家执行,20%交由C玩家执行
      # ......(同理)
      #
      # 普通动作(例如tell、console等动作)中:
      # <damage>代表玩家造成的伤害, 保留两位小数
      # <totalDamage>代表所有玩家造成的总伤害, 保留两位小数
      # 条件和js动作中:
      # damage代表玩家造成的伤害, 保留两位小数
      # totalDamage代表所有玩家造成的总伤害, 保留两位小数
      LootType: "Separate"
      # 书写多组NI动作
      # 所有动作类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E5%8A%A8%E4%BD%9C%E7%B1%BB%E5%9E%8B
      # 所有条件类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E6%9D%A1%E4%BB%B6%E7%B1%BB%E5%9E%8B
      LootAction:
      # 第一组动作
      - - "console: minecraft:give %player_name% stone 10"
        - "console: minecraft:give %player_name% diamond 10"
        - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
      # 第二组动作
      - - "console: minecraft:give %player_name% stone 64"
        - "console: minecraft:give %player_name% diamond 64"
        - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
      # 第三组动作
      - - condition: perm("test")
          actions:
          - "tell: 你拥有test权限"
        - condition: damage >= 1000
          actions:
          - "tell: 你造成了超过1000点伤害"
PackExample:
  Type: ZOMBIE
  Health: 1
  Banker:
    # 当前战利品ID, 只要不重复就可以
    PackExample:
      # Pack模式下,所有动作将作为一个整体进行随机,分派给同一个玩家。比如:
      # 玩家A造成50%伤害,玩家B造成30%伤害,玩家C造成20%伤害
      # 根据玩家伤害进行一次随机:
      # 所有动作:50%交由A玩家执行,30%交由B玩家执行,20%交由C玩家执行
      #
      # 普通动作(例如tell、console等动作)中:
      # <damage>代表玩家造成的伤害, 保留两位小数
      # <totalDamage>代表所有玩家造成的总伤害, 保留两位小数
      # 条件和js动作中:
      # damage代表玩家造成的伤害, 保留两位小数
      # totalDamage代表所有玩家造成的总伤害, 保留两位小数
      LootType: "Pack"
      # 书写多组NI动作
      # 所有动作类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E5%8A%A8%E4%BD%9C%E7%B1%BB%E5%9E%8B
      # 所有条件类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E6%9D%A1%E4%BB%B6%E7%B1%BB%E5%9E%8B
      LootAction:
        # 第一组动作
        - - "console: minecraft:give %player_name% stone 10"
          - "console: minecraft:give %player_name% diamond 10"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
        # 第二组动作
        - - "console: minecraft:give %player_name% stone 64"
          - "console: minecraft:give %player_name% diamond 64"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
        # 第三组动作
        - - condition: perm("test")
            actions:
              - "tell: 你拥有test权限"
          - condition: damage >= 1000
            actions:
              - "tell: 你造成了超过1000点伤害"
MultiPackExample:
  Type: ZOMBIE
  Health: 1
  Banker:
    # 当前战利品ID, 只要不重复就可以
    MultiPackExample:
      # MultiPack模式下,所有动作将作为一个整体,将伤害占比作为权重,选取Amount个玩家,进行多次执行。比如:
      # 玩家A造成40%伤害,玩家B造成30%伤害,玩家C造成20%伤害,玩家D造成10%伤害,Amount为3
      # 在4人中选取3人执行LootAction
      # 选取第一人时,4/10选取A玩家,3/10选取B玩家,2/10选取C玩家,1/10选取D玩家
      # 假如第一人为B,则剩余玩家造成的总伤害从100%变为70%,则:
      # 选取第二人时,4/7选取A玩家,2/7选取C玩家,1/7选取D玩家
      # 假如第二人为D,则剩余玩家造成的总伤害从70%变为60%,则:
      # 选取第三人时,4/6选取A玩家,2/6选取C玩家,1/6选取D玩家
      # 以上述逻辑,选取Amount个玩家,每个玩家执行一次所有动作
      #
      # 普通动作(例如tell、console等动作)中:
      # <damage>代表玩家造成的伤害, 保留两位小数
      # <totalDamage>代表所有玩家造成的总伤害, 保留两位小数
      # 条件和js动作中:
      # damage代表玩家造成的伤害, 保留两位小数
      # totalDamage代表所有玩家造成的总伤害, 保留两位小数
      LootType: "MultiPack"
      # 选取3个玩家
      Amount: 3
      # 书写多组NI动作
      # 所有动作类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E5%8A%A8%E4%BD%9C%E7%B1%BB%E5%9E%8B
      # 所有条件类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E6%9D%A1%E4%BB%B6%E7%B1%BB%E5%9E%8B
      LootAction:
        # 第一组动作
        - - "console: minecraft:give %player_name% stone 10"
          - "console: minecraft:give %player_name% diamond 10"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
        # 第二组动作
        - - "console: minecraft:give %player_name% stone 64"
          - "console: minecraft:give %player_name% diamond 64"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
        # 第三组动作
        - - condition: perm("test")
            actions:
              - "tell: 你拥有test权限"
          - condition: damage >= 1000
            actions:
              - "tell: 你造成了超过1000点伤害"
RankExample:
  Type: ZOMBIE
  Health: 1
  Banker:
    # 当前战利品ID, 只要不重复就可以
    RankExample:
      # Rank模式下,将根据玩家排名进行奖励。比如:
      # 玩家A造成50%伤害,玩家B造成30%伤害,玩家C造成20%伤害
      # 根据玩家伤害排名进行分配:
      # 第一组动作:交由A玩家执行
      # 第二组动作:交由B玩家执行
      # 第三组动作:交由C玩家执行
      # 对于未获得奖励的玩家,执行GuaranteeAction,比如:
      # D玩家造成0.01伤害,排名第四,LootAction只书写了三组动作
      # 即:D玩家执行GuaranteeAction,收到消息“再接再厉”
      #
      # 普通动作(例如tell、console等动作)中:
      # <rank>代表玩家的整体排名
      # <damage>代表玩家造成的伤害, 保留两位小数
      # <totalDamage>代表所有玩家造成的总伤害, 保留两位小数
      # 条件和js动作中:
      # rank代表玩家的整体排名
      # damage代表玩家造成的伤害, 保留两位小数
      # totalDamage代表所有玩家造成的总伤害, 保留两位小数
      LootType: "Rank"
      # 书写多组NI动作
      # 所有动作类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E5%8A%A8%E4%BD%9C%E7%B1%BB%E5%9E%8B
      # 所有条件类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E6%9D%A1%E4%BB%B6%E7%B1%BB%E5%9E%8B
      LootAction:
        # 第一组动作
        - - "console: minecraft:give %player_name% stone 10"
          - "console: minecraft:give %player_name% diamond 10"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
          - "tell: 你的伤害排名是<rank>"
          - condition: rank <= 5
            actions:
              - "tell: 你的伤害达到了前五名"
        # 第二组动作
        - - "console: minecraft:give %player_name% stone 64"
          - "console: minecraft:give %player_name% diamond 64"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
          - "tell: 你的伤害排名是<rank>"
          - condition: rank <= 5
            actions:
              - "tell: 你的伤害达到了前五名"
        # 第三组动作
        - - condition: perm("test")
            actions:
              - "tell: 你拥有test权限"
          - condition: damage >= 1000
            actions:
              - "tell: 你造成了超过1000点伤害"
          - condition: rank <= 5
            actions:
              - "tell: 你的伤害达到了前五名"
      GuaranteeAction:
        - "tell: 再接再厉"
AllExample:
  Type: ZOMBIE
  Health: 1
  Banker:
    # 当前战利品ID, 只要不重复就可以
    AllExample:
      # All模式下,所有造成伤害的玩家均可获得奖励。比如:
      # 玩家A造成50%伤害,玩家B造成30%伤害,玩家C造成20%伤害
      # 所有动作多次重复:A玩家执行一次,B玩家执行一次,C玩家执行一次
      #
      # 普通动作(例如tell、console等动作)中:
      # <damage>代表玩家造成的伤害, 保留两位小数
      # <totalDamage>代表所有玩家造成的总伤害, 保留两位小数
      # 条件和js动作中:
      # damage代表玩家造成的伤害, 保留两位小数
      # totalDamage代表所有玩家造成的总伤害, 保留两位小数
      LootType: "All"
      # 书写多组NI动作
      # 所有动作类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E5%8A%A8%E4%BD%9C%E7%B1%BB%E5%9E%8B
      # 所有条件类型详见 https://neige7.github.io/NeigeItems-Wiki-Docusaurus/%E7%89%A9%E5%93%81/%E7%89%A9%E5%93%81%E5%8A%A8%E4%BD%9C/%E6%9D%A1%E4%BB%B6%E7%B1%BB%E5%9E%8B
      LootAction:
        # 第一组动作
        - - "console: minecraft:give %player_name% stone 10"
          - "console: minecraft:give %player_name% diamond 10"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
        # 第二组动作
        - - "console: minecraft:give %player_name% stone 64"
          - "console: minecraft:give %player_name% diamond 64"
          - "tell: 你造成了<damage>点伤害, 全体总伤害<totalDamage>"
        # 第三组动作
        - - condition: perm("test")
            actions:
              - "tell: 你拥有test权限"
          - condition: damage >= 1000
            actions:
              - "tell: 你造成了超过1000点伤害"
          - condition: totalDamage >= 1000
            actions:
              - "tell: 所有人共造成了超过1000点伤害"


▎ 插件下载
https://github.com/Neige7/Banker
      不支持任何模组端

▎ 插件安装

    1. 安装前置插件NeigeItems
    2. 下载本插件
    3. 将文件丢入plugins文件夹
    4. 重启服务器


▎ 应用实例

      给予所有造成伤害的玩家奖励
      伤害前三名将获得对应奖励
      根据公式不同排名不同奖励
      伤害前100名获得奖励
      按伤害占比抽取获得奖励的玩家
      按伤害占比抽取多个获得奖励的玩家
      伤害最高的玩家获得奖励


▎ 使用协议
    ☑你可以在你的服务器中随意使用此插件;
    ☒你不可以声称此插件是你编写的,禁止倒卖本插件。


本插件所用所有代码均为原创,不存在借用/抄袭等行为

(0)
像素搬运菌板块版主

帖子地址: 

发表回复

使用道具 举报