名副其实
本帖最后由 名副其实 于 2022-7-10 18:51 编辑
| MineCrates |

Get lucky and find a chest full of rewards while mining! Best 'Lucky Blocks' plugin available


| Description | 插件介绍

MineCrates allows server owners to define areas where crates will spawn. Blocks that are mined in the area contribute to the reward counters, once reached the last block the player broke will switch into a reward crate. Areas, rewards and tiers can all be edited within the config.

本插件允许服主们决定哪些区域会随机生成宝箱。同时,在该区域内挖掘的方块会被计入奖励计数器,一旦挖掘数量足够,下次玩家挖掘特定种类的方块时就会将该方块转换为宝箱。区域,奖励和(宝箱的)等级可以在 config 编辑。

| Features | 插件特色

Ability to define "crate areas"
You can define unlimited "areas" and even "reward tiers"
MineCrates supports: WorldGuard, WorldEdit, PrisonMines & MineResetLite
Highly customizable.
Rewards can be items or commands
Highly customizable.
PlaceholderAPI support
Permission based

允许设置"宝箱(刷新)区域"
可以设置无限多的"宝箱(刷新)区域"和"(宝箱)战利品等级"
支持 WorldGuard, WorldEdit, PrisonMines 和 MineResetLite
高度自定义。
奖励可以是物品,也可以是执行特定的命令。
支持 PlaceholderAPI
基于权限

名副其实
本帖最后由 名副其实 于 2022-7-10 18:59 编辑
| MineCrates |

Get lucky and find a chest full of rewards while mining! Best 'Lucky Blocks' plugin available


| Commands & Permissions | 命令与权限

         Player Commands | 玩家命令

命令权限描述
/minecrates helpminecrates.help帮助信息
/minecrates infominecrates.info返回你所在的宝箱区域


         Admin Commands | 管理员命令


命令权限描述
/minecrates ingoreminecrates.ignore切换奖励消息
/minecrates reloadminecrates.admin重载配置文件


等价用法: /Minecrates: /Mcrates

         Permissions | 权限列表

权限描述
minecrates.get允许通过挖掘方块获取宝箱
minecrates.cooldown.exempt绕过获取宝箱的冷却时间


名副其实
本帖最后由 名副其实 于 2022-7-10 19:05 编辑
| MineCrates |

Get lucky and find a chest full of rewards while mining! Best 'Lucky Blocks' plugin available


| Configuration | 示例配置

config.yml
  1. # MineCrates 2.10.0 configuration file
  2. # Created by: extended_clip
  3. #
  4. #
  5. # area_handler: World / WorldGuard / MRL / PrisonMines
  6. # area_handler is the name of the hook you want to define crate areas for
  7. # Crate areas are tied to the name of the world / mine / region you choose
  8. # depending on the hook you use.
  9. #
  10. # crate_despawn_time: <time in seconds that crates will despawn after spawning>
  11. #
  12. # crate_material: <Material or ID of the crate block that is spawned>
  13. #
  14. # crate_inventory_name: <name of the inventory shown when the crate is opened>
  15. #
  16. # ==================================================
  17. #
  18. # Crate area configuration:
  19. #
  20. # Almost all entries in areas are optional
  21. # although you must have a drop_counter and drop_chance entry.
  22. # You must also have a rewards section with at least 1 valid reward list for the area to be loaded.
  23. #
  24. # areas:
  25. #   (region, mine, or world name):
  26. #     permission: (if you want players to have a certain permission to obtain crates in this area, add the permission node here)
  27. #     drop_counter: (how many blocks need to be broken before a crate has a chance to spawn)
  28. #     drop_chance: (what is the chance out of 100.0 that a crate will spawn when the counter reaches 0)
  29. #     alternate_areas:
  30. #     - (if you would like to allow this area options to be used for other areas)
  31. #     - (that way all rewards and options are shared, you can list the alternate area names here)
  32. #     - world_nether
  33. #     - world_the_end
  34. #     counted_materials:
  35. #     - (if you only want to have certain materials count towards the counter)
  36. #     - (you can list them here, otherwise don't add this option)
  37. #     - DIAMOND_ORE
  38. #     - EMERALD_ORE
  39. #     reward_on_break: <true/false> should rewards be given on break of the block instead of spawning a crate
  40. #     rewards: (this section holds all reward related options specific to this area)
  41. #       (name of this reward list):
  42. #         priority: (if you have multiple lists, the lowest priority list will be applied if player has multiple list permissions)
  43. #         permission: (optional if you require players have certain permission to obtain rewards in this list)
  44. #         max_rewards_per_crate: (max amount of rewards a player can get in a crate from this list)
  45. #         only_owner_can_open: (should only the person this crate spawned for be allowed to open it)
  46. #         crate_spawn_actions: (these actions are performed when a crate holding this reward list is spawned)
  47. #         - [msg] You found a crate
  48. #         - [broadcast] @p found a crate
  49. #         - [command] eco give @p 100
  50. #         - [playersound] ANVIL_LAND 10 1
  51. #         - [worldsound] ANVIL_BREAK 10 1
  52. #         - [effect] helix
  53. #         crate_open_actions: (these actions are performed when a crate holding this reward list is opened)
  54. #         - [msg] You opened a MineCrate!
  55. #         - [broadcast] @p opened a crate
  56. #         - [playersound] CHEST_OPEN 10 1
  57. #         - [effect] atom
  58. #         crate_despawn_actions: (these actions are performed when a crate holding this reward list is despawned if it was not opened)
  59. #         - [msg] You missed your crate
  60. #         - [worldsound] ANVIL_BREAK 10 1
  61. #         - [effect] heart
  62. #         items: (this section holds all of the actual commands / items given as rewards)
  63. #           (unique name for this item reward):
  64. #             chance: (chance this reward will be selected) the chance system is explained below...
  65. #             item: (if this reward is an itemstack, you must specify 'item:' here, otherwise you will specify 'commands:')
  66. #               material: (if this is an item, these are the item options you can use)
  67. #               data: (data value if needed)
  68. #               amount: (amount of this item to give)
  69. #               name: (display name to set on this item)
  70. #               lore:
  71. #               - (add your lore here if you want)
  72. #               - (supports multiple lines)
  73. #               enchantments:
  74. #               - <ENCHANTMENT NAME>,<LEVEL>
  75. #           (unique name for this command reward):
  76. #             chance: 50.0
  77. #             commands:
  78. #             - (list all your commands here, they must start with a valid action identifier)
  79. #             - [command] eco give @p 100
  80. #             - [msg] you got 100 bucks!
  81. # ==================================================
  82. #
  83. # CRATE SPAWN CHANCE INFORMATION
  84. #
  85. # This chance can be any double value from 0.01 to 100.0
  86. # it is percentage based, so if you set the chance to 10.0
  87. # there will be a 10% chance a crate will spawn when the break
  88. # counter reaches 0. If you set it to 99.0, there will be a 99% chance
  89. # that a crate will spawn when the counter rewaches 0.
  90. #
  91. # ==================================================
  92. #
  93. # REWARD CHANCE INFORMATION
  94. #
  95. # All rewards in a specific reward list have a chance associated with the item/commands that are executed for that reward.
  96. # All reward chances in a list must add up to or be less than 100.0
  97. # Example:
  98. #
  99. #     rewards:
  100. #       VIP_REWARDS:
  101. #         priority: 1
  102. #         permission: vip.rewards
  103. #         max_rewards_per_crate: 1
  104. #         only_owner_can_open: true
  105. #         items:
  106. #           item_1:
  107. #             chance: 10.0
  108. #             item:
  109. #               material: DIAMOND
  110. #               amount: 128
  111. #           item_2:
  112. #             chance: 15.0
  113. #             item:
  114. #               material: IRON_INGOT
  115. #               amount: 64
  116. #           item_3:
  117. #             chance: 25.0
  118. #             item:
  119. #               material: DIRT
  120. #               amount: 64
  121. #           command_1:
  122. #             chance: 25.0
  123. #             commands:
  124. #             - [command] eco give @p 25
  125. #             - [msg] You got 25 bucks
  126. #
  127. # With this example, all of our chances add up to 75.0,
  128. # This means that there is a 25% chance that we get nothing each time a reward is
  129. # being selected. If we want to make sure players always get a reward, we could
  130. # simply add one more reward item or command with the remainder percentage for all of our
  131. # chances to equal 100.0, which would be 25.0.
  132. # This system allows you to set what items are rare, and which items are going to be
  133. # more commonly selected when the plugin chooses rewards.
  134. # Always keep in mind that all reward chances must be less than, or add up to 100.0
  135. # If your combined chance exceeds 100.0, the rewards that are being checked after 100.0 has
  136. # been reached will not be loaded. Also remember, to make it where a player has a chance to get
  137. # no reward, always leave the total chance less than 100.0 as all chance remaining will
  138. # be the chance amount that no reward is chosen.
  139. #
  140. # ==================================================
  141. #
  142. # CRATE SPAWN/DESPAWN/OPEN/COMMANDS ACTION IDENTIFIERS
  143. #
  144. # Any action added to these lists must contain a specific identifier
  145. # as there are more actions than just commands to be executed.
  146. # These actions are as follows:
  147. #
  148. # [msg] <message>
  149. # This will send a raw message to the target player
  150. #
  151. # [broadcast] <message>
  152. # This will broadcast a message to the entire server
  153. #
  154. # [command] <command here>
  155. # This will execute a command in the console
  156. #
  157. # [worldsound] <sound> <volume> <pitch>
  158. # This will play a sound to the entire world at the crate location
  159. #
  160. # [playersound] <sound> <volume> <pitch>
  161. # This will play a sound to the target player
  162. #
  163. # [effect] <effectName>
  164. # This will play a preset effect at the crate location
  165. #
  166. # effect names:
  167. #   animatedball
  168. #   arc
  169. #   atom
  170. #   bleed
  171. #   circle
  172. #   cloud
  173. #   cone
  174. #   cube
  175. #   cylinder
  176. #   disco
  177. #   dna
  178. #   donut
  179. #   dragon
  180. #   earth
  181. #   explode
  182. #   flame
  183. #   fountain
  184. #   grid
  185. #   heart
  186. #   helix
  187. #   hill
  188. #   icon
  189. #   love
  190. #   music
  191. #   shield
  192. #   smoke
  193. #   sphere
  194. #   star
  195. #   tornado
  196. #   vortex
  197. #   warp
  198. #   wave
  199. #   
  200. # ==================================================
  201. #
  202. # Optional: display a temporary hologram above the MineCrate when it is spawned.
  203. #
  204. # To enable this feature, add the following entry to the top of your config file:
  205. #
  206. # You can either use HolographicDisplays API to display the hologram, or the internal
  207. # hologram mechanics. Set handler: none to disable holograms
  208. #
  209. # Note: the internal hologram handler is only available for 1.8.8
  210. # More hologram handlers will be coming soon.
  211. #
  212. # crate_hologram:
  213. #   handler: none/internal/holographicdisplays
  214. #   message:
  215. #   - '%player%s MineCrate'
  216. #   - '(Right click to open)
  217. #   height: 2'
  218. #
  219. # Inside of the message, you can use the following placeholders:
  220. #  %player% - shows players name who MineCrate is for
  221. #  %area% - name of the area the crate spawned in
  222. #  %rewardlist% - name of the list the rewards were chosen from
  223. #  %rewards% - amount of rewards inside of the MineCrate
  224. #
  225. # ==================================================

  226. crate_hologram:
  227.   handler: none
  228.   message:
  229.   - '&f%player%''s &aMineCrate'
  230.   - '&e(&7Right click to open&e)'
  231.   height: 2.2
  232. check_updates: true
  233. area_handler: World
  234. ignore_silk_touch: true
  235. crate_despawn_time: 30
  236. crate_material: ENDER_CHEST
  237. crate_inventory_name: '%reward_list_name% &aMineCrate'
  238. messages:
  239.   help:
  240.   - '&aMineCrates &fhelp'
  241.   - '&a/minecrates reload &7- &freload the plugin'
  242.   - '&a/minecrates info &7- &fView minecrates information for the area you are standing'
  243.   - '&a/minecrates ignore &7- &ftoggle on/off ignoring minecrates for yourself'
  244.   ignore_toggle_on: '&aYou are now ignoring MineCrates!'
  245.   ignore_toggle_off: '&fYou are no longer ignoring MineCrates!'
  246.   only_owner_can_open_crate: '&cOnly &f@p &ccan open this &aMineCrate!'
  247.   no_permission: '&cYou don''t have permission to do that!'
  248. areas:
  249.   world:
  250.     permission: minecrates.getcrates.world
  251.     drop_counter: 100
  252.     drop_chance: 50.0
  253.     cooldown: 30
  254.     counted_materials:
  255.     - COAL_ORE
  256.     - IRON_ORE
  257.     - GOLD_ORE
  258.     - DIAMOND_ORE
  259.     rewards:
  260.       vip:
  261.         priority: 1
  262.         permission: minecrates.rewards.world.vip
  263.         max_rewards_per_crate: 1
  264.         only_owner_can_open: true
  265.         crate_spawn_actions:
  266.         - '[message] &aYou found a VIP MineCrate!'
  267.         - '[command] eco give @p 100'
  268.         - '[broadcast] &f@p &afound a MineCrate!'
  269.         - '[effect] helix'
  270.         crate_despawn_actions:
  271.         - '[message] &7Your crate has despawned!'
  272.         - '[effect] helix'
  273.         items:
  274.           example_item:
  275.             chance: 20.0
  276.             item:
  277.               material: DIAMOND
  278.               data: 0
  279.               amount: 64
  280.               name: '&bVIP &3Diamonds'
  281.               lore:
  282.               - This item is only available to players who
  283.               - have permission for this vip reward list!
  284.               enchantments:
  285.               - LUCK,1
  286.           example_command_1:
  287.             chance: 1.0
  288.             commands:
  289.             - '[command] eco give @p 1000000'
  290.             - '[msg] You got 1000000 dollars!'
  291.           example_command_2:
  292.             chance: 30.0
  293.             commands:
  294.             - '[command] eco give @p 500'
  295.             - '[msg] You got 500 dollars!'
  296.           example_command_3:
  297.             chance: 49.0
  298.             commands:
  299.             - '[command] eco give @p 1000'
  300.             - '[msg] You got 1000 dollars!'
  301.       default:
  302.         priority: 2
  303.         max_rewards_per_crate: 1
  304.         only_owner_can_open: false
  305.         crate_spawn_actions:
  306.         - '[message] &aYou found a regular MineCrate!'
  307.         - '[command] eco give @p 100'
  308.         - '[broadcast] &f@p &afound a MineCrate!'
  309.         - '[effect] helix'
  310.         items:
  311.           example_item_1:
  312.             chance: 5.0
  313.             item:
  314.               material: DIAMOND
  315.               amount: 16
  316.           example_item_2:
  317.             chance: 10.0
  318.             item:
  319.               material: IRON_INGOT
  320.               amount: 32
  321.           example_command:
  322.             chance: 85.0
  323.             commands:
  324.             - '[command] eco give @p 250'
  325.             - '[msg] You got 250 dollars!'
复制代码

名副其实
本帖最后由 名副其实 于 2022-7-10 18:57 编辑
| NoFlyZone |

Block flying in specific WorldGuard regions + Auto flying in specific WorldGuard regions


| Description | 插件介绍

NoFlyZone is a plugin that prevents players from flying in specific WorldGuard regions if they do not have permission.

本插件能够在WG设置了 flags 的区域内,对没有权限的玩家禁止飞行。

| Installation | 插件安装

All you need to do is add the region name to the NoFlyZone config list either by command or by editing the config manually and using /nfz reload. Anyone without the permission noflyzone.bypass will be stopped from flying as soon as they enter the region.
You NEED WorldGuard 6.x + WorldEdit for this plugin to work!

你需要做的只有一件事,那就是将你需要限制飞行的区域手动或使用命令添加至本插件的配置文本中并输入命令 /nfz reload。任何只要没有权限 noflyzone.bypass 的玩家,进入该区域的瞬间就会被阻止飞行。
你需要 WorldGuard 6.x 或更高版本 以及 WorldEdit 以使插件正常运行!

| Source | 插件源码

This plugin is open source. You can get the source code from here:
https://github.com/extendedclip/NoFlyZone


本插件开源。你可以在这里找到它的源代码。
https://github.com/extendedclip/NoFlyZone

名副其实
本帖最后由 名副其实 于 2022-7-10 19:04 编辑
| NoFlyZone |

Block flying in specific WorldGuard regions + Auto flying in specific WorldGuard regions



| Commands & Permissions | 命令与权限

         Player Commands | 玩家命令

命令权限描述
/noflyzone-显示本插件的信息


         Admin Commands | 管理员命令


命令权限描述
/noflyzone list (世界名称)noflyzone.admin列出所有(加参数则是当前世界)的禁止飞行区
/noflyzone addnoflyzone.admin添加禁止飞行区
/noflyzone removenoflyzone.admin删除禁止飞行区
/noflyzone reloadnoflyzone.admin重载配置文件


等价用法: /noflyzone: /nfz

         Permissions | 权限列表

权限描述
noflyzone.bypass允许无视飞行限制
noflyzone.autofly.all允许在可自动飞行的区域内自动开启飞行


名副其实
本帖最后由 名副其实 于 2022-7-14 21:08 编辑
| NoFlyZone |

Block flying in specific WorldGuard regions + Auto flying in specific WorldGuard regions


| Configuration | 示例配置

config.yml
  1. # NoFlyZone version: 2.0.0 Main Configuration
  2. #
  3. # List regions below that will disable players from flying when they enter them

  4. no_fly_worlds:
  5. - world_nether
  6. - world_the_end
  7. no_fly_regions:
  8.   world:
  9.   - testflyregion
  10. no_fly_message: '&cNo flying here!'
  11. auto_fly_message: '&aYour flight has been toggled on!'
复制代码

名副其实
| CowPunch |

Make Cows Fly Away


| Description | 插件描述



Ever have that urge to punch a cow, but everytime you do its just so unsatisfying? Well I've got the plugin for you, this plugin allows cows to float up in into the sky after being punched by a player... and then come crashing down to the ground ultimately coming their end.

所有人都想攻击牛,但是有时候你不会觉得这让人太不爽了吗?好吧,我为你准备了一份插件,这个插件允许牛在被玩家击打一次后悬浮在空中,等到它们摔到地上的时候就能获得现成的带骨牛肉肉饼掉落物。


名副其实
本帖最后由 名副其实 于 2022-7-14 21:16 编辑
| CowPunch |

Make Cows Fly Away


| Commands & Permissions | 命令与权限


命令权限描述
cowpunch.use允许使用本插件的功能。



名副其实
| Firework Chests |

Launch fireworks from any block


| Description | 插件介绍



This is a fun little plugin that allows fireworks to come shooting out of any configured block clicked by a player. It also includes a configurable cooldown per block to stop pesky spammers.


这是一个小小的娱乐向插件,允许在一个玩家在触碰配置文本中设置好的方块之后让这个方块发送许多的烟花,配置文本中海油一个选项可以决定每个方块发射烟花的持续时间。


插件的展示图片。



名副其实
| Firework Chests |

Launch fireworks from any block


| Commands & Permissions | 命令与权限

命令权限描述
fireworkchests.use允许使用本插件的功能。


名副其实
本帖最后由 名副其实 于 2023-1-22 13:52 编辑
| Firework Chests |

Launch fireworks from any block


| Configuration | 示例配置

  1. LaunchMessage: '&6Fireworks Launched!'
  2. CooldownMessagePlural: '&cRestocking fireworks, please wait %time% seconds!'
  3. CooldownMessage: '&cRestocking fireworks, please wait %time% second!'
  4. CooldownTime: 5
  5. NumberOfFireworks: 3
  6. LauncherBlock: TRAPPED_CHEST
复制代码


请确保 LauncherBlock 项设置的方块是有效的方块种类!

名副其实
本帖最后由 名副其实 于 2022-7-14 21:23 编辑
| Fish Slapper |

Slap your players sky high!


| Description | 插件介绍



FishSlapper allows any player with the correct permission to use raw fish as an tool to slap people around the server in a chaotic fashion. It's quite a simple concept, those with the permission allowing them have the permission to slap can slap anyone with the permission that allows them to be slapped. Once contact has been made between the fish and the player they are then sent flying away! (Pufferfish will allow for maximum slapping)

本插件允许让有合适权限的玩家使用生鱼作为武器,以一种混乱的方式拍飞周围的玩家。这是一个很简单的事情,这些有权限能使用该功能的任意玩家,能够击飞另一些有权限被击飞的玩家(是的,听起来很搞笑)。也就是说,他们只要碰到你手里的鱼,就会瞬间被干飞!(河豚是在这之中击退效果最强的)

Due to new fish added to the game,  v1.11.0+ You need to use a Pufferfish for the effect to work!

由于新的鱼被加入了游戏,在 1.11.0 或更高的版本你需要使用河豚才能让一些效果正常工作!

名副其实
本帖最后由 名副其实 于 2022-7-14 21:31 编辑
| Fish Slapper |

Slap your players sky high!


| Commands & Permissions | 命令与权限

命令权限描述
/slap 玩家名称FishSlapper.SlapCommand顺着网线给指定玩家抽一巴掌!
/slapallFishSlapper.SlapAll顺着网线给所有玩家抽一巴掌!
FishSlapper.ICanSlapYou允许玩家使用生鱼击飞其他玩家
FishSlapper.ICanBeSlapped允许玩家被生鱼击飞



名副其实
| Fish Slapper |

Slap your players sky high!


| Configuration | 示例配置

config.yml
  1. SlapMessage: '&6You slapped &e%player%&6!'
  2. SlappedMessage: '&6You got slapped by &e%player%!'
  3. ServerSlap: '&4%player% &cslapped everyone on the server!'
  4. SlapCommand: '&f%player% &aslapped you!'
  5. SlapCommandWorked: '&f%player% &awas slapped!'
  6. SlapCommandConsole: '&aYou have been slapped!'
  7. NoPerms: '&cYou don''t have permission to use this command!'
复制代码

名副其实
| RawMsg |

Send Raw Messages to a player or the server with PlaceholderApi Support


| Description | 插件介绍



Just a simple plugin to send a raw message (No Prefix) from in game or console with PlaceholderApi placeholders to either a single player or broadcast it to the whole server.

只是一个允许向玩家发送纯文本消息(无前缀)的插件。支持 PlaceholderAPI ,以及支持在游戏内或后台中发送。当然也支持向单个或者多个玩家甚至是全服发送。


插件的演示图片。

名副其实
本帖最后由 名副其实 于 2022-7-14 21:52 编辑
| RawMsg |

Send Raw Messages to a player or the server with PlaceholderApi Support


| Commands & Permissions | 命令与权限

命令权限描述
/RawMsg <玩家名称/all(所有玩家)> <centered(是否居中)> <纯文本消息>rawmsg.use允许使用本插件的功能。


<centered> - If set to true RawMsg will attempt to center the message when sending it to the player.
You can use <n> in the message to add a new line. To add a blank line just use two!

For 1.16+ Users:
#<??????> for custom hex colours
Replace ?'s with hex value eg #<ffffff>

<centered> - 如果设置为 true ,那么本插件会在输出这些信息的时候尝试使这条消息看起来居中。
你也可以使用 <n> 用作换行符。若要添加一个空行,那么只需要输入两个这样的符号!

致 1.16+ 的用户:
#<??????> 使用彩色字体
将 ? 替换成 HEX 的十六进制值,例如 #<ffffff>

名副其实
| Spit |

Send Raw Messages to a player or the server with PlaceholderApi Support


| Description | 插件介绍



Let your players spit like Llamas using the /spit command, this will fire spit from the player in the direction they are looking in.

使用 /spit 命令来像羊驼一样吐口水。这会让他们向视角所在方向吐出一坨老痰口水。


插件的演示图片。

名副其实
| Spit |

Send Raw Messages to a player or the server with PlaceholderApi Support


| Commands & Permissions | 命令与权限

命令权限描述
/spitspit.use允许吐口水。



名副其实
| Temp MOTD |

Set a timed temporary message all from one command!


| Description | 插件介绍



Set a timed message to show up in your server list MOTD, broadcast events in your message, Thank voters in your message, Congratulate rankups in your message and much more.

为服务器的 MOTD 设置一个临时的显示样式,可以在这些内容里推送你服务器的最新活动,感谢为你服务器点赞的游戏用户,以及庆祝服务器里成功升级的玩家,还有更多。

                              插件示例用法                              

Using ChatReaction you can launch commands on correct guesses, use this to show off who won the reaction win and tell others to join in on the fun.

使用插件 ChatReaction 你可以在玩家猜对答案时发送临时 MOTD,用于庆祝答题者的胜利以及吸引其他玩家进服游玩。



Using EzRanksPro on a rankup you can run the TempMotd command in the console and show off who ranked up and what they ranked up to!

使用插件 EzRanksPro 你可以在这里使用本插件的命令,可以用来显示升级成功的玩家,同样可以吸引其他玩家进入服务器。


More examples include:
- Thank players for donating to the server.
- Thank players for voting for the server.
- Broadcast Drop Parties or other events.
- Congratulate on level ups.
And many more.

还有这些情况也可使用:
- 感谢玩家捐赠资助服务器
- 感谢玩家投票支持服务器
- 公布送礼或其他活动
- 祝贺某玩家升级成功
以及更多...

名副其实
本帖最后由 名副其实 于 2022-7-14 22:15 编辑
| Temp MOTD |

Set a timed temporary message all from one command!


| Commands & Permissions | 命令与权限

命令权限描述
/TempMotd <持续时间> <消息>tempmotd.use允许发送命令来使用此功能,时间单位为秒。
/TempMotd Stoptempmotd.use允许强制停止当前正在推送的 MOTD
/TempMotd Reloadtempmotd.use允许重载配置文件。


名副其实
| Temp MOTD |

Set a timed temporary message all from one command!


| Configuration | 示例配置

config.yml
  1. # TempMOTD Config File
  2. # By Funnycube
  3. #
  4. #DefaultMOTD: What is shown when no temp MOTD are active (Use \n for new line)
  5. #TempMOTD: What is shown when there is a temp MOTD is active (Use \n for new line & use %message% for where the temp section will go)
  6. #

  7. DefaultMOTD: "&b&lMy Server&r &7|&r &dSomeRandomIp.com&r\n&7Come join my server!"
  8. TempMOTD: "&b&lMy Server&r &7|&r &dSomeRandomIp.com&r\n%message%"
复制代码

名副其实
本帖最后由 名副其实 于 2023-2-22 22:27 编辑
| Guilds |

A new style of RPG is on the rise.


| Description | 插件介绍
Guilds were created to offer an RPG-type system to servers. It was inspired by players like you who enjoy creating a fun, exciting, and adventurous environment for your server. Guilds allow players to join interactive groups of other players, make their own communities on your server, and have a general fun time!

本插件为服务器带来了一个 RPG 风格的公会系统。本插件启发自一些服务器环境中那些玩家自发组成的和谐友爱和激动人心的团体的做法。本插件允许你加入其他玩家所组成的公会,同时允许玩家咋子服务器建立自己的团体,最终提升游戏趣味性!

| Features | 插件特点
Per-Guild Hierarchy (Roles)
Tiers (Includes perks of your choosing)
Claims (via WorldGuard)
Banks
Vaults (As many as your choose!)
Buffs
Per-Guild Chat
Wars (via Arenas that you make)
Multilingual
Tons of GUIs!
JSON + MySQL + SQLite support!

- 公会阶级(角色)
- 成员等级(包括各等级的自定义公会内权限)
- 公会领地(需要 WorldGuard)
- 公会银库
- 公会仓库(可任意创建)
- 公会效果
- 自定义公会聊天格式
- 公会战(可通过 Arenas 插件自定义战斗场地)
- 多语言支持
- 完全GUI包装!
- JSON / MySQL / SQLite 支持!

| Dependencies (soft) | 插件软依赖

Vault
WorldGuard
PlaceholderAPI
Essentials(X)

点击这里或翻到下一页来获得更多相关信息。

| Supported Platforms | 支持的服务端核心
- Spigot
- Paper
- CatServer?(很多人通过多种方式告诉我,本插件可以在这样的服务端上运行。不论如何还是把它贴在这里好了。)
(译者注:这个服务端核心为 模组-插件混合端,使用插件时兼容性不如原生插件端)
(该插件可以在离线服务器上运行但未经测试,同样,在这种环境下的问题将不会得到技术支持。)

| Languages | 语言支持
In Guilds, we always try to support as many languages as we can in order to support more people! The plugin currently supports 20 languages, but not all of them are always up-to-date on the translations. If you speak a language fluently other than English and are interested in translating, please join our discord and let us know so that we can give you information on how to do that!

本插件中,我们通常尝试用尽可能多种类的语言来使得更多玩家的使用体验变得更好!本插件目前支持二十多种语言,但不是所有语言都保持着完全翻译。若你对这其中的一种语言非常熟悉并愿意翻译,请加入我们的 Discord 群组来了解更多相关信息!

名副其实
本帖最后由 名副其实 于 2023-2-23 22:32 编辑
| Guilds |

A new style of RPG is on the rise.


| Configuration | 配置文本

When the plugin starts up for the first time, the following files will be generated:
​​buff.yml
config.yml
roles.yml
tiers.yml
The configuration for the plugin is split up into multiple files due to how flexible the plugin is and how much custom data you can add to it.

当本插件第一次在服务器运行时,它将会生成下列的文件:
buffs.yml
config.yml
roles.yml
tiers.yml
基于本插件的灵活性以及你可添加的内容数量,本插件的配置被分在了四个独立的文件中。

    buffs.yml
  1. guild-buffs:
  2.     # What should the name of the inventory be?
  3.     gui-name: Guild Buffs
  4.     # How often (in seconds) can a guild buy a buff?
  5.     cooldown: 60
  6.     # Do we want to allow users to have more than one buff at a time?
  7.     buff-stacking: false
  8.     # Set the name and material for the navigation buttons
  9.     nav:
  10.         next:
  11.             material: EMPTY_MAP
  12.             name: Next
  13.         previous:
  14.             material: EMPTY_MAP
  15.             name: Previous
  16.     # This is where the buffs themselves are to be created. You can create an unlimited number of buffs as long as the IDENTIFIERS are different.
  17.     # Ths identifiers can be anything you want, they just tell the plugin that they aren't the same as the buff before.
  18.     # The buffs are loaded into the menu in the order they are listed in the config. So, to change the order, simply change their location in their list of the config.
  19.     # Example Buff:
  20.     #     # The identifier of the buff, can be anything you want.
  21. #    - identifier: '1'
  22.     # This is what the buff will look like to the player when they DON'T have the permission listed below.
  23. #      locked:
  24. #        name: '&a&lSubstance of the Redmod Graff'
  25. #        material: FEATHER
  26. #        lore:
  27. #        - '&aType » &7Haste'
  28. #        - '&aLength » &760 Seconds'
  29. #        - '&aCost » &7$60'
  30.     # This is what the buff will look like to the player when they DO have the permission listed below.
  31. #      unlocked:
  32. #        name: '&a&lSubstance of the Redmod Graff'
  33. #        material: FEATHER
  34. #        lore:
  35. #        - '&aType » &7Haste'
  36. #        - '&aLength » &760 Seconds'
  37. #        - '&aCost » &7$60'
  38.     # The price of the buff, pulled from Guild Bank.
  39. #      price: 60.0
  40.     # The effects that the guild will get for buying the buff. You should be able to list as many as you want.
  41.     # The way you do it is: EFFECT_TYPE;AMPLIFICATION;LENGTH OF BUFF
  42.     # So, this effect here will give Haste I for 60 seconds.
  43. #      effects:
  44. #      - FAST_DIGGING;0;60
  45.     # The permission required to purchase the buff.
  46. #      permission: example.perm.here
  47.     # Would you like to execute commands on the player that bought the buff for the guild? Supports {player}, {buyer}, {buff_name}.
  48. #      clicker:
  49. #        enabled: false
  50. #        commands:
  51. #        - ''
  52.     # Would you like to execute commands on the guild that bough the buff? Supports {player}, {buyer}, {buff_name}.
  53. #      guild:
  54. #        enabled: false
  55. #        commands:
  56. #        - ''
  57.     buffs:
  58.     - identifier: '1'
  59.       locked:
  60.         name: '&a&lSubstance of the Redmod Graff'
  61.         material: FEATHER
  62.         lore:
  63.         - '&aType » &7Haste'
  64.         - '&aLength » &760 Seconds'
  65.         - '&aCost » &7$60'
  66.       unlocked:
  67.         name: '&a&lSubstance of the Redmod Graff'
  68.         material: FEATHER
  69.         lore:
  70.         - '&aType » &7Haste'
  71.         - '&aLength » &760 Seconds'
  72.         - '&aCost » &7$60'
  73.       price: 60.0
  74.       effects:
  75.       - FAST_DIGGING;0;60
  76.       permission: example.perm.here
  77.       clicker:
  78.         enabled: false
  79.         commands:
  80.         - ''
  81.       guild:
  82.         enabled: false
  83.         commands:
  84.         - ''
  85.     - identifier: '2'
  86.       locked:
  87.         name: '&a&lBlessing of the Cheetah'
  88.         material: SUGAR
  89.         lore:
  90.         - '&aType » &7Speed'
  91.         - '&aLength » &760 Seconds'
  92.         - '&aCost » &7$60'
  93.       unlocked:
  94.         name: '&a&lBlessing of the Cheetah'
  95.         material: SUGAR
  96.         lore:
  97.         - '&aType » &7Speed'
  98.         - '&aLength » &760 Seconds'
  99.         - '&aCost » &7$60'
  100.       price: 60.0
  101.       effects:
  102.       - SPEED;0;60
  103.       permission: example.perm.here
  104.       clicker:
  105.         enabled: false
  106.         commands:
  107.         - ''
  108.       guild:
  109.         enabled: false
  110.         commands:
  111.         - ''
  112.     - identifier: '3'
  113.       locked:
  114.         name: '&a&lScales of the Dragon'
  115.         material: BLAZE_POWDER
  116.         lore:
  117.         - '&aType » &7Fire-Resistance'
  118.         - '&aLength » &760 Seconds'
  119.         - '&aCost » &7$60'
  120.       unlocked:
  121.         name: '&a&lScales of the Dragon'
  122.         material: BLAZE_POWDER
  123.         lore:
  124.         - '&aType » &7Fire-Resistance'
  125.         - '&aLength » &760 Seconds'
  126.         - '&aCost » &7$60'
  127.       price: 60.0
  128.       effects:
  129.       - FIRE_RESISTANCE;0;60
  130.       permission: example.perm.here
  131.       clicker:
  132.         enabled: false
  133.         commands:
  134.         - ''
  135.       guild:
  136.         enabled: false
  137.         commands:
  138.         - ''
  139.     - identifier: '4'
  140.       locked:
  141.         name: '&a&lEyes of the Lurking Demon'
  142.         material: EYE_OF_ENDER
  143.         lore:
  144.         - '&aType » &7Night-Vision'
  145.         - '&aLength » &760 Seconds'
  146.         - '&aCost » &7$60'
  147.       unlocked:
  148.         name: '&a&lEyes of the Lurking Demon'
  149.         material: EYE_OF_ENDER
  150.         lore:
  151.         - '&aType » &7Night-Vision'
  152.         - '&aLength » &760 Seconds'
  153.         - '&aCost » &7$60'
  154.       price: 60.0
  155.       effects:
  156.       - NIGHT_VISION;0;60
  157.       permission: example.perm.here
  158.       clicker:
  159.         enabled: false
  160.         commands:
  161.         - ''
  162.       guild:
  163.         enabled: false
  164.         commands:
  165.         - ''
  166.     - identifier: '5'
  167.       locked:
  168.         name: '&a&lFeet of the Ghostly Walker'
  169.         material: DIAMOND_BOOTS
  170.         lore:
  171.         - '&aType » &7Invisibility'
  172.         - '&aLength » &760 Seconds'
  173.         - '&aCost » &7$60'
  174.       unlocked:
  175.         name: '&a&lFeet of the Ghostly Walker'
  176.         material: DIAMOND_BOOTS
  177.         lore:
  178.         - '&aType » &7Invisibility'
  179.         - '&aLength » &760 Seconds'
  180.         - '&aCost » &7$60'
  181.       price: 60.0
  182.       effects:
  183.       - INVISIBILITY;0;60
  184.       permission: example.perm.here
  185.       clicker:
  186.         enabled: false
  187.         commands:
  188.         - ''
  189.       guild:
  190.         enabled: false
  191.         commands:
  192.         - ''
  193.     - identifier: '6'
  194.       locked:
  195.         name: '&a&lMighty Strength of the Pouncing Lion'
  196.         material: DIAMOND_SWORD
  197.         lore:
  198.         - '&aType » &7Strength'
  199.         - '&aLength » &760 Seconds'
  200.         - '&aCost » &7$60'
  201.       unlocked:
  202.         name: '&a&lMighty Strength of the Pouncing Lion'
  203.         material: DIAMOND_SWORD
  204.         lore:
  205.         - '&aType » &7Strength'
  206.         - '&aLength » &760 Seconds'
  207.         - '&aCost » &7$60'
  208.       price: 60.0
  209.       effects:
  210.       - INCREASE_DAMAGE;0;60
  211.       permission: example.perm.here
  212.       clicker:
  213.         enabled: false
  214.         commands:
  215.         - ''
  216.       guild:
  217.         enabled: false
  218.         commands:
  219.         - ''
  220.     - identifier: '7'
  221.       locked:
  222.         name: '&a&lBounce of the Quick Witted Rabbit'
  223.         material: DIAMOND_BOOTS
  224.         lore:
  225.         - '&aType » &7Jump'
  226.         - '&aLength » &760 Seconds'
  227.         - '&aCost » &7$60'
  228.       unlocked:
  229.         name: '&a&lBounce of the Quick Witted Rabbit'
  230.         material: DIAMOND_BOOTS
  231.         lore:
  232.         - '&aType » &7Jump'
  233.         - '&aLength » &760 Seconds'
  234.         - '&aCost » &7$60'
  235.       price: 60.0
  236.       effects:
  237.       - JUMP;0;60
  238.       permission: example.perm.here
  239.       clicker:
  240.         enabled: false
  241.         commands:
  242.         - ''
  243.       guild:
  244.         enabled: false
  245.         commands:
  246.         - ''
  247.     - identifier: '8'
  248.       locked:
  249.         name: '&a&lLungs of the Albino Shark'
  250.         material: BUCKET
  251.         lore:
  252.         - '&aType » &7Water-Breathing'
  253.         - '&aLength » &760 Seconds'
  254.         - '&aCost » &7$60'
  255.       unlocked:
  256.         name: '&a&lLungs of the Albino Shark'
  257.         material: BUCKET
  258.         lore:
  259.         - '&aType » &7Water-Breathing'
  260.         - '&aLength » &760 Seconds'
  261.         - '&aCost » &7$60'
  262.       price: 60.0
  263.       effects:
  264.       - WATER_BREATHING;0;60
  265.       permission: example.perm.here
  266.       clicker:
  267.         enabled: false
  268.         commands:
  269.         - ''
  270.       guild:
  271.         enabled: false
  272.         commands:
  273.         - ''
  274.     - identifier: '9'
  275.       locked:
  276.         name: '&a&lIntegrity of the Mystic Witch'
  277.         material: EMERALD
  278.         lore:
  279.         - '&aType » &7Regeneration'
  280.         - '&aLength » &760 Seconds'
  281.         - '&aCost » &7$60'
  282.       unlocked:
  283.         name: '&a&lIntegrity of the Mystic Witch'
  284.         material: EMERALD
  285.         lore:
  286.         - '&aType » &7Regeneration'
  287.         - '&aLength » &760 Seconds'
  288.         - '&aCost » &7$60'
  289.       price: 60.0
  290.       effects:
  291.       - REGENERATION;0;60
  292.       permission: example.perm.here
  293.       clicker:
  294.         enabled: false
  295.         commands:
  296.         - ''
  297.       guild:
  298.         enabled: false
  299.         commands:
  300.         - ''
复制代码


    config.yml
  1. # Guilds
  2. # Creator: Glare
  3. # Contributors: https://github.com/guilds-plugin/Guilds/graphs/contributors
  4. # Issues: https://github.com/guilds-plugin/Guilds/issues
  5. # Spigot: https://www.spigotmc.org/resources/66176/
  6. # Wiki: https://wiki.glaremasters.me/
  7. # Discord: https://glaremasters.me/discord
  8. settings:
  9.     announcements:
  10.         # This is used for the Guild's Announcement System, which allow me (The Author) to communicate to you guys without updating.
  11.         # The way this works is very simple. If you have "console" set to "true", you will see the announcement when the server starts.
  12.         # If you have "in-game" set to "true", your OPed players will see it the first time they login to the server.
  13.         console: true
  14.         in-game: true
  15.     # Choosing your language for the plugin couldn't be easier! The default language is english.
  16.     # If you speak another language but don't see it here, feel free to submit it via one of the links above to have it added to the plugin.
  17.     # If you try and use a different language than any in the list above, the plugin will not function in a normal manner.
  18.     # As you can see this is currently en-US, and there is a en-US.yml file in the language folder.
  19.     # If I wanted to switch to french, I would use fr-FR as the language instead.
  20.     messagesLanguage: en-US
  21.     # Would you like to check for plugin updates on startup? It's highly suggested you keep this enabled!
  22.     update-check: true
  23.     # What would you like the command aliases for the plugin to be?
  24.     # You can have as many as your want, just separate each with | and NO SPACES.
  25.     plugin-aliases: guild|guilds|g
  26.     # Change this to whatever you change it to above, this will handle the changes within <>
  27.     # Keep in mind you should only set it to ONE thing. Such as guild, town, etc.
  28.     syntax-name: guild
  29.     # Would you like to run vault permission changes async? (Will be less stress on the main thread and prevent lag)
  30.     # Async is used by LuckPerms.
  31.     # Set this to false if you are using PEx.
  32.     # I do suggest you switch to LuckPerms so that you can keep it async, but ultimately the choice is yours.
  33.     run-vault-async: true
  34. storage:
  35.     # What storage method should be used? (MySQL, MariaDB, JSON, SQLite)
  36.     storage-type: json
  37.     # How often (in minutes) do you want all Guild Data to save?
  38.     save-interval: 1
  39.     sql:
  40.         # Define the address for the database. (Doesn't apply to SQLite)
  41.         host: localhost
  42.         # Define the port for the database. (Doesn't apply to SQLite)
  43.         port: '3306'
  44.         # The name of the database to store data in.
  45.         # This must be already created! (Doesn't apply to SQLite)
  46.         database: guilds
  47.         # The prefix for all Guilds tables.
  48.         table-prefix: guilds_
  49.         # Define the credentials for the database. (Doesn't apply to SQLite)
  50.         username: root
  51.         password: ''
  52.         # Sets whether or not to use SSL for the remote SQL database connection (Doesn't apply to SQLite)
  53.         enable-ssl: false
  54.         # These settings change the SQL connection pool.
  55.         # The default settings are optimized for the majority of users.
  56.         # Do NOT change these settings unless you know what you are doing!
  57.         # For those looking to migrate data:
  58.         # IF YOU ARE MIGRATING FROM JSON OR SQLITE TO MYSQL THE SETTINGS MUST BE CONFIGURED EVEN IF THE DATA TYPE IS SET TO JSON OR MYSQL.
  59.         # When migrating to MySQL, it will attempt to use the MySQL backend (grab the login information here) in order to connect to the database.
  60.         # We are not responsible for data loss if you are too lazy to read the warnings.
  61.         # ALWAYS REMEMBER TO BACKUP DATA BEFORE MIGRATING.
  62.         # Lastly, remember to change your storage-type to the type you're migrating to before you reboot.
  63.         pool:
  64.             # Sets the maximum size of the SQL connection pool.
  65.             # This value will determine the maximum number of connections maintained. (Doesn't apply to SQLite)
  66.             maximum-pool-size: 10
  67.             # Sets the minimum number of idle connections that the pool will maintain.
  68.             # For maximum performance keep this value the same as 'maximum-pool-size' (Doesn't apply to SQLite)
  69.             minimum-idle: 10
  70.             # Sets the maximum lifetime of a connection in the pool in milliseconds. (Doesn't apply to SQLite)
  71.             maximum-lifetime: 1800000
  72.             # Sets the maximum number of milliseconds for a connection in the pool before timing out. (Doesn't apply to SQLite)
  73.             connection-timeout: 5000
  74. hooks:
  75.     # Do we want to hook into Essentials-Chat format to handle guild placeholders?
  76.     essentials-chat: false
  77.     # Do we want to hook into WorldGuard to allow claiming land?
  78.     worldguard-claims: false
  79. # Use the following website to get available materials: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
  80. # This can work across all MC versions and will attempt to use the proper material based on what version of MC you are using.
  81. guis:
  82.     # What time format should we use in the GUIs?
  83.     # You can use this site to build it https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
  84.     time-format: MMM, d, yy hh:mm aaa
  85.     guild-list:
  86.         # What should the name of the inventory be?
  87.         gui-name: Guild List
  88.         # What should the name of the all the items be in the inventory?
  89.         # Currently supports {player} and {guild}.
  90.         item-name: '&f{player}''s Guild'
  91.         # How should the menu be sorted?
  92.         # LOADED: In the order that the Guilds were loaded on startup
  93.         # TIER: In order from highest tier to lowest tier
  94.         # MEMBERS: In order from most members to least members
  95.         # BALANCE: In order from most in bank to least
  96.         # WINS: In order from most arena wins to least
  97.         # NAME: In order by name
  98.         # AGE: In order from first created to last
  99.         sort: LOADED
  100.         # What item should players click to go to the next page?
  101.         next-page-item: EMPTY_MAP
  102.         # What should the name of this item be?
  103.         next-page-item-name: '&fNext Page'
  104.         # What item should players click to go to the previous page?
  105.         previous-page-item: EMPTY_MAP
  106.         # What should the name of this item be?
  107.         previous-page-item-name: '&fPrevious Page'
  108.         # What should be the default texture url for textures that fail to load in? Refer to the Guild Manage settings to see how to change the texture!
  109.         head-default-url: 7a2df315b43583b1896231b77bae1a507dbd7e43ad86c1cfbe3b2b8ef3430e9e
  110.         # Do we want to try to use skull textures or just ignore them and use ** provided?
  111.         use-default-texture: false
  112.         # You are free to design this to your liking
  113.         # This is just an example of all the available placeholders that you can use for the lore!
  114.         # Note: With v3.6.7 and on, you can now use {guild-tier-name} for the name of the tier.
  115.         # Also, from v3.6.7 and on, {guild-status} will now apply from what you set for the guild-info GUI for the status being public or private.
  116.         # In version 3.5.2.2, {guild-challenge-wins} and {guild-challenge-loses} have been added.
  117.         # In version 3.5.3.3, {creation} was added to display the creation date of the guild
  118.         head-lore:
  119.         - '&cName&8: &a{guild-name}'
  120.         - '&cPrefix&8: &a{guild-prefix}'
  121.         - '&cMaster&8: &a{guild-master}'
  122.         - '&cStatus&8: &a{guild-status}'
  123.         - '&cTier&8: &a{guild-tier}'
  124.         - '&cBalance&8: &a{guild-balance}'
  125.         - '&cMember Count&8: &a{guild-member-count}'
  126.         - '&cCreation Date&8: &a{creation}'
  127.     # Here you can control what the GUI looks like that allows players to choose which vault to open
  128.     # You can do things like set the name of the gui, the material to use, material name, and lore!
  129.     vault-picker:
  130.         # What do you want the name of the gui to be?
  131.         # Currently supports {name} for the name of the guild.
  132.         name: '&8» &r{name}''s Vaults'
  133.         # How many rows would you like to display?
  134.         rows: 1
  135.         # What do you want the material of the vaults to be?
  136.         item-material: CHEST
  137.         # WHat do you want the name of the vault to be?
  138.         # I recommend keeping this blank so that we can put the vault number in the lore.
  139.         item-name: ' '
  140.         item-lore:
  141.         - '&8• &7Vault &9#{number}'
  142.         - '&8• &7Status: {status}'
  143.         - ''
  144.         # What do you want to show when a vault is unlocked?
  145.         unlocked: '&9Unlocked'
  146.         # What do you want to show when a vault is locked?
  147.         locked: '&c&mLocked&r'
  148.     vault:
  149.         # What do you want the name of the Vault to be?
  150.         # Note: This requires a restart to change the inventory names.
  151.         name: '&8» &rGuild Vault'
  152.         blacklist:
  153.             # What materials would you like to blacklist from being put into the vaults?
  154.             materials:
  155.             - ''
  156.             # What custom names of items would you like to blacklist from being put into the vaults?
  157.             names:
  158.             - ''
  159.             # What custom lore do you want to blacklist from being put into the vaults?
  160.             # Please keep in mind this can be prove to false-positives so please let me know if you have issues.
  161.             # This will currently loop through your lore to check for any strings you have in the list to check.
  162.             # Improvements will be made over time. Thanks for your patience and suppport in advanced.
  163.             lores:
  164.             - ''
  165.     # Welcome to the Guild Info GUI section of the config.
  166.     # Here you can modify the configuration of what the Guild Info GUI looks like.
  167.     # This can be used by any member of a Guild and shows key information of the Guild.
  168.     # You can see things like the members, the balance, tier, etc.
  169.     guild-info:
  170.         # What would you like the name of the GUI to be?
  171.         # Currently supports {name} for the name of the guild and {prefix} for the prefix of the guild
  172.         name: '&8» &r{name}''s Info'
  173.         # What material do you want the tier button to be?
  174.         tier-material: DIAMOND
  175.         # What do you want the name of the tier button to be?
  176.         tier-name: '&3Guild Tier'
  177.         # What do you want the lore of the tier button to be?
  178.         tier-lore:
  179.         - '&8• &7Level: &b{tier}'
  180.         # Would you like to display this button?
  181.         tier-display: true
  182.         # What material do you want the bank button to be?
  183.         bank-material: GOLD_INGOT
  184.         # What do you want the name of the bank button to be?
  185.         bank-name: '&6Guild Bank'
  186.         # What do you want the lore of the bank button to be?
  187.         bank-lore:
  188.         - '&8• &7Balance: &e{current} &7/ &e{max}'
  189.         # Would you like to display this button?
  190.         bank-display: true
  191.         # What material do you want the members button to be?
  192.         members-material: IRON_HELMET
  193.         # What do you want the name of the members button to be?
  194.         members-name: '&5Guild Members'
  195.         # What do you want the lore of the members button to be?
  196.         members-lore:
  197.         - '&8• &7Members: &d{current} &7/ &d{max}'
  198.         - '&8• &7Online: &d{online} &7/ &d{current}'
  199.         - ''
  200.         - '&7Click to view members!'
  201.         # Would you like to display this button?
  202.         members-display: true
  203.         status-material:
  204.             # What material do you want the status button to be when a guild is public?
  205.             public: EMERALD
  206.             # What material do you want the status button to be when a guild is private?
  207.             private: REDSTONE
  208.         # What do you want the name of the status button to be?
  209.         status-name-item: '&2Guild Status'
  210.         status-name:
  211.             # What do you want the status to say if it's public?
  212.             public: '&aPublic'
  213.             # What do you want the status to say if it's private?
  214.             private: '&cPrivate'
  215.         # What do you want the lore of the status button to be?
  216.         status-lore:
  217.         - '&8• &7Status: &r{status}'
  218.         # Would you like to display this button?
  219.         status-display: true
  220.         # What material do you want the home button to be?
  221.         home-material: BED
  222.         # What do you want the name of the home button to be?
  223.         home-name: '&cGuild Home'
  224.         # What do you want the lore of the home button to be?
  225.         home-lore:
  226.         - '&8• &7Home: &f{coords}'
  227.         # Would you like to display this button?
  228.         home-display: true
  229.         # What do you want it to say when a guild doesn't have a home set?
  230.         home-empty: '&fNot Set'
  231.         # Do you want players to be teleported to their guild home when they click this?
  232.         home-teleport: false
  233.         # What material do you want the vault button to be?
  234.         vault-material: CHEST
  235.         # What do you want the name of the home button to be?
  236.         vault-name: '&9Guild Vaults'
  237.         # What do you want the lore of the vault button to be?
  238.         vault-lore:
  239.         - '&7Click here to open your guild vaults!'
  240.         # Would you like to display this button?
  241.         vault-display: true
  242.         # What material do you want the motd button to be?
  243.         motd-material: SIGN
  244.         # What do you want the name of the motd button to be?
  245.         motd-name: '&6Guild MOTD'
  246.         # What do you want the lore of the motd button to be?
  247.         motd-lore:
  248.         - '{motd}'
  249.         # Would you like to display this button?
  250.         motd-display: true
  251.     # This part of the config controls what the members gui looks like.
  252.     # You can get to this in game by clicking on the members icon via the guild info gui.
  253.     guild-info-members:
  254.         # How should the menu be sorted?
  255.         # ROLE: In order from highest role to lowest
  256.         # NAME: In order by their username
  257.         # AGE: In order of length in guild
  258.         sort: ROLE
  259.         # What would you like the name of the GUI to be?
  260.         name: '&8» &rMembers of {name}'
  261.         item:
  262.             # What material do you want to use to represent members?
  263.             material: EMPTY_MAP
  264.             # What do you want the name of the item to be?
  265.             name: ' '
  266.             # What do you want the lore of the item to be?
  267.             lore:
  268.             - '&8• &7Name: &a{name}'
  269.             - '&8• &7Role: &a{role}'
  270.             - '&8• &7Status: {status}'
  271.             - '&8• &7Join Date: &a{join}'
  272.             - '&8• &7Last Login: &a{login}'
  273.             # What do you want to be what shows when a member is online?
  274.             online: '&aOnline'
  275.             # What do you want to be what shows when a member is offline?
  276.             offline: '&cOffline'
  277. guild:
  278.     requirements:
  279.         # With the default RegEx currently set, the minimum length of the prefix is 1 and the maximum is 64.
  280.         # To change this, adjust the number and you can refer to the link below on how to modify RegEx.
  281.         # RegEx (https://en.wikipedia.org/wiki/Regular_expression) used to only allow certain characters (default only allows alphanumeric characters).
  282.         # To turn off the ability to use colors, remove the & from the RegEx.
  283.         # Trying to use symbols such as Chinese ones? Try this Regex: [\u4E00-\u9FA5_a-zA-Z0-9&_\一-龥]{1,6}
  284.         name: '[a-zA-Z0-9&]{1,64}'
  285.         # Similar to the name, just refer above.
  286.         prefix: '[a-zA-Z0-9&]{1,20}'
  287.         # Would you like to include color codes signs (&b &l, etc) in the length check?
  288.         include-color-codes: true
  289.     # Would you like to allow players to make a guild without a prefix?
  290.     disable-prefix: false
  291.     # Would you like player to respawn at their guild home (if they have one) when they die?
  292.     respawn-at-home: false
  293.     blacklist:
  294.         # Do we want to enable the blacklist?
  295.         enabled: true
  296.         # Do we want the blacklist to be case sensitive?
  297.         case-sensitive: true
  298.         # What words would you like to blacklist from being used?
  299.         words:
  300.         - crap
  301.         - ass
  302.         - stupid
  303.     format:
  304.         # This is the style used when a message sent in guild chat.
  305.         # As of 3.4.7, this now supports {display-name} to show the display name of a player.
  306.         chat: '&7&l[Guild Chat]&r &b[{role}&b]&r &b {player}: {message}'
  307.         # This is the style used when a message is sent to ally chat
  308.         ally-chat: '&7&l[Ally Chat]&r &b[{guild}&b]&r &b {player}: {message}'
  309.         # Similar to ** above, just for the admins spying.
  310.         spy: '&7&l[Guild Spy]&r &b[{guild}&b]&r &b[{role}&b]&r &b {player}: {message}'
  311.         # Would you like to log the guild chat to console?
  312.         log-guild-chat: false
  313.         # Would you like to log the ally chat to console?
  314.         log-ally-chat: false
  315.         # Used for {GUILD_FORMATTED} and %guilds_formatted%
  316.         placeholder-design:
  317.             # The left bracket in the placeholder
  318.             left-bracket: '['
  319.             # The content of the placeholder. Either will be {name} or {prefix}
  320.             content: '{name}'
  321.             # What to show instead of the placeholder if there's no guild
  322.             no-guild: ''
  323.             # The right bracket in the placeholder
  324.             right-bracket: ']'
  325.     damage:
  326.         # Do we want people in the same guild to be able to damage each other?
  327.         guild: false
  328.         # Do we want allies to be able to damage each other?
  329.         ally: false
  330.     # Would you like to send players their guild's motd on login?
  331.     motd-on-login: true
  332. war:
  333.     # How often (in minutes) can a guild be the defender in a war?
  334.     # This is to help prevent abuse from guilds fighting each other to farm rewards.
  335.     # This is defaulted to 1 day.
  336.     defend-cooldown: 1440
  337.     # Would you like to block commands while a player is in the war?
  338.     disable-commands: false
  339.     # How long does a defending guild have to accept a war challenge? (In seconds)
  340.     accept-time: 120
  341.     # What is the min number of players needed on each side for a war to start?
  342.     min-players: 3
  343.     # What is the max number of players allowed on each side for a war?
  344.     max-players: 8
  345.     # How long do players of both sides have to join the war? (In seconds)
  346.     join-time: 60
  347.     # How long should we wait to teleport the players and start the war after everyone joined?
  348.     ready-time: 60
  349.     # How would you like to notify the player about joining the war and the countdowns?
  350.     # Options: [actionbar, title, subtitle, none]
  351.     notify-type: actionbar
  352.     post-challenge-commands:
  353.         # Would you like to enable running commands after a challenge ends? (such as broadcasting)
  354.         enabled: false
  355.         # What commands would you like to run after a challenge ends??
  356.         # Supports the following placeholder:
  357.         # {challenger} - The name of the challenging Guild
  358.         # {defender} - The name of the defending Guild
  359.         # {winner} - The winner of the challenge
  360.         # {loser} - The loser of the challenge
  361.         commands:
  362.         - ''
  363.     rewards:
  364.         # Would you like to give rewards to the winning guild?
  365.         enabled: false
  366.         # What rewards (commands) would you like to run for the winning Guild?
  367.         # Current supports {player}.
  368.         rewards:
  369.         - ''
  370. timers:
  371.     cooldowns:
  372.         # How often (in seconds) can a player set their guild home?
  373.         sethome: 60
  374.         # How often (in seconds) can a player go to their guild home?
  375.         home: 60
  376.         # How often (in seconds) can a player request to join a guild?
  377.         request: 60
  378.         # How long should a user have to wait before joining a new guild after leaving one?
  379.         join: 120
  380.     warmups:
  381.         home:
  382.             # Do you want to enable making players stand still before teleporting?
  383.             enabled: false
  384.             # How long should a user have to stand still before teleporting?
  385.             time: 3
  386. cost:
  387.     # How much should it cost to create a guild?
  388.     creation: 0.0
  389.     # How much should it cost to rename a guild? (Leave at 0.0 to disable)
  390.     rename: 0.0
  391.     # How much should it cost to set the cost of the guild home?
  392.     sethome: 0.0
  393. # This section of the config will allow you to handle guild land claiming.
  394. # Remember that the enable / disable for this is the WorldGuard Hook at the TOP of the config.
  395. # There are multiple options when it comes to guild claims. For the time being, all guilds will only get one claim.
  396. claims:
  397.     # This is the number of blocks around the player it will try to create the region.
  398.     # Keep in mind this is the RADIUS, it will go this many blocks in both directions.
  399.     # For example, if you take the default 15, it'll do 30 total as it will go 15 blocks in both directions.
  400.     # This is a CUBOID region, not SPHERE.
  401.     radius: 15
  402.     # Customize the entrance and exit message of joining claims.
  403.     # Supports {prefix} for guild prefix and {guild} for guild name.
  404.     # Also supports color codes!
  405.     enter-message: '&aNow entering &d{guild}''s &aclaim!'
  406.     exit-message: '&aNow leaving &d{guild}''s &aclaim!'
  407.     # Would you like to disable guild claiming in specific worlds?
  408.     disabled-worlds:
  409.     - ''
  410.     # Would you like to enable claim signs?
  411.     # Format -
  412.     # First Line: [Guild Claim]
  413.     # Second Line: WorldGuard Region Name
  414.     # Third Line: Price
  415.     claim-signs: false
  416.     # The text to look for on a sign for the guild claims
  417.     claim-sign-text: '[Guild Claim]'
  418.     # Would you like to make it so that claims can only be aquired through the purchasing with signs?
  419.     # This will disable the regular claim commands.
  420.     force-claim-signs: false
  421. tickets:
  422.     # What do you want the name of the upgrade ticket to be?
  423.     name: '&bGuild Upgrade Ticket'
  424.     # What do you want the lore of the ticket to be?
  425.     lore:
  426.     - '&dRight click this ticket to upgrade your guild tier!'
  427.     # What do you want the material of the ticket to be?
  428.     material: PAPER
  429. codes:
  430.     # How long do you want the default length of guild codes to be?
  431.     length: 7
  432.     # Do you want inactive codes (no uses left) to display on the /guild code list?
  433.     list-inactive-codes: true
  434.     # What is the max amount of active codes you would like to allow per guild?
  435.     amount: 10
复制代码


    roles.yml
  1. roles:
  2.     0:
  3.         name: GuildMaster
  4.         permission-node: guilds.roles.master
  5.         permissions:
  6.             activate-buff: true
  7.             add-ally: true
  8.             ally-chat: true
  9.             change-home: true
  10.             change-prefix: true
  11.             rename: true
  12.             chat: true
  13.             demote: true
  14.             deposit-money: true
  15.             invite: true
  16.             kick: true
  17.             open-vault: true
  18.             promote: true
  19.             remove-ally: true
  20.             remove-guild: true
  21.             toggle-guild: true
  22.             transfer-guild: true
  23.             upgrade-guild: true
  24.             withdraw-money: true
  25.             claim-land: true
  26.             unclaim-land: true
  27.             destroy: true
  28.             place: true
  29.             interact: true
  30.             create-code: true
  31.             delete-code: true
  32.             see-code-redeemers: true
  33.             modify-motd: true
  34.             initiate-war: true
  35.     1:
  36.         name: Officer
  37.         permission-node: guilds.roles.officer
  38.         permissions:
  39.             activate-buff: false
  40.             add-ally: true
  41.             ally-chat: true
  42.             change-home: true
  43.             change-prefix: false
  44.             rename: false
  45.             chat: true
  46.             demote: true
  47.             deposit-money: true
  48.             invite: true
  49.             kick: true
  50.             open-vault: true
  51.             promote: true
  52.             remove-ally: true
  53.             remove-guild: false
  54.             toggle-guild: false
  55.             transfer-guild: false
  56.             upgrade-guild: false
  57.             withdraw-money: true
  58.             claim-land: false
  59.             unclaim-land: false
  60.             destroy: true
  61.             place: true
  62.             interact: true
  63.             create-code: true
  64.             delete-code: true
  65.             see-code-redeemers: true
  66.             modify-motd: false
  67.             initiate-war: true
  68.     2:
  69.         name: Veteran
  70.         permission-node: guilds.roles.veteran
  71.         permissions:
  72.             activate-buff: false
  73.             add-ally: false
  74.             ally-chat: true
  75.             change-home: false
  76.             change-prefix: false
  77.             rename: false
  78.             chat: true
  79.             demote: false
  80.             deposit-money: true
  81.             invite: true
  82.             kick: false
  83.             open-vault: true
  84.             promote: false
  85.             remove-ally: false
  86.             remove-guild: false
  87.             toggle-guild: false
  88.             transfer-guild: false
  89.             upgrade-guild: false
  90.             withdraw-money: false
  91.             claim-land: false
  92.             unclaim-land: false
  93.             destroy: true
  94.             place: true
  95.             interact: true
  96.             create-code: false
  97.             delete-code: false
  98.             see-code-redeemers: false
  99.             modify-motd: false
  100.             initiate-war: false
  101.     3:
  102.         name: Member
  103.         permission-node: guilds.roles.member
  104.         permissions:
  105.             activate-buff: false
  106.             add-ally: false
  107.             ally-chat: true
  108.             change-home: false
  109.             change-prefix: false
  110.             rename: false
  111.             chat: true
  112.             demote: false
  113.             deposit-money: true
  114.             invite: false
  115.             kick: false
  116.             open-vault: true
  117.             promote: false
  118.             remove-ally: false
  119.             remove-guild: false
  120.             toggle-guild: false
  121.             transfer-guild: false
  122.             upgrade-guild: false
  123.             withdraw-money: false
  124.             claim-land: false
  125.             unclaim-land: false
  126.             destroy: true
  127.             place: true
  128.             interact: true
  129.             create-code: false
  130.             delete-code: false
  131.             see-code-redeemers: false
  132.             modify-motd: false
  133.             initiate-war: false
复制代码


   tiers.yml
  1. # This section of the config will talk about various parts of upgrading a guild and allow you to choose how it works.
  2. # For "mob-xp-multiplier" the default is 1, meaning that it will drop the normal amount of XP for non-upgraded guilds.
  3. # DO NOT set it to 0, that will either throw errors or cause mobs to not drop XP.
  4. # Keep in mind for the damage-multiplier, it applies to players also, so by default it's set to normal for every tier.
  5. tiers:
  6.     # Should permissions carry over between tiers?
  7.     carry-over: true
  8.     list:
  9.         1:
  10.             # Which level tier is this? 1 is the default.
  11.             level: 1
  12.             # What is the name of this tier?
  13.             name: Bronze
  14.             # How much is this tier? (If first tier, keep as same price as cost creation)
  15.             cost: 0.0
  16.             # How many members can be in a guild of this tier?
  17.             max-members: 15
  18.             # How many Vaults would you like the Guild to be able to use?
  19.             vault-amount: 1
  20.             # How much extra XP should drop from mobs?
  21.             mob-xp-multiplier: 1.0
  22.             # How much extra damage should be done?
  23.             damage-multiplier: 1.0
  24.             # How much can this tier hold in the bank?
  25.             max-bank-balance: 10000.0
  26.             # How many members should be in a guild for it to be able to rankup?
  27.             members-to-rankup: 0
  28.             # What is the max amount of allies a guild with this tier can have?
  29.             max-allies: 5
  30.             # Would you like this tier to be able to open the buff GUI?
  31.             use-buffs: true
  32.             # If you wish to give this tier extra permissions, put them here.
  33.             permissions:
  34.             - example.perm.here
  35.         2:
  36.             # Which level tier is this? 1 is the default.
  37.             level: 2
  38.             # What is the name of this tier?
  39.             name: Silver
  40.             # How much is this tier? (If first tier, keep as same price as cost creation)
  41.             cost: 200.0
  42.             # How many members can be in a guild of this tier?
  43.             max-members: 30
  44.             # How many Vaults would you like the Guild to be able to use?
  45.             vault-amount: 2
  46.             # How much extra XP should drop from mobs?
  47.             mob-xp-multiplier: 2.0
  48.             # How much extra damage should be done?
  49.             damage-multiplier: 1.0
  50.             # How much can this tier hold in the bank?
  51.             max-bank-balance: 20000.0
  52.             # How many members should be in a guild for it to be able to rankup?
  53.             members-to-rankup: 0
  54.             # What is the max amount of allies a guild with this tier can have?
  55.             max-allies: 10
  56.             # Would you like this tier to be able to open the buff GUI?
  57.             use-buffs: true
  58.             # If you wish to give this tier extra permissions, put them here.
  59.             permissions:
  60.             - example.perm.here
  61.         3:
  62.             # Which level tier is this? 1 is the default.
  63.             level: 3
  64.             # What is the name of this tier?
  65.             name: Gold
  66.             # How much is this tier? (If first tier, keep as same price as cost creation)
  67.             cost: 300.0
  68.             # How many members can be in a guild of this tier?
  69.             max-members: 50
  70.             # How many Vaults would you like the Guild to be able to use?
  71.             vault-amount: 3
  72.             # How much extra XP should drop from mobs?
  73.             mob-xp-multiplier: 3.0
  74.             # How much extra damage should be done?
  75.             damage-multiplier: 1.0
  76.             # How much can this tier hold in the bank?
  77.             max-bank-balance: 30000.0
  78.             # How many members should be in a guild for it to be able to rankup?
  79.             members-to-rankup: 0
  80.             # What is the max amount of allies a guild with this tier can have?
  81.             max-allies: 15
  82.             # Would you like this tier to be able to open the buff GUI?
  83.             use-buffs: true
  84.             # If you wish to give this tier extra permissions, put them here.
  85.             permissions:
  86.             - example.perm.here
复制代码


名副其实
本帖最后由 名副其实 于 2023-2-25 22:48 编辑
| Guilds |

A new style of RPG is on the rise.


| Commands & Permissions | 命令与权限

Understanding how the commands work in the project is super simple. All you have to do is type /guilds and you will be presented with a very nice-looking help menu!

理解命令如何在本插件内运行是非常简单的。你要做的一切就是输入命令 /guilds ,然后你就会打开一个实用且美观的帮助界面!



    用户组权限
To easily give a player / group access to all the correct commands, you can give the following permissions:

为了使玩家/用户组能够使用本插件特定的命令,你可以给予这些权限:
成员:guilds.group.member
管理员:guilds.group.admin
     等价命令
Since Guilds is such a big project, we knew that it can get repetitive typing out full commands each time so we have made the follow aliases work so you don't have to type everything out each time. Use whichever you want! You can configure this in the config!

本插件的工程量非常巨大,记住命令对任何人来多都不是一件容易事。所以我们为玩家设计了等价命令用法,这样就可以省去玩家记住繁杂命令的事件了!任何地方都可以随你设置!当然也可以在配置文本里设置!
    操作命令
Action commands control the user's choice to proceed with some of the commands in the plugin. We know that some people get curious when playing with commands and we've designed the commands that cause bigger changes to ask for a confirmation.

操作命令允许用户在必要时做出选择。我们知道有些人就是喜欢乱试命令,所以我们增加了一个确认功能,来防止那些好奇心旺盛的用户造成不可挽回的后果。
/guild cancel
Permission: guilds.command.cancel
If a user has an active action, it will cancel it and not proceed further with what they were trying to do.
/guild confirm
Permission: guilds.command.confirm
If a user has an active action, it will confirm the action and continue with what they were attempting to do.

/guild cancel
权限:guilds.command.cancel
如果用户有,那么使用该命令后可取消当前待执行的操作
/guild confirm
如果用户有,那么使用该命令后可确认当前待执行的操作
权限:guilds.command.confirm

    管理员命令
Admin commands are basically self-understandable. They give you the power over how the plugin is used and can do many things to modify how the plugin works.

就连管理员命令也简单易懂。它们能够设置本插件的一些内容,也能展示插件的一些详细数据和信息。
/guild admin addplayer <player> <guild>
Permission: guilds.command.admin
Allows you to put a player into a guild by force.
/guild admin bank balance <guild>
Permission: guilds.command.admin
Admin command to view a guild's bank balance.
/guild admin bank deposit <guild> <amount>
Permission: guilds.command.admin
Admin command to put money into a guild's ban.
/guild admin bank withdraw <guild> <amount>
Permission: guilds.command.admin
Admin command to put money into a guild's ban.
/guild admin delhome <guild>
Permission: guilds.command.admin
Admin command to delete the home of a guild.
/guild admin give <player> <amount>
Permission: guilds.command.admin
Allows you to give upgrade tickets to players.
/guild admin home <guild>
Permission: guilds.command.admin
Admin command to teleport to the home of a guild.

/guild admin motd <guild>
Permission: guilds.command.admin
Allows you to view the MOTD of a guild.
/guild admin motd remove <guild>
Permission: guilds.command.admin
Allows you to remove the MOTD of a guild.
/guild admin motd set <guild> <motd>
Permission: guilds.command.admin
Allows you to set the MOTD of a guild
/guild admin prefix <guild> <prefix>
Permission: guilds.command.admin
Allows you to change the prefix of a guild by force.
/guild admin remove <guild>
Permission: guilds.command.admin
Allows you to remove a guild as a whole by force.
/guild admin removeplayer <player>
Permission: guilds.command.admin
Allows you to remove a player from their guild by force.
/guild admin rename <guild> <new name>
Permission: guilds.command.admin
Allows you change the current name of a guild by force.

/guild admin score resetall
Permission: guilds.command.admin
Allows you to reset the score of all guilds

/guild admin score setwins <guild> <amount>
Permission: guilds.command.admin
Allows you to set the wins of a guild

/guild admin score setloses <guild> <amount>
Permission: guilds.command.admin
Allows you to set the loses of a guild
/guild admin sethome
Permission: guilds.command.admin
Admin command to set the home of a guild.
/guild admin spy
Permission: guilds.chat.spy
Toggles the ability to see all guild chat.
/guild admin status <guild>
Permission: guilds.command.admin
Toggle the status of a guild by force.
/guild admin transfer <guild> <new master>
Permission: guilds.command.admin
Transfer a guild to another member by force
/guild admin upgrade <guild>
Permission: guilds.command.admin
Force upgrade a guild's tier.
/guild admin vault <guild>
Permission: guilds.command.admin
Open any guild's vault GUI
/guild reload
Permission: guilds.command.admin
Reloads the configuration files.

/guild admin addplayer <玩家名称> <公会名称>
权限: guilds.command.admin
强制将玩家加入公会.
/guild admin bank balance <公会名称>
权限: guilds.command.admin
查阅该公会的银行存款.
/guild admin bank deposit <公会名称> <数量>
权限: guilds.command.admin
将特定数量的钱存入银行.
/guild admin bank withdraw <公会名称> <数量>
权限: guilds.command.admin
将特定数量的钱取出银行.[注1]
/guild admin delhome <公会名称>
权限: guilds.command.admin
删除公会设置的家传送点.
/guild admin give <玩家名称> <数量>
权限: guilds.command.admin
给予玩家升级券.
/guild admin home <公会名称>
权限: guilds.command.admin
传送至公会设置的家传送点.

/guild admin motd <公会名称>
权限: guilds.command.admin
浏览公会欢迎标语.
/guild admin motd remove <公会名称>
权限: guilds.command.admin
删除公会欢迎标语.
/guild admin motd set <公会名称> <标题内容>
权限: guilds.command.admin
设置公会欢迎标语
/guild admin prefix <公会名称> <前缀>
权限: guilds.command.admin
强制更换公会前缀.
/guild admin remove <公会名称>
权限: guilds.command.admin
完全删除公会.
/guild admin removeplayer <玩家名称>
权限: guilds.command.admin
将玩家从公会中移出.
/guild admin rename <公会名称> <新公会名称>
权限: guilds.command.admin
强制修改公会名称.

/guild admin score resetall
权限: guilds.command.admin
强制重设公会所有战绩.
/guild admin score setwins <公会名称> <数量>
权限: guilds.command.admin
设置公会战斗胜利场数
/guild admin score setloses <公会名称> <数量>
权限: guilds.command.admin
设置公会战斗失败场数
/guild admin sethome
权限: guilds.command.admin
强制设置公会家传送点.
/guild admin spy
权限: guilds.chat.spy
切换所有公会聊天是否对自己可见.
/guild admin status <公会名称>
权限: guilds.command.admin
强制切换公会状态.
/guild admin transfer <公会名称> <新领袖名称>
权限: guilds.command.admin
强制转移公会领袖.
/guild admin upgrade <公会名称>
权限: guilds.command.admin
强制升级成员的公会等级.
/guild admin vault <公会名称>
权限: guilds.command.admin
打开公会的金库菜单
/guild reload
权限: guilds.command.admin
重载配置文件.
    友军命令
The ally commands are a set of commands that let guild members control different actions such as listing their current allies or adding and removing them!

友军命令能够展示本公会的盟友相关信息,例如盟友的名称等。你也可以通过这些命令来调整盟友关系!
/guild ally accept <guild>
Permission: guilds.command.ally.accept
This command allows you to accept an ally invite from another guild if there is one currently pending!
/guild ally add <guild>
Permission: guilds.command.ally.add
This command allows you to send an ally request to another guild!
/guild ally decline <guild>
Permission: guilds.command.ally.decline
This command allows you to decline and incoming ally invite from another guild!
/guild ally list
Permission: guilds.command.ally.list
This command allows you to list all the allies of your guild!
/guild ally remove <guild>
Permission: guilds.command.ally.remove
This command allows you to remove any of your current allies!

/guild ally accept <公会名称>
权限: guilds.command.ally.accept
若当前有待处理的加盟请求,该命令将会通过申请公会成为盟友的请求!
/guild ally add <公会名称>
权限: guilds.command.ally.add
该命令允许你向其他公会发送结盟请求!
/guild ally decline <公会名称>
权限: guilds.command.ally.decline
该命令允许你婉拒其他公会发送的结盟邀请!
/guild ally list
权限: guilds.command.ally.list
该命令可列出你的公会的所有盟友!
/guild ally remove <公会名称>
权限: guilds.command.ally.remove
该命令可解除与特定公会的盟友关系!
    竞技场命令
/guild arena set challenger <arena>
Permission: guilds.command.admin
Sets challenger side for an arena
/guild arena create <name>
Permission: guilds.command.admin
Create an arena
/guild arena set defender <arena>
Permission: guilds.command.admin
Sets defender side for an arena
/guild arena delete <arena>
Permission: guilds.command.admin
Delete an arena
/guild arena list
Permission: guilds.command.admin
Lists all arenas on the server
/guild arena tp <arena> <side>
Permission: guilds.command.admin
Teleport to specific side of an arena

/guild arena set challenger <竞技场名称>
权限: guilds.command.admin
设置一个竞技场挑战方的传送点
/guild arena create <名称>
权限: guilds.command.admin
创建一个竞技场
/guild arena set defender <竞技场名称>
权限: guilds.command.admin
设置一个竞技场防守方的传送点
/guild arena delete <竞技场名称>
权限: guilds.command.admin
删除一个竞技场
/guild arena list
权限: guilds.command.admin
列出服务器上的所有竞技场
/guild arena tp <竞技场名称> <位置>
权限: guilds.command.admin
传送到竞技场地的指定一侧。(译者注:位置表示战争关系的位置,例如defend参数会将公会玩家传送到防守方的位置)
    银行命令
One of the cool features about this plugin is that it allows each guild to have a centralized bank that all players in a guild can work together to grow!

本插件的特色之一即是允许各个公会,通过玩家之间的合作和努力屯起属于自己的小金库!
/guild bank balance
Permission: guilds.command.bank.balance
Allows you to check the current balance of your guild bank!
/guild bank deposit <amount>
Permission: guilds.command.bank.deposit
Allows you to put money from your balance into your guild bank!
/guild bank withdraw <amount>
Permission: guilds.command.bank.withdraw
Allows you to take money from your guild bank and put it back into your personal balance!

/guild bank balance
权限: guilds.command.bank.balance
浏览你的公会当前金库存款!
/guild bank deposit <数量>
权限: guilds.command.bank.deposit
从自己的账户中向银行存入游戏币!
/guild bank withdraw <数量>
权限: guilds.command.bank.withdraw
从公会金库中取出存款并将其转入自己的账户中!
    属地命令
Another cool feature of this plugin is the ability to make claims! This is ultilized through the WorldGuard Hook and allows players to "claim" land for their guild members to use.

本插件的另一个特色就是允许公会拥有自己的属地!该部分内容联动了 WorldGuard 并允许玩家“认领”属地,供他们的成员使用。
Another cool feature of this plugin is the ability to make claims! This is ultilized through the WorldGuard Hook and allows players to "claim" land for their guild members to use.
/guild claim
Permission: guilds.command.claim
Create a guild claim surrounding you!
/guild unclaim
Permission: guilds.command.unclaim
Get rid of your current guild claim!

/guild claim
权限: guilds.command.claim
在你身边创建公会属地!
/guild unclaim
权限: guilds.command.unclaim
取消占领当前的公会属地!
    邀请码命令
This feature is actually a new one at the time of writing this wiki. The idea came to me when I realized I wanted to allow a group of my friends to join my guild but at the time I didn't know all their usernames. This feature allows you to create an invite code with the option of one-time-usage or multiple-uses and you can give it to anyone, then they can use that code to join the guild at any time!

编写维基时这部分内容还很新。我制作这个部分的原因是,我的一些朋友想要加入我的公会,而我却不知道他们的用户名。该部分命令允许你向好友发送请柬,同时有一/多次性选项可供设置。你可以将它发送给任何玩家,任何玩家也可以随时用这串邀请码加入你的公会!
/guild code create [uses]
Permission: guilds.command.code.create
Create an invite code for your guild that can be used by anyone!
/guild code delete <code>
Permission: guilds.command.code.delete
Remove an invite code from your guild
/guild code info <code>
Permission: guilds.command.code.info
Allows you to retrieve specific information about a guild code!
/guild code list
Permission: guilds.command.code.list
Allows you to list all your current guild codes!
/guild re d eem <code>
Permission: guilds.command.code.redeem
Allows you to redeem an invite code!

/guild code create [使用次数]
权限: guilds.command.code.create
创建一个可被任何人使用的,邀请至你的公会的邀请码!
/guild code delete <邀请码>
权限: guilds.command.code.delete
删除一个已有的邀请码
/guild code info <邀请码>
权限: guilds.command.code.info
查询邀请码相关信息!
/guild code list
权限: guilds.command.code.list
列出所有已创建的邀请码!
/guild re d eem <邀请码>
权限: guilds.command.code.redeem
允许你使用邀请码!
    控制台命令
These are commands that are only to be ran from console because they do important operations that typical players shouldn't be doing.

这些是只有控制台才可以用的命令,通常这些重要的操作不应由玩家执行。
/guild console update-languages
Permission: guilds.command.admin
Update language files for the plugin
/guild console backup
Permission: guilds.command.admin
Create a backup of all plugin data
/guild console migrate <type>
Permission: guilds.command.admin
Migrate all the plugin data from one type of storage to another
/guild console unclaim-all
Permission: guilds.command.admin
Remove all claim data from the plugin

/guild console update-languages
权限: guilds.command.admin
更新本插件的语言文档
/guild console backup
权限: guilds.command.admin
备份本插件所有数据
/guild console migrate <源种类>
权限: guilds.command.admin
从一个数据库中迁移数据至另一个数据库
/guild console unclaim-all
权限: guilds.command.admin
删除本插件所有的属地数据
​    GUI 命令
/guild buff
Permission: guilds.command.buff
Opens the guild buff GUI.
/guild list
Permission: guilds.command.list
Opens the guild list GUI.
/guild members
Permission: guilds.command.members
Opens the member list GUI.
/guild vault
Permission: guilds.command.vault
Opens a guild vault GUI.
/guild info
Permission: guilds.command.info
Opens up the guild info GUI.

/guild buff
权限: guilds.command.buff
打开公会效果 GUI.
/guild list
权限: guilds.command.list
打开公会列表 GUI.
/guild members
权限: guilds.command.members
打开成员列表 GUI.
/guild vault
权限: guilds.command.vault
打开公会金库 GUI.
/guild info
权限: guilds.command.info
打开公会信息 GUI.
    家命令
/guild delhome
Permission: guilds.command.delhome
Delete your guild home.
/guild home
Permission: guilds.command.home
Teleport to your guild home.
/guild sethome
Permission: guilds.command.sethome
Set your guild home to your current location.

权限: guilds.command.delhome
删除你的公会传送点.
/guild home
权限: guilds.command.home
传送至公会传送点.
/guild sethome
权限: guilds.command.sethome
将公会传送点设置在当前位置.
    管理命令
/guild create <name> [prefix]
Permission: guilds.command.create
Create a new guild!
/guild delete
Permission: guilds.command.delete
Deletes your current guild.
/guild kick <player>
Permission: guilds.command.boot
Kicks a player from your guild.
/guild prefix <prefix>
Permission: guilds.command.prefix
Set a new prefix for your guild.
/guild rename <name>
Permission: guilds.command.rename
Set a new name for your guild.
/guild status
Permission: guilds.command.status
Toggles the status of your guild.
/guild transfer <player>
Permission: guilds.command.transfer
Transfer your guild to another person.
/guild upgrade
Permission: guilds.command.upgrade
Upgrade your guild's tier.

/guild create <公会名称> [公会前缀]
权限: guilds.command.create
创建一个新公会!
/guild delete
权限: guilds.command.delete
删除你的公会.
/guild kick <玩家名称>
权限: guilds.command.boot
将玩家移出你的公会.
/guild prefix <公会前缀>
权限: guilds.command.prefix
为公会设置新前缀.
/guild rename <公会名称>
权限: guilds.command.rename
为公会设置新名称.
/guild status
权限: guilds.command.status
切换公会状态.
/guild transfer <玩家名称>
权限: guilds.command.transfer
将公会领袖的位置转交给他人.
/guild upgrade
权限: guilds.command.upgrade
升级公会等级.
    成员命令
Commands handled by members of the server / guild.

服务器 / 公会成员需要用到的命令
/guild accept <name>
Permission: guilds.command.accept
Accepted a guild invite from a guild.
/guild check
Permission: guilds.command.check
Checks to see if a user has any pending guild invites.
/guild decline <name>
Permission: guilds.command.decline
Declines a pending guild invite from a guild.
/guild demote <player>
Permission: guilds.command.demote
Demote a player in your guild.
/guild invite <player>
Permission: guilds.command.invite
Invite a player to your guild.
/guild language <language>
Permission: guilds.command.language
Set the plugin language to your choosing!
/guild leave
Permission: guilds.command.leave
Leave your current guild.
/guild promote <player>
Permission: guilds.command.promote
Promote a player in your guild.

/guild accept <玩家名称>
权限: guilds.command.accept
接受一个当前加入公会的请求.
/guild check
权限: guilds.command.check
检查公会是否有待处理的请求.
/guild decline <玩家名称>
权限: guilds.command.decline
拒绝一个当前加入公会的请求.
/guild demote <玩家名称>
权限: guilds.command.demote
降级公会内的玩家.
/guild invite <玩家名称>
权限: guilds.command.invite
邀请玩家至你的公会.
/guild language <语言>
权限: guilds.command.language
修改当前语言!
/guild leave
权限: guilds.command.leave
离开你的公会.
/guild promote <玩家名称>
权限: guilds.command.promote
升级公会内的玩家.
    标语命令
Commands that manage a guild's MOTD.

管理公会欢迎标语的命令。
/guild motd
Permission: guilds.command.motd
View your guild's MOTD.
/guild motd set <motd>
Permission: guilds.command.motd.modify
Set the MOTD of your guild.
/guild motd remove
Permission: guilds.command.motd.modify
Remove the MOTD of your guild.

/guild motd
权限: guilds.command.motd
显示当前公会的欢迎标语.
/guild motd set <标语名称>
权限: guilds.command.motd.modify
设置当前公会的欢迎标语.
/guild motd remove
权限: guilds.command.motd.modify
删除当前公会的欢迎标语.
    杂项命令
Random commands that haven't been categorized yet.

一些杂碎且尚未分类的命令。
/guild chat
Permission: guilds.command.chat
Toggles the guild chat.
/guild request <guild>
Permission: guilds.command.request
Send a request to join a guild.

/guild chat
权限: guilds.command.chat
切换公会聊天.
/guild request <guild>
权限: guilds.command.request
向公会发送加入请求.
    公会战命令
/guild war accept
Permission: guilds.command.war.accept
Accept a war request
/guild war challenge <guild>
Permission: guilds.command.war.challenge
Challenge another guild to a war
/guild war deny
Permission: guilds.command.war.deny
Deny a war request
/guild war join
Permission: guilds.command.war.join
Join a guild war

/guild war accept
权限: guilds.command.war.accept
接受战争邀请
/guild war challenge <guild>
权限: guilds.command.war.challenge
向其他公会发出挑战请求
/guild war deny
权限: guilds.command.war.deny
拒绝战争邀请
/guild war join
权限: guilds.command.war.join
加入战争

名副其实
本帖最后由 名副其实 于 2023-2-25 23:22 编辑
| Guilds |

A new style of RPG is on the rise.


| Placeholders | 变量集群

Guilds provides placeholders in various forms to support different APIs.
PlaceholderAPI, MVdWPlaceholderAPI, and EssentialsXChat
Note: For MVdWPlaceholderAPI, in order to ensure they all stay up-to-date with each other, we just hook into regular PlaceholderAPI. This means that PlaceholderAPI is also required.
EssentialsX Example:
(Make sure you enabled the hook in the config and reboot for this to work)

本插件提供了多种形式的变量以支持不同的聊天插件。
例如 PlaceholderAPI, MVdWPlaceholderAPI, EssentialsXChat
注意:对于 MVdWPlaceholderAPI:请确保使用了插件的最新版本,我们只是从 PlaceholderAPI 一侧做了该插件的兼容。这意味着你安装该插件后仍需安装 PlaceholderAPI 才可继续使用。
EssentialsXChat 示例:
  1. format: '<{GUILD} {DISPLAYNAME}> {MESSAGE}'
复制代码

    排行榜变量
变量描述
%guilds_top_wins_name_#%胜利场数排在第 # 位的公会名称
%guilds_top_wins_amount_#%胜利场数排在第 # 位的公会对应胜场数量
%guilds_top_losses_name_#%失败场数排在第 # 位的公会名称
%guilds_top_losses_amount_#%落败场数排在第 # 位的公会对应败场数量
%guilds_top_wlr_name_#%胜率排在第 # 位的公会名称
%guilds_top_wlr_amount_#%胜率排在第 # 位的公会对应胜率

    普通变量
PAPI 变量MVdWPAPI 变量EssXChat 变量
%guilds_name%{placeholderapi_guilds_name}{GUILD}
%guilds_master%{placeholderapi_guilds_master}{GUILD_MASTER}
%guilds_member_count%{placeholderapi_guilds_member_count}{GUILD_MEMBER_COUNT}
%guilds_prefix%{placeholderapi_guilds_prefix}{GUILD_PREFIX}
%guilds_members_online%{placeholderapi_guilds_member_online}{GUILD_MEMBERS_ONLINE}
%guilds_status%{placeholderapi_guilds_stats}{GUILD_STATUS}
%guilds_role%{placeholderapi_guilds_role}{GUILD_ROLE}
%guilds_tier%{placeholderapi_guilds_tier}
/
%guilds_balance%{placeholderapi_guilds_balance}
/
%guilds_balance_raw%
/
/
%guilds_tier_name%{placeholderapi_guilds_tier_name}
/
%guilds_role_node%{placeholderapi_guilds_role_node}
/
%guilds_id%{placeholderapi_guilds_id}
/
%guilds_code_amount%{placeholderapi_guilds_code_amount}
/
%guilds_max_members%{placeholderapi_guilds_max_members}
/
%guilds_max_balance%{placeholderapi_guilds_max_balance}
/
%guilds_formatted%{placeholderapi_guilds_formatted}
/
%guilds_challenge_wins%{placeholderapi_guilds_challenge_wins}
/
%guilds_challenge_loses%{placeholderapi_guilds_challenge_loses}
/
%guilds_motd%{placeholderapi_guilds_motd}
/

名副其实
| Guilds |

A new style of RPG is on the rise.


| Developer API | 开发者 API

    构建工具相关
Maven
        <repository>
            <id>glares-repo</id>
            <url>https://repo.glaremasters.me/repository/public/</url>
        </repository>
        
        <dependency>
            <groupId>me.glaremasters</groupId>
            <artifactId>guilds</artifactId>
            <version>VERSION</version>
        </dependency>

Gradle
repositories {
    maven {
        url = 'https://repo.glaremasters.me/repository/public/'
    }
}

dependencies {
    compileOnly 'me.glaremasters:guilds:VERSION'
}

Kotlin
repositories {   
    maven("https://repo.glaremasters.me/repository/public/")
}

dependencies {
    compileOnly("me.glaremasters:guilds:versions")
}


    API 对接
Obtaining the instance of the API is pretty simple by using the singleton that provides static access to the class. You can obtain the instance of the API through the main Guilds class.

获取API的实例非常简单,只需要使用提供对类的静态访问的实例即可。开发者在这之后就可以通过主 Guilds 类获取该 API 的实例。
  1. GuildsAPI api = Guilds.getApi();
复制代码

    API 调用
The API can be used for obtaining a bunch of information from the plugin. You can browse over the following section to see what all is provided.

API 可以用来收集本插件许多有用的信息。你可以在下面的事件里查阅你所需要的事件内容。

    获取公会有关内容
We provide a few ways to obtain a Guild object, so feel free to use what is easiest for you.

我们提供了多种获取相关信息的方法,你可根据喜好随意使用。
OfflinePlayer
    /**
     *
     * Get the guild of a player
     * @param player the players you're getting the guild of
     * @Return the guild that the player is in
     */
    fun getGuild(player: OfflinePlayer): Guild? {
        return guildHandler.getGuild(player)
    }

Guild UUID
    /**
     * Get a guild by it's uuid
     * @param uuid uuid of the guild
     * @return the guild the uuid belong to
     */
    fun getGuild(uuid: UUID): Guild? {
        return guildHandler.getGuild(uuid)
    }

Guild Name
    /**
     * Get a guild by it's name
     * @param name the name of the guild
     * @return the guild object
     */
    fun getGuild(name: String): Guild? {
        return guildHandler.getGuild(name)
    }

Player UUID
    /**
     * Get a guild by a player's uuid
     *
     * @param uuid the uuid of the player
     * @return the guild of the player or null
     */
    fun getGuildByPlayerId(uuid: UUID): Guild? {
        return guildHandler.getGuildByPlayerId(uuid)
    }

Getting a GuildMember object
    /**
     * Get a guild member by their uuid
     *
     * @param uuid the uuid of the player
     * @return the guild member instance or null
     */
    fun getGuildMember(uuid: UUID): GuildMember? {
        return guildHandler.getGuildMember(uuid)
    }

Getting a Guild Vault
   /**
     * Get a copy of one of a guild's vaults
     * @param guild the guild to get the vault of
     * @param vaultNumber which vault to get
     * @return guild vault
     */
    fun getGuildVault(guild: Guild, vaultNumber: Int): Inventory {
        return guildHandler.getGuildVault(guild, vaultNumber)
    }

Getting a GuildRole
    /**
     * Get the role of a player
     * @param player role
     * @return the role of a player
     */
    fun getGuildRole(player: Player): GuildRole? {
        return getGuild(player)?.getMember(player.uniqueId)?.role
    }

Getting the GuildHandler
    /**
     * Get a copy of the guild handler
     * @return guild handler
     */
    public GuildHandler getGuildHandler() {
        return guildHandler;
    }

    自定义事件
In the plugin we offer a bunch of custom events that you can listen to and modify as you see fit.

本插件提供了一些可供你监听与修改的事件
Base GuildEvent
    /**
     * Base guild event
     * @param player player in event
     * @param guild guild in the event
     */
    public GuildEvent(Player player, Guild guild) {
        super(player);
        this.guild = guild;
    }

GuildAddAllyEvent
    /**
     * This event takes place when two guilds ally each other
     * @param player player who accepted
     * @param guild guild one
     * @param ally guild two
     */
    public GuildAddAllyEvent(Player player, Guild guild, Guild ally) {
        super(player, guild);
        this.ally = ally;
    }

GuildBuffEvent
    /**
     * Called when a guild purchases a buff
     * @param player the player purchasing the buff
     * @param guild the guild the player is in
     * @param buff the buff being purchased
     */
    public GuildBuffEvent(Player player, Guild guild, GuildBuff buff) {
        super(player, guild);
        this.buff = buff;
    }

GuildCreateEvent
    /**
     * Called when people create a guild
     * @param player player creating the guild
     * @param guild the guild being created
     */
    public GuildCreateEvent(Player player, Guild guild) {
        super(player, guild);
    }

GuildDepositMoneyEvent
    /**
     * Base guild event
     *  @param player player in event
     * @param guild  guild in the event
     * @param amount the amount to deposit
     */
    public GuildDepositMoneyEvent(Player player, Guild guild, double amount) {
        super(player, guild);
        this.amount = amount;
    }

GuildInviteEvent
    /**
     * Called when a player gets invited to a guild
     * @param player the player inviting other to guild
     * @param guild the guild player will be joining
     * @param invitedPlayer the player being invited
     */
    public GuildInviteEvent(Player player, Guild guild, Player invitedPlayer) {
        super(player, guild);
        this.invitedPlayer = invitedPlayer;
    }

GuildJoinEvent
    /**
     * Called when a player joins a guild
     * @param player the player joining a guild
     * @param guild the guild the player will be joining
     */
    public GuildJoinEvent(Player player, Guild guild) {
        super(player, guild);
    }

GuildLeaveEvent
    /**
     * Called a when a player leaves the guild
     * @param player the player leaving the guild
     * @param guild the guild the player was leaving
     */
    public GuildLeaveEvent(Player player, Guild guild) {
        super(player, guild);
    }

GuildKickEvent
/**
* Called when a player is kicked from the guild
* @param player the player executing the event
* @param kicked the player being kicked from the guild
* @param cause the cause for being kicked
*/
class GuildKickEvent(player: Player, guild: Guild, val kicked: OfflinePlayer, val cause: Cause) : GuildEvent(player, guild) {

    enum class Cause {
        PLAYER_KICKED, ADMIN_KICKED
    }
}

GuildPrefixEvent
    private String prefix;

    /**
     * Base guild event
     *  @param player player in event
     * @param guild  guild in the event
     * @param prefix
     */
    public GuildPrefixEvent(Player player, Guild guild, String prefix) {
        super(player, guild);
        this.prefix = prefix;
    }

    public String getPrefix() {
        return prefix;
    }

GuildRemoveAllyEvent
    /**
     * Called when a guild removes an ally
     * @param player the player calling the removal
     * @param guild the guild calling the removal
     * @param ally the guild being removed
     */
    public GuildRemoveAllyEvent(Player player, Guild guild, Guild ally) {
        super(player, guild);
        this.ally = ally;
    }

GuildRemoveEvent
    private String name;
   
    /**
     * Called when a guild is removed
     * @param player the player removing the guild
     * @param guild the guild getting removed
     * @param cause the reason for the guild being removed
     */
    public GuildRemoveEvent(Player player, Guild guild, Cause cause) {
        super(player, guild);
        this.cause = cause;
    }

    public enum Cause {
        MASTER_LEFT,
        PLAYER_DELETED,
        ADMIN_DELETED
    }

GuildRenameEvent
    /**
     * @param player player in event
     * @param guild  guild in the event
     */
     public GuildRenameEvent(Player player, Guild guild, String newName) {
        super(player, guild);
        this.name = newName;
    }

    public String getName() {
        return name;
    }

GuildSetHomeEvent
    /**
     * Called when a guild sets their home
     * @param player the player setting the home
     * @param guild the guild the player is in
     * @param location the location the home is being set at
     */
    public GuildSetHomeEvent(Player player, Guild guild, Location location) {
        super(player, guild);
        this.location = location;
    }

GuildTransferEvent
private Player newMaster;

    /**
     * Base guild event
     *  @param player player in event
     * @param guild  guild in the event
     * @param newMaster
     */
    public GuildTransferEvent(Player player, Guild guild, Player newMaster) {
        super(player, guild);
        this.newMaster = newMaster;
    }

    public Player getNewMaster() {
        return newMaster;
    }

GuildWithdrawEvent
    /**
     * @param player player in event
     * @param guild  guild in the event
     * @param amount the amount to withdraw
     */
    public GuildWithdrawMoneyEvent(Player player, Guild guild, double amount) {
        super(player, guild);
        this.amount = amount;
    }

GuildUpgradeEvent
    /**
     * Called when a guild upgrades their tier
     * @param player the player upgrading the tier
     * @param guild the guild the player is in
     * @param tier the new guild tier for the guild
     */
    public GuildUpgradeEvent(Player player, Guild guild, GuildTier tier) {
        super(player, guild);
        this.tier = tier;
    }

GuildWarAcceptEvent
/**
* Called when a guild war has been accepted
* @param player the player that accepted the war challenge
* @param challenger the challenging guild for the war
* @param defender the defending guild for the war
*/
class GuildWarAcceptEvent(player: Player, val challenger: Guild, val defender: Guild) : GuildEvent(player, defender)

GuildWarChallengeEvent
/**
* Called when a guild war challenge has been sent from one guild to another
* @param player the player that sent the war challenge
* @param challenger the challenging guild for the war
* @param defender the defending guild for the war
*/
class GuildWarChallengeEvent(player: Player, val challenger: Guild, val defender: Guild) : GuildEvent(player, challenger)

GuildWarDeclineEvent
/**
* Called when a guild war has been declined
* @param player the player that declined the challenge
* @param challenger the challenging guild for the war
* @param defender the defending guild for the war
*/
class GuildWarDeclineEvent(player: Player, val challenger: Guild, val defender: Guild) : GuildEvent(player, defender)

GuildWarEndEvent
/**
* Called when a guild war has ended
* @param challenger the challenging guild for the war
* @param defender the defending guild for the war
* @param winner the winner of the guild war
*/
class GuildWarEndEvent(val challenger: Guild, val defender: Guild, val winner: Guild) : Event() {

    override fun getHandlers(): HandlerList {
        return handlerList
    }

    companion object {
        val handlerList = HandlerList()
    }
}

GuildWarStartEvent
/**
* Called when a guild war has started
* @param challenger the challenging guild for the war
* @param defender the defending guild for the war
*/
class GuildWarStartEvent(val challenger: Guild, val defender: Guild) : Event() {

    override fun getHandlers(): HandlerList {
        return handlerList
    }

    companion object {
        val handlerList = HandlerList()
    }
}

名副其实
本帖最后由 名副其实 于 2023-2-28 22:50 编辑
| VoteParty |

Give rewards to all online players when the server gets a certain amount of votes! 1.8+



| Description | 插件介绍
VoteParty was designed to allow you to reward all online players with customizable rewards when your servers gets to a certain number of votes using VoteParty, encouraging your community to get involved. VoteParty contains a simple but very effective way to generate a random, but very customizable reward system based on chance.

本插件被设计为允许玩家通过投票使服务器总票数达到一定数量后,领取到一份自定义物品的礼包,以此鼓励那些玩家更多地游玩你的服务器。本插件同时也包含了一个简单但有效的、包含概率机制的奖励系统。

    插件特色
Give players rewards for voting
Quick and easy to setup
Encourages community involvement
Highly customizable
PlaceholderAPI support
NuVotifier support

- 给投票的玩家回馈奖励
- 安装即用
- 促进玩家投入服务器活动
- 高度自定义
- 支持 PlaceholderAPI
- 支持 NuVotifier

    依赖插件
- PlaceholderAPI
- (非必需)NuVotifier

     翻译
In VoteParty, we strive to support as many languages we can in order to support more people! Currently we only support Dutch, English, and French. If you speak a language besides this fluently and are interested in translating, please join our discord and let us know and we can give you information on how to do that!

在本插件中,我们会尽可能多地支持更多种类的语言,以此便利大部分玩家!我们现在只支持荷兰语、英语和法语。(译者注:不久支持简体中文。)如果你对一门语言熟悉且有意愿为本插件翻译的话,请加入我们的 Discord 群组服并让我们知道,我们会为你提供翻译工作的相关信息!

    安装步骤
Stop your server.
Put the VoteParty jar file that you downloaded into your plugins folder.
Download the PlaceholderAPI dependency.
Download the NuVotifier dependency.
Start your server.
Modify the config.yml and language files that were generated to fit your server's layout (Both found in /plugins/VoteParty/).
Download the PlaceholderAPI Player Expansion (/papi ecloud download Player)
Check the Commands & Permissions page to familiarize yourself with the plugin.
That's it! You're good to go!

1. 关闭服务器;
2. 将本插件放入你服务器中的 plugins 文件夹中;
3. 下载 PlaceholderAPI;
4. 下载 NuVotifier(译者注:非必需插件);
5. 启动你的服务器;
6. 在 /plugins/VoteParty 文件夹下找到 config.yml语言文件 并按照自己的喜好将它们修改;
7. 使用命令 /papi ecloud download Player 下载变量拓展 Player;
8. 检查命令与权限页面来更好地配置本插件;
9. 设置完成!享受它吧!

名副其实
本帖最后由 名副其实 于 2023-2-28 23:04 编辑
| VoteParty |

Give rewards to all online players when the server gets a certain amount of votes! 1.8+


| Commands & Permissions | 命令与权限

    玩家命令

命令权限描述
/vp
/
显示触发本插件活动的剩余投票数。
/vp help
/
显示本插件的帮助命令。
/vp claimvoteparty.command.claim领取下线时获得的奖励。


    管理员命令

命令权限描述
/vp addvote <数量>voteparty.command.admin向当前活动投入投票。
/vp addvote <玩家> <是否静默> <数量>voteparty.command.admin同上,但增加了一些额外选项。
/vp givecrate <玩家> <数量>voteparty.command.admin将投票回馈抽奖礼包给予玩家。
/vp checkvotes <玩家> <数量> <时间段>voteparty.command.admin查询玩家当前时间段内的投票数。
/vp totalvotes <玩家>voteparty.command.admin查询玩家当前总投票数。
/vp resetvotes <玩家>voteparty.command.admin重置玩家当前投入的投票。
/vp setcounter <数量>voteparty.command.admin设置投票计数器。
/vp startpartyvoteparty.command.admin强制触发本插件的活动事件。
/vp giveparty <玩家>voteparty.command.admin为特定玩家触发本插件的活动事件。
/vp reloadvoteparty.command.admin重载本插件。


    权限列表

权限节点描述
voteparty.command.admin允许使用本插件的所有命令。


名副其实
本帖最后由 名副其实 于 2023-3-1 22:47 编辑
| VoteParty |

Give rewards to all online players when the server gets a certain amount of votes! 1.8+


| Placeholders | 变量集群
VoteParty provides PlaceholderAPI placeholders that you can utilize inside any plugin that supports PlaceholderAPI.
You can also use any PlaceholderAPI placeholder inside of VoteParty. (PlaceholderAPI placeholders list)

本插件提供了 PlaceholderAPI 的支持,所以你可以在任何支持该插件的地方引用这些变量。
反之亦然,你也可以在本插件内使用外部变量。(全变量集群链接
To utilize with plugins such as FeatherBoard, change the below placeholders from %% to {placeholderapi_<placeholder>}.
Example: {placeholderapi_voteparty_votes_recorded}

若要给诸如 FeatherBoard 这样的插件使用,你需要把外面的百分号 %% 换成 花括号 {}。
(译者注:支持 MVdWPlaceholder 的插件才需要如此变动,否则不需要做任何改动。
作者曾在上一章中提起过,若要使用该类型的变量,仍然需要安装 PlaceholderAPI,否则无效。)
例如: {placeholerapi_voteparty_votes_recorded}

变量返回值 描述
%voteparty_votes_recorded%文本返回记录的总投票数。
%voteparty_votes_required_party%文本返回触发本插件事件所需的剩余投票数。
%voteparty_votes_required_total%文本返回触发本插件事件需要的总投票数。
%voteparty_player_votes%文本已弃用。
返回玩家的总投票数。
%voteparty_votes_total%文本返回所有玩家的投票数。
%voteparty_top_TYPE_INFO_PLACEMENT%文本根据输入内容返回排行榜中的结果。参见下文参数解释。
%voteparty_placement_TYPE%文本返回玩家在特定排行榜中的排名。
%voteparty_totalvotes_TYPE%文本返回玩家在特定时间段内的总投票数。
%voteparty_totalparties_TYPE%文本返回服务器在特定时间段内触发活动的总次数。



参数解释
Type
The type placeholder refers to the list of placeholders above that contain TYPE in them. The options for these are daily, weekly, monthly, annually and alltime.

种类 (Type):
在上文中指大写单词 TYPE 处应当填入的内容。通常有下列选项可供使用: daily(每日),weekly(每周),monthly(每月),annually(每年)以及 alltime(全时)。

Info
The info placeholder refers to the list of placeholders above that contain INFO in them. The options for these can be name or votes.

信息(Info):
指上文中以大写英文 INFO 处需要填入的内容。此处填入的内容可以是 name(名称)或 votes(投票)。

The placement is just the placement of the player in the leaderboard, so like 1 would return the top voter, 2 would return the 2nd top voter, etc.

排行:
对应变量中大写英文 PLACEMENT 填写的内容。填入整数。例如填入 1 则返回该值中排名第一的玩家,2 则返回排名第二的玩家。

Example Placeholders:
%voteparty_top_alltime_name_1% - Returns the name of the top voter of all time
%voteparty_top_monthly_name_1% - Returns the name of the top voter in the past month

示例变量:
%voteparty_top_alltime_name_1% - 返回全时投票排名第一的玩家名称。
%voteparty_top_monthly_name_1% - 返回当月投票排名第一的玩家名称。

    变量下载

There is no download required anymore to utilize the VoteParty placeholders. It is all built into the plugin.

插件本身不需要下载任何变量拓展。插件会自行注册这些变量。

名副其实
本帖最后由 名副其实 于 2023-3-1 22:49 编辑
| VoteParty |

Give rewards to all online players when the server gets a certain amount of votes! 1.8+


| Configruations | 配置文本

config.yml
  1. # VoteParty
  2. # Creator: Clip & Glare
  3. # Contributors: https://github.com/VoteParty/VoteParty/graphs/contributors
  4. # Issues: https://github.com/VoteParty/VoteParty/issues
  5. # Spigot: https://www.spigotmc.org/resources/987/
  6. # Wiki: https://wiki.helpch.at/glares-plugins/voteparty
  7. # Discord: https://helpch.at/discord
  8. settings:
  9.     # The default language of the plugin
  10.     language: en-US
  11.     # The prefix of all the messages in the plugin
  12.     prefix: '&d&lVote&5&lParty &7&l» '
  13.     counter:
  14.         # How often to save the current amount of votes (in seconds)
  15.         save-interval: 300
  16.     data:
  17.         # How often do we want to save the player data (in seconds)
  18.         save-interval: 300
  19.         # Do you want to save a player's data instantly on vote? This will happen along with the interval saving above.
  20.         # Some servers just prefer to save instantly to ensure all the data is there.
  21.         save-on-vote: false
  22.     # Would you like to enable Brigadier command support? (I think it does more than just pretty colors) 1.13+
  23.     brigadier: false
  24. # The hook part of the config allows you to configure which plugins you would like to hook into for votes.
  25. # By default, the plugin will utilize NuVotifier and listen for it's vote events.
  26. # If you would like to use the plugin without NuVotifier, just disable the hook!
  27. # NOTE: Keep in mind that without being hooked into a vote plugin, the plugin will not automatically handle votes.
  28. # You will be required to do everything manually.
  29. # Over time, more plugins may become supported!
  30. hooks:
  31.     # Would you like to listen to NuVotifier for incoming votes?
  32.     nuvotifier: true
  33. crate:
  34.     enabled: true
  35.     lore:
  36.     - ''
  37.     - '&7Place the chest in order to'
  38.     - '&7to receive rewards!'
  39.     - ''
  40.     material: CHEST
  41.     name: '&d&lVote&5&lParty &f&lCrate'
  42. # Configuration for particle effects you can play
  43. # throughout different parts of the plugin
  44. effects:
  45.     # Configuration for particles when party commands are being executed
  46.     party_commands_execute:
  47.         enable: true
  48.         effects:
  49.         - SMOKE_NORMAL
  50.         - HEART
  51.         offsetX: 0.0
  52.         offsetY: 0.0
  53.         offsetZ: 0.0
  54.         speed: 0.1
  55.         count: 2
  56.     # Configuration for particles when a party starts
  57.     party_start:
  58.         enable: true
  59.         effects:
  60.         - SMOKE_NORMAL
  61.         - HEART
  62.         offsetX: 0.0
  63.         offsetY: 0.0
  64.         offsetZ: 0.0
  65.         speed: 0.1
  66.         count: 2
  67.     # Configuration for particles when a player votes
  68.     vote:
  69.         enable: true
  70.         effects:
  71.         - SMOKE_NORMAL
  72.         - HEART
  73.         offsetX: 0.0
  74.         offsetY: 0.0
  75.         offsetZ: 0.0
  76.         speed: 0.1
  77.         count: 2
  78. party:
  79.     # The amount of votes needed for a party to occur
  80.     votes_needed: 50
  81.     # Would you like to use a crate for the rewards?
  82.     use_crate: false
  83.     # The list of worlds where party rewards won't be given
  84.     disabled_worlds:
  85.     - ''
  86.     # Choose to allow offline votes count towards the party
  87.     offline_votes: true
  88.     # There are 3 different ways that a party can work.
  89.     # 1) "everyone" - everyone can join the party whether they voted or not
  90.     # 2) "daily" - everyone who voted in the past 24 hours can join the party
  91.     # 3) "party" - everyone who voted in this specific party can join the party
  92.     # Set the mode below to one of the options above to specify how the party should function
  93.     party_mode: everyone
  94.     # The amount of time (in seconds) the server will wait to start the party after the amount needed has been achieved
  95.     start_delay: 15
  96.     # The amount of time (in seconds) the server will wait between executing reward commands
  97.     command_delay: 1
  98.     # Configuration for chance rewards to be given during a party.
  99.     # Add as many commands as you want, set their chance, and choose the max amount a player can earn!
  100.     reward_commands:
  101.         enabled: true
  102.         max_possible: 1
  103.         commands:
  104.         - chance: 50.0
  105.           command:
  106.           - eco give %player_name% 100
  107.         - chance: 50.0
  108.           command:
  109.           - give %player_name% DIAMOND 6
  110.         - chance: 50.0
  111.           command:
  112.           - give %player_name% IRON_INGOT 12
  113.     # Configuration for extra commands to be executed on players who have specific permission nodes when a party happens
  114.     permission-rewards:
  115.         enabled: true
  116.         permCommands:
  117.         - permission: my.special.permission
  118.           commands:
  119.           - eco give %player_name% 500
  120.     # A list of rewards that will ALWAYS be given to a player during a party
  121.     guaranteed_rewards:
  122.         enabled: true
  123.         commands:
  124.         - eco give %player_name% 10
  125.         - give %player_name% STEAK 8
  126.     # Commands to be executed before a party is started
  127.     pre_party_commands:
  128.         enabled: true
  129.         commands:
  130.         - broadcast Party will start soon!
  131.     # Commands to be executed when a party has started
  132.     party_commands:
  133.         enabled: true
  134.         commands:
  135.         - broadcast A Vote Party has started!
  136. voting:
  137.     # If a player's inventory is full when voting, do you want to send the vote to a /vote claim?
  138.     claim_if_full: true
  139.     # Configuration for chance rewards to be given for voting.
  140.     # Add as many commands as you want, set their chance, and choose the max amount a player can earn!
  141.     per_vote_rewards:
  142.         enabled: true
  143.         max_possible: 1
  144.         commands:
  145.         - chance: 50.0
  146.           command:
  147.           - eco give %player_name% 100
  148.         - chance: 70.0
  149.           command:
  150.           - give %player_name% STEAK 10
  151.     # Configuration for extra commands to be executed on players who have specific permission nodes
  152.     permission-rewards:
  153.         enabled: true
  154.         permCommands:
  155.         - permission: my.special.permission
  156.           commands:
  157.           - eco give %player_name% 500
  158.     # A list of rewards that will ALWAYS be given to a player for voting
  159.     guaranteed_rewards:
  160.         enabled: true
  161.         commands:
  162.         - eco give %player_name% 10
  163.         - give %player_name% STEAK 8
  164.     # A list of commands to run when it's the first time a player has voted (only works for online players)
  165.     first_time_rewards:
  166.         enabled: false
  167.         commands:
  168.         - eco give %player_name% 100
  169.         - give %player_name% STEAK 10
  170.     # Configuration for extra commands to be executed on players who voted on a specific website (only works for online players)
  171.     # Known Service Names:
  172.     # TopG.com
  173.     # PlanetMinecraft.com
  174.     # Minecraft-MP.com
  175.     # MinecraftServers.org
  176.     # Minecraft-Server.net
  177.     votesite-rewards:
  178.         enabled: false
  179.         votesiteCommands:
  180.         - serviceName: TestVote
  181.           commands:
  182.           - eco give %player_name% 500
  183.     # Global commands (such as a broadcast message) to be executed when a player votes
  184.     global_commands:
  185.         enabled: true
  186.         commands:
  187.         - broadcast %player_name% just voted! Only %voteparty_votes_required_party% more votes
  188.           until a VoteParty!
  189.     offline_vote_claiming:
  190.         # Would you like players to be able to claim rewards for offline votes?
  191.         # Note: They will only be able to get credit for rewards if you have `offline_votes` enabled
  192.         enabled: false
  193.         # Would you like to notify the player when they login that they have votes to claim?
  194.         notify: false
  195.     # Configuration for extra commands to be executed on players who have voted a specific amount of times in the past day, week, month, year, and all time.
  196.     cumulative-rewards:
  197.         daily:
  198.             enabled: false
  199.             entries:
  200.             - votes: 5
  201.               commands:
  202.               - give %player_name% STEAK 10
  203.         weekly:
  204.             enabled: false
  205.             entries:
  206.             - votes: 5
  207.               commands:
  208.               - give %player_name% STEAK 10
  209.         monthly:
  210.             enabled: false
  211.             entries:
  212.             - votes: 5
  213.               commands:
  214.               - give %player_name% STEAK 10
  215.         yearly:
  216.             enabled: false
  217.             entries:
  218.             - votes: 5
  219.               commands:
  220.               - give %player_name% STEAK 10
  221.         total:
  222.             enabled: false
  223.             entries:
  224.             - votes: 5
  225.               commands:
  226.               - give %player_name% STEAK 10
复制代码


名副其实
| VoteParty |

Give rewards to all online players when the server gets a certain amount of votes! 1.8+


| API | 开发者 API

自定义事件
Inside of VoteParty, we offer a custom event that is listened to inside the plugin to give out rewards. This allows plugins to hook into it and also give extra rewards or modify to what they see fit.

在本插件内,我们提供了一些监听插件的自定义事件以让开发者给予玩家奖励。这允许别的插件和它联动,并且我们也有了一些额外的思路来给予玩家奖励。

VoteReceivedEvent
    /**
     * This event takes place when a hooked plugin receives a vote
     * @param player The player that voted
     */
    public VoteReceivedEvent(OfflinePlayer player Vote vote) {
        this.player = player;
        this.vote = vote;
    }


PrePartyEvent
    /**
         * This event takes place when a party is preparing to start
         */
        public PrePartyEvent() {
        }

PartyStartEvent
        /**
         * This event takes place when a party is starting
         */
        public PartyStartEvent() {
        }

PartyEndEvent
            /**
         * This event takes place when a party is finished
         */
        public PartyEndEvent() {
        }

第一页 上一页