最MC论坛

标题: [综合|机械|娱乐]ExpTimer —— 可自定义的多功能计时器(已汉化)[1.7.2-1.11.2] [打印本页]

作者: Aikini    时间: 2019-8-10 20:17
标题: [综合|机械|娱乐]ExpTimer —— 可自定义的多功能计时器(已汉化)[1.7.2-1.11.2]
Exp Timer(経験タイマー) ——作者:ucchy

· 简介/前言
先说一下,这个插件我已经扫描过了,没有病毒(最近日本的论坛似乎有点乱,哪里都在提示小心下载到病毒)
[attach]22861[/attach]


OK进入正题,ExpTimer可以将你的经验栏暂时作为一个计时器(注:计时结束,原先经验会变0),你可以将它作为对战、计时副本等用途使用,用途挺广泛的,用法也很多(支持命令方块指令有没有大佬尝试一下返还经验值。。。。)
总感觉前面的红字会劝退一帮人233333,当然,ExpTimer的功能不止于此,你还可以生成一个右侧计分板作为计时器,当然也可以用BOSS血条(需要BarAPI前置),也可以用游戏标题(Bukkit 1.8以下版本失效
具体计时器的配置需要去修改配置文件,在配置文件中设置好后才能在游戏中正常使用,配置文件的日语讲解的也翻译了,没有删除那些日语,因为我语言表达能力基本为0,很多语句不通顺,有些词不会翻译,有日语好的可以直接看日语


· 特色
  1. 作者做这个插件其实是为了另一个插件:ColorTeaming(后面我会搬运并汉化),ColorTeaming就是阵营插件,配合这个可以做出竞技类服务器(相当于一个对战平台),可以在某个队伍 大将被杀/被团灭/分数过低 时结束计时器,并宣布某某队胜利,同时将所有队员传送出地图
  2.倒计时可以不用经验,可以显示在右侧计分板、BOSS血条(需要BarAPI插件),游戏(客户端)标题(Bukkit 1.8以下无效
  3.可自定义程度高,可以在配置文件中自定义指令
  4.剩余时间会通过聊天栏提示,并且有提示音


· 指令/权限
  - 指令 /exptimer可以简写 /et或/timer 都可以,权限默认除了/exptimer其余都是OP才有的权限
   · /exptimer 查看帮助
   · /exptimer start [seconds] [readySeconds] 立刻开始一个计时器 (秒)[准备的时间 单位:秒]
   · /exptimer start (config) 开始一个配置文件中的计时器(config是指在config文件中的计时器名称 例如:Timer 注:是在config文件中的!
   · /exptimer pause 暂停计时器(注:是暂停不是终止!)
   
· /exptimer cancel 终止计时器(不执行任何其它指令)
   · /exptimer end 终止计时器(会执行设置中终止该计时器时的其余指令)
   · /exptimer status 显示当前计时器的设置
   · /exptimer list 显示所有可以使用的配置列表
   · /exptimer reload 重载配置文件config
  -权限(看好再给)
   · exptimer -/exptimer的权限(默认全体玩家)
   · exptimer.start -/exptimer start的权限(默认OP)
   · exptimer.pause -/exptimer pause的权限(默认OP)
   · exptimer.cancel -/exptimer cancel的权限(默认OP)
   · exptimer.end -/exptimer end的权限(默认OP)
   · exptimer.status -/exptimer status的权限(默认OP)
   · exptimer.list -/exptimer list的权限(默认OP)
   · exptimer.reload -/exptimer reload的权限(默认OP)


· 默认配置文件
已汉化(config_ja.yml):
# ExpTimer v2.5.0
# @author     ucchy
# @license    LGPLv3
# @copyright  Copyright ucchy 2014

# デフォルトのタイマー設定です。defaultコンフィグは削除しないでください。
#-   默认计时器设置设置,请不要删除default配置
default:
  seconds: 600
  readySeconds: 10
  commandsOnStart: []
  commandsOnMid: []
  commandsOnEnd: []
  consoleCommandsOnStart: []
  consoleCommandsOnMid: []
  consoleCommandsOnEnd: []
  countdownOnStart: 3
  countdownOnEnd: 5
  runCommandsOnMidSeconds: []
  restAlertSeconds: [60, 180, 300]
  playSound: true
  useExpBar: true
  useSideBar: false
  useBossBar: false
  useTitle: false
  endWithCTTeamDefeat: false
  endWithCTLeaderDefeat: false
  endWithCTKillTrophy: false
  endWithTeamPointUnder: -99999
  endWithTeamPointOver: 99999
  announceToOnlyTeamMembers: false

# 100秒のタイマー設定サンプルです。/timer start Timer1 で、実行することが可能です。
#-   100秒的计时样本,输入/timer start Timer1可以执行
# commandsOnStartにコマンドを設定すると、タイマー開始時に、
#-   commandsOnStart后面的框的引号内是该计时器开始时执行的指令
# commandsOnEndにコマンドを設定すると、タイマー終了時に、
#-   commandsOnEnd后面的框的引号内是该计时器结束时执行的指令
# それぞれのコマンドが実行されます。
#-   计时器会执行这些指令的
Timer1:
  seconds: 100
  readySeconds: 10
  commandsOnStart: ['say 从现在开始,一百秒内将变为困难模式!', 'difficulty 4']
  commandsOnEnd: ['say 困难模式结束!返回到和平模式。', 'difficulty 0']

# タイマー開始と同時にホワイトリストをオフにし、
#-   在计时器结束时关闭白名单
# タイマー終了と同時に全員キックしてホワイトリストをオンにするサンプルです。
#-   这是在计时器结束时全体人员开启白名单的样本
# コマンドブロックのコマンドパラメータ(@a や @p など)が使用可能です。
#-   该插件允许使用命令方块指令
# また、useSideBar、useBossBar を true に設定すると、それぞれ
#-   另外,若将useSideBar、useBossBar设置为true的话,则分别是
# サイドバー、ボスMOBの体力バーを、タイマーのゲージとして使用可能です。
#-   右侧计分板、BOSS血条(需要BarAPI作为前置插件)可以作为计时工具
# (useBossBar を使用するには、BarAPIプラグインを別途導入してください。)
#-    (如果你要使用useBossBar功能,需要将BarAPI作为前置插件)
Timer2:
  seconds: 1200
  readySeconds: 10
  commandsOnStart: ['say 挑战开始!']
  consoleCommandsOnStart: ['whitelist off']
  commandsOnEnd: ['say GAME OVER!']
  consoleCommandsOnEnd: ['kick @a', 'whitelist on']
  countdownOnStart: 5
  countdownOnEnd: 10
  playSound: false
  useExpBar: false
  useSideBar: true
  useBossBar: true

# commandsOnMidにコマンドを設定すると、
#-   如果在commandsOnMid中设置指令
# runCommandsOnMidSecondsで指定した時間に、コマンドが実行できます。
#-   那么在runCommandsOnMidSeconds所指定的时间点上,会执行commandsOnMid上的指令
# restAlertSecondsに時間を設定すると、
#-   如果在restAlertSeconds中设置指令
# 指定した時間に「残り?秒です」というメッセージを表示することができます。
#-   在指定时间内会显示「残り?秒です」(还剩?秒)
Timer3:
  seconds: 30
  readySeconds: 0
  commandsOnStart: ['say Start!']
  commandsOnMid: ['say Fight!']
  commandsOnEnd: ['say End!']
  runCommandsOnMidSeconds: [10,20]
  restAlertSeconds: [5,15,25]
  countdownOnEnd: 3
  useSideBar: true

# 無限に繰り返されるタイマーのサンプルです。
#-   这个是可以无限重复计时的样本
# nextConfigにタイマー設定名を指定すると、タイマー終了時にそのタイマー設定を起動することが可能です。
#-   如果在nextConfig中设定了计时器的配置名称,那么在这个计时器结束时,会开启指定计时器
# タイマー設定自身の設定名を指定すると、そのタイマー設定を無限に繰り返すことができます。
#-   如果你设定了该计时器自身配置名称,那么这个计时器将被无限启动
# タイマーを停止するには、/timer end または /timer cancel を実行してください。
#-   要想停止该计时器,请输入/timer end 或者 /timer cancel
infiniteTimer:
  seconds: 20
  readySeconds: 0
  commandsOnStart: ['say Start!']
  countdownOnStart: 0
  countdownOnEnd: 0
  playSound: true
  nextConfig: 'infiniteTimer'

# Title表示を使ったタイマーのサンプルです。
#-  用Title(标题)表示计时器的样本
# Bukkit 1.8 以降のサーバーでしか効果が無いことにご注意ください。
#-  请注意:Bukkit 1.8以下版本的服务器无效
titleTimer:
  seconds: 10
  readySeconds: 5
  commandsOnStart: ['say Start!']
  commandsOnEnd: ['say End!']
  countdownOnStart: 3
  countdownOnEnd: 5
  useTitle: true

# ColorTeamingと連携した場合の、タイマー設定のサンプルです。
#-  这是结合ColorTeaming插件的计时器样本
# endWithCTTeamDefeat→1チームを残して他のチームが全て全滅したとき
#-  endWithCTTeamDefeat→1 某方被团灭
# endWithCTLeaderDefeat→1チームを残して他のチームのリーダーが全て倒されたとき
#-  endWithCTLeaderDefeat→1 某方队长倒下
# endWithCTKillTrophy→既定のキル数を達成したとき
#-  endWithCTKillTrophy→达成指定的数量
# endWithTeamPointUnder→チームポイントが指定された値を下回ったとき
#-  endWithTeamPointUnder→当队伍得分低于某个数值时
# endWithTeamPointOver→チームポイントが指定された値を上回ったとき
#-  endWithTeamPointOver→当队伍得分超过某个数值时
# に、自動的にタイマーが停止します。
#-  自动停止计时器(对应上面的几种情况)
# また、commandsOnEnd と consoleCommandsOnEnd に、
#-  同时,commandsOnEnd和consoleCommandsOnEnd中
# 勝ったチームに置き換わるキーワード %winteam を使用できます。
#-  可以使用带关键词%winteam代表获胜的那一方 (我想晕了都 不知道咋组织语言了)
# タイマー時間切れで勝ちチームが決まらない場合は、%winteam を含んだコマンドは実行されません。
#-  如果在计时器结束时仍未分出胜负,则不执行包含有关键词%winteam的指令
ColorTeaming:
  seconds: 150
  readySeconds: 10
  commandsOnStart: ['say 战斗开始!!']
  consoleCommandsOnStart: ['rc', 'cclass all knight', 'ctp all spawn']
  commandsOnEnd: ['say 战斗结束!!']
  consoleCommandsOnEnd: ['clear @a', 'effect @a clear', 'cgive %winteam DIAMOND:5', 'ct removeall']
  countdownOnStart: 3
  countdownOnEnd: 5
  playSound: true
  useExpBar: true
  endWithCTTeamDefeat: true
  endWithCTLeaderDefeat: true
  endWithCTKillTrophy: true
  endWithTeamPointUnder: 0
  endWithTeamPointOver: 3000
  


未汉化(config_ja.yml):
  1. # ExpTimer v2.5.0
  2. # @author     ucchy
  3. # @license    LGPLv3
  4. # @copyright  Copyright ucchy 2014

  5. # デフォルトのタイマー設定です。defaultコンフィグは削除しないでください。
  6. default:
  7.   seconds: 600
  8.   readySeconds: 10
  9.   commandsOnStart: []
  10.   commandsOnMid: []
  11.   commandsOnEnd: []
  12.   consoleCommandsOnStart: []
  13.   consoleCommandsOnMid: []
  14.   consoleCommandsOnEnd: []
  15.   countdownOnStart: 3
  16.   countdownOnEnd: 5
  17.   runCommandsOnMidSeconds: []
  18.   restAlertSeconds: [60, 180, 300]
  19.   playSound: true
  20.   useExpBar: true
  21.   useSideBar: false
  22.   useBossBar: false
  23.   useTitle: false
  24.   endWithCTTeamDefeat: false
  25.   endWithCTLeaderDefeat: false
  26.   endWithCTKillTrophy: false
  27.   endWithTeamPointUnder: -99999
  28.   endWithTeamPointOver: 99999
  29.   announceToOnlyTeamMembers: false

  30. # 100秒のタイマー設定サンプルです。/timer start Timer1 で、実行することが可能です。
  31. # commandsOnStartにコマンドを設定すると、タイマー開始時に、
  32. # commandsOnEndにコマンドを設定すると、タイマー終了時に、
  33. # それぞれのコマンドが実行されます。
  34. Timer1:
  35.   seconds: 100
  36.   readySeconds: 10
  37.   commandsOnStart: ['say 今から100秒間、ハードモードになります!', 'difficulty 4']
  38.   commandsOnEnd: ['say ハードモード終了です!ピースフルに戻ります。', 'difficulty 0']

  39. # タイマー開始と同時にホワイトリストをオフにし、
  40. # タイマー終了と同時に全員キックしてホワイトリストをオンにするサンプルです。
  41. # コマンドブロックのコマンドパラメータ(@a や @p など)が使用可能です。
  42. # また、useSideBar、useBossBar を true に設定すると、それぞれ
  43. # サイドバー、ボスMOBの体力バーを、タイマーのゲージとして使用可能です。
  44. # (useBossBar を使用するには、BarAPIプラグインを別途導入してください。)
  45. Timer2:
  46.   seconds: 1200
  47.   readySeconds: 10
  48.   commandsOnStart: ['say server open!']
  49.   consoleCommandsOnStart: ['whitelist off']
  50.   commandsOnEnd: ['say game over!']
  51.   consoleCommandsOnEnd: ['kick @a', 'whitelist on']
  52.   countdownOnStart: 5
  53.   countdownOnEnd: 10
  54.   playSound: false
  55.   useExpBar: false
  56.   useSideBar: true
  57.   useBossBar: true

  58. # commandsOnMidにコマンドを設定すると、
  59. # runCommandsOnMidSecondsで指定した時間に、コマンドが実行できます。
  60. # restAlertSecondsに時間を設定すると、
  61. # 指定した時間に「残り?秒です」というメッセージを表示することができます。
  62. Timer3:
  63.   seconds: 30
  64.   readySeconds: 0
  65.   commandsOnStart: ['say スタート!']
  66.   commandsOnMid: ['say ファイト!']
  67.   commandsOnEnd: ['say 終了!']
  68.   runCommandsOnMidSeconds: [10,20]
  69.   restAlertSeconds: [5,15,25]
  70.   countdownOnEnd: 3
  71.   useSideBar: true

  72. # 無限に繰り返されるタイマーのサンプルです。
  73. # nextConfigにタイマー設定名を指定すると、タイマー終了時にそのタイマー設定を起動することが可能です。
  74. # タイマー設定自身の設定名を指定すると、そのタイマー設定を無限に繰り返すことができます。
  75. # タイマーを停止するには、/timer end または /timer cancel を実行してください。
  76. infiniteTimer:
  77.   seconds: 20
  78.   readySeconds: 0
  79.   commandsOnStart: ['say スタート!']
  80.   countdownOnStart: 0
  81.   countdownOnEnd: 0
  82.   playSound: true
  83.   nextConfig: 'infiniteTimer'

  84. # Title表示を使ったタイマーのサンプルです。
  85. # Bukkit 1.8 以降のサーバーでしか効果が無いことにご注意ください。
  86. titleTimer:
  87.   seconds: 10
  88.   readySeconds: 5
  89.   commandsOnStart: ['say スタート!']
  90.   commandsOnEnd: ['say 終了!']
  91.   countdownOnStart: 3
  92.   countdownOnEnd: 5


  93. # ColorTeamingと連携した場合の、タイマー設定のサンプルです。
  94. # endWithCTTeamDefeat→1チームを残して他のチームが全て全滅したとき
  95. # endWithCTLeaderDefeat→1チームを残して他のチームのリーダーが全て倒されたとき
  96. # endWithCTKillTrophy→既定のキル数を達成したとき
  97. # endWithTeamPointUnder→チームポイントが指定された値を下回ったとき
  98. # endWithTeamPointOver→チームポイントが指定された値を上回ったとき
  99. # に、自動的にタイマーが停止します。
  100. # また、commandsOnEnd と consoleCommandsOnEnd に、
  101. # 勝ったチームに置き換わるキーワード %winteam を使用できます。
  102. # タイマー時間切れで勝ちチームが決まらない場合は、%winteam を含んだコマンドは実行されません。
  103. ColorTeaming:
  104.   seconds: 150
  105.   readySeconds: 10
  106.   commandsOnStart: ['say バトル開始!!']
  107.   consoleCommandsOnStart: ['rc', 'cclass all knight', 'ctp all spawn']
  108.   commandsOnEnd: ['say バトル終了!!']
  109.   consoleCommandsOnEnd: ['clear @a', 'effect @a clear', 'cgive %winteam DIAMOND:5', 'ct removeall']
  110.   countdownOnStart: 3
  111.   countdownOnEnd: 5
  112.   playSound: true
  113.   useExpBar: true
  114.   endWithCTTeamDefeat: true
  115.   endWithCTLeaderDefeat: true
  116.   endWithCTKillTrophy: true
  117.   endWithTeamPointUnder: 0
  118.   endWithTeamPointOver: 3000
复制代码


其它:
messages.yml
  1. # ExpTimer v2.5.0
  2. # @author     ucchy
  3. # @license    LGPLv3
  4. # @copyright  Copyright ucchy 2014

  5. prefix: '&f[ExpTimer]'
  6. preStartSec: '&d距离开始还有 %d秒'
  7. start: '&d开始!'
  8. rest300sec: '&d还剩 5分'
  9. rest180sec: '&d还剩 3分'
  10. rest60sec: '&d还剩 1分'
  11. preEndSec: '&d仅剩 %d秒'
  12. end: '&d结束!'
  13. onTeamWon: '%s队伍胜利!'

  14. sidebarTitle: '&6剩余时间'
  15. bossbarTitle: '&6剩余时间 - %s'
复制代码
plugin.yml
  1. name: ExpTimer
  2. version: 2.5.0
  3. main: com.github.ucchyocean.et.ExpTimer
  4. author: ucchy
  5. description: 经验计时器
  6. softdepend: [ColorTeaming, BarAPI]
  7. commands:
  8.   exptimer:
  9.     description: 经验计时器指令
  10.     aliases: [et,timer]
  11.     usage: |
  12.            /<command> start (seconds) [readySeconds] - 经验计时器开始
  13.            /<command> start (TimerName) - 指定计时器开始
  14.            /<command> pause - 暂时经验计时器
  15.            /<command> cancel - 终止经验计时器(退出时不执行任何指令)
  16.            /<command> end - 终止经验计时器(退出时执行该计时器指令)
  17.            /<command> status - 显示当前设置
  18.            /<command> list - 显示可执行配置的列表
  19.            /<command> reload - 重新载入config.yml
  20.     permission: exptimer
  21.     permission-message: 没有 "<permission>" 权限,无法运行该指令。
  22. permissions:
  23.   exptimer:
  24.     description: 使用/exptimer指令的权限
  25.     default: true
  26.   exptimer.start:
  27.     description: 使用start指令的权限
  28.     default: op
  29.   exptimer.pause:
  30.     description: 使用pause指令的权限
  31.     default: op
  32.   exptimer.cancel:
  33.     description: 使用cancel指令的权限
  34.     default: op
  35.   exptimer.end:
  36.     description: 使用end指令的权限
  37.     default: op
  38.   exptimer.status:
  39.     description: 使用status指令的权限
  40.     default: op
  41.   exptimer.list:
  42.     description: 使用list指令的权限
  43.     default: op
  44.   exptimer.reload:
  45.     description: 使用reload指令的权限
  46.     default: op
  47.   exptimer.*:
  48.     children:
  49.       exptimer: true
  50.       exptimer.start: true
  51.       exptimer.pause: true
  52.       exptimer.cancel: true
  53.       exptimer.end: true
  54.       exptimer.status: true
  55.       exptimer.list: true
  56.       exptimer.reload: true
  57.     description: 使用/exptimer所有子命令的权限
复制代码



· 配置教程
这个插件要想使用,必须先在配置文件配置好 (注:本插件支持命令方块的指令
其实看上面的配置文件你们就应该能看懂的了,如果还不懂那就看这里我简单举几个栗子
栗子:
我想创建一个计时器,我当前是和平模式,挑战1000秒的困难难度生存,准备10秒就好了,那么就是
  1. Timer1:
  2.   seconds: 1000
  3.   readySeconds: 10
  4.   commandsOnStart: ['tellraw @p 从现在开始,1000秒内将变为困难模式!', 'difficulty 4']
  5.   commandsOnEnd: ['tellraw @p 困难模式结束!返回到和平模式。', 'difficulty 0']
复制代码
其中,Timer是这个计时器的名称,seconds后面就是计时器计的时间,readyseconds就是准备时间,CommandsOnStart是当计时器开始的同时运行的指令(tellraw是JAVA版MC在1.7.2中加入的指令),要执行的指令要一起用“[]”框起来,并用“''”指出每一个指令,多个指令之间用“,”隔开,这里我写的是,对开启该计时器的玩家发一句“从现在开始,1000秒内将变为困难模式!”,后面那个指令就是将游戏难度调到困难(可能没有权限,CommandsOnStart/End 参数会受权限限制),CommandsOnEnd是当计时器结束的同时运行的指令,同理。


剩下的你们自己摸索吧,相信你们的脑洞比我还大QAQ
插件的所有参数:
参数
功能
seconds
规定计时器的时间
readyseconds
规定计时器开始前的准备时间
commandsOnStart
计时器开始时执行的指令要用“[]”把所有指令框起来,再用“''”标出每一个指令,每个指令间用“,”隔开,受权限限制
commandsOnMid
在计时器开始后的某一个时间点(下面有参数可以指定,必须指定,否则无效)执行该参数后的指令同上
commandsOnEnd
计时器结束时执行的指令同上
consoleCommandsOnStart
计时器开始时执行的指令(在控制台执行)从控制台执行,从控制台执行,从控制台执行
consoleCommandsOnMid
在计时器开始后的某一个时间点(下面有参数可以指定,必须指定,否则无效)执行该参数后的指令(在控制台执行)同上
consoleCommandsOnEnd
计时器结束时执行的指令(在控制台执行)同上
countdownOnStart
开始前的倒计时(单位:秒)这个和readyseconds不同,这个是计时器已经被启动,准备时间过后的开始倒计时,不添加就没有这个倒计时
countdownOnEnd
计时器快结束前的倒计时(单位:秒)同上,不添加就没有这个倒计时
runCommandsOnMidSeconds
计时器开始后指定某个时间点就是consoleCommandsOnMid和commandsOnMid运行必须设置的那个时间点
restAlertSeconds
当剩余时间为……进行报警
playSound
是否让倒计时(注意是倒计时)发出声音
useExpBar
是否将经验等级以及经验栏作为计时器
useSideBar
是否使用右侧计分板作为计时器
useBossBar
是否使用BOSS血条作为计时器需要前置BarAPI
useTitle
是否使用游戏标题作为计时器Bukkit 1.8 以下版本无效
endWithCTTeamDefeat
如果ColorTeaming的某方队伍全灭,是否结束计时器(ColorTeamingv2.3.2以上版本插件的衍生指令)
endWithCTLeaderDefeat
如果ColorTeaming的某方队伍队长死亡,是否结束计时器  (ColorTeamingv2.3.2以上版本插件的衍生指令)
endWithCTKillTrophy
如果ColorTeaming的某方队伍队长达成KillTrophy,是否结束计时器  (ColorTeamingv2.3.2以上版本插件的衍生指令)
endWithTeamPointUnder
如果ColorTeaming的某方队伍下降至该数值,则停止计时器  (ColorTeamingv2.3.2以上版本插件的衍生指令)
endWithTeamPointOver
如果ColorTeaming的某方队伍达到该数值,则停止计时器  (ColorTeamingv2.3.2以上版本插件的衍生指令)
announceToOnlyTeamMembers
如果设置为true,则倒计时的时间和声音只有被ColorTeaming的队伍所指定的玩家才能收到  (ColorTeamingv2.3.2以上版本插件的衍生指令)
nextConfig
计时器结束后自动运行的下一个计时器的配置名称
messageFileName
计时器的消息保存在……文件
不设置则默认messages.yml
例:messageFileName: 'messages_test.yml'


· 一些图片(测试插件的时候顺手截图的)
[attach]22863[/attach]
[attach]22862[/attach]


· 下载地址
考虑到百度云会限速,因而我弄了三个下载,一个百度云,一个TX微云,一个论坛内下载
百度云:
https://pan.baidu.com/s/1EUsWdN0fKH8jNjYp2YmPlQ 提取码:9yze


TX微云:
https://share.weiyun.com/5XFNAao 提取码:59juur


论坛内下载:
[attach]22864[/attach]




· 关于授权
[sou]
我号没了。。。。
[/sou]







欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2