Essentials插件作为一个服务器必备的基础插件,现在基本所有服务器都在使用。其功能十分强大而且覆盖面十分广。但是大多数服主对这款插件的了解大多是比较粗浅的。这篇教程为大家总结了许多非常实用的,但是大多数人并不了解的Essentials功能。
在此之前已经有一个比较基础的Essentials教程了。
http://www.mcbbs.net/thread-9416-1-1.html
+倒霉の忍者+
虽然作者已经弃坑不再更新,不过相关的Essential基本说明还是通用的,所以推荐大家先去看看。同时上述教程帖子中提到的部分本帖也将不再赘述,提到相关问题将会简略带过。由于config文件已经有全部汉化版而且已经有全部中文注释,所以在本篇教程中也不会对配置文件再进行解释。
注:
1.备份相关设置
在保存服务器地图方面,我们一般会使用AutoSaveWorld这个插件,但是其实Essentials本身就有地图备份相关的功能,此功能已经能满足大部分服主的要求,而不需要去安装新的插件。
为了使用Essentials的备份功能我们首先得在config文件中开启相关功能
- <font size="3"><font color="#a0522d">backup:
- # 时间间隔,以分钟为单位.
- interval: 30
- # 除非你在这加入一个有效的备份命令或脚本,否则这个功能是无用的.
- # 使用命令 'save-all' 简单的强制保存世界,而不使用备份.
- # 命令: 'rdiff-backup World1 backups/World1'</font></font>
为了能使用Essentials的地图备份功能你需要新建一个bat文件,不过如果你不想这么麻烦,而是只要简单地保存地图,你可以这么设置。
- backup:
- interval: 60
- command: 'save-all'
如果你想更进一步的对地图进行备份,你首先得在服务端根目录 (注意不是Essentials目录或者plugin目录) 新建一个bat文件。
然后黏贴如以下内容
- @echo off
- "C:\Program Files\7-Zip\7z.exe" a "backups/%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%".7z -r world world_nether
- pause
注意:我在测试中使用的是7zip压缩工具,前面为文件路径请根据各自情况修改(如果使用其他压缩工具不保证能否压缩成功)
-r 后面的内容为要备份的世界,如果你要添加更多的世界,输入世界的名字 当中以空格间隔。
启动后的效果就是在服务器根目录新建backup文件夹,压缩文件的文件名为当前服务器日期。
例:
年-月-日-小时-分钟-秒
2.help指令相关设置
/help对于玩家来说是个比较有用的指令,当你忘记某个指令时可以输入这个来查询,但是现在help指令渐渐成为了一个比较鸡肋的指令,因为过多的插件导致help列出的指令过多,因而当你要想查找某个指令时你得花费大量的时间一页一页的找。如今Essentials插件的help设置能让你的help列表彻底脱胎换骨。
Essentials插件提供了3种设置方式以提供不同的/help显示效果。Essentials会尽可能的遍历所有服务器插件然后获取其中所有的指令,但是如果插件未按标准编写,即在plugin.yml中没有注册过的指令是不会出现在help列表中的。
1.
- non-ess-in-help: true
- hide-permissionless-help: true
- essentials.help.<插件名>
2.
- non-ess-in-help: true
- hide-permissionless-help: false
3.
- non-ess-in-help: false
高级定制
如果这样的设置你还不满足,你想更进一步的定制/help指令,Essentials提供了一个更加强大的功能。
你可以通过在Essentials插件目录中添加一个help.txt来自定义/help指令显示的内容。help.txt中的内容将会完全取代默认的help指令列表。
例子
- #欢迎
- 欢迎你{PLAYER}
- 来自: {ADDRESS}
- 服务器IP:{IP}
- 你现在的存款:{BALANCE}
则会显示
(help.txt必须以UTF-8无BOM编码保存)
你可以定义多个章节来做到不同的章节显示不同的插件指令
而且完美支持所有颜色代码
这样玩家就不用面对那杂乱无章的指令列表了
在编辑help.txt时可以添加如下变量
- 玩家展示名称: {PLAYER}
- 用户名: {USERNAME}
- 服务器IP: {IP}
- 玩家IP: {ADDRESS}
- 金钱: {BALANCE}
- 未读email: {MAILS}
- 当前世界名: {WORLD}
- 世界列表: {WORLDS}
- 在线玩家数: {ONLINE}
- 特殊玩家: {UNIQUE}
- 玩家列表: {PLAYERLIST}
- 服务器时间: {TIME}
- 服务器日期: {DATE}
- 游戏中PM/AM: {WORLDTIME12}
- 游戏中时间: {WORLDTIME24}
- 游戏中日期: {WORLDDATE}
- 插件列表: {PLUGINS}
- bukkit版本: {VERSION}
3.kits工具包相关设置
kit工具包是Essentials的一个重要功能,你可以用它来发放新手礼包,发放奖励甚至用它来做个系统商店都是可以的。
熟练的使用kit相关功能可以使你避免在服务器中再安装不必要的插件。
首先先是kit每个工具包的格式
- kits:
- <kit name>:
- delay: <delay between usage>
- items:
- - <item number> <amount> <meta>
- - <item number> <amount> <meta>
- kits:
- tools:
- delay: 10
- items:
- - 272 1
- - 273 1
- - 274 1
- - 275 1
- dtools:
- delay: 600
- items:
- - 278 1 efficiency:1 durability:1 fortune:1 name:&4Giga_Drill_Breaker lore:这钻头是突破天际的钻头
- - 277 1 digspeed:3 name:矮人 lore:挖掘|挖掘|挖洞
- - 298 1 color:255,255,255 name:白色的帽子 lore:美好的一天,美好的一天
- - 279:780 1
- notch:
- delay: 6000
- items:
- - 397:3 1 player:Notch
- color:
- delay: 6000
- items:
- - 387 1 title:&4书_&9与_&6颜色 author:Essentials lore:游戏内的颜色代码 book:颜色
- firework:
- delay: 6000
- items:
- - 401 1 name:愤怒的苦力帕 color:red fade:green type:creeper power:1
- - 401 1 name:星空 color:yellow,orange fade:blue type:star effect:trail,twinkle power:1
- - 401 2 name:太阳风 color:yellow,orange fade:red shape:large effect:twinkle color:yellow,orange fade:red shape:ball effect:trail color:red,purple fade:pink shape:star effect:trail power:1
2.你可以可以在config中对每个工具包定义他的使用价格如
- kit-tools: 100
3.由以上两个示例我们可以看到kit工具包指令支持几乎mc中所有的道具。不过你也许不知道kit工具包中的道具也是支持变量的如
- - 278 1 efficiency:1 durability:1 fortune:1 name:&4Giga_Drill_Breaker lore:{PLAYER}的超级钻石镐
其余变量可参考 help相关指令设置 中的变量
4.kit工具包同样也支持在工具包中包含金钱
设置格式如下
- - $500
另附 essentials自带的nbt代码
4.关于kit工具包中书本的相关设置
你可以在Essentials插件根目录新建一个book.txt
内容可按如下示例
- #Colors
- Minecraft colors:
- &0 &&0 &1 &&1 &2 &&2 &3 &&3
- &4 &&4 &5 &&5 &6 &&6 &7 &&7
- &8 &&8 &9 &&9 &a &&a &b &&b
- &c &&c &d &&d &e &&e &f &&f
- &0
- &&k &kMagic&r &&l &lBold
- &&m &mStrike&r &&n &nUline
- &&o &oItalic&r &&r &rReset
我们可以看到在kit包中要调用一本书的格式如下
- - 387 1 title:&4书_&9与_&6颜色 author:Essentials lore:游戏内的颜色代码 book:颜色
下面给出每个项的介绍
- Title
- 书本的标题,支持颜色代码,与book.txt中的章节名无关
- 格式
- title:<title>
- Author
- 书本作者,支持颜色代码
- 格式
- author:<author>
- Lore
- 书本的描述。
- 格式
- lore:<description>
- Book
- 这里填写的书本的章节名,对应book.txt中#后面的章节名字。
- 格式
- book:<section name>
5.kit工具包的权限设定也非常的方便你可以给予玩家以下权限,来单独限制玩家可使用的工具包
- essentials.kits.<kitname>
- enabledSigns:
以上为示例(花费前面必须加$)
4.建筑控制相关设置
权限系统基本是每个服主的必修课,Essentials的建筑控制正是基于权限系统对玩家一切使用方块的行为进行限制,从而可以使服主完全限制玩家的行为,包括放置,破坏,扔掉,拾取,使用指定方块,并且可以限制玩家与指定方块交互,如限制玩家使用按钮,开关等。
首先是最基本的建筑权限
- essentials.build
如果当一个玩家没有 Essentials.build权限或者 build: false那么Essentials接着会检查如下权限
- essentials.build.place.<id>
- essentials.build.place.<id>:<data>
- essentials.build.break.<id>
- essentials.build.break.<id>:<data>
- essentials.build.interact.<id>
- essentials.build.interact.<id>:<data>
- essentials.build.craft.<id>
- essentials.build.craft.<id>:<data>
- essentials.build.pickup.<id>
- essentials.build.pickup.<id>:<data>
- essentials.build.drop.<id>
- essentials.build.drop.<id>:<data>
唯一需要解释的是 interact 权限 这代表了玩家与方块交互 例如使用按钮等。
但是放置方块,或者破坏方块也属于交互的一种,所以如果你想让一个玩家能放置或者破坏一个方块你需要同时给予那个玩家与此方块交互和放置两个权限。
通过给予玩家以上权限你就可以做到例如单独让玩家可以破坏某个方块,或者玩家只可以按按钮不能破坏方块之类的功能。
那如果你想单独让玩家不能破坏某个方块该如何设置呢
这里首先得说明一下groupmanager的权限设置格式
大家都知道如果我输入
- /mangaddp builder essentials.build.place.1
而如果我输入
- /mangaddp builder -essentials.build.place.1
当一个玩家同时拥有
- essentials.build.place.1
- -essentials.build.place.1
因为在groupmanager判断权限时优先判断 -权限 这意味着就算你拥有建筑权限 你被加入了-essentials.build.place.1 那么你也是无法放置石头的。
以此为基础我们可以单独设置玩家不可以放置,使用的方块。
如果你想一次设定多个方块 你可以用 * 来代替 如羊毛方块的ID是35 一直到35:15
你可以给予玩家 Essentials.build.place.35:* 来给予玩家所有羊毛方块的放置权限