我的世界WorldGuard插件区域操作教程
默认的,这个物品是皮革,但可以在配置中更改。
要使用这个魔杖,需要 ..wand 权限
区域标志
优先级与继承
在快速开始中提到,区域可以覆盖。如果要在覆盖的区域内建筑,需要有所有区域的权限。
但有了优先级不同。
优先级
每个区域默认的优先级是0,但它可以更改,大的数字意味着高的优先级。- 到 都可以作为优先级的数字,但你也可以使用 -2, 10, 15, 100.
覆盖的区域中考虑优先级最高的那一个。
在区域中,使用优先级最高的那一个的权限。
使用优先级最高的标志。
这样改变优先级: /rg 5
示例:创建一个pub区域,使pub组可以建筑。spawn中组已经可以建筑。
选择区域
创建区域: /rg pub
设置优先级: /rg pub 10
在PVP区域中创建一个治疗区域。
选择区域
创建区域 /rg heal
禁止PVP /rg flag heal pvp deny
优先级 /rg heal 10
继承
在上面说过,创建pub区域你是否想让pub组和组都可以建筑?
你可以把组加到成员里,但你也可以使用继承。
子区域继承父区域的成员、主人,没有设置的权限
这是为了方便:
大区域中的小区域
创建一个模板
每个区域至多有一个父区域。
使用这个指令: /rg :
/rg 子区域 父区域
移除父区域: /rg 子区域
WG会自动检测继承。
例子:创建一个mall
/rg plot1 mall
/rg plot2 mall
/rg mall g:
/rg plot1 sk89q
区域模板
之前提到,因为继承,所以父区域可以作为子区域的模板。
但你可能想要模板不是真正的区域,你不想保护这个区域,做到这个的方法之一是全局区域,使用-g来创建: /rg -g
例子:
/rg -g
/rg plot1
/rg plot2
/rg mall
/rg flag mall chest- allow
/rg flag chest- deny
高优先级的父区域会覆盖子区域。
区域组和覆盖区域
你可能知道,标志可以只对于一些特殊的组有用。
/rg flag mall pvp -g deny
当只有一个区域的时候,知道谁是成员谁是主人很清楚。但在覆盖区域中不这样:玩家只是其中一个区域的成员呢?
答案是否定的,玩家必须在标志设置的区域为成员。例如,让我们想象有两个组——
Spawn, 标志 pvp -g deny ,没有成员 , 成员 “sk89q” sk89q不能PVP因为他不是spawn的一员。
当子区域继承父区域,成员和标志以及主人都会被继承,对于这个是不通用的。
例子:
, 标志 pvp -g deny 无成员 Shop1, 成员 “sk89q,” 继承 sk89q是成员吗?是,所以 sk89q 可以PVP
先前提到,父区域的优先级不能比子区域高,否则会覆盖子区域。
全局区域
全局区域是一个特殊的区域:
包括整个世界
有最低的优先级
有一些特殊功能
每个世界都有它的全局区域。但是除了你尝试配置它,全局区域不会创建。
例如,这样会自动创建全局区域。
/rg flag pvp deny
把全局区域当做一个一直在那儿的区域,在全局区域中的标志在该世界的区域中工作。
但,像普通区域一样, 区域标志必须设置为allow。把 设置为 allow 会让区域成为一个没有保护的区域,所以只要没有区域防止破坏,玩家就可以建筑。
如果你把标志设置成了deny,会让区域像一个真正的区域一样,玩家必须是主人或成员才能建筑。因为全局区域包括整个世界,所以默认会禁止破坏。
因为全局区域的极低优先级,其他区域会直接覆盖全局区域的标志。
注意 标志与移动无关,它是建筑权限的缩写。
例子:没有区域的地方无法建筑
/rg flag deny
增加主人和成员会把打开。
建筑标志
建筑标志不能设置成allow,原因是会自动让区域的建筑标志都不工作。把标志设置为deny使它像其他区域一样,但也意味着不能破坏和放置方块。因为全局区域包含整个世界,所以整个世界都不能建筑。
警告: 不建议设置全局区域的build标志。如果你想保护世界,使用 标志。如果你设置了全局区域的build标志,其他区域不会覆盖这个标志。
所以,如果你把全局区域的build设置为了deny,无论他们是区域的主人或成员,都不能建筑了。
默认覆盖
WE的标志有一些不同。如 exp-drop 标志如果没有区域设置的话,甚至是成员和主人都不能掉落经验。
如果你想要用把它设置为deny的方式覆盖 exp-drops 标志,使它可以运行,在全局区域上就不会工作。
如你尝试使用 /rg flag exp-drop -g deny但这不会工作。当你指定不是成员时,会指定不是全局区域的成员。所以,如果你制作一个地皮区域,经验不会生成,因为地皮区域的成员不是全局区域的成员。
记住,即使全局区域的优先级是最低的,但区域不会继承,标志不会传播。
这样的话,推荐你创建一个模板区域。见优先级与继承。
区域认领
WG中可以使用区域认领系统。它像 /rg 一样,但玩家必须有特殊的权限。
这里同时也需要WE来选择区域,所以你需要 . 权限。
玩家可以这样认领选中的区域: /rg claim
当玩家输入指令后,会自动变成区域主人。这需要..claim权限。
规则:
最大的区域数量: 除非有 .. 权限,玩家的区域数不能超过这个数量。
最大区域提及: 除非有 .. 权限,不然体积不能超过配置。
预防覆盖:区域不能使用同名。
预防重叠:区域不能重叠于其他区域。
只能重叠自己的区域: 如果.claim-only---启用,只能重叠于自己的区域。
这时不支持多边形区域。
你也可以给予玩家其他指令的权限。
存储
区域数据可以这样存储:
YAML 不需要数据库 简单的更改,简单备份,快速读取
MYSQL 使用数据库 保存只更改一部分
注意:其他数据库,如, SQL , 不支持
切换存储:默认是YAML
在配置中 .sql.use 可以切换为MYSQL 这会禁用 YAML. 如果你切换至 MySQL, 数据表会自动生成, 当然要为 SQL 用户提供相应权限
警告 强烈建议在你更换数据库之前做备份。
如果你只是简单的切换数据库,你之前所有数据都会丢失。你可以使用你哥简单的指令来切换,你在切换之前和之后都可以使用。
To data, use: /rg 之前 之后,如要把YAML换成MYSQL 使用 /rg yaml mysql
请确保目标数据库是空的。
在你更改的时候不要忘记备份。
YAML 在.yml中,每个世界下都有。 可以使用/rg load来读取。
这是个示例:
regions: test: min: {x: 1730.0, y: 0.0, z: -169.0} max: {x: 1742.0, y: 255.0, z: -158.0} members: players: [bobby] unique-ids: [0ea8eca3-dbf6-47cc-9d1a-c64551ca975c] flags: {use: allow, greeting: Welcome!, pvp: allow, pvp-group: MEMBERS} owners: groups: [admins] type: cuboid priority: 4 __global__: members: {} flags: {} owners: {} type: global priority: 0
UUID经常使用
MySQL 只有一个服务器可以使用MYSQL 前缀可以更改 如果有错误发生会回档 默认WG只会记录更改 这个是讲解
Table Purpose region Region data, with shape, priority, and parent information. region_cuboid Data for cuboid regions, with bounds. region_poly2d Data for polygonal regions, with minimumum and maximum Y values. region_poly2d_point Individual rows for points of polygonal regions. region_flag Per-region flag data. region_players List of players on regions. region_groups List of groups on regions. world Normalizes worlds into a world ID. user Normalizes users into a user ID. group Normalizes groups into a group ID. Each user row will either have a UUID or name set.
不推荐在运行的服务器上修改MYSQL。经常会导致出错。
保护功能的使用
保护是综合性的:
可以保护方块的破坏和放置,物品栏的打开,外部TNT的爆炸,外部重力方块的掉落,外部植物的生长,牌子的切换,作物的踩踏,画和展示框,红石触发机关,动物,喷溅药水和弹射物。
其实,WG也支持一些MOD物品的保护。
水和岩浆的流动在配置中默认禁止,可以打开。
如果你找到了破坏的方式,请汇报BUG。
例外 一些标志会自动为不是成员的人关闭
如物品掉落和物品拾取。
经验值也不允许掉落。
这些可以通过区域标志来移除。
但是漏斗不行。漏斗会自动吸取区域下部箱子的物品,所以不要把区域箱子放在下部。这不能被更改。
其实例外可以对每个区域都增加,也可以用触发白名单在全局区域开启。
例子:在保护的区域中允许任何人使用红石机关:
/rg flag use allow
例子:在spawn区域为所有不是成员的玩家锁定物品丢弃和拾取:
/rg flag spawn item- -g deny
/rg flag spawn item-drop -g deny
例子:为所有地皮的不是成员的玩家锁定经验掉落
/rg flag exp-drops -g deny
这是错的 /rg flag exp-drops -g deny
这因为区域没有继承全局区域。
方块和实体
一个WG保护区域的重要特性是控制方块和实体,玩家可以成为一个区域的成员,但WG把方块和实体也这样看待,它们也可以成员区域的成员之一。
但是方块和实体不能像玩家一样通过命令加入区域。一个外部的活塞的方块不能进入区域,这就是原因。这是因为那个方块像non-组,同样的,一些东西也不能改变方块。在区域中的活塞可以推动方块的原因是它像区域的一个成员。
WG同时也尝试检测事件真正的触发器。如一个砂砾在一个被保护区域上空被放置,它会调入被保护区域。WG认为最后生成的方块是由于掉落的砂砾,掉落的砂砾是由于高出的方块砂砾,因为它在区域外,不是区域内的“成员”,所以就会被保护。
当build标志在区域中设置为了deny没有人可以建筑,活塞也不会工作,因为人们不可以建筑,活塞像成员一般,也不会工作。
其他MOD和插件的支持:
一些MOD增加了新的游戏物品,如方块,道具,实体,MOD们需要API。
通常的,插件一般会遵循保护插件,但事实不总是这样。有些MOD的支持几乎少的可怜,这些MOD不会遵循其他MOD和插件的保护。
最优保护
要注意的东西
可以改变其他方块和实体的方块和实体
发射弹射物的东西
WG可以在更多方块和实体上去保护。保护会预防左键右键方块和实体。这通常是足够的,因为这是与大多数方块和实体进行交互的唯一方法。
但WG不能保护在客户端上打开GUI的方块和实体,因为他们发送和接收的东西与WG无关。
其实,WG本身有的行动也不能控制,如一些自定义方块和实体。因为MC本身的一些方块也会影响世界,如活塞,但组或你正在使用的服务端的维护者注意到这改变了世界,所以WG可以保护它们。
但是MOD的方块和实体不同,所以WG有时不能保护这些。
一些MOD会为了某些效果而虚拟一个玩家。这些玩家的名字基本上都是以MOD名来命名。但是这个消息除了对于识别是哪个MOD造成的,也可以使WG来预防一些行为。
要让MOD在保护的区域中发挥作用,虚拟玩家有特殊权限,这个配置可以在fake--build-修改,这样就不会预防MOD在保护区域中工作了。
弹射物[和一些魔法MOD中的弹射物效果]是作者目前主要关注的问题。这是因为MOD不会提示插件弹射物的发射。
WG有一个工作区 emit-block-use-at-feet 设置,这个设置可以允许你设置一些物品类型,这会假装改变玩家的脚底下的方块。这会防止玩家烧掉他们自己的物品,但玩家不能在区域中使用物品,但在保护区域外,这不会工作
解决方案 如果出问题的是一个插件,联系它的作者以增加对于保护插件的支持。这也可以通过使用WG API来解决。
如果出问题的是一个MOD,那你只能联系发布者以获得支持。
修复选择的区域可以:
如果你确信的话,你可以忽略。
你也可以禁用出问题的物品。
常见情节
如何启用红石开关? /rg flag use allow
/rg flag use allow
如何让玩家骑马和矿车?
/rg flag ride allow
/rg flag ride allow
如何预防在野外建筑?
/rg flag deny
怎么让不是成员的玩家不能出去?
/rg sk89q
/rg flag exit -g deny
如何让不是成员的玩家只能从一边出去?
设置两个区域
一个与上面相同
一个在区域的一侧,覆盖掉标志。exit=allow.
如何不保护所有附魔台?
在配置中的 - 设置,加入 table. 使用来获取正确的名字。
怎么允许挖但不会破坏方块?
把 block-break 标志设置为allow:
怎么只能破坏一些方块?
对不起,现在不支持。
地皮设置
怎么设置地皮?
你首先要阅读优先级和继承,然后根据例子来创建,
/rg mall
/rg -g
/rg shop1
/rg shop2
/rg shop3
/rg mall
/rg shop1
/rg shop2
/rg shop3
/rg flag mall use deny
/rg flag use allow
问题
为什么活塞不工作?
你设置建筑权限了吗?
/rg flag build
如果你想保护野外,使用这个
/rg flag deny
不支持用活塞把一个区域中的方块推到另一个区域中。
为什么其他MOD的一些物品被禁用了?
参阅保护什么页面