lichi2050
本帖最后由 lichi2050 于 2015-10-30 12:13 编辑

WorldGuard教程以及Wiki翻译


这个帖子我在开学前几天就开始准备了,其实是因为本人觉得WorldGuard插件非常实用以及强大。
这个插件的用处很广,但是被搬运的内容极少(总体来说),不少内容的介绍都不是很详细(我准备接坑)
由于时间不足,只能慢慢添加,目前总字数只有4000+(周末我会抽出时间继续翻译的)
字数统计:

http://dev.bukkit.org/bukkit-plugins/worldguard/ 官方地址
http://wiki.sk89q.com/wiki/WorldGuard 官方wiki
http://docs.enginehub.org/manual/worldguard/latest/ WG6官方wiki
http://www.mcbbs.net/thread-461468-1-1.html 站内搬运贴
http://mineplugin.org/Worldguard 中文插件百科地址(填写中)

简介:引用OAO_miao搬运贴的简介

大家看到worldguard时也许会立刻联想到worldedit插件,这两个插件都是由sk89q带头开发的。
worldguard在dev.bukkit.org能找到的最早版本发布于2011年(当时我还不知道有MC...),至今也一直在更新,但不知道为什么,现在国内很少有人用这个插件。
国内关于worldguard的中文资料基本都是2-3年前的了,MCBBS论坛这边也很久没人搬运新版本,近期也是刚好用到了这个插件,来搬运一下好了~~
worldguard插件的用途和领地插件类似,但个人认为不如领地插件那样友好,没有多语言支持、设置也有些复杂。
不过保护效果比领地更强,很多功能是领地插件没有的,用途更偏向于管理员工具和地图制作方面。并不适合完全替代领地插件,用来保护服务器出生点、活动场地和各种建筑还是不错的。

!WG5已完整翻译,WG6我稍后会加入不同部分!

使用WorldGuard你可以
  • 保护你的服务器
  • 阻止火的传播,岩浆的流动,末影人拾取方块等等
  • 设定flag,比如“no pvp” 或 “no tnt”
  • 为特殊区域设置拥有者,只有指定玩家可以破坏
  • 以及许多有用的指令(建议查看搬运贴

目前大概就是这样(以后还会改动)
推荐By:henry5041

1》配设文件finished
2》指令介绍finished
  2.1》Region指令finished
     2.1.1》定义和重定义区域(define和redifine)finished
     2.1.2》区域圈地(claim)finished
     2.1.3》区域信息(information)finished
     2.1.4》区域选择(select)finished
     2.1.5》区域表列(list)finished
     2.1.6》设定flagfinished
     2.1.7》设定优先权(priority)finished
     2.1.8》设定子区域(parent)finished
     2.1.9》删除区域(remove)finished
     2.1.10》区域传送(teleport)finished
     2.1.11》区域管理(management)finished
3》权限介绍finished
4》regions教程finished
  4.1》基础教程finished
  4.2》flag列表finished
    4.2.1》区域权限组finished
  4.3》开发者 APIfinished ←翻译的不准确,建议查看官方Wiki
    4.3.1》取读WorldGuardfinished
    4.3.2》基础权限finished
    4.3.3》区域管理finished
        4.3.3.1》查看Flagsfinished
        4.3.3.2》取读一个区域finished
    4.4.4》Javadocsfinished
  4.4》数据格式finished 超链接
5》黑名单(Blacklist)finished By OAO_miao 超链接
6》箱子保护finished By snowclay 超链接
7》主机密码(登录密码)finishedBy snowclay 超连接
8》更多帮助finished 超连接

1→配设文件介绍WorldGuard在服务器运行后会生成2种配设文件全局配设文件(世界的默认设定):服务器文件夹/plugins/WorldGuard/config.yml
单独世界配设文件:服务器文件夹/plugins/WorldGuard/worlds/世界名称/config.yml


全局设定会影响整个服务器,单独世界设定如果有和全局不同的地方系统会为这个世界取读单独配设。比如说,如果你
在全服禁止了火的传播,所有世界都会禁止,但是一个单独世界可以修改单独配设来启动火的传播。



设定项 指令类型 默认设定 加入版本 指令介绍
summary-on-start boolean true 1.2 启动或重启时是否显示WorldGuard的配设摘要
op-permissions boolean true 5.0 是否给予OP全部权限
保护项设定
item-durability boolean true 1.4 是否启动物品耐久值
remove-infinite-stacks boolean false 5.1 是否允许WorldGuard扫描玩家背包并且删除无限叠加的物品
disable-xp-orb-drops boolean false 5.3 是否允许死亡后掉落经验球或附魔之瓶生成经验球
disable-obsidian-generators
箱子保护设定
enable boolean false 5.0 是否启动箱子保护
物理现象或行为设定
allow-portal-anywhereboolean false1.4 是否允许摆放传送门方块
no-physics-sand boolean false 1.4 是否阻止沙子的重力影响
no-physics-gravel boolean false 1.4 是否阻止沙砾的重力影响
disable-water-damage-blocks list [] 1.4 阻止列表上的方块ID被水
破坏,注意,必须是方块的ID,而不是物品的ID
vine-like-rope-ladders boolean false 5.6.3 是否让梯子的行为类似于藤蔓
需要点燃类设定
block-tnt boolean false 1.0 是否阻止TNT爆炸
block-tnt-block-damage boolean false 5.3 是否阻止TNT爆炸后对地形和entities造成伤害
block-lighter boolean false 1.0 是否阻止使用打火石
海绵设定
enable boolean false 1.0 是否恢复原版中海绵的功能
redstone boolean false 1.X 是否允许红石配合海绵使用
radius integer 3 1.2 海绵的影响半径(需要启动海绵功能)
火的设定
disable-lava-fire-spreadboolean false 1.0 是否阻止岩浆生成火焰
lava-spread-blocks list [] 1.0 允许岩浆的流动的方块表列,没有设定的话岩浆的流动不会受到限制
disable-fire-spread-blocks list [] 1.0 允许火的传播的方块表列,没有设定的话火的传播不会受到限制
disable-all-fire-spread boolean false 1.0 是否阻止全部火的传播(包括岩浆)
默认设定
disable-health-regain boolean false 5.2 是否阻止血量回复效果(目前会产生无法食用食物的BUG)
pumpkin-scuba boolean false 5.X 如果玩家头上戴着南瓜是否阻止溺水伤害
怪物设定
anti-wolf-dumbness boolean false 5.0 是否阻止狼之间的自相残杀(让我想起了Wolski)
disable-enderman-griefing boolean false 5.3 是否阻止末影人拾取方块和摆放方块
block-plugin-spawning boolean true 5.5 是否阻止插件生成怪物
block-creature-spawn list[] 5.0 不会生成的生物表列(例如“Pig”,”Chicken“,等等)
block-creeper-block-damage boolean false 2.2 是否阻止爬行者的的爆炸破坏地形,但是不会阻止伤害
block-creeper-explosions boolean false 1.0 是否阻止爬行者的爆炸
block-fireball-block-damage boolean false 5.3 是否阻止火球破坏方块
block-fireball-explosions boolean false 5.3 是否阻止火球的爆炸
block-wither-explosions boolean false 5.6.X 是否阻止凋零攻击的爆炸
block-wither-block-damage boolean false 5.6.X 是否阻止凋零破坏方块
block-wither-skull-explosions boolean false 5.6.X 是否阻止凋零骷髅攻击的爆炸
block-wither-skull-block-damage boolean false 5.6.X 是否阻止凋零骷髅攻击破坏方块
block-enderdragon-block-damage boolean false 5.6.X 是否阻止末影龙破坏方块
block-enderdragon-portal-creation boolean false 5.6.X 是否阻止末影龙死亡后生成传送门
block-painting-destroy boolean false 5.6.X 是否阻止怪物破坏画
block-item-frame-destroy boolean false 5.6.X 是否阻止怪物破坏物品展示框
block-above-ground-slimes boolean false 5.6.X 是否阻止史莱姆在正常地形生成(例如:沼泽)
block-other-explosions boolean false 5.6.X 是否阻止其他爆炸(例如来自插件,MOD等)
block-zombie-door-destruction boolean false 5.6.X 是否难度设定为Hard时阻止僵尸破坏门
自然现象设定
disable-ice-melting boolean false 5.2 是否阻止冰的融化
disable-snow-formation boolean false 5.2 是否阻止雪的生成
disable-mushroom-spread boolean false 5.2 是否阻止蘑菇的生成
disable-snow-melting boolean false 5.2 是否阻止雪的融化
disable-leaf-decay boolean false 5.2 是否阻止树叶消失
disable-ice-formation boolean false 5.2 是否阻止冰的生成
disable-grass-growth boolean false 5.3 是否阻止草方块扩散到相邻的泥土上
disable-mycelium-spread boolean false 5.6.1 是否阻止菌丝蔓延到附近的泥土方块上
天气设定
always-raining boolean false 5.1 是否一直下雨和下雪
disable-weather boolean false 5.1 是否阻止下雨和下雪,保持晴天
disable-lightning-strike-fire boolean false 5.1 是否阻止闪电产生火焰
always-thundering boolean false 5.1 是否一直打雷
prevent-lightning-strike-blocks list [] 5.1 阻止闪电攻击的方块ID表列(不会受到影响的方块)
disable-thunderstorm boolean false 5.1 是否阻止暴雨(或者暴风雨)
disable-pig-zombification boolean false 5.1 是否阻止猪变成僵尸猪人(被闪电劈中猪周围的4个方块以内)
disable-powered-creepers boolean false 5.1 是否阻止爬行者成为高压爬行者
农作物设定
disable-creature-trampling boolean false 5.1 是否阻止生物踩农作物
disable-player-trampling boolean false 5.1 是否阻止玩家踩农作物
玩家受到伤害设定
teleport-on-void-falling boolean false 5.0 玩家掉落虚空后是否传送到安全地点
disable-drowning-damage boolean false 1.7 是否阻止溺水伤害
disable-void-damage boolean false 5.0 是否阻止虚空伤害
disable-fire-damage boolean false 1.7 是否阻止火焰伤害
disable-lava-damage boolean false 1.7 是否阻止岩浆伤害
disable-tnt-damage boolean false 5.3 是否阻止TNT伤害
disable-mob-damage boolean false 5.0 是否阻止怪物伤害
disable-fall-damage boolean false 1.7 是否阻止掉落伤害
disable-explosion-damage boolean false 5.0 是否阻止爆炸伤害
disable-suffocation-damage boolean false 1.8 是否阻止窒息伤害
disable-contact-damage boolean false 1.8 是否阻止接触伤害(例如仙人掌)
disable-lightning-damage boolean false 5.0 是否阻止闪电伤害
teleport-on-suffocation boolean false 1.8 是否检测玩家在方块内时将玩家传送到目前方块最高点
(可以避免某些坐标BUG)
disable-death-messages boolean false 5.3 是否显示Minecraft 1.8的死亡信息
regions设定
enable boolean true 2.1 是否启动regions功能
max-region-count-per-player int 7 5.0 玩家regions最大数量(OP无限)
max-claim-volume int 30000 5.0 region最大空间(op无限)
玩家region设定
default int 7 玩家regions最大数量(OP无限)
claim-only-inside-existing-regions boolean false 5.0 是否只能在已存在region内圈地(功能不稳定,后果自负)
high-frequency-flags boolean false 5.0 是否启动region的flag都使用最高配设(建议不要启动,内存需求会增加许多)
wand int 334 3.0 检查region信息的物品,默认是皮革,需要worldguard.region.wand才可以使用
invincibility-removes-mobs boolean false 5.3 是否在无敌region内自动杀死怪物
SQL数据库设定(只能在全局config内设定)
use boolean false 是否启动SQL数据库
dsn string 看配设文件 SQL数据连接地址 默认是"jdbc:mysql://localhost/worldguard"
username string worldguard SQL数据库帐号
password string worldguard SQL数据库密码
use-scheduler boolean true 是否启动定时任务
use-creature-spawn-event boolean true mob-spawning(怪物生成)和deny-spawn(禁止生成)flags全局化
use-player-move-event boolean true exit/entry和greeting/farewell(进出region信息)flags全局化(取消可以提高点性能)
游戏设定(其实也只有药水)
block-potions list [] 5.6.1 禁止表列上的药水效果
block-potions-overly-reliably boolean false 5.6.1 如果上面的功能无效,请启动这个功能(功能不稳定,后果自负)
黑名单设定(以后会讲到)


2→指令介绍

基础指令
指令 参数 介绍
/god [玩家] 给予[玩家]无敌状态
/ungod [玩家] 取消[玩家]无敌状态
/heal [玩家] 治疗[玩家]
/slay [玩家] 杀死[玩家]
/stack
/;
…… 整理背包(自动叠加物品)需要权限 worldguard.stack.illegitimate
/locate [玩家] 指南针会指向[玩家]
紧急指令
指令 参数 介绍
/stopfire [世界名称] 在[世界名称]世界紧急停止火的传播,这是一个临时设定,重启后就会消失
/allowfire [世界名称] 取消/stopfire
/stoplag [世界名称] 在全服禁止所有程序,例如水和岩浆的流动,红石,火的传播,TNT爆炸,怪物生成,等等
可以暂时减少lag
/stoplag -c [世界名称] 取消/stoplag
/worldguard [玩家] 刷新已保存信息,最好是[玩家]卡在region内时使用(进出flag错误时)
WG指令
指令 参数 介绍
/worldguard version …… 查看目前worldguard版本
/worldguard reload …… 重载worldguard
/worldguard report [-p] Wordguard会模拟一份文件保存在WorldGuard的文件夹内,这份文件内会有你所有修改的文件和信息
如果加入 -p 就会把这份文件发送到Pastebin上,并且在游戏内或者后台反馈文件连接
RG指令(rg就是region)

定义和重定义区域(define和redifine)

/region define 区域名称 (玩家1) (玩家2) (玩家...)
/region def 区域名称 (玩家1) (玩家2) (玩家...)
/region d 区域名称 (玩家1) (玩家2) (玩家...)
()内容为可选项,如果没有指定玩家,定义后的区域将会属于输入命令的玩家(可以设定多个拥有者)

这个指令主要是创造区域,创造后才可以进行更多的设定,这个指令是没有限制区域大小的(根据WorldEdit选择的大小)
玩家部分也可以设定为权限组,这个指令主要是给管理员使用,玩家会有另外一个指令 /claim

/region define 区域名称 g:权限组名称 玩家1 玩家2
注*整个世界区域叫做 __global__

/region redefine 区域名称
/region update 区域名称
/region move 区域名称

这个指令会重定义已定义区域,选择好新区域后,输入指令后就可以重定义指定区域

区域圈地(claim)

/region claim 区域名称 (玩家1) (玩家2) (玩家...)

注意!这个指令是在2010年11至12月出现的,是很早期的指令,比Bukkit都早,在不久的将来会受到改善!
这个指令和define指令非常相似,但是加入了一些其他设定

  • 如果配设内有启动claim功能,玩家将会被限制区域数量
  • 创造新区域时不可以重复区域名称,除非你是拥有者,那么就会重定义该区域
  • 新区域不可覆盖其他区域
  • 如果配设内有启动claim功能,重新新区域时可以覆盖玩家拥有的其他区域
  • 如果配设内有启动claim功能,玩家将会被限制区域大小

区域信息(information)

/region info (-s)(世界名称) (区域名称)

列出区域的详细信息,内含

  • 区域名称(区域类型,优先权)
  • 区域flags
  • 区域拥有者
  • 区域成员
  • 区域边界

空的信息项不会显示
在指令内加入-s 会在显示信息的同时选择该区域
如果没有输入区域名称,插件会自动取读脚下的区域

列子:查看“TownPlot”区域的信息
/region info townplot

列子:查看地狱世界“TownPlot”区域的信息
/region info world_nether TownPlot

区域选择(select)

/region select [区域名称]
这个指令会选择区域
如果没有输入区域名称,插件会自动取读脚下的区域

列子:选择“TownPlot”区域
/region select townplot

区域表列(list)

/region list (页数)(-w 世界名称)(-p 玩家)

列子:列出第一页区域列表
/region list

列子:列出地狱世界第三页区域列表
/region list 3 -w world_nether

同时也可以只显示"玩家"的区域,影藏其他区域,需要在指令内加入-p 玩家

列子:列出玩家1的区域列表
/region list -p 玩家1

设定flag

/region flag 区域名称 flag (-g 权限组) [-w 世界名称] (数据值)
这个指令可以为区域设定flag,如果(数据值)没有填的话,选择的flag就会被清除(还原)
你们必须明白区域优先权和父子区域的关系才可以正确的设定flag,所以最好去查看flag列表

列子:“TownPlot”区域禁止pvp的flag
/region flag townplot pvp deny

列子:在“duduworld”世界“TownPlot”区域禁止pvp的flag
/region flag townplot pvp -w duduworld deny

列子:“TownPlot”区域设定欢迎信息的flag
/region flag townplot greeting 欢迎你来到这个区域, %name%!
进入“TownPlot”区域显示:欢迎你来到这个区域, 玩家ID!

列子:“TownPlot”区域清除退出信息的flag
/region flag townplot farewell
效果:退出“TownPlot”区域时不显示退出信息

设定优先权(priority)

/region setpriority [区域名称] (-w 世界名称) [优先权]
/region priority [区域名称] (-w 世界名称) [优先权]
/region pri [区域名称] (-w 世界名称) [优先权]

设定区域优先权,[优先权]处得填一个整数,可以是正数也可以是负数。

设定子区域(parent)

/region setparent [子区域] [父区域]
/region parent [子区域] [父区域]
/region par [子区域] [父区域]

设定子区域。


删除区域(remove)

/region remove [区域名称] (-w 世界名称)
/region rem [区域名称] (-w 世界名称)
/region delete [区域名称] (-w 世界名称)
/region del [区域名称] (-w 世界名称)

删除一个区域


区域传送(teleport)

/region teleport (-s) [区域名称]
/region tp (-s) [区域名称]

传送到某个区域内,如果加入-s就会传送到区域设定的重生点。


区域管理(management)

/region load (-w 世界名称)
/region save (-w 世界名称)

加载或者保存设定完的区域。
注意!如果没保存加载时会丢失设定的项目,但WorldGuard的指令在修改完某项设定会自动保存。(通常不会出现这种情况)

/region migratedb [1] [2]
转移region文件yml格式到数据库MySQL,或者相反。


3→权限介绍

其他指令
指令 权限
/locate
  • worldguard.locate
/stack
  • worldguard.stack
  • worldguard.stack.illegitimate
  • worldguard.stack.damaged
紧急指令
指令权限
/stopfire worldguard.fire-toggle.*
/allowfire worldguard.fire-toggle.*
/halt-activity worldguard.halt-activity
/halt-activity -c worldguard.halt-activity
Region指令
指令 权限
/region define         worldguard.region.define
/region redefine
  • worldguard.region.redefine.own(允许region拥有者重定义他们的region)
  • worldguard.region.redefine.member(允许region会员重定义他们的region)
  • worldguard.region.redefine
在5.8+版本这3个权限有改动,注意别弄错了!
  • worldguard.region.redefine.own.*
  • worldguard.region.redefine.member.*
  • worldguard.region.redefine.*
/region claim
  • worldguard.region.claim
/region select
  • worldguard.region.select.own.* (允许region拥有者选择他们的region)
  • worldguard.region.select.own.<region>(允许region拥有者选择他们指定region)
  • worldguard.region.select.member.*(允许region拥会员选择他们的region)
  • worldguard.region.select.member.<region>(允许region会员选择他们指定region)
  • worldguard.region.select.*
  • worldguard.region.select.<region>(允许选择一个指定region
然后可以使用/region info查看region的信息(别忘记加入-s 这个flag)
/region info
  • worldguard.region.info.own
  • worldguard.region.info.member
  • worldguard.region.info.*
在5.7+版本这3个权限有改动,注意别弄错了!
  • worldguard.region.info.own.*
  • worldguard.region.info.member.*
  • worldguard.region.info.*
/region addowner
  • worldguard.region.addowner.own.*
  • worldguard.region.addowner.member.*
  • worldguard.region.addowner.*
/region removeowner
简化
/region remowner
  • worldguard.region.removeowner.own.*
  • worldguard.region.removeowner.member.*
  • worldguard.region.removeowner.*
/region addmember
  • worldguard.region.addmember.own.*
  • worldguard.region.addmember.member.*
  • worldguard.region.addmember.*
/region removemember
简化
/region remmember
/region removemem
/region remmem
  • worldguard.region.removemember.own.*
  • worldguard.region.removemember.member.*
  • worldguard.region.removemember.*
/region list
  • worldguard.region.list.own(查看个人region列表)
  • worldguard.region.list
(!如果没标注世界,默认会搜索所在世界内的region)
/region flag
  • worldguard.region.flag.regions.own.*(允许region拥有者为自己的region设定flag)
  • worldguard.region.flag.regions.own.<region>(允许region拥有者为指定region设定flag)
  • worldguard.region.flag.regions.member.*(允许region会员为自己的region设定flag)
  • worldguard.region.flag.regions.member.<region>(允许region会员为指定region设定flag)
  • worldguard.region.flag.regions.*
  • worldguard.region.flag.regions.<region>(允许为指定region设定flag
Flag权限
  • worldguard.region.flag.flags.<flag>.*(允许设定指定flag)
  • worldguard.region.flag.flags.*(允许设定全部flag)
例如设定允许打开箱子(chest-access)flag
worldguard.region.flag.flags.chest-access.*(玩家就可以设定chest-access这个flag了

/region setpriority         
  • worldguard.region.setpriority.own.* (允许rg拥有者为自己的rg设定优先权)
  • worldguard.region.setpriority.own.<region>(允许rg拥有者为指定rg设定优先权)
  • worldguard.region.setpriority.member.*(允许rg会员为自己的rg设定优先权)
  • worldguard.region.setpriority.member.<region>(允许rg会员为自己的rg设定优先权)
  • worldguard.region.setpriority.*
  • worldguard.region.setpriority.<region>(允许设定指定rg优先权
/region setparent
  • worldguard.region.setparent.own.* (允许rg拥有者为自己的rg设定子区域)
  • worldguard.region.setparent.own.<region>(允许rg拥有者为指定rg设定子区域)
  • worldguard.region.setparent.member.*(允许rg会员为自己的rg设定子区域)
  • worldguard.region.setparent.member.<region>(允许rg会员为指定rg设定子区域)
  • worldguard.region.setparent.*
  • worldguard.region.setparent.<region>(允许为指定rg设定子区域
/region teleport
  • worldguard.region.teleport.own.* (允许rg拥有者传送到自己的rg)
  • worldguard.region.teleport.own.<region>(允许rg拥有者传送到指定rg)
  • worldguard.region.teleport.member.*(允许rg会员传送到自己的rg)
  • worldguard.region.teleport.member.<region>(允许rg会员传送到指定rg)
  • worldguard.region.teleport.*
  • worldguard.region.teleport.<region>(允许传送到指定rg)
/region remove
  • worldguard.region.remove.own.*(允许rg拥有者删除自己的rg)
  • worldguard.region.remove.own.<region>(允许rg拥有者删除指定rg)
  • worldguard.region.remove.member.*(允许rg会员删除自己的rg)
  • worldguard.region.remove.member.<region>(允许rg会员删除指定rg)
  • worldguard.region.remove.*
  • worldguard.region.remove.<region> (允许删除指定rg)
WG指令
指令权限
/worldguard version         没有权限(默认OP)
/worldguard reload
  • worldguard.reload
/worldguard report
  • worldguard.report
  • worldguard.report.pastebin(会自动发布到pastebin上

其他额外的权限



4→Region教程
基础教程

开始前我们必须安装Worldedit配合WorldGuard才可以使用!
不熟悉/不知道Worldedit? 点我传送
以下教程内Worledit会简称为WE,Worldguard为WG。
一、区域的选择
1.通过WE选择2点来确定一个立方体(于平时WE选择一样)
扩大选择区域(复制于WE搬运贴)





2.创造region
/region define <region_名称>
或(更详细指令)
/region define <region_名称> [拥有者1] [拥有者2] [拥有者3] (…….)
创造这个region,创造一个region后,例如我们的就叫做Mcbbs,那么默认玩家就不能破坏这个region内的物品(其他设定稍后再说)

3.添加成员/会员以及删除

/region addmember <region_名称> [会员1] [会员2] [会员3] (…….)
例如
/region addmember Mcbbs Lichi2050
意思就是在Mcbbs这个region内,玩家Lichi2050也就是我,可以破坏(默认没有修改破坏flag时都有效)。

删除也是原理,只不过指令稍微改变了一下
/region remember <region_名称> [会员1] [会员2] [会员3] (…….)


4.添加拥有者以及删除


/region addowner <region_名称> [拥有者1] [拥有者2] [拥有者3] (…….)
例如
/region addowner Mcbbs Lichi2050
意思就是在Mcbbs这个region内,我Lichi2050是这个region的拥有者(可以设定/修改这个region的任何设置)。

删除也是原理,只不过指令稍微改变了一下
/region remowner <region_名称> [拥有者1] [拥有者2] [拥有者3] (…….)

5.region优先权以及子区域

/region setpriority <region_名称> <优先权>
<优先权>是一个数字,他可以是正数例如3,也可以是负数例如-1
数字越大,优先权就越大,例如region1的优先权是2,region2的优先权是5 那么region2的配设会取代/覆盖region1的设定(当然如果2个区域没有覆盖那么设不设定优先权都无所谓)。

/region setparent <子_region_名称> <父_region_名称>
首先我们得先了解什么是子区域,子区域有什么用处其实设定父子区域意思和继承差不多(使用权限组插件的朋友相信会很清楚)
子region会取读父region的拥有者,会员,以及flag设定(就不用重复设定了,方便)
Flag列表

总共有67个flag可设定(有几个在5.X版本内无法使用,我会在WG6内重新介绍)
Flag 介绍
passthrough 是否启动验证region破坏权限,意思就是检不检查玩家破坏权限(基本用不到)
build 是否启动建筑flag,默认region是不可以建筑的,只有region拥有者或会员可以建筑,建议不要修改这个flag
construct 不推荐使用:这个flag错误过多,已经损坏,请勿使用,否则后果自负
pvp 是否启动PVP
mob-damage 怪物是否可以造成伤害
entity-item-frame-destroy 是否可以破坏物品展示框
entity-painting-destroy 是否可以破坏画
exp-drop 是否掉落经验球(就是经验值)
item-drop 是否可以扔物品
mob-spawning 是否生成生物
Flag 介绍
creeper-explosion 是否允许爬行者破坏地形以及伤害玩家(造成伤害值)
other-explosion 是否阻止其他爆炸破坏地形以及伤害玩家(例如凋零或MOD物品)
enderman-grief 是否允许末影人破坏地形
enderpearl 是否运行玩家使用末影珍珠进入或者退出region
enderdragon-block-damage 是否允许末影龙破坏地形
ghast-fireball 是否允许恶魂火球破坏地形以及伤害玩家
sleep 是否允许玩家使用床(睡觉)
tnt 是否允许TNT引爆
lighter 是否允许使用打火石
fire-spread 是否允许火焰蔓延
Flag 介绍
lava-fire 是否允许岩浆燃烧附近方块(就是生成火焰)
lightning 是否允许闪电打到region内(唔,看闪电几率大概遇不到吧)
chest-access 是否允许玩家在region内可以打开/使用/互动箱子,熔炉或其他
pistons 是否允许使用活塞
water-flow 是否允许水的流动
lava-flow 是否允许岩浆的流动
use 是否允许与门,按钮,压力板等互动(使用)
vehicle-place 是否允许摆放移动工具类物品(矿车,船等)
vehicle-destroy 是否允许破坏移动工具类物品(矿车,船等)
snow-fall 是否允许生成雪(region内)
Flag 介绍
snow-melt 是否允许雪在region内融化
ice-form 是否允许冰块在region内生成
ice-melt 是否允许冰块在region内融化
mushroom-growth 是否允许蘑菇在region内成长
leaf-decay 是否允许树叶在region内腐化/消失
grass-growth 是否允许草地蔓延到土方块上
mycelium-spread 是否允许菌丝蔓延到土方块上
vine-growth 是否允许藤蔓成长
invincible 是否在region内启动无敌(进入region内的玩家都会无敌)
entry 设定特殊权限组才可以进入这个region
Flag 介绍
entry-group 已删除,该flag已经替换成entry flag了
exit 设定特殊权限组才可以离开这个region
exit-group 已删除,该flag已经替换成exit flag了
greeting 设定玩家进入region时收到的提示
farewell 设定玩家退出region时收到的提示
notify-enter 功能与greeting相同,不过需要权限worldguard.notify
notify-leave 功能与greeting相同,不过需要权限worldguard.notify
deny-spawn 设定什么怪物不可在region内生成
/region flag <region_名称> denyspawn 怪物
例如
/region flag Mcbbs denyspawn creeper
意思就是在Mcbbs这个region内不会生成爬行者
heal-delay 设定回血速度
heal-amount 设定回血数量
Flag 介绍
heal-min-health 设定最小回血数量
heal-max-health 设定最大回血数量
feed-delay 设定掉饥饿度速度
feed-amount 设定掉饥饿度数量
feed-min-hunger 设定掉饥饿度最小数量
feed-max-hunger 设定掉饥饿度最大数量
teleport 设定region传送点
/region teleport <region_名称>
传送到region内
spawn 设定region出生点
/region flag region x y z
price 未加入
buyable 未加入
Flag 介绍
allow-shop region内是否启动ChestShop插件
搬运贴 http://www.mcbbs.net/thread-224529-1-1.html
blocked-cmds 设定禁止指令(就是在region内禁止使用什么指令)
allowed-cmds 设定允许指令(就是在region内可以使用什么指令)
send-chat 是否可以说话
receive-chat 是否可以收到别人说的话
game-mode 设定region模式(生成/创造/观众等模式)
potion-splash 是否允许药水效果

区域权限组

区域权限组为
members 成员
nonmembers 非成员
owners 拥有者
nonowners 非拥有者
everyone 全部玩家

注*如果直接修改regions.yml区域权限组有改动(全部变成大写并且everyone变成ALL)!

MEMBERS 成员
NON_MEMBERS 非成员
OWNERS 拥有者
NON_OWNERS 非拥有者
ALL 全部玩家


区域权限组有什么用呢? 在设定flag时可以专门只为一个权限组设定flag(别和权限组插件搞混了!!!)
例如
/rg flag <region_名称> exit deny
/rg flag <region_名称> exit -g nonowners
我们的region还是叫做Mcbbs

首先第一个指令禁止了退出(出去)这个region
下一个指令设定了-g nonowners 意思就是非拥有者玩家不可退出Mcbbs这个region

或者你也可以设定例如只禁止什么人进入,又或者什么人进入后会无敌等等(看各自的脑洞吧)

下面要讲的是关于开发者API,如果你不是开发者请直接跳过这一步(不然脑细胞会咋样我可不负责!Σ( ̄□ ̄;))
开发者API
由于本人对API不是很精通,所以只能傻傻的翻译wiki内如有错误还请大神提示。
访问/取读WorldGuard

一个参考的列子
  1. Example: Getting a reference to WorldGuard
  2. import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
  3. import org.bukkit.plugin.Plugin;

  4. private WorldGuardPlugin getWorldGuard() {
  5.     Plugin plugin = getServer().getPluginManager().getPlugin("WorldGuard");

  6.     // WorldGuard 没有加载
  7.     if (plugin == null || !(plugin instanceof WorldGuardPlugin)) {
  8.         return null; // 也许你想提示一个错误
  9.     }

  10.     return (WorldGuardPlugin) plugin;
  11. }
复制代码
在较新的Worldguard(我说版本)内,你可以使用Static方式
列子:使用WGbukkit取读Worldguard
  1. import com.sk89q.worldguard.bukkit.WGBukkit;

  2. // 现在你需要取读Worldguard
  3. // 例如, 集合所有的region到一个点
  4.     ApplicableRegionSet set = WGBukkit.getRegionManager(world).getApplicableRegions(location);
复制代码
你可以查看Javadocs

基础权限
你成功取读/访问Worldguard后,你可以设定例如“can build?”就是“是否可建筑”在WorldGuardPlugin内查看
  1. boolean canBuild(org.bukkit.entity.Player player, org.bukkit.Location location)
复制代码
  1. boolean canBuild(org.bukkit.entity.Player player, org.bukkit.block.Block block)
复制代码
列子
玩家是否可以破坏脚下的方块

  1. <div>return getWorldGuard().canBuild(player,</div><div>        player.getLocation().getBlock().getRelative(0, -1, 0));</div>
复制代码
区域管理

Worldguard可以直接查询全局设定,也可以在指定世界查询单独region,为了方便开发人员取读API,在WorldGuardPlugin内设定成这样即可访问单独region设定。
  1. com.sk89q.worldguard.protection.manager.RegionManager getRegionManager(org.bukkit.World world)
复制代码
Warning/注意: 这个方式可以设定为 can return null, 在指定世界关闭.


列子

  1. return getWorldGuard().getRegionManager(world);
复制代码


获取Flags或build/破坏 信息,你需要使用ApplicableRegionSet,设置完后可以转换玩家资料使用LocalPlayer,坐标使用Vector。

还是看列子吧我难以表达:

使用ApplicableRegionSet查询破坏权限


  1. <blockquote>import com.sk89q.worldguard.protection.managers.RegionManager;
复制代码



查看Flags

Flags都保存在com.sk89q.worldguard.protection.flags.DefaultFlag,你不可以直接添加自定义flag,你需要先到ApplicableRegionSet,使用正确的method设定,还得看flag的类型


如果是StateFlag 使用

  1. boolean allows(StateFlag flag, LocalPlayer player)
复制代码

如果是StateFlag,where you can't pass a player, 使用(待翻译)
  1. boolean allows(StateFlag flag)
复制代码

如果是其他的Flag,使用
  1. mixed getFlag(Flag flag)
复制代码

列子
检查Pvp的Flag
  1. return set.allows(DefaultFlag.PVP);
复制代码

DefaultFlag的一部分内容

  1. <blockquote>// ...
复制代码


访问/取读一个Region
region保存在com.sk89q.worldguard.protection.regions.ProtectedRegion,有很多种子class可以设定,例如ProtectedCuboidRegion或ProtectedPolygonalRegion。
如果想通过region的名称取读这个region,可以使用RegionManager
  1. ProtectedRegion getRegion(String id)
复制代码

如果想通过区域/Area取读region,可以使用ApplicableRegionSet

  1. <div>for (ProtectedRegion region : set) {</div><div>    // region 写在这里</div><div>}</div>
复制代码

设定一个Flag,使用
  1. region.setFlag(flag, flag.parseInput(plugin, sender, value))
复制代码

如果这个flag是复制于com.sk89q.worldguard.protection.flags.DefaultFlag,那么使用
  1. ? parseInput(WorldGuardPlugin plugin, CommandSender sender, String input)
复制代码

再发一次Javadocs


欢迎查看sk89q其他插件wiki:Wikihttp://wiki.sk89q.com/wiki/Main_Page

开发者API这个部分应该还存在不少错误,这个部分建议玩家还是去啃英文



   
The Command's Power    插件中文百科合作编写者




——感谢OAO_miao和snowclay的参与。
  ——Lichi2050                                          












来自群组: The Command's Power
2021.12 数据,可能有更多内容WorldGuard教程以及Wiki翻译



这个帖子我在开学前几天就开始准备了,其实是因为本人觉得WorldGuard插件非常实用以及强大。这个插件的用处很广,但是被搬运的内容极少(总体来说),不少内容的介绍都不是很详细(我准备接坑)由于时间不足,只能慢慢添加,目前总字数只有4000+(周末我会抽出时间继续翻译的)字数统计:Lichi2050:
OAO_miao:
snowclay:

http://dev.bukkit.org/bukkit-plugins/worldguard/ 官方地址http://wiki.sk89q.com/wiki/WorldGuard 官方wikihttp://docs.enginehub.org/manual/worldguard/latest/ WG6官方wikihttp://www.mcbbs.net/thread-461468-1-1.html 站内搬运贴http://mineplugin.org/Worldguard 中文插件百科地址(填写中)
简介:引用OAO_miao搬运贴的简介
大家看到worldguard时也许会立刻联想到worldedit插件,这两个插件都是由sk89q带头开发的。worldguard在dev.bukkit.org能找到的最早版本发布于2011年(当时我还不知道有MC...),至今也一直在更新,但不知道为什么,现在国内很少有人用这个插件。国内关于worldguard的中文资料基本都是2-3年前的了,MCBBS论坛这边也很久没人搬运新版本,近期也是刚好用到了这个插件,来搬运一下好了~~worldguard插件的用途和领地插件类似,但个人认为不如领地插件那样友好,没有多语言支持、设置也有些复杂。不过保护效果比领地更强,很多功能是领地插件没有的,用途更偏向于管理员工具和地图制作方面。并不适合完全替代领地插件,用来保护服务器出生点、活动场地和各种建筑还是不错的。

!WG5已完整翻译,WG6我稍后会加入不同部分!
使用WorldGuard你可以
  • 保护你的服务器
  • 阻止火的传播,岩浆的流动,末影人拾取方块等等
  • 设定flag,比如“no pvp” 或 “no tnt”
  • 为特殊区域设置拥有者,只有指定玩家可以破坏
  • 以及许多有用的指令(建议查看搬运贴
目前大概就是这样(以后还会改动)
推荐By:henry5041
1》配设文件finished2》指令介绍finished2.1》Region指令finished  2.1.1》定义和重定义区域(define和redifine)finished  2.1.2》区域圈地(claim)finished  2.1.3》区域信息(information)finished  2.1.4》区域选择(select)finished  2.1.5》区域表列(list)finished  2.1.6》设定flagfinished  2.1.7》设定优先权(priority)finished  2.1.8》设定子区域(parent)finished  2.1.9》删除区域(remove)finished  2.1.10》区域传送(teleport)finished  2.1.11》区域管理(management)finished3》权限介绍finished4》regions教程finished4.1》基础教程finished4.2》flag列表finished    4.2.1》区域权限组finished4.3》开发者 APIfinished ←翻译的不准确,建议查看官方Wiki    4.3.1》取读WorldGuardfinished    4.3.2》基础权限finished    4.3.3》区域管理finished        4.3.3.1》查看Flagsfinished        4.3.3.2》取读一个区域finished    4.4.4》Javadocsfinished4.4》数据格式finished 超链接5》黑名单(Blacklist)finished By OAO_miao 超链接6》箱子保护finished By snowclay 超链接7》主机密码(登录密码)finishedBy snowclay 超连接8》更多帮助finished 超连接
1→配设文件介绍WorldGuard在服务器运行后会生成2种配设文件全局配设文件(世界的默认设定):服务器文件夹/plugins/WorldGuard/config.yml单独世界配设文件:服务器文件夹/plugins/WorldGuard/worlds/世界名称/config.yml


全局设定会影响整个服务器,单独世界设定如果有和全局不同的地方系统会为这个世界取读单独配设。比如说,如果你
在全服禁止了火的传播,所有世界都会禁止,但是一个单独世界可以修改单独配设来启动火的传播。




设定项
指令类型
默认设定
加入版本
指令介绍
summary-on-start
boolean
true
1.2
启动或重启时是否显示WorldGuard的配设摘要
op-permissions
boolean
true
5.0
是否给予OP全部权限
保护项设定
item-durability
boolean
true
1.4
是否启动物品耐久值
remove-infinite-stacks
boolean
false
5.1
是否允许WorldGuard扫描玩家背包并且删除无限叠加的物品
disable-xp-orb-drops
boolean
false
5.3
是否允许死亡后掉落经验球或附魔之瓶生成经验球
disable-obsidian-generators
箱子保护设定
enable
boolean
false
5.0
是否启动箱子保护
物理现象或行为设定
allow-portal-anywhere
boolean
false
1.4
是否允许摆放传送门方块
no-physics-sand
boolean
false
1.4
是否阻止沙子的重力影响
no-physics-gravel
boolean
false
1.4
是否阻止沙砾的重力影响
disable-water-damage-blocks
list
[]
1.4
阻止列表上的方块ID被水
破坏,注意,必须是方块的ID,而不是物品的ID
vine-like-rope-ladders
boolean
false
5.6.3
是否让梯子的行为类似于藤蔓
需要点燃类设定
block-tnt
boolean
false
1.0
是否阻止TNT爆炸
block-tnt-block-damage
boolean
false
5.3
是否阻止TNT爆炸后对地形和entities造成伤害
block-lighter
boolean
false
1.0
是否阻止使用打火石
海绵设定
enable
boolean
false
1.0
是否恢复原版中海绵的功能
redstone
boolean
false
1.X
是否允许红石配合海绵使用
radius
integer
3
1.2
海绵的影响半径(需要启动海绵功能)
火的设定
disable-lava-fire-spread
boolean
false
1.0
是否阻止岩浆生成火焰
lava-spread-blocks
list
[]
1.0
允许岩浆的流动的方块表列,没有设定的话岩浆的流动不会受到限制
disable-fire-spread-blocks
list
[]
1.0
允许火的传播的方块表列,没有设定的话火的传播不会受到限制
disable-all-fire-spread
boolean
false
1.0
是否阻止全部火的传播(包括岩浆)
默认设定
disable-health-regain
boolean
false
5.2
是否阻止血量回复效果(目前会产生无法食用食物的BUG)
pumpkin-scuba
boolean
false
5.X
如果玩家头上戴着南瓜是否阻止溺水伤害
怪物设定
anti-wolf-dumbness
boolean
false
5.0
是否阻止狼之间的自相残杀(让我想起了Wolski)
disable-enderman-griefing
boolean
false
5.3
是否阻止末影人拾取方块和摆放方块
block-plugin-spawning
boolean
true
5.5
是否阻止插件生成怪物
block-creature-spawn
list
[]
5.0
不会生成的生物表列(例如“Pig”,”Chicken“,等等)
block-creeper-block-damage
boolean
false
2.2
是否阻止爬行者的的爆炸破坏地形,但是不会阻止伤害
block-creeper-explosions
boolean
false
1.0
是否阻止爬行者的爆炸
block-fireball-block-damage
boolean
false
5.3
是否阻止火球破坏方块
block-fireball-explosions
boolean
false
5.3
是否阻止火球的爆炸
block-wither-explosions
boolean
false
5.6.X
是否阻止凋零攻击的爆炸
block-wither-block-damage
boolean
false
5.6.X
是否阻止凋零破坏方块
block-wither-skull-explosions
boolean
false
5.6.X
是否阻止凋零骷髅攻击的爆炸
block-wither-skull-block-damage
boolean
false
5.6.X
是否阻止凋零骷髅攻击破坏方块
block-enderdragon-block-damage
boolean
false
5.6.X
是否阻止末影龙破坏方块
block-enderdragon-portal-creation
boolean
false
5.6.X
是否阻止末影龙死亡后生成传送门
block-painting-destroy
boolean
false
5.6.X
是否阻止怪物破坏画
block-item-frame-destroy
boolean
false
5.6.X
是否阻止怪物破坏物品展示框
block-above-ground-slimes
boolean
false
5.6.X
是否阻止史莱姆在正常地形生成(例如:沼泽)
block-other-explosions
boolean
false
5.6.X
是否阻止其他爆炸(例如来自插件,MOD等)
block-zombie-door-destruction
boolean
false
5.6.X
是否难度设定为Hard时阻止僵尸破坏门
自然现象设定
disable-ice-melting
boolean
false
5.2
是否阻止冰的融化
disable-snow-formation
boolean
false
5.2
是否阻止雪的生成
disable-mushroom-spread
boolean
false
5.2
是否阻止蘑菇的生成
disable-snow-melting
boolean
false
5.2
是否阻止雪的融化
disable-leaf-decay
boolean
false
5.2
是否阻止树叶消失
disable-ice-formation
boolean
false
5.2
是否阻止冰的生成
disable-grass-growth
boolean
false
5.3
是否阻止草方块扩散到相邻的泥土上
disable-mycelium-spread
boolean
false
5.6.1
是否阻止菌丝蔓延到附近的泥土方块上
天气设定
always-raining
boolean
false
5.1
是否一直下雨和下雪
disable-weather
boolean
false
5.1
是否阻止下雨和下雪,保持晴天
disable-lightning-strike-fire
boolean
false
5.1
是否阻止闪电产生火焰
always-thundering
boolean
false
5.1
是否一直打雷
prevent-lightning-strike-blocks
list
[]
5.1
阻止闪电攻击的方块ID表列(不会受到影响的方块)
disable-thunderstorm
boolean
false
5.1
是否阻止暴雨(或者暴风雨)
disable-pig-zombification
boolean
false
5.1
是否阻止猪变成僵尸猪人(被闪电劈中猪周围的4个方块以内)
disable-powered-creepers
boolean
false
5.1
是否阻止爬行者成为高压爬行者
农作物设定
disable-creature-trampling
boolean
false
5.1
是否阻止生物踩农作物
disable-player-trampling
boolean
false
5.1
是否阻止玩家踩农作物
玩家受到伤害设定
teleport-on-void-falling
boolean
false
5.0
玩家掉落虚空后是否传送到安全地点
disable-drowning-damage
boolean
false
1.7
是否阻止溺水伤害
disable-void-damage
boolean
false
5.0
是否阻止虚空伤害
disable-fire-damage
boolean
false
1.7
是否阻止火焰伤害
disable-lava-damage
boolean
false
1.7
是否阻止岩浆伤害
disable-tnt-damage
boolean
false
5.3
是否阻止TNT伤害
disable-mob-damage
boolean
false
5.0
是否阻止怪物伤害
disable-fall-damage
boolean
false
1.7
是否阻止掉落伤害
disable-explosion-damage
boolean
false
5.0
是否阻止爆炸伤害
disable-suffocation-damage
boolean
false
1.8
是否阻止窒息伤害
disable-contact-damage
boolean
false
1.8
是否阻止接触伤害(例如仙人掌)
disable-lightning-damage
boolean
false
5.0
是否阻止闪电伤害
teleport-on-suffocation
boolean
false
1.8
是否检测玩家在方块内时将玩家传送到目前方块最高点
(可以避免某些坐标BUG)
disable-death-messages
boolean
false
5.3
是否显示Minecraft 1.8的死亡信息
regions设定
enable
boolean
true
2.1
是否启动regions功能
max-region-count-per-player
int
7
5.0
玩家regions最大数量(OP无限)
max-claim-volume
int
30000
5.0
region最大空间(op无限)
玩家region设定
default
int
7
玩家regions最大数量(OP无限)
claim-only-inside-existing-regions
boolean
false
5.0
是否只能在已存在region内圈地(功能不稳定,后果自负)
high-frequency-flags
boolean
false
5.0
是否启动region的flag都使用最高配设(建议不要启动,内存需求会增加许多)
wand
int
334
3.0
检查region信息的物品,默认是皮革,需要worldguard.region.wand才可以使用
invincibility-removes-mobs
boolean
false
5.3
是否在无敌region内自动杀死怪物
SQL数据库设定(只能在全局config内设定)
use
boolean
false
是否启动SQL数据库
dsn
string
看配设文件
SQL数据连接地址 默认是&quot;jdbc:mysql://localhost/worldguard&quot;
username
string
worldguard
SQL数据库帐号
password
string
worldguard
SQL数据库密码
use-scheduler
boolean
true
是否启动定时任务
use-creature-spawn-event
boolean
true
mob-spawning(怪物生成)和deny-spawn(禁止生成)flags全局化
use-player-move-event
boolean
true
exit/entry和greeting/farewell(进出region信息)flags全局化(取消可以提高点性能)
游戏设定(其实也只有药水)
block-potions
list
[]
5.6.1
禁止表列上的药水效果
block-potions-overly-reliably
boolean
false
5.6.1
如果上面的功能无效,请启动这个功能(功能不稳定,后果自负)
黑名单设定(以后会讲到)


2→指令介绍
基础指令
指令
参数
介绍
/god
[玩家]
给予[玩家]无敌状态
/ungod
[玩家]
取消[玩家]无敌状态
/heal
[玩家]
治疗[玩家]
/slay
[玩家]
杀死[玩家]
/stack
/;
……
整理背包(自动叠加物品)需要权限 worldguard.stack.illegitimate
/locate
[玩家]
指南针会指向[玩家]
紧急指令
指令
参数
介绍
/stopfire
[世界名称]
在[世界名称]世界紧急停止火的传播,这是一个临时设定,重启后就会消失
/allowfire
[世界名称]
取消/stopfire
/stoplag
[世界名称]
在全服禁止所有程序,例如水和岩浆的流动,红石,火的传播,TNT爆炸,怪物生成,等等
可以暂时减少lag
/stoplag -c
[世界名称]
取消/stoplag
/worldguard
[玩家]
刷新已保存信息,最好是[玩家]卡在region内时使用(进出flag错误时)
WG指令
指令
参数
介绍
/worldguard version
……
查看目前worldguard版本
/worldguard reload
……
重载worldguard
/worldguard report
[-p]
Wordguard会模拟一份文件保存在WorldGuard的文件夹内,这份文件内会有你所有修改的文件和信息
如果加入 -p 就会把这份文件发送到Pastebin上,并且在游戏内或者后台反馈文件连接
RG指令(rg就是region)

定义和重定义区域(define和redifine)
/region define 区域名称 (玩家1) (玩家2) (玩家...)/region def 区域名称 (玩家1) (玩家2) (玩家...)/region d 区域名称 (玩家1) (玩家2) (玩家...)()内容为可选项,如果没有指定玩家,定义后的区域将会属于输入命令的玩家(可以设定多个拥有者)
这个指令主要是创造区域,创造后才可以进行更多的设定,这个指令是没有限制区域大小的(根据WorldEdit选择的大小)玩家部分也可以设定为权限组,这个指令主要是给管理员使用,玩家会有另外一个指令 /claim
/region define 区域名称 g:权限组名称 玩家1 玩家2注*整个世界区域叫做 __global__
/region redefine 区域名称/region update 区域名称/region move 区域名称
这个指令会重定义已定义区域,选择好新区域后,输入指令后就可以重定义指定区域
区域圈地(claim)
/region claim 区域名称 (玩家1) (玩家2) (玩家...)
注意!这个指令是在2010年11至12月出现的,是很早期的指令,比Bukkit都早,在不久的将来会受到改善!这个指令和define指令非常相似,但是加入了一些其他设定
  • 如果配设内有启动claim功能,玩家将会被限制区域数量
  • 创造新区域时不可以重复区域名称,除非你是拥有者,那么就会重定义该区域
  • 新区域不可覆盖其他区域
  • 如果配设内有启动claim功能,重新新区域时可以覆盖玩家拥有的其他区域
  • 如果配设内有启动claim功能,玩家将会被限制区域大小

区域信息(information)
/region info (-s)(世界名称) (区域名称)
列出区域的详细信息,内含
  • 区域名称(区域类型,优先权)
  • 区域flags
  • 区域拥有者
  • 区域成员
  • 区域边界

空的信息项不会显示在指令内加入-s 会在显示信息的同时选择该区域如果没有输入区域名称,插件会自动取读脚下的区域
列子:查看“TownPlot”区域的信息/region info townplot
列子:查看地狱世界“TownPlot”区域的信息/region info world_nether TownPlot
区域选择(select)
/region select [区域名称]这个指令会选择区域如果没有输入区域名称,插件会自动取读脚下的区域
列子:选择“TownPlot”区域/region select townplot
区域表列(list)
/region list (页数)(-w 世界名称)(-p 玩家)
列子:列出第一页区域列表/region list
列子:列出地狱世界第三页区域列表/region list 3 -w world_nether
同时也可以只显示&quot;玩家&quot;的区域,影藏其他区域,需要在指令内加入-p 玩家
列子:列出玩家1的区域列表/region list -p 玩家1
设定flag
/region flag 区域名称 flag (-g 权限组) [-w 世界名称] (数据值)这个指令可以为区域设定flag,如果(数据值)没有填的话,选择的flag就会被清除(还原)你们必须明白区域优先权和父子区域的关系才可以正确的设定flag,所以最好去查看flag列表
列子:“TownPlot”区域禁止pvp的flag/region flag townplot pvp deny
列子:在“duduworld”世界“TownPlot”区域禁止pvp的flag/region flag townplot pvp -w duduworld deny
列子:“TownPlot”区域设定欢迎信息的flag/region flag townplot greeting 欢迎你来到这个区域, %name%!进入“TownPlot”区域显示:欢迎你来到这个区域, 玩家ID!
列子:“TownPlot”区域清除退出信息的flag/region flag townplot farewell效果:退出“TownPlot”区域时不显示退出信息
设定优先权(priority)


/region setpriority [区域名称] (-w 世界名称) [优先权]
/region priority [区域名称] (-w 世界名称) [优先权]
/region pri [区域名称] (-w 世界名称) [优先权]


设定区域优先权,[优先权]处得填一个整数,可以是正数也可以是负数。


设定子区域(parent)


/region setparent [子区域] [父区域]
/region parent [子区域] [父区域]
/region par [子区域] [父区域]


设定子区域。


删除区域(remove)


/region remove [区域名称] (-w 世界名称)
/region rem [区域名称] (-w 世界名称)
/region delete [区域名称] (-w 世界名称)
/region del [区域名称] (-w 世界名称)


删除一个区域


区域传送(teleport)


/region teleport (-s) [区域名称]
/region tp (-s) [区域名称]


传送到某个区域内,如果加入-s就会传送到区域设定的重生点。


区域管理(management)


/region load (-w 世界名称)
/region save (-w 世界名称)


加载或者保存设定完的区域。
注意!如果没保存加载时会丢失设定的项目,但WorldGuard的指令在修改完某项设定会自动保存。(通常不会出现这种情况)


/region migratedb [1] [2]
转移region文件yml格式到数据库MySQL,或者相反。


3→权限介绍
其他指令
指令
权限
/locate
  • worldguard.locate
/stack
  • worldguard.stack
  • worldguard.stack.illegitimate
  • worldguard.stack.damaged
紧急指令
指令
权限
/stopfire
worldguard.fire-toggle.*
/allowfire
worldguard.fire-toggle.*
/halt-activity
worldguard.halt-activity
/halt-activity -c
worldguard.halt-activity
Region指令
指令
权限
/region define   
worldguard.region.define
/region redefine
  • worldguard.region.redefine.own(允许region拥有者重定义他们的region)
  • worldguard.region.redefine.member(允许region会员重定义他们的region)
  • worldguard.region.redefine
在5.8+版本这3个权限有改动,注意别弄错了!
  • worldguard.region.redefine.own.*
  • worldguard.region.redefine.member.*
  • worldguard.region.redefine.*
/region claim
  • worldguard.region.claim
/region select
  • worldguard.region.select.own.* (允许region拥有者选择他们的region)
  • worldguard.region.select.own.&lt;region&gt;(允许region拥有者选择他们指定region)
  • worldguard.region.select.member.*(允许region拥会员选择他们的region)
  • worldguard.region.select.member.&lt;region&gt;(允许region会员选择他们指定region)
  • worldguard.region.select.*
  • worldguard.region.select.&lt;region&gt;(允许选择一个指定region
然后可以使用/region info查看region的信息(别忘记加入-s 这个flag)
/region info
  • worldguard.region.info.own
  • worldguard.region.info.member
  • worldguard.region.info.*
在5.7+版本这3个权限有改动,注意别弄错了!
  • worldguard.region.info.own.*
  • worldguard.region.info.member.*
  • worldguard.region.info.*
/region addowner
  • worldguard.region.addowner.own.*
  • worldguard.region.addowner.member.*
  • worldguard.region.addowner.*
/region removeowner
简化
/region remowner
  • worldguard.region.removeowner.own.*
  • worldguard.region.removeowner.member.*
  • worldguard.region.removeowner.*
/region addmember
  • worldguard.region.addmember.own.*
  • worldguard.region.addmember.member.*
  • worldguard.region.addmember.*
/region removemember
简化
/region remmember
/region removemem
/region remmem
  • worldguard.region.removemember.own.*
  • worldguard.region.removemember.member.*
  • worldguard.region.removemember.*
/region list
  • worldguard.region.list.own(查看个人region列表)
  • worldguard.region.list
(!如果没标注世界,默认会搜索所在世界内的region)
/region flag
  • worldguard.region.flag.regions.own.*(允许region拥有者为自己的region设定flag)
  • worldguard.region.flag.regions.own.&lt;region&gt;(允许region拥有者为指定region设定flag)
  • worldguard.region.flag.regions.member.*(允许region会员为自己的region设定flag)
  • worldguard.region.flag.regions.member.&lt;region&gt;(允许region会员为指定region设定flag)
  • worldguard.region.flag.regions.*
  • worldguard.region.flag.regions.&lt;region&gt;(允许为指定region设定flag
Flag权限
  • worldguard.region.flag.flags.&lt;flag&gt;.*(允许设定指定flag)
  • worldguard.region.flag.flags.*(允许设定全部flag)
例如设定允许打开箱子(chest-access)flag
worldguard.region.flag.flags.chest-access.*(玩家就可以设定chest-access这个flag了

/region setpriority   
  • worldguard.region.setpriority.own.* (允许rg拥有者为自己的rg设定优先权)
  • worldguard.region.setpriority.own.&lt;region&gt;(允许rg拥有者为指定rg设定优先权)
  • worldguard.region.setpriority.member.*(允许rg会员为自己的rg设定优先权)
  • worldguard.region.setpriority.member.&lt;region&gt;(允许rg会员为自己的rg设定优先权)
  • worldguard.region.setpriority.*
  • worldguard.region.setpriority.&lt;region&gt;(允许设定指定rg优先权
/region setparent
  • worldguard.region.setparent.own.* (允许rg拥有者为自己的rg设定子区域)
  • worldguard.region.setparent.own.&lt;region&gt;(允许rg拥有者为指定rg设定子区域)
  • worldguard.region.setparent.member.*(允许rg会员为自己的rg设定子区域)
  • worldguard.region.setparent.member.&lt;region&gt;(允许rg会员为指定rg设定子区域)
  • worldguard.region.setparent.*
  • worldguard.region.setparent.&lt;region&gt;(允许为指定rg设定子区域
/region teleport
  • worldguard.region.teleport.own.* (允许rg拥有者传送到自己的rg)
  • worldguard.region.teleport.own.&lt;region&gt;(允许rg拥有者传送到指定rg)
  • worldguard.region.teleport.member.*(允许rg会员传送到自己的rg)
  • worldguard.region.teleport.member.&lt;region&gt;(允许rg会员传送到指定rg)
  • worldguard.region.teleport.*
  • worldguard.region.teleport.&lt;region&gt;(允许传送到指定rg)
/region remove
  • worldguard.region.remove.own.*(允许rg拥有者删除自己的rg)
  • worldguard.region.remove.own.&lt;region&gt;(允许rg拥有者删除指定rg)
  • worldguard.region.remove.member.*(允许rg会员删除自己的rg)
  • worldguard.region.remove.member.&lt;region&gt;(允许rg会员删除指定rg)
  • worldguard.region.remove.*
  • worldguard.region.remove.&lt;region&gt; (允许删除指定rg)
WG指令
指令
权限
/worldguard version   
没有权限(默认OP)
/worldguard reload
  • worldguard.reload
/worldguard report
  • worldguard.report
  • worldguard.report.pastebin(会自动发布到pastebin上

其他额外的权限


  • worldguard.region.bypass.&lt;world&gt; (无视所有rg内设定的限制项-可指定世界)
  • worldguard.notify (玩家尝试破坏blacklist表列物品时提示OP-以及拥有这个权限的玩家)
  • worldguard.chest-protection.override(无视rg箱子保护)
  • worldguard.override.chest-protection(和上面那个功能一样)


4→Region教程
基础教程


开始前我们必须安装Worldedit配合WorldGuard才可以使用!
不熟悉/不知道Worldedit? 点我传送
以下教程内Worledit会简称为WE,Worldguard为WG。
一、区域的选择
1.通过WE选择2点来确定一个立方体(于平时WE选择一样)
扩大选择区域(复制于WE搬运贴)


指令://expand &lt;amount&gt; [direction]  //expand &lt;amount&gt; &lt;reverse-amount&gt; [direction]  //expand vert效果:第一个:通过指定的方向扩大(东南西北上下)  第二个:通过面向的方向扩大(东南西北)  第三个:垂直方向扩展到基岩以及天空说明:对于指定的方向,用”N”(北),”S”(南),”W”(西),”E”(东),”U”(上),”D”(下)来代表方向(实际太阳升起的方向是南方。。即S,至于为什么我也不知道)。对于面向的方向,如果不出入WENS之类的就会默认为像面向的方向扩展。最后一个则是垂直方向上下完全扩展。

用法://expand扩大格数(数字) 方向(N S W E U D)  //expand 扩大格数反向扩大格数(可以不写)  //expand vert



2.创造region
/region define &lt;region_名称&gt;
或(更详细指令)
/region define &lt;region_名称&gt; [拥有者1] [拥有者2] [拥有者3] (…….)
创造这个region,创造一个region后,例如我们的就叫做Mcbbs,那么默认玩家就不能破坏这个region内的物品(其他设定稍后再说)


3.添加成员/会员以及删除


/region addmember &lt;region_名称&gt; [会员1] [会员2] [会员3] (…….)
例如
/region addmember Mcbbs Lichi2050
意思就是在Mcbbs这个region内,玩家Lichi2050也就是我,可以破坏(默认没有修改破坏flag时都有效)。


删除也是原理,只不过指令稍微改变了一下
/region remember &lt;region_名称&gt; [会员1] [会员2] [会员3] (…….)


4.添加拥有者以及删除


/region addowner &lt;region_名称&gt; [拥有者1] [拥有者2] [拥有者3] (…….)
例如
/region addowner Mcbbs Lichi2050
意思就是在Mcbbs这个region内,我Lichi2050是这个region的拥有者(可以设定/修改这个region的任何设置)。


删除也是原理,只不过指令稍微改变了一下
/region remowner &lt;region_名称&gt; [拥有者1] [拥有者2] [拥有者3] (…….)


5.region优先权以及子区域


/region setpriority &lt;region_名称&gt; &lt;优先权&gt;
&lt;优先权&gt;是一个数字,他可以是正数例如3,也可以是负数例如-1
数字越大,优先权就越大,例如region1的优先权是2,region2的优先权是5 那么region2的配设会取代/覆盖region1的设定(当然如果2个区域没有覆盖那么设不设定优先权都无所谓)。


/region setparent &lt;子_region_名称&gt; &lt;父_region_名称&gt;
首先我们得先了解什么是子区域,子区域有什么用处其实设定父子区域意思和继承差不多(使用权限组插件的朋友相信会很清楚)
子region会取读父region的拥有者,会员,以及flag设定(就不用重复设定了,方便)
Flag列表

总共有67个flag可设定(有几个在5.X版本内无法使用,我会在WG6内重新介绍)
Flag
介绍
passthrough
是否启动验证region破坏权限,意思就是检不检查玩家破坏权限(基本用不到)
build
是否启动建筑flag,默认region是不可以建筑的,只有region拥有者或会员可以建筑,建议不要修改这个flag
construct
不推荐使用:这个flag错误过多,已经损坏,请勿使用,否则后果自负
pvp
是否启动PVP
mob-damage
怪物是否可以造成伤害
entity-item-frame-destroy
是否可以破坏物品展示框
entity-painting-destroy
是否可以破坏画
exp-drop
是否掉落经验球(就是经验值)
item-drop
是否可以扔物品
mob-spawning
是否生成生物
Flag
介绍
creeper-explosion
是否允许爬行者破坏地形以及伤害玩家(造成伤害值)
other-explosion
是否阻止其他爆炸破坏地形以及伤害玩家(例如凋零或MOD物品)
enderman-grief
是否允许末影人破坏地形
enderpearl
是否运行玩家使用末影珍珠进入或者退出region
enderdragon-block-damage
是否允许末影龙破坏地形
ghast-fireball
是否允许恶魂火球破坏地形以及伤害玩家
sleep
是否允许玩家使用床(睡觉)
tnt
是否允许TNT引爆
lighter
是否允许使用打火石
fire-spread
是否允许火焰蔓延
Flag
介绍
lava-fire
是否允许岩浆燃烧附近方块(就是生成火焰)
lightning
是否允许闪电打到region内(唔,看闪电几率大概遇不到吧)
chest-access
是否允许玩家在region内可以打开/使用/互动箱子,熔炉或其他
pistons
是否允许使用活塞
water-flow
是否允许水的流动
lava-flow
是否允许岩浆的流动
use
是否允许与门,按钮,压力板等互动(使用)
vehicle-place
是否允许摆放移动工具类物品(矿车,船等)
vehicle-destroy
是否允许破坏移动工具类物品(矿车,船等)
snow-fall
是否允许生成雪(region内)
Flag
介绍
snow-melt
是否允许雪在region内融化
ice-form
是否允许冰块在region内生成
ice-melt
是否允许冰块在region内融化
mushroom-growth
是否允许蘑菇在region内成长
leaf-decay
是否允许树叶在region内腐化/消失
grass-growth
是否允许草地蔓延到土方块上
mycelium-spread
是否允许菌丝蔓延到土方块上
vine-growth
是否允许藤蔓成长
invincible
是否在region内启动无敌(进入region内的玩家都会无敌)
entry
设定特殊权限组才可以进入这个region
Flag
介绍
entry-group
已删除,该flag已经替换成entry flag了
exit
设定特殊权限组才可以离开这个region
exit-group
已删除,该flag已经替换成exit flag了
greeting
设定玩家进入region时收到的提示
farewell
设定玩家退出region时收到的提示
notify-enter
功能与greeting相同,不过需要权限worldguard.notify
notify-leave
功能与greeting相同,不过需要权限worldguard.notify
deny-spawn
设定什么怪物不可在region内生成
/region flag &lt;region_名称&gt; denyspawn 怪物
例如
/region flag Mcbbs denyspawn creeper
意思就是在Mcbbs这个region内不会生成爬行者
heal-delay
设定回血速度
heal-amount
设定回血数量
Flag
介绍
heal-min-health
设定最小回血数量
heal-max-health
设定最大回血数量
feed-delay
设定掉饥饿度速度
feed-amount
设定掉饥饿度数量
feed-min-hunger
设定掉饥饿度最小数量
feed-max-hunger
设定掉饥饿度最大数量
teleport
设定region传送点
/region teleport &lt;region_名称&gt;
传送到region内
spawn
设定region出生点
/region flag region x y z
price
未加入
buyable
未加入
Flag
介绍
allow-shop
region内是否启动ChestShop插件
搬运贴 http://www.mcbbs.net/thread-224529-1-1.html
blocked-cmds
设定禁止指令(就是在region内禁止使用什么指令)
allowed-cmds
设定允许指令(就是在region内可以使用什么指令)
send-chat
是否可以说话
receive-chat
是否可以收到别人说的话
game-mode
设定region模式(生成/创造/观众等模式)
potion-splash
是否允许药水效果

区域权限组


区域权限组为
members 成员
nonmembers 非成员
owners 拥有者
nonowners 非拥有者
everyone 全部玩家


注*如果直接修改regions.yml区域权限组有改动(全部变成大写并且everyone变成ALL)!


MEMBERS 成员
NON_MEMBERS 非成员
OWNERS 拥有者
NON_OWNERS 非拥有者
ALL 全部玩家


区域权限组有什么用呢? 在设定flag时可以专门只为一个权限组设定flag(别和权限组插件搞混了!!!)
例如
/rg flag &lt;region_名称&gt; exit deny
/rg flag &lt;region_名称&gt; exit -g nonowners
我们的region还是叫做Mcbbs


首先第一个指令禁止了退出(出去)这个region
下一个指令设定了-g nonowners 意思就是非拥有者玩家不可退出Mcbbs这个region


或者你也可以设定例如只禁止什么人进入,又或者什么人进入后会无敌等等(看各自的脑洞吧)


下面要讲的是关于开发者API,如果你不是开发者请直接跳过这一步(不然脑细胞会咋样我可不负责!Σ( ̄□ ̄;))
开发者API
由于本人对API不是很精通,所以只能傻傻的翻译wiki内如有错误还请大神提示。
访问/取读WorldGuard


一个参考的列子

代码:

  1. Example: Getting a reference to WorldGuard
  2. import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
  3. import org.bukkit.plugin.Plugin;

  4. private WorldGuardPlugin getWorldGuard() {
  5.     Plugin plugin = getServer().getPluginManager().getPlugin("WorldGuard");

  6.     // WorldGuard 没有加载
  7.     if (plugin == null || !(plugin instanceof WorldGuardPlugin)) {
  8.   return null; // 也许你想提示一个错误
  9.     }

  10.     return (WorldGuardPlugin) plugin;
  11. }
在较新的Worldguard(我说版本)内,你可以使用Static方式
列子:使用WGbukkit取读Worldguard

代码:

  1. import com.sk89q.worldguard.bukkit.WGBukkit;

  2. // 现在你需要取读Worldguard
  3. // 例如, 集合所有的region到一个点
  4.     ApplicableRegionSet set = WGBukkit.getRegionManager(world).getApplicableRegions(location);
你可以查看Javadocs


基础权限
你成功取读/访问Worldguard后,你可以设定例如“can build?”就是“是否可建筑”在WorldGuardPlugin内查看

代码:

  1. boolean canBuild(org.bukkit.entity.Player player, org.bukkit.Location location)

代码:

  1. boolean canBuild(org.bukkit.entity.Player player, org.bukkit.block.Block block)
列子
玩家是否可以破坏脚下的方块


代码:

  1. <div>return getWorldGuard().canBuild(player,</div><div>  player.getLocation().getBlock().getRelative(0, -1, 0));</div>
区域管理


Worldguard可以直接查询全局设定,也可以在指定世界查询单独region,为了方便开发人员取读API,在WorldGuardPlugin内设定成这样即可访问单独region设定。

代码:

  1. com.sk89q.worldguard.protection.manager.RegionManager getRegionManager(org.bukkit.World world)
Warning/注意: 这个方式可以设定为 can return null, 在指定世界关闭.


列子

代码:

  1. return getWorldGuard().getRegionManager(world);



获取Flags或build/破坏 信息,你需要使用ApplicableRegionSet,设置完后可以转换玩家资料使用LocalPlayer,坐标使用Vector。
还是看列子吧我难以表达:
使用ApplicableRegionSet查询破坏权限


代码:

  1. <blockquote>import com.sk89q.worldguard.protection.managers.RegionManager;



查看Flags
Flags都保存在com.sk89q.worldguard.protection.flags.DefaultFlag,你不可以直接添加自定义flag,你需要先到ApplicableRegionSet,使用正确的method设定,还得看flag的类型


如果是StateFlag 使用

代码:

  1. boolean allows(StateFlag flag, LocalPlayer player)

如果是StateFlag,where you can't pass a player, 使用(待翻译)

代码:

  1. boolean allows(StateFlag flag)

如果是其他的Flag,使用

代码:

  1. mixed getFlag(Flag flag)

列子
检查Pvp的Flag

代码:

  1. return set.allows(DefaultFlag.PVP);

DefaultFlag的一部分内容


代码:

  1. <blockquote>// ...



访问/取读一个Region
region保存在com.sk89q.worldguard.protection.regions.ProtectedRegion,有很多种子class可以设定,例如ProtectedCuboidRegion或ProtectedPolygonalRegion。
如果想通过region的名称取读这个region,可以使用RegionManager

代码:

  1. ProtectedRegion getRegion(String id)

如果想通过区域/Area取读region,可以使用ApplicableRegionSet


代码:

  1. <div>for (ProtectedRegion region : set) {</div><div>    // region 写在这里</div><div>}</div>

设定一个Flag,使用

代码:

  1. region.setFlag(flag, flag.parseInput(plugin, sender, value))

如果这个flag是复制于com.sk89q.worldguard.protection.flags.DefaultFlag,那么使用

代码:

  1. ? parseInput(WorldGuardPlugin plugin, CommandSender sender, String input)

再发一次Javadocs


欢迎查看sk89q其他插件wiki:Wikihttp://wiki.sk89q.com/wiki/Main_Page


开发者API这个部分应该还存在不少错误,这个部分建议玩家还是去啃英文



   

The Command's Power    插件中文百科合作编写者


——感谢OAO_miao和snowclay的参与。——Lichi2050     



lichi2050
本帖最后由 lichi2050 于 2015-10-5 16:11 编辑

》更多帮助《


你需要更多的帮助吗?我建议你

注*IRC聊天频道是维基百科24小时开放的“聊天室”
sk89q是Worldguard的作者(也是Worldedit以及其他不少插件的作者)

Changelog就是更新信息(每次更新修改/增加/删除等等了什么)


本帖不是问答贴,请勿提问


雪清
本帖最后由 snowclay 于 2015-10-5 20:07 编辑

我也翻译一部分吧,可能有点慢需要几天时间。。排版问题等我翻译完了弄。
箱子保护
WorldGuard提供基础的箱子保护服务,
玩家可以通过在箱子下方放置特殊字符的牌子来达到保护的目的。
我们不建议新设置的WorldGuard使用本功能因为本功能并不是WorldGuard常用的一部分
除此以外,区域设置是比本功能更好的保护拥有者财产的方法。
因为它不涉及像漏斗一类方块的问题。


提示:
如果你是希望保护单块的方块,箱子等,
我们建议使用第三方保护插件。
例如Lockette 或者 LWC.   


启用此功能:
首先箱子保护功能必须在配置文件中启用。
如果没有手动启用,箱子保护功能不会自动工作
这时不能使用牌子锁功能。(此项功能也可在配置文件中禁用)

使用方法:注:不可将其他玩家名字放在第二行的位置
提示:WorldGuard功能并不支持UUID功能
警告:由于Minecraft1.8版本的改变
从旧版本升级将会破坏掉所有的保护牌子
实际上它将破坏全部写有[]的牌子

OAO_miao
本帖最后由 OAO_miao 于 2016-1-5 20:20 编辑

我来搬运一下黑名单部分的内容~

黑名单

worldguard黑名单可以指定玩家进行某些动作时的处理方法

比如:

下面是一个黑名单的例子:

  1. # 除admins,mods组以外 禁止使用岩浆桶 并向使用者发送自定义提示消息
  2. [lavabucket]
  3. ignore-groups=admins,mods
  4. on-use=deny,tell
  5. message=不可以使用岩浆桶呢喵!

  6. # 禁止挖掉铁矿和金矿并提示默认消息 同时通知在线管理员
  7. [goldore,ironore]
  8. ignore-groups=admins
  9. on-break=deny,tell,notify

  10. # 除admins组外禁止放置tnt 放置时会通知管理员并且踢出去
  11. [tnt]
  12. ignore-groups=admins
  13. on-place=deny,notify,kick
复制代码

黑名单配置文件

黑名单的配置文件保存在plugins\WorldGuard\worlds下面,每个世界都有单独的配置文件
例子:

**提示**
worldguard不支持多个世界共用同一个黑名单配置文件,但是你可以利用文件系统的“链接”实现。
注意:编辑黑名单后需要用/wg reload重新加载才能生效
格式
  1. [物品或方块列表]
  2. 事件=操作
  3. 选项=值
复制代码

匹配规则

物品/方块列表可以填写数字id或bukkit的材料名(可参考 https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
多个项目之间用半角逗号分隔
[wood,brick,glass]
还可以指定数据值如白桦木:
[17:1]
白桦木和丛林木:
[17:1;3]
指定数据值范围
[wood:2-3]
[wood:>=2,<=3]
这些写法是可以混合使用的
[wood:0;>=2,grass:1-2]

事件


Event
Explanation
on-break
打破方块
on-destroy-with
用此物品打破方块
on-place
放置方块
on-use
使用
on-interact
交互,如右键门、拉杆箱子
on-drop
丢弃特定物品
on-acquire
获得物品
on-dispense
针对发射器,发射特定物品

操作


Action
Explanation
deny
阻止操作 (黑名单模式)
allow
允许操作(仅白名单模式)
notify
发送通知消息给有worldguard.notify权限的人
log
记录日志到终端、日志文件、数据库。
tell
给玩家一个提示消息
kick
踢出玩家
ban
将玩家ban掉(永久的。。)

选项


Option
Explanation
ignore-groups
忽略特定权限组,多个组用半角逗号分隔
ignore-perms
忽略有特定权限的玩家,多个权限同样是用逗号分隔
comment
自定义通知消息
message
自定义tell的消息,可用%s表示相应物品名

再来个例子
  1. #放置和打破信标时通知在线管理员
  2. [beacon]
  3. on-break=notify
  4. on-place=notify
  5. #阻止用钻石镐和金铲子破坏方块
  6. [diamond_pickaxe,284]
  7. on-destroy-with=tell,deny
  8. #阻止使用铁锄、钻石剑耕地和攻击
  9. [iron_hoe,276]
  10. on-use=tell,deny
  11. #阻止与箱子、石头按钮交互
  12. [chest,stone_button]
  13. on-interact=deny,tell
  14. #阻止丢出命令方块
  15. [commandblock]
  16. on-drop=deny,tell
  17. message=不要乱丢命令方块~
  18. #除admins组外 阻止获得基岩
  19. [bedrock]
  20. on-acquire=deny
  21. ignore-groups=admins
  22. #阻止发射器发射岩浆桶和漏斗矿车
  23. [lavabucket,hopper_minecart]
  24. on-dispense=deny,log,notify
  25. [tnt]
  26. on-break=deny,notify,kick
  27. on-use=deny,notify,kick
  28. on-place=deny,ban
  29. on-acquire=deny
复制代码

日志
日志有三种选择

在worldguard配置文件(plugins\WorldGuard\config.yml)中可以对日志文件和数据库进行具体设置。
  1. blacklist:
  2.     use-as-whitelist: false
  3.     logging:
  4.         console:
  5.             enable: true
  6.         database:
  7.             enable: false
  8.             dsn: jdbc:mysql://localhost:3306/minecraft
  9.             user: root
  10.             pass: ''
  11.             table: blacklist_events
  12.         file:
  13.             enable: false
  14.             path: worldguard/logs/%Y-%m-%d.log
  15.             open-files: 10
复制代码

日志文件的路径中可使用以下“变量”:

补充一下,根据worldguard源代码,这个%m对应的是Calendar.MONTH,月的起始是从0开始。。。
平时的1月-12月在这里是0月-11月,也就是看上去差一个月,所以出现如2016-00-05.log这种日志名称也是正常的。
(我觉得这算bug=。=)

数据库
worldguard可以将日志记录进mysql数据库,但需要先创建数据库和表,你可以使用下面的语句创建专用的表
  1. CREATE TABLE IF NOT EXISTS `blacklist_events` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `world` varchar(10) NOT NULL,
  4. `event` varchar(25) NOT NULL,
  5. `player` varchar(16) NOT NULL,
  6. `x` int(11) NOT NULL,
  7. `y` int(11) NOT NULL,
  8. `z` int(11) NOT NULL,
  9. `item` int(11) NOT NULL,
  10. `time` int(11) NOT NULL,
  11. `comment` varchar(255) DEFAULT NULL,
  12. PRIMARY KEY (`id`)
  13. );
复制代码
最后说一下,使用时发现,日志文件功能在某些平台下可能无法正常工作,同时会导致黑名单失效,开启此功能时请务必进行测试。
发射器的部分可能会和其他插件的发射器黑名单冲突导致报错。
(反复编辑了好几次,表格背景色终于正常了)



雪清
本帖最后由 snowclay 于 2015-10-5 20:48 编辑

主机密码(登录密码)
在过去由于Minecraft的登录代码问题,玩家可以登录到服务器的任何玩家包括拥有者和管理者的账号上,
在2010-2013年间,有五次利用该性质的漏洞经常导致成千上万的服务器被黑客攻击。


这项登录密码功能作为一个额外的登录屏障被添加到WorldGuard中。
其工作原理是作为一项额外的屏障来达到此功能,与Mojang的登录无关。
在登录时必须发送指定信息 (通俗的说就是输入你的密码)才能登录服务器。
即使攻击者有能力破坏Minecraft的登录系统来成为一个管理员。
但因在服务器缺少发送指定的信息,经服务器检测后无法活动。

注:这种登录验证方式的漏洞是很不明显的,很少见的。


启用功能:


当一个玩家通过某一个地址连接服务器时,输入play.example.com
Minecraft将会告诉服务器该玩家通过这个地址登录
管理者可以通过一个特殊的秘密语句来登录,
比如secretmod.play.example.com这个地址
服务器将会检测到该管理者登录使用的这个地址。
也就是一个类似密码的机制,不过密码是地址格式。
*粉色字均为示范域名可更改

主机密码允许特定玩家使用特定地址登录,
如果地址错误,他将立即被踢下线


配置:
  1. host-keys:
  2.     your_username: bagels.play.example.com
  3.     moderator1_name: manoverboard.play.example.com
复制代码
提示:主机密码功能暂不支持UUID功能



DNS配置:
为了使此功能工作,你需要bagels.play.example.commanoverboard.play.example.com 指向你的服务
然而不要在您使用的域名中添加域名的记录,因为很容易使得攻击者找出管理员域名从而登录。
*粉色字均为示范域名可更改


相比之下,我们建议您安装通用地址-“wildcard addresses.”。例如设置了play.example.com,
这将意味着任何相同前缀会允许登录。(例如aa.play.example.com,ab.play.example.com,ac.play.example.com,等)。
提示:如果你没有一个域名或不能设置通配符地址,你可以使用xip.io。





lichi2050
本帖最后由 lichi2050 于 2015-10-10 22:06 编辑

<Region数据保存格式>


Region数据都保存在regions.txt内. 打开后首先会有:


  • Region ID
  • Region 类型(type)





Worldguard3.0版本以下的保存方式:
Point 1 X  region坐标
Point 1 Y  
Point 1 Z  
Point 2 X  
Point 2 Y  
Point 2 Z  region坐标
Priority 优先权(请勿设定为0)
List of owners 拥有者列表
List of flags Flags列表(设置过的)
Entry message (进入region提示信息/欢迎语)



Worldguard3.0版本以上的保存方式:
Point 1 X  region坐标
Point 1 Y  
Point 1 Z  
Point 2 X  
Point 2 Y  
Point 2 Z  region坐标

Priority 优先权(请勿设定为0)
ID of parent region 父regionID(设置过子region才会显示)
List of owners 拥有者列表
List of members 会员列表
List of flags Flags列表(设置过的)
Entry message (进入region提示信息/欢迎语)
Exit message (退出region提示信息)




拥有者以及会员数据保存方式:
u: 玩家名称
g: region权限组

例如
u:sk89q,u:tetsu,g:admins




意思就是sk89q以及tetsu这两个玩家都在admins组内。


Flags数据保存方式:
每一个flag都会有一个特殊的字母,例如Build就是b,通过一个+或者-我们能够查看这个flag的状态
+就是启动
-就是关闭/禁止
如果没有+或- 那么代表这个flag默认就是启动的
例如
+bpmc-t-l-f-F
Flag 名称 代表字母
Passthrough z
Build b
PvP p
Mob damage m
Creeper explosion c
TNT t
Flint and steel l
Fire spread f
Lava fire spread F




1814209846
原来WORLDGUARD这么牛逼
顶一个

蒙蒙哒
介绍挺长的。。。

Matt_V5
有一句指令写错了。。。

Matt_V5
3.添加成员/会员以及删除

/region addmember <region_名称> [会员1] [会员2] [会员3] (…….)
例如
/region addmember Mcbbs Lichi2050
意思就是在Mcbbs这个region内,玩家Lichi2050也就是我,可以破坏(默认没有修改破坏flag时都有效)。

删除也是原理,只不过指令稍微改变了一下
/region remember <region_名称> [会员1] [会员2] [会员3] (…….)


删除应该是/region remmember <region_名称> [会员1] [会员2] [会员3] (…….)

Matt_V5
Matt_V5 发表于 2015-10-19 08:08
删除应该是/region remmember  [会员1] [会员2] [会员3] (…….)

奇怪,我这里是不对的。。不知道谁的锅

ju哌y
良心发帖,对插件解析的很透彻,各方面都考虑了,赞

YueHaxgu
有些插件有忽略了好像=- -

10123482
wg能防无限物品 很重要

10123482
这插件名气不太响亮

cqwlxxl
楼主你好 请问flag怎么设置让玩家在领地区域能使用音符盒之类的 总是提示不能在该区域使用,但是加了USE的flag的,但是只能使用门之类的,音符盒还有其他MOD比如NPC就不能交互之类的

AWMheibang
有点晕啊 QQ809589160 可否教一下啊

a312586997
但是粘液活塞在这个区域里还是默认不能使用,即使是把pistons允许了,还是说我这个插件版本的bug

117779284
辛苦了。
这个插件没有汉化。所以难以得到推广·

Dante_7
最重要的doc挂了,23333

xiangjie

18820649703
请问帅哥我弄了很久我还是弄不了怎么允许插件生成怪物!求教谢谢!
/rg flag zc block-plugin-spawning allow
结果说未知权限!

cc7w
本帖最后由 1345979462 于 2016-9-1 18:57 编辑

lichi酱 百科的那个是旧版的了
作者发布了最新的WIKI
于是我把百科编辑掉了同时我也发了一个翻译&WIKI的帖子
介意否?
<3

zhu1040734187
找这个教程找了好久,终于找到了,谢谢楼主,万分感谢。

18820649703
请问,活塞能动但是不能推方块为什么?权限我找不到,还是没有这个权限!

MC——1037
好多英文- -

BenLi豪
我去,终于找到了原来在最顶,这个插件好多东西,谢谢写教程

星际要塞

楼主你好 请问flag怎么设置让玩家在领地区域能使用音符盒之类的 总是提示不能在该区域使用,但是加了USE的flag的,但是只能使用门之类的,音符盒还有其他MOD比如NPC就不能交互之类的

982939342
插件名字不太响亮啊

丶MOAN
我想使一个区域对特定权限组开放拆除权限
what should i do?

@TGL
能设置聊天时显示所在区域吗

qwer1515242280
我就想在死亡不掉落的世界里面弄特定地方死亡掉落 应该用什么插件

栗籽i
安装插件后无法破坏方块,如何解决?

hockey7ld
好详细的介绍跟教程,赞!!

2983371044
怎么完正版

xc87
有个问题,区域中可以杀死怪物,但不可以杀死动物,我找flag没有找到这个项目,请问该如何做,可以在区域内杀死动物。

lichi2050
xc87 发表于 2017-10-15 16:00
有个问题,区域中可以杀死怪物,但不可以杀死动物,我找flag没有找到这个项目,请问该如何做,可以在区域内 ...

是俺当年忘记写清楚了 上面我不是写了“总共有67个flag可设定(有几个在5.X版本内无法使用,我会在WG6内重新介绍)”
其实吧 在WG6里面 总共有76个flag ← 没错就是76个
damage-animals 就是你需要的 是否可以对动物造成伤害 (XD实在是懒的更新啊 毕竟WG6内容是我这里的几乎1.5倍啊)


2781215417
snowclay 发表于 2015-10-5 13:46
主机密码(登录密码)

6666666666666666666666牛逼

晓峰丶NgOd
如何用WG圈不规则形状的领地

luenlin

1723624171
这是个很好的创世神教程,感想楼主分享

RearLyn
大佬我问个问题 怎么让图片中的权限开启 不然打不了NPC


1723624171
这个教程很好,感谢分享

㊣qilunuo
怎么可以不限制骨粉使用啊 大哥

空。
这插件名字讲究的很

星空幻梦
RearLyn 发表于 2018-12-3 21:55
大佬我问个问题 怎么让图片中的权限开启 不然打不了NPC

http://www.mcbbs.net/thread-840517-1-1.html看一看这个

RearLyn
2745398905 发表于 2019-5-14 20:45
http://www.mcbbs.net/thread-840517-1-1.html看一看这个

去年的问题...不过已经解决了   但还是感谢你的回复!

yuen27787231
這個真的是最佳的地區保護插件 選項很多 很多都能自定

2593304689
问一下怎么关闭pvp和建造方块那些的提示信息我汉化不了内核然后英语菜的一批还瞎找不到这个设定

xiaoming_ai
1.7.10给了use权限npc使用不了

第一页 上一页 下一页 最后一页