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:* 来给予玩家所有羊毛方块的放置权限
合并:你可以自定义一个展示用户组,将几个用户组的玩家全部显示在一个展示用户组中。
隐藏:你可以完全隐藏你不想显示的用户组。
限制:你可以限制每个用户组在list列表中的数量上限,超过上限的部分将会被隐藏。
- list:
- Staff: owner admin moderator
2.隐藏
- default: hidden
3.限制
- builder: 20
——————————————————————————————————————————————————————————————————
所有未定义的用户组都将会正常显示
下面给出一个例子包括上述所有设置
- list:
- Admin: owner admin
- stealth: hidden
- builder: 20
- default: 0
在Minecraft中,你的displayname就是你在聊天过程中显示的名字,或者是在tab列表,插件中应用到的名字。
显示名由groupmanager插件决定可以在对应世界文件夹group.yml中修改。
bukkit最多允许显示名有16个字符,所以建议将 显示名的前缀+名字+后缀压缩在16个字符以内。
6.1.1设置
在Essentials的config文件中有6个与显示名有关的设定
- # OP名字的颜色代码,填写0~9或a~f其中的一个数字或字母,填写'none'来冻结该功能.(译注:可到http://ess.khhq.net/mc/查看颜色代码)
- ops-name-color: 'c'
- # 昵称的前缀符号,这样你能知道这不是他们真正的用户名.
- nickname-prefix: '昵称:'
- # 设置最大昵称长度, 昵称前缀也包括在内.
- max-nick-length: 15
- # 如果你想用其他的插件来设置玩家名字,将其改为"false".
- change-displayname: true
- # 当这个选项开启时,在玩家显示的名字上添加的前缀或尾缀,会被显示在在线列表(TAB)中.
- # 上面的"change-displayname"必须是true才有效.
- change-playerlist: true
- # 添加前缀后缀(上面的"change-displayname"必须是true才有效)
- # 如果你不设置该项,且essentialschat被安装了,其将会被默认为"true".
- add-prefix-suffix: true
这里我就直接复制中文config中的设定了,因为有全部的中文注释了。我在这里就不再赘述了
6.2聊天格式
这里的设定将会改变玩家在聊天时显示的样式。
下面是一个例子
- {DISPLAYNAME} {MESSAGE} {GROUP} {WORLDNAME} {SHORTWORLDNAME} {TEAMPREFIX} {TEAMSUFFIX} {TEAMNAME}
- {MESSAGE} 聊天的内容.
- {GROUP} 玩家所属用户组名称.
- {DISPLAYNAME} 显示名包括了玩家的前缀以及后缀.
- {WORLDNAME} 玩家所处世界的名字.
- {SHORTWORLDNAME} 玩家所处世界的首字母.
- {TEAMPREFIX} {TEAMSUFFIX} {TEAMNAME} 计分板团队变量.
你可以按照自己的喜好自由组合以上变量,并且完全支持颜色代码
下面给几个例子
- format: '<{DISPLAYNAME}> {MESSAGE}'
- format: '&8[&7{GROUP}&8]&f {DISPLAYNAME}&7:&f {MESSAGE}'
- format: '{WORLDNAME} {DISPLAYNAME}&7:&f {MESSAGE}'
- format: '{WORLDNAME} &8[&7{GROUP}&7]&f {DISPLAYNAME}&7:&c {MESSAGE}'
a919298641 发表于 2014-6-28 23:22
似乎有些重要的没在索引呢
包含内容不全的原因我在引言里有说
john180 发表于 2014-6-28 23:23
包含内容不全的原因我在引言里有说
尽管不在本帖写出,但是为了索引完整,还是建议写进索引然后导向忍者的帖子~

顺便来学技术。。。
john180 发表于 2014-6-28 23:16
1.备份相关设置在保存服务器地图方面,我们一般会使用AutoSaveWorld这个插件,但是其实Essentials本身就有 ...
{:10_522:}LZ这个bat文件创建了放在哪?能详细说下么
夜鸣蛋 发表于 2014-6-29 00:00
LZ这个bat文件创建了放在哪?能详细说下么
服务端文件夹根目录
- enabledSigns:
- #- color
- #- balance
- #- buy
- #- sell
- #- trade
- #- free
- #- disposal
- #- warp
- # - kit
- #- mail
- #- enchant
- #- gamemode
- #- heal
- #- info
- #- spawnmob
- #- repair
- #- time
- #- weather
有 [cost] 标签的木牌可以有以下几种设置方式:
你可以设置消费金钱: '$5'.
你可以设置一个次数限制: '7 Times'.
你可以设置消费物品: '2 bonemeal' or '2 351,15'.
你可以设置消费经验: '23 exp'.
了解了格式下面我们来看木牌
此木牌可以让你完成出售物品,收购物品,以物换物等功能
第二行是你需要的东西
第三行是你出售的东西
下面举个例子
这个木牌的意思是
出售泥土每10个5¥总计有100个泥土。
这个木牌的意思是
收购泥土每10个5¥总计收购100¥
第三行 : 后面的数字代表了库存。
当商店拥有者拿着要出售的物品右键牌子可以补充库存
当商店拥有者空手右键牌子可以收取商店中收到的钱/物品。
任意玩家右键商店则代表购买/出售物品。
(物品名称可以用物品ID代替)
注意一下商店均只能op使用因为下列商店均为无限商店。
2.购买牌子
玩家可以右键牌子来购买物品
<cost>设置遵循本帖开头说明。
3.出售牌子
向商店出售物品。<cost>设置遵循本帖开头说明。
4.金钱查询牌子
右键牌子可以查看自己现有金钱
表示我曾在插件WIKI里写过关于ESS的一小段内容 @john180 @rom718
附:essentials自带的nbt代码
综述:本代码适用于give命令,essential插件Config中的kit包的编辑等
1.此NBT代码中,支持如&1&2等颜色代码,_在编辑中视为“空格”,|将视为换行(不可用于插件文件夹中的book.txt的编辑
2.使用方法:这里以give命令为例子,give(给予) [玩家名] [物品ID:损伤值] [数量] [NBT代码]
3.essentials中的NBT代码并没有1.7+版本中那么严谨,不需要写入tag的名称,如我们将一个石头的名字改为”插件WIKI”
那么代码将为
/give [你的名字] 1 1 Name:插件WIKI
4.代码列表:Name:名字 为物品的名字
Lore:文字 为物品Lore(也就是物品下面的那行字)编写,只有在编写Lore的时候可以使用|进行换行,Lore中不能有空格
例子:
/give [你的名字] 1 1 Name:插件WIKI Lore:中文bukkit插件WIKI|欢_迎_您_的_加_入
Player:名字 这个只能用在头颅设定中(必须是头颅,不能是怪物头)
这个将给予一个放出来显示皮肤的头颅
下面是两个命令执行后的截图
最好配图,服务器OP操作的图
在加上一些基本的权限节点名{:10_492:}
爱拍_KingKong 发表于 2014-6-30 11:03
怎么不写一个ess权限组怎么设置
最好配图,服务器OP操作的图
这个东西不是以前有人写过教程了嘛-_-||

Miedie 发表于 2014-6-30 22:43
为何图片加载不出来。。。。
论坛图片又挂了= =|||
ess里有这么一套权限点
Various | None | essentials.protect.damage.contact | Player will receive contact damage |
Various | None | essentials.protect.damage.creeper | Player will receive creeper damage |
Various | None | essentials.protect.damage.disable | Admin override to prevent admins from dying |
Various | None | essentials.protect.damage.drowning | Player will receive drowning damage |
Various | None | essentials.protect.damage.fall | Player will receive fall damage |
Various | None | essentials.protect.damage.fire | Player will receive fire damage |
Various | None | essentials.protect.damage.fireball | Player will receive fireball damage |
Various | None | essentials.protect.damage.lava | Player will receive lava damage |
Various | None | essentials.protect.damage.lightning | Player will receive lightning damage |
Various | None | essentials.protect.damage.projectiles | Player will receive projectile damage |
Various | None | essentials.protect.damage.suffocation | Player will receive suffocation damage |
Various | None | essentials.protect.damage.tnt | Player will receive tnt damage |
本来我打算用这些的反权限来去除某些伤害来源的,结果多次尝试无果
求教这些权限点正确使用姿势
Exodus 发表于 2014-7-1 00:33
好评 我是来请教问题的
ess里有这么一套权限点
/mangaddp 用户组 -essentials.protect.damage.contact
试试我也不是很清楚
essential的wiki中并没有对essential protect进行任何介绍,或者你可以试试给玩家这几个权限行不行
john180 发表于 2014-6-28 23:16
5.list玩家列表相关设置
在Essentials的list列表设置中服主可以自定义以下内容
这个配置部分允许您覆盖/编 ...
list的使用权限代码是什么。。 就是怎么禁止某个分组的玩家使用/list
qw5125123 发表于 2014-7-2 18:15
list的使用权限代码是什么。。 就是怎么禁止某个分组的玩家使用/list
essentials.list
黑耀郡主 发表于 2014-7-2 18:59
(╯‵□′)╯︵┻━┻求楼主给个文字版格式,在服务器试了半天被说那OP在干什么。 ...
木牌?