我的世界1.18.2-1.5.2 WorldGuard 插件

插件介绍

WorldGuard 插件是一款对服务器管理员,地图制作者,生存服务器等提供许多功能的一个插件。

特点

  • 在你创造区域后,只会允许有权限的玩家和一些插件去改变区域。
  • 你可以在你的区域里设置一些标记,如(取消 凋零伤害 掉落伤害 等)
  • 同时在特殊的世界的区域中你也可以改变一些标记,如(饱食度回复 生命值回复 PVP的开关 TNT 怪物伤害)
  • 黑名单包括了玩家不能使用的物品和方块
  • 可以记录服务器的统计和信息 (/wg report -p)
  • 可以管理服务器的CPU(/wg profile -p)
  • 增加例如停止所有火焰传播的指令 “STOP ALL FIRE SPREAD” .
  • 可以与其他的Bukkit插件进行交我的世界【】插件
  • 保护与防止许多事件 (树长大 TNT爆炸 药水机器 等)
  • 某些触发事件也可以修改 (门 拉杆 等)
  • 开源,是Minecraft的最老的插件之一(比Bukkit还老)
  • 启用你想要的特性!默认所有都是关闭的。你可以先安装WG,然后再配置它。

配置

许多WG的特性都与配置相关(如药水,水中呼吸等模式)。每个配置选项都在这页列出了。

在你第一次运行WG的时候,主配置在plugins/WorldGuard/

  • config.yml

每个世界都有特殊的配置文件

  • worlds/world/config.yml
  • worlds/world_nether/config.yml
  • worlds/mining_world/config.yml

如果你打开了每个世界的配置文件,他们会是空的,如果你想要配置的话,你需要从主配置复制

示例:如何自定义世界配置
在主世界配置中,你可能把 block-creeper-block-damage 设置为true
mobs:
    block-creeper-explosions: false
    block-creeper-block-damage: true
    block-wither-explosions: false
但你想在地狱世界把其设置为false
打开worlds/world_nether/config.yml
然后添加文本
mobs:
    block-creeper-block-damage: false
这一行会覆盖继承的true,表现为false

设置

这些是作为参考的顺序,并不是真正的顺序,你要现在config.yml找到它们 我的世界【】插件

权限

我的世界【】插件

建筑权限

worldguard.build.block.place.<material>

worldguard.build.block.remove.<material>

worldguard.build.block.interact.<material>

worldguard.build.entity.place.<type>

worldguard.build.entity.remove.<type>

worldguard.build.entity.interact.<type>

worldguard.build.entity.damage.<type>

worldguard.build.item.use.<material>

命令

我的世界【】插件 我的世界【】插件

黑名单

黑名单可以禁止玩家做一些事,这是一些情况:

禁止玩家挖金矿

当找到钻石时通知所有管理员

当放置附魔台时告诉玩家一些事

这是一个示例配置:

# Deny lava buckets
[lavabucket]
ignore-groups=admins,mods
on-use=deny,tell
message=Sorry, you can't use lava buckets!

# Deny some ore
[goldore,ironore]
ignore-groups=admins
on-break=deny,tell,notify

# No TNT!
[tnt]
ignore-groups=admins
on-place=deny,notify,kick

每个世界都会有配置文件

[*]worlds/world/blacklist.txt

[*]worlds/world_nether/blacklist.txt

[*]worlds/mining_world/blacklist.txt

这是格式

[a list of items/blocks to match]
event to watch=what to do
event to watch=what to do
event to watch=what to do
option=value
  1. 是注释行

可以使用ID和名字: [wood,brick,glass]

可以增加数据值: [wood:0]

多个数据值用;隔开 Multiple data values can be matched by separating each one with a semicolon (;): [wood:0;2;3]

也可以用范围: [wood:2-3]

可以用大于等于 小于等于 [wood:>=2,<=3]

你也可以这样: [wood:0;>=2,grass:1-2]

事件

on-break	
on-destroy-with	
on-place	
on-use	
on-interact	
on-drop	
on-acquire	
on-dispense	

行动

deny	
allow	
notify	
log	
tell	
kick	
ban	

选项

ignore-groups	
ignore-perms	
comment	
message	

示例

[lavabucket,waterbucket,bucket]
on-use=deny,tell

[tnt]
ignore-groups=admins
on-place=deny,notify,kick

[obsidian]
ignore-groups=admins,obsidian
on-place=deny,tell
on-break=deny,tell

记录的参数: Console File Database

CONSOLE: 控制台

FILE 文件

%Y the year (YYYY)

%m the month (MM)

%d the day (DD)

%W the week of the year (00-52)

%H 24-hour time (HH)

%h 12-hour time (HH)

%i the minute (mm)

%s the second (ss)

%u the user’s name

%% translates to a single percent sign “%”

可用变量

数据库

示例

CREATE TABLE IF NOT EXISTS `blacklist_events` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `world` varchar(10) NOT NULL,
 `event` varchar(25) NOT NULL,
 `player` varchar(16) NOT NULL,
 `x` int(11) NOT NULL,
 `y` int(11) NOT NULL,
 `z` int(11) NOT NULL,
 `item` int(11) NOT NULL,
 `time` int(11) NOT NULL,
 `comment` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
);

区域

快速开始

选择区域

要创建一个区域,你要告诉WG你的区域范围。WE用于选范围。

区域可以是以下形状:

立方体

多边形

不支持圆!

基础指令

创建区域

使用这个指令创建区域 /region define:

/region define town

/rg和/region是相同的

/rg define town

新的区域默认为禁止玩家破坏方块,为使玩家可以建筑,为区域增加主人和成员,你可以为每个成员增加单独的权限。

所有玩家都可以成为主人或成员,下面是指令:

/rg addmember town Notch sk89q g:builders
/rg addowner town sk89q
/rg removemember town g:builders
/rg removeowner town sk89q

更多请去区域命令页。

你在创建区域的同时也可以很简单的去增加成员:

/rg define town Notch sk89q g:builders

区域会自动保存,不需要保存指令。

示例:创建一个只有builders可以建筑的区域spawn

选择spawn的范围

创建一个叫做spawn的区域: /rg define spawn

增加建筑团队为成员: /rg addmember spawn g:builders

提示:区域会在一定间隔后自动保存,如果你想强制保存,使用/rg save

你可以这样删除区域: /rg remove town

列出区域消息 /rg info town

列出所有区域 /rg list

这样重新选择区域 /rg redefine town

更多请看区域命令

区域的配置

区域的重叠

区域可以互相重叠。

如果重叠的话,玩家必须拥有这些重叠区域的所有建筑权限才能在重叠区域建筑。

如果你想要一个区域覆盖另一个,使用继承。

如果你想要一个区域可以建筑,使用build权限。

如果区域不支持保护这个区域,使用 passthrough 权限。

示例:创建一个重叠于spawn的免费挖矿区域

选择出区域范围

创建区域: /rg define mine

允许破坏: /rg flag mine build allow

权限: 每个区域都有他们的权限,如PVP可以用pvp权限。

/rg flag town pvp deny

阅读区域权限来获取更多信息。

示例:做一个不能破坏方块[建筑者可以] 允许PVP的区域

选择区域范围

创建区域 /rg define arena

允许PVP /rg flag arena pvp allow

因为建筑师们不是区域的一员,所以他们不能建筑,甚至当他们是区域成员时也不行。

但你创建区域的原因是使用PVP权限,所以你可以使用 权限来允许。 /rg flag arena passthrough allow

常见情节 见常见情节页。

区域魔杖

区域魔杖列出当前位置的所有区域。它是一个MC物品,右键来检测。

默认的,这个物品是皮革,但可以在配置中更改。

要使用这个魔杖,需要 worldguard.region.wand 权限

区域标志

我的世界【】插件

优先级与继承

在快速开始中提到,区域可以覆盖。如果要在覆盖的区域内建筑,需要有所有区域的权限。

但有了优先级不同。

优先级

每个区域默认的优先级是0,但它可以更改,大的数字意味着高的优先级。-2147483648 到 2147483647 都可以作为优先级的数字,但你也可以使用 -2, 10, 15, 100.

覆盖的区域中考虑优先级最高的那一个。

在区域中,使用优先级最高的那一个的权限。

使用优先级最高的标志。

这样改变优先级: /rg setpriority example 5

示例:创建一个pub区域,使pub组可以建筑。spawn中builders组已经可以建筑。

选择区域

创建区域: /rg define pub

设置优先级: /rg setpriority pub 10

在PVP区域中创建一个治疗区域。

选择区域

创建区域 /rg define heal

禁止PVP /rg flag heal pvp deny

优先级 /rg setpriority heal 10

继承

在上面说过,创建pub区域你是否想让pub组和builder组都可以建筑?

你可以把builder组加到成员里,但你也可以使用继承。

子区域继承父区域的成员、主人,没有设置的权限

这是为了方便:

大区域中的小区域

创建一个模板

每个区域至多有一个父区域。

使用这个指令: /rg setparent:

/rg setparent 子区域 父区域

移除父区域: /rg setparent 子区域

WG会自动检测继承。

例子:创建一个mall

/rg setparent plot1 mall

/rg setparent plot2 mall

/rg addowner mall g:mall_owners

/rg addowner plot1 sk89q

区域模板

之前提到,因为继承,所以父区域可以作为子区域的模板。

但你可能想要模板不是真正的区域,你不想保护这个区域,做到这个的方法之一是全局区域,使用-g来创建: /rg define -g plot_template

例子:

/rg define -g plot_template

/rg setparent plot1 plot_template

/rg setparent plot2 plot_template

/rg setparent plot_template mall

/rg flag mall chest-access allow

/rg flag plot_template chest-access deny

高优先级的父区域会覆盖子区域。

区域组和覆盖区域

你可能知道,标志可以只对于一些特殊的组有用。

/rg flag mall pvp -g nonmembers deny

当只有一个区域的时候,知道谁是成员谁是主人很清楚。但在覆盖区域中不这样:玩家只是其中一个区域的成员呢?

答案是否定的,玩家必须在标志设置的区域为成员。例如,让我们想象有两个组——

Spawn, 标志 pvp -g nonmembers deny ,没有成员 Market, 成员 “sk89q” sk89q不能PVP因为他不是spawn的一员。

当子区域继承父区域,成员和标志以及主人都会被继承,对于这个是不通用的。

例子:

Market, 标志 pvp -g nonmembers deny 无成员 Shop1, 成员 “sk89q,” 继承Market sk89q是成员吗?是,所以 sk89q 可以PVP

先前提到,父区域的优先级不能比子区域高,否则会覆盖子区域。

全局区域

全局区域是一个特殊的区域:

包括整个世界

有最低的优先级

有一些特殊功能

每个世界都有它的全局区域。但是除了你尝试配置它,全局区域不会创建。

例如,这样会自动创建全局区域。

/rg flag __global__ pvp deny

把全局区域当做一个一直在那儿的区域,在全局区域中的标志在该世界的区域中工作。

但,像普通区域一样,passthrough 区域标志必须设置为allow。把 passthrough 设置为 allow 会让区域成为一个没有保护的区域,所以只要没有区域防止破坏,玩家就可以建筑。

如果你把passthrough标志设置成了deny,会让区域像一个真正的区域一样,玩家必须是主人或成员才能建筑。因为全局区域包括整个世界,所以默认会禁止破坏。

因为全局区域的极低优先级,其他区域会直接覆盖全局区域的标志。

注意 passthrough标志与移动无关,它是建筑权限的缩写。

例子:没有区域的地方无法建筑

/rg flag __global__ passthrough deny

增加主人和成员会把passthrough打开。

建筑标志

建筑标志不能设置成allow,原因是会自动让区域的建筑标志都不工作。把标志设置为deny使它像其他区域一样,但也意味着不能破坏和放置方块。因为全局区域包含整个世界,所以整个世界都不能建筑。

警告: 不建议设置全局区域的build标志。如果你想保护世界,使用 passthrough 标志。如果你设置了全局区域的build标志,其他区域不会覆盖这个标志。

所以,如果你把全局区域的build设置为了deny,无论他们是区域的主人或成员,都不能建筑了。

默认覆盖

WE的标志有一些不同。如 exp-drop 标志如果没有区域设置的话,甚至是成员和主人都不能掉落经验。

如果你想要用把它设置为deny的方式覆盖 exp-drops 标志,使它可以运行,在全局区域上就不会工作。

如你尝试使用 /rg flag __global__ exp-drop -g nonmembers deny但这不会工作。当你指定不是成员时,会指定不是全局区域的成员。所以,如果你制作一个地皮区域,经验不会生成,因为地皮区域的成员不是全局区域的成员。

记住,即使全局区域的优先级是最低的,但区域不会继承,标志不会传播。

这样的话,推荐你创建一个模板区域。见优先级与继承。

区域认领

WG中可以使用区域认领系统。它像 /rg define 一样,但玩家必须有特殊的权限。

这里同时也需要WE来选择区域,所以你需要 worldedit.selection 权限。

玩家可以这样认领选中的区域: /rg claim region_name

当玩家输入指令后,会自动变成区域主人。这需要worldguard.region.claim权限。

规则:

最大的区域数量: 除非有 worldguard.region.unlimited 权限,玩家的区域数不能超过这个数量。

最大区域提及: 除非有 worldguard.region.unlimited 权限,不然体积不能超过配置。

预防覆盖:区域不能使用同名。

预防重叠:区域不能重叠于其他区域。

只能重叠自己的区域: 如果regions.claim-only-inside-existing-regions启用,只能重叠于自己的区域。

这时不支持多边形区域。

你也可以给予玩家其他指令的权限。

存储

区域数据可以这样存储:

YAML 不需要数据库 简单的更改,简单备份,快速读取

MYSQL 使用数据库 保存只更改一部分

注意:其他数据库,如PostgreSQL, SQL Server, SQLite不支持

切换存储:默认是YAML

在配置中 regions.sql.use 可以切换为MYSQL 这会禁用 YAML. 如果你切换至 MySQL, 数据表会自动生成, 当然要为 SQL 用户提供相应权限

警告 强烈建议在你更换数据库之前做备份。

如果你只是简单的切换数据库,你之前所有数据都会丢失。你可以使用你哥简单的指令来切换,你在切换之前和之后都可以使用。

To migrate data, use: /rg migratedb 之前 之后,如要把YAML换成MYSQL 使用 /rg migratedb yaml mysql

请确保目标数据库是空的。

在你更改的时候不要忘记备份。

YAML 在region.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 __global__ use allow

例子:在spawn区域为所有不是成员的玩家锁定物品丢弃和拾取:

/rg flag spawn item-pickup -g nonmembers deny

/rg flag spawn item-drop -g nonmembers deny

例子:为所有地皮的不是成员的玩家锁定经验掉落

/rg flag mall_parent exp-drops -g nonmembers deny

这是错的 /rg flag __global__ exp-drops -g nonmembers deny

这因为区域没有继承全局区域。

方块和实体

一个WG保护区域的重要特性是控制方块和实体,玩家可以成为一个区域的成员,但WG把方块和实体也这样看待,它们也可以成员区域的成员之一。

但是方块和实体不能像玩家一样通过命令加入区域。一个外部的活塞的方块不能进入区域,这就是原因。这是因为那个方块像non-member组,同样的,一些东西也不能改变方块。在区域中的活塞可以推动方块的原因是它像区域的一个成员。

WG同时也尝试检测事件真正的触发器。如一个砂砾在一个被保护区域上空被放置,它会调入被保护区域。WG认为最后生成的方块是由于掉落的砂砾,掉落的砂砾是由于高出的方块砂砾,因为它在区域外,不是区域内的“成员”,所以就会被保护。

当build标志在区域中设置为了deny没有人可以建筑,活塞也不会工作,因为人们不可以建筑,活塞像成员一般,也不会工作。

其他MOD和插件的支持:

一些MOD增加了新的游戏物品,如方块,道具,实体,MOD们需要API。

通常的,BUkkit插件一般会遵循保护插件,但事实不总是这样。有些MOD的支持几乎少的可怜,这些MOD不会遵循其他MOD和插件的保护。

最优保护

要注意的东西

可以改变其他方块和实体的方块和实体

发射弹射物的东西

WG可以在更多方块和实体上去保护。保护会预防左键右键方块和实体。这通常是足够的,因为这是与大多数方块和实体进行交互的唯一方法。

但WG不能保护在客户端上打开GUI的方块和实体,因为他们发送和接收的东西与WG无关。

其实,WG本身有的行动也不能控制,如一些自定义方块和实体。因为MC本身的一些方块也会影响世界,如活塞,但Bukkit组或你正在使用的服务端的维护者注意到这改变了世界,所以WG可以保护它们。

但是MOD的方块和实体不同,所以WG有时不能保护这些。

一些MOD会为了某些效果而虚拟一个玩家。这些玩家的名字基本上都是以MOD名来命名。但是这个消息除了对于识别是哪个MOD造成的,也可以使WG来预防一些行为。

要让MOD在保护的区域中发挥作用,虚拟玩家有特殊权限,这个配置可以在fake-player-build-override修改,这样就不会预防MOD在保护区域中工作了。

弹射物[和一些魔法MOD中的弹射物效果]是作者目前主要关注的问题。这是因为MOD不会提示插件弹射物的发射。

WG有一个工作区 emit-block-use-at-feet 设置,这个设置可以允许你设置一些物品类型,这会假装改变玩家的脚底下的方块。这会防止玩家烧掉他们自己的物品,但玩家不能在区域中使用物品,但在保护区域外,这不会工作

解决方案 如果出问题的是一个Bukkit插件,联系它的作者以增加对于保护插件的支持。这也可以通过使用WG API来解决。

如果出问题的是一个MOD,那你只能联系发布者以获得支持。

修复选择的区域可以:

如果你确信的话,你可以忽略。

你也可以禁用出问题的物品。

常见情节

如何启用红石开关? /rg flag REGION_NAME use allow

/rg flag __global__ use allow

如何让玩家骑马和矿车?

/rg flag REGION_NAME ride allow

/rg flag __global__ ride allow

如何预防在野外建筑?

/rg flag __global__ passthrough deny

怎么让不是成员的玩家不能出去?

/rg addmember example_region sk89q

/rg flag example_region exit -g nonmembers deny

如何让不是成员的玩家只能从一边出去?

设置两个区域

一个与上面相同

一个在区域的一侧,覆盖掉标志。exit=allow.

如何不保护所有附魔台?

在配置中的 interaction-whitelist 设置,加入 enchantment table. 使用Material来获取正确的名字。

怎么允许挖但不会破坏方块?

把 block-break 标志设置为allow:

  • /rg flag mining_area block-break allow

怎么只能破坏一些方块?

对不起,现在不支持。

地皮设置

怎么设置地皮?

你首先要阅读优先级和继承,然后根据例子来创建,

/rg define mall

/rg define shop_template -g

/rg define shop1

/rg define shop2

/rg define shop3

/rg setparent shop_template mall

/rg setparent shop1 shop_template

/rg setparent shop2 shop_template

/rg setparent shop3 shop_template

/rg flag mall use deny

/rg flag shop_template use allow

问题

为什么活塞不工作?

你设置建筑权限了吗?

/rg flag __global__ build

如果你想保护野外,使用这个

/rg flag __global__ passthrough deny

不支持用活塞把一个区域中的方块推到另一个区域中。

为什么其他MOD的一些物品被禁用了?

参阅保护什么页面

箱子保护

WG提供了一个基础的自带的箱子保护功能,只需使用特殊的格式。我们不建议新手使用这个部分因为它不是WG一个活跃的部分。此外,WG有特殊的方式使得没法用漏斗从箱子偷东西。

如果你对于这个箱子保护感兴趣的话,我们推荐你使用第三方插件,如 Lockette 和 LWC.

起步

箱子保护必须先在配置中启用。当它被禁用时,箱子保护不会激活,但可以使用牌子锁[这个也可以在配置内禁用]

只要箱子下放一个牌子,就会保护,这个牌子:

必须是个标示牌

必须在箱子下面 (双层箱子需要最少在一个下面)

在第一行写下[Lock]

第二行有玩家的名字

可以在下面2行写下其他玩家的名字

在第二行写下别人的名字是不允许的

注意

WG中的箱子保护不支持UUID

警告

因为1.8的改变,把其他版本的箱子锁升级到1.8会破坏所有牌子。[其实是会破坏带有 [ ] 的牌子]

插件图片

图片[7] - 我的世界1.18.2-1.5.2 WorldGuard 插件 - 趣看游戏仓库 - 趣看游戏仓库

插件使用方法

  1. 首先你需要一个非我的世界官方服务器的服务端,如bukkit,cb,cauldron等并选择对应版本。
  2. 如果你使用的是非整合包(单独服务器核心文件+启动器文件),你需要启动一次服务器然后关闭,如果使用的是整合包,请直接找到plugins文件夹
  3. 点击plugins文件夹,进入后把所有jar格式的插件放入这个文件夹,之后启动服务器即可
  4. 注意事项:插件文件夹只能放明确说明是插件的jar文件,不支持任何其他格式以及mod,mod请放入可能存在的mods文件夹。

插件下载

我的世界1.18.2-1.5.2 WorldGuard 插件 - 趣看游戏仓库
我的世界1.18.2-1.5.2 WorldGuard 插件
此内容为付费资源,请付费后查看
20积分
付费资源
已售 45
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享