• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

Multiverse-Core

来自Minecraft插件百科
C7w留言 | 贡献2017年7月5日 (三) 06:30的版本 →‎已知问题
跳转到导航 跳转到搜索
Multiverse-Core
外文名Multiverse-Core
作者MultiverseTeam
插件类型Spigot / CraftBukkit
最新版本2.5-b717
兼容服务端1.9
源地址http://dev.bukkit.org/bukkit-plugins/Multiverse-Core

基础

安装

欢迎。我们很高兴你能够来查看我们卑微简陋的Wiki页面。

这里是非常简单的安装指南,并没有任何其他的东西!

要想查看英文语言的视频教程请查看[这里],感谢 Koz4Christ 的贡献。

要想查看西班牙语的视频教程请查看[这里],感谢 LastWishSpain 的贡献。

※※ 在你安装多世界插件之前,你需要做一些准备工作。

※※※ 这取决于你正在运行服务器的 CraftBukkit 的构建版本。

你需要挑选符合版本的 Multiverse 插件。

详情请去[这里]选择。

要想弄清你服务端的版本,去你的控制台(或游戏内)输入 version (在游戏中请输入 /version)。

你能够看到一条类似于下面的消息。

...

XX:XX:XX [INFO] This server is running Craftbukkit version git-Bukkit-1.1-R1-b1818jnks (MC: 1.1) (Implementing API version 1.1-R1)

...


仔细看第一行,在最末尾你能够看到——

Implementing API version 1.1-R1

这告诉你你的Bukkit的版本。

如果你看到了 1.1-R1 这种,你的版本就是正式版

如果你看到了 1.1-R1-SNAPSHOT 这种,你的版本是开发版本。

这样,你就能得到你的 CraftBukkit 版本了,将其与上面的网页中的文件对应。

※※※可选项:我们强烈推荐你安装一个权限插件。

我们测试时使用的权限插件是 [PermissionsBukkit] ,但你可可以使用执行 SuperPerms API 的权限插件,这儿列出了一些——

后面的向导能够帮助你设置权限,但你现在也可以去下面看一看。

第一步

抓取你的Jar文件,你可以从[这儿]获得正式版的 Multiverse-Core Jar 文件,或者从[这儿]获取开发构建版本。

当前你不能获取Zip压缩文件。

Multiverse-Core(以及所有 MV 系列的插件)都会在第一次运行时创建默认的配置文件。

※可选项:安装 [多世界传送门] 与 [多世界地狱传送门] 插件!

将 Jar 文件放在你的插件文件夹里,就像这样:

第二步

开启你的服务器,然后就没了——我很认真的。

基础教程

  • [安装]或[升级] Multiverse-Core
  • 如果你之前从未用过 Multiverse 的话你应该去看下[基础教程]
  • 了解一些常见的问答([FAQ])
  • 了解怎么使用 MV2 的[权限]
  • 想要[帮助我们]?了解合并请求与怎么写帮助文档!
  • 发现Bug?先读读[这个]!

介绍

Multiverse-Core 提供世界的创建功能。

它可以控制怪物的生成,环境的种类,启用自定义的地形生成器,当然功能有更多。

尽管Multiverse-Core能够做到这些,但是请注意Multiverse-Core插件本身是无法创建世界的,它仅仅是调用了Bukkit-API来创建新的世界。

如果同时存在其它能够创建世界的插件,那么就很有可能会与本插件发生冲突。

《盗梦空间》就是一个很好的例子,在冲突的确发生前许多恐怖的故事都已经讲完了。

(很明显地,Multiverse-Core能够与一些插件共存,但与其它插件则不一定兼容。)

另一个警告是,Bukkit仍控制着创建的世界;Multiverse会尽其所能来控制世界的行为,

但最终,其它插件或是Bukkit服务端所发生的意外都有可能覆盖、重置已有的设置。

插件开发与测试者已经完成了包括 Multiverse-Core 工具在内的这些极棒的工作来帮助你快速容易地解决这些问题。

上传已经创建好的世界

如果你是一名服务器的OP,当你在安装 Multiverse-Core 插件后,首次登入游戏时,你将会收到以下的提示信息:

这些信息表明,尽管你可能已经在服务端上传了存档,你也需要将这些世界告知 Multiverse-Core 插件。

这样做的原因是我们不知道你的主世界的类型——普通世界或甚至是漂浮的空岛!

要想告知 Multiverse-Core 插件这些世界,操作很简单。输入:

/mv import WORLD ENV

现在你需要将 WORLD 替换为文件夹的名称,将 ENV 替换为环境类型。

当前可选的环境类型有三种:normal(普通), nether(地狱)和 end(末地)。

如果你忘记了类型的名称,你可以使用 /mv env 来查看这些选项。

这个指令会列出所有可用的环境类型。

大多数服务器会将主世界的文件夹命名为world(即默认)。这里是我输入的一个示例:

你将会看到的结果是:

好了!现在你只需要将你所有的世界重复以上过程即可完成载入。

(不喜欢你的文件夹名称?不需要重命名文件夹,仅仅需要设置 Multiverse 世界别名就好了!)

创建你的第一个世界

现在,你已经导入了你的主世界和地狱世界,但是现在你想要一个创造模式的世界!

世界的创建是一个十分简单的过程,神奇的调用指令如下:

/mv create {NAME} {ENV} -s [SEED] -g [GENERATOR[:ID]]

不要担心这些参数,你只需要知道{}之中的内容是必填的,[]中的内容则是选填的即可。

举个例子,我们输入

/mv create creative NORMAL

这个过程所需要的时间比上传存档要长一些,你可以在服务器的控制台看到整个世界的创建过程。

这个命令创建了一个名为"creative"的世界,整个世界的环境类型为normal(主世界类型)。

如果你很聪明的话,你也可以设置种子,或将世界类型转换为 NETHER(地狱) 或 END(末地) 。

或者如果你真的很聪明的话,你可以找出如何设置地形创建器来创建特别酷的各种地形(如:-g BukkitFullOfMoon)。

让我们暂时不要担心这个问题。

通过这些步骤,你的新世界应该就创建好了。欢呼吧!

※※在你创建世界之后传送到你的世界中吧,那多棒!

但是,你需要知道怎么传送,不是吗?

好的,那也很简单,你只需要输入:

/mv tp testworld

现在你应该已经到达了新世界。

如果你想要带你的朋友过来,并且你的朋友不介意的话,你只需要输入:

/mv tp YOURMATE testworld

设置新世界的出生点

新世界的(0,0)坐标并不总是理想的出生点。

你也不想让玩家在传送到新世界或在新世界重生时就坠入虚空吧?

无论你是走,是爬,还是挖到你想要的新出生点的地方,站在上面,然后输入:

/mv setspawn

即可完成新世界出生点的设置。

就像魔法一样!

回到出生点

哦,不!你在你的新世界中目录了!你需要回到出生点!

很好,那很简单:

/mv spawn

欢呼!欢迎回家!

修改一些参数

嗯,你对苦力怕爆炸造成一些东西的丢失感到很厌烦吗?

或者你想要关闭敌对生物的生成?

没问题!

/mv modify set monsters false

你可以很轻松地修改其他设置(例如关闭动物生成和PvP)

清除怪物以及其它实体

你可能很厌烦大量的动物挡住了去你的建筑的道路。

可能一些愚蠢的OP在你建筑时生成了大量的牛。

没关系!只需要输入以下命令即可清除指定世界的所有动物:

/mv purge testworld animals

你也可以将 testworld 替换为 ALL 来对全部世界执行清理命令。

除了动物,你还可以指定一个列表中的怪物来清除。

列表的各个项之间用逗号分离。

你可以将 animals 替换为 monsters ,或替换为 all ——这会清除所有怪物。

移除你的世界

你对这个世界已经厌烦了!你想放弃它!

好,接下来你就可以摧毁这个世界!

要想摧毁它,请输入:

/mv delete testworld

你有十秒钟的时间来确认这个命令,通过输入以下命令来确认操作:

/mv confirm

记住,一旦确认执行命令,这个世界将会被完全地移除。

完全移除,无法恢复——永远。

使用这个指令要尤其小心了!

总结

以上就是本节的全部内容。

想了解更多进阶的使用方法,请在游戏中输入 /mv 命令或是查看命令参考页面。

这里值得一提的是,我们已经在本教程中讲解了很多冗长的命令。

想要了解某个具体的命令,只需要在游戏中输入:

/COMMAND ?

然后插件将会为你展示该指令的详细内容。

注意:90%的Multiverse命令可以在控制台执行。

只有部分需要指定其它变量的命令才无法在控制台使用,

例如:/mv setspawn(需要脚下方块作为选定点,所以无法在控制台中使用。)

常见问答(FAQ)

Multiverse-Core 插件是什么?

Multiverse-Core 是一款世界管理插件。

这意味着你可以使用它来创建,删除或管理你在 Bukkit 服务器中的不同世界。

查看[基础 Multiverse 教程]来获取简陋的总览!

为什么在插件会以“-Core”结尾?

MultiVerse (注意标志性的 V 已经不在 Multiverse-Core 的插件名中了) 是本插件的旧版本,但是更新了很多。

Multiverse-Core 是 [Multiverse 2 的包]的一部分。

我们决定将 MultiVerse 拆分成[一些小的插件]。

这样做我们是为了避免插件冲突。

例如,如果你,服务器管理员,因为你认为我们的插件很差的话,而想要使用不同种的传送门插件,你可以仅仅安装 [Multiverse-Core] 插件。

MultiVerse 剩下的部分发生了什么呢?

它被分成了一些新插件。详见 [Multiverse 2 的所有插件]。

我不能读取我的空岛世界!

在 Minecraft 1.0.0 中 Mojang 移除了空岛相关的代码,用“末地”章节将其替代。

那包括①漂浮着的空岛地形,②灰色午夜时的天空,③云在Y坐标非常低的时候就生成。

你有两个选择。

选择A:

使用像[SkylandsPlus]这样的地形生成器,这能够让玩家通过创建额外区块来持续探索。

这可能会造成已经探索过的区域的边块撕裂,因为生成器是不同的。

选择B:

如果空岛已经在地图上标了出来,使用像[WorldBoard]这样的世界边界插件来停止世界的扩张。

同时,你需要将你的世界配置更改为 NORMAL 环境类型来代替旧的被移除的 SKYLAND 环境类型。

重新定义你的怪物生成设置来满足你的想法。

如果你想要像原来一样,像[TimeShift]这样的插件也能够帮助你。

又能够分割不同世界物品栏的方法吗?

有的。[Multiverse-Inventories]插件就是为这个目的而设计的。

在使用 MultiInv 后,某个玩家会在某个特殊的世界一直死亡!

去保存玩家数据的地方,将他的生命值设置为一个非0的值。

看起来有能够修复这个的合并请求,在[这儿]。

Multiverse 的消息提示因为不安全,不能带我去某个地方!我知道它是安全的!

有时 Minecraft 会将世界的重生点设置在不能令人接受的位置(例如在地下)并且 Minecraft 服务器会把你带去那儿。

MV2 为你处理了这个事件,所以它不会带你去不安全的位置。

但这也造成了一些冲突。

要想解决它 请遵守以下步骤:

/mvtp myworld

这样会提示 世界不安全

/mvconfirm

不管你传送到了哪儿,你已经在这个世界中了

/mv setspawn

现在重生点已经设置为了可接受的位置了

1.8:怎么让 Multiverse 处理创造模式 ?

Multiverse 在世界的配置中增加了新的配置,mode。

这意味着你能够设置每个世界玩家的游戏模式!

要想将某个世界的游戏模式设置为创造,请输入:

/mvm set mode creative

现在世界就变成创造世界了,任何进入此世界的玩家都会被设置为创造模式。

要想设置回来,你只需要输入:

/mvm set mode survival

请记住 OP 能够在生存模式的世界里通过 /gamemode 命令来切换成创造模式。

所以请只给你信任的玩家 OP !

为什么你不用简单些的传送权限呢?

传送权限已经变得很有用,并且很多人不想让玩家拥有这项权限。

它变得有一点复杂,但能够允许更多灵活的传送。

现在,每个目的地都有两个权限。(列在了[目的地]页面)

你可以给玩家 multiverse.teleport.* 权限来让他们可以全局传送他们自己和其他用户的。

如果你想让他们只能让自己传送的话请给以下权限:

multiverse.teleport.self.*

注意:这跟旧的 multiverse.core.tp.self 权限的效果一样!

这能够解决像“我想让玩家只能传送他们自己,但不能传送其他玩家!那简直是作弊!”之类的问题。

PermissionsBukkit 的权限配置(仅仅作为示例,其他权限插件也可以)

> perm group setperm moderator multiverse.teleport.other.* false
09:56:46 [INFO] Group moderator now has multiverse.teleport.other.* = false.

> perm group setperm moderator multiverse.teleport.self.* true
09:56:47 [INFO] Group moderator now has multiverse.teleport.self.* = true.

> perm group setperm moderator multiverse.teleport.self.pl false
09:56:48 [INFO] Group moderator now has multiverse.teleport.self.pl = false.

当玩家首次登入时,出生点的位置不对!

有些用户报告了一个问题,当他们通过使用 /mv setspawn 来改变服务器的重生点后,当玩家第一次进入游戏时,他们不会去设置过的重生点。

这是 CraftBukkit 服务端的问题 —— 对于新玩家来说,Multiverse 插件设置的重生点不会覆盖默认 Minecraft/Bukkit 的重生点,如果这个Bug无法修复的话,Multiverse也不能解决这个问题 —— 目前来说,我们只能保持现状。

为什么我不能读取版本比 Core 高的其他 Multiverse 插件?

许多人在 Multiverse 插件分成许多小插件后就有了一些问题。

经常地,我们会看到人们尝试去更新不是核心的插件(像 Multiverse-Portals)时,不更新他们的 Multiverse-Core 插件。这会导致以下面字段开头的错误:

2011-11-02 19:29:40 [SEVERE] Could not load 'plugins\Multiverse-Portals.jar' in folder 'plugins': 
java.lang.NoClassDefFoundError: com/onarandombox/MultiverseCore/api/MVPlugin

这说明你需要将你的 Multiverse-Core 插件更新至最新的版本。

即使现在的 Multiverse-Core 版本也能正常使用的话,你也要正常更新。

因为对于新版本的 Portals 或其他 MV 插件来说,他们需要依赖于 Core 插件中最新的特性,所以请确保它们都是最新的。

为什么所有的 Multiverse 的命令都出错了?

我们最新更新了 Multiverse 插件处理命令的资源库。

现在的资源库与其他插件有些联系,包括 OpenWarp, ChatSuite, TeleportSuite,和 Privileges。

如果你使用这些插件之一的话,你也需要将它们更新至最新版本——有时是构建版本——所以资源库能够在所有插件中都正常工作。

大多数情况下如果你看到下列形式的错误信息你就可能有这个问题:

2011-12-19 12:12:34 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'mvtp' in plugin Multiverse-Core v2.2-b418
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:378)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:180)
    at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:550)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Caused by: java.lang.NoSuchMethodError:
com.pneumaticraft.commandhandler.CommandHandler.locateAndRunCommand(Lorg/bukkit/command/CommandSender;Ljava/util/List;Z)Z
    at com.onarandombox.MultiverseCore.MultiverseCore.onCommand(MultiverseCore.java:431)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 14 more

重要的错误信息是 commandhandler 造成的 NoSuchMethodError —— 如果你看到了这个的话,请更新你所有的插件!

当我在调整重生点的时候 Multiverse 让我的服务器崩溃了!快停下来!

最新的构建版本包括停止 Multiverse 插件尝试自动调整重生点的选项,这对于空岛或空地形(NullTerrain)的世界来说是很有帮助的。

创建没有生成调整的新世界需要两部工程:

第一步,使用普通的 mv create 命令创建世界,但在其末尾加上 -n。

对于 NullTerrain 空地形来说,指令看起来会像这样:

mv create empty_world normal -g NullTerrain -n

-g 标志说明 Multiverse 插件应该使用空地形世界创建器,-n标志告诉 Multiverse 插件不要为这个世界调整出生点。

第二部,在世界创建完成后,立刻使用一下命令,来停止 Multiverse 插件未来对重生点的调整。

mvm set adjustspawn false empty_world

这会告诉 Multiverse 插件以后都不要调整重生点,不管是世界读取还是服务器重启。

协管/OP/玩家在切换世界时游戏模式也切换了!

新版的 Multiverse-Core 插件对于防止自动切换游戏模式增加了一条额外的权限,权限是:

mv.bypass.gamemode.WORLD_NAME

拥有这条新权限,服务器拥有者能够让指定的玩家忽略在切换指定世界时切换游戏模式的设置。

例如,一位拥有 mv.bypass.gamemode.* 权限的管理员,可以在生存世界也保持创造模式。

使用你所喜欢的权限管理插件,那很简单的。

你能让每个插件设置在不同世界的启用禁用或分离配置文件吗?

除非 Spigot 服务端大改,不然是不可能的。

插件目前还在服务器的范围,这意味着只要它读取它就对所有世界启用。

每个插件都可以支持多世界功能,有些权限插件甚至可以支持不同世界设置不同权限。

权限

注意:你可以在下面查看完整的 Multiverse-Core 插件命令。

Multiverse 插件支持的权限插件列表

Multiverse 系列插件支持使用 SuperPerms Bukkit Permissions API 的任何权限插件。

当前(最后查阅时间为 2012/1/19)所有支持的权限插件有:

PermissionsBukkit , bPerms , PEX 以及 GroupManager。

Multiverse 进入世界权限

Multiverse 允许你通过权限来控制谁可以进入世界!

当你创建世界或将世界导入 Multiverse-Core 插件时,本插件会自动创建一条权限:

multiverse.access.世界名

如果玩家拥有 multiverse.access.世界名 权限的话,他们就可以进入该世界。

注意:请确保你在你的 Multiverse 插件的 config.yml 配置文件中启用了 enforceaccess 项。

如果 enforceaccess 项被设置为 false 的话,所有人都可以去任何的世界,并且需要权限才能进入指定世界的设定会被忽略。

如果你给某些玩家 multiverse.access.* 权限的话,他们就可以去所有世界。

关于 PermissionsBukkit

[PermissionsBukkit]是一款官方的Bukkit插件,它能够通过使用新的 [Permissions API] 管理权限。

其它的权限插件可能也会合并本 API 来管理你的服务器的权限,但是我们当前测试所用的权限插件是官方的插件([PermissionsBukkit])。

幸运的是,[PermissionsBukkit]插件为其它插件建立的一座桥梁能够让仍然需要 Permissions 2.7/3.1 请求的插件去请求和处理它们。

但对于 Multiverse 2 插件来说你不需要使用这座权限的桥梁。

PermissionsBukkit 插件的 config.yml

注意:这是存在于插件目录 PermissionsBukkit 文件夹下的 config.yml!

在配置文件中设置权限也很简单。

你可能发现它很类似于以前的权限插件。

这是包括一些 Multiverse 2 插件权限的一个示例配置文件:

    users:    
        myplayername:
            permissions:
            groups:
            - admin
    groups:
        default:
            permissions:
                permissions.build: false
                multiverse.core.tp.self: true
        admin:
            permissions:
                permissions.*: true
                multiverse.world.create: true
            inheritance:
            - default
    messages:
        build: '&c你没有权限在这里建筑。'

这样设置以后,所有用户都有权限通过使用 /mvtp 命令传送它们自己,

同时属于 admin 权限组的所有玩家会有创建世界的权限。

注意 admin 权限组拥有 permissions.*: true 配置项,因此在该权限组中的玩家能够在游戏中使用 PermissionsBukkit 插件的命令。

这对于 Multiverse 2 插件来说是尤其有用的。

MV2 的权限

你可以将 multiverse.* 权限给予某玩家来给予他所有 Multiverse 指令的权限。

如果你仅仅想让某玩家能够在各个世界间任意移动不受限制的话,请给他们 multiverse.access.* 权限。

在游戏中设置权限

Multiverse 插件在你没有权限而被禁止使用指令时会提醒你你需要什么权限节点。

有了这个信息提示能够节省你去查阅权限列表的时间,并且允许你立刻就能在游戏中给某个权限组增加权限。

当管理员需要权限时,获取它们是很简单的。

例如你尝试去使用 /mvlist 然后发现你没有权限,然后你就会被提示你需要 multiverse.world.list 权限。键入

/perm group setperm admin multiverse.core.list true

会为管理员权限组增加权限,好了!

现在你就拥有使用该指令的权限了。

MV 有大量的命令和权限,所以以需要使用则添加的原则,在游戏中添加它们有时会更加容易些。

设置 OP 权限

默认地,OP 的所有 Multiverse 权限都被设置为了 true 。

所以想要给予你的管理员多世界的所有权限的话给他们 OP 就好了。

当然,这对于有些人来说可能不是最好的选择。

示例权限访问文字记录

11:18:38 [INFO] [world2]<fernferret> 我没有 multiverse.core.list.worlds 权限,我不能查看世界列表
>perm player setperm fernferret multiverse.core.list.worlds true
11:18:59 [INFO] 玩家 fernferret 现在 multiverse.core.list.worlds 权限已经设置为了 true。
11:19:15 [INFO] [world2]<fernferret> 酷。我能够查看世界列表了,但目前没有世界被列出来。
>perm player setperm fernferret multiverse.access.world true    
11:19:32 [INFO] 玩家 fernferret 现在 multiverse.access.world 权限已经设置为了 true。
11:19:42 [INFO] [world2]<fernferret> 好。现在我能查看世界“world”了。
11:20:08 [INFO] [world2]<fernferret> 但是我不能传送到那里。我没有※任何※ multiverse.teleport.X 权限
>perm player setperm fernferret multiverse.teleport.self.* true 
11:20:26 [INFO] 玩家 fernferret 现在 multiverse.teleport.self.* 权限已经设置为了 true。
11:20:38 [INFO] [world]<fernferret> Woho!现在我在“world”世界中了!
11:20:54 [INFO] [world]<fernferret> 现在我不能再次传送到“world”世界了,我需要 spawn.self 权限……
>perm player setperm fernferret multiverse.core.spawn.self true
11:21:05 [INFO] 玩家 fernferret 现在 multiverse.core.spawn.self 权限已经设置为了 true。
11:21:18 [INFO] [world]<fernferret> 哇!现在我在出生点了!
11:21:31 [INFO] [world]<fernferret> 但我不能回到 world2 世界了……
11:21:34 [INFO] [world]<fernferret> 我需要更多权限!
>perm player setperm fernferret multiverse.access.world2 true  
11:21:44 [INFO] 玩家 fernferret 现在 multiverse.access.world2 权限已经设置为了 true。
11:21:56 [INFO] [world2]<fernferret> 我回来了!!!!!!!world2!!
11:24:05 [INFO] [world2]<fernferret> 嗯好,我没有给我自己额外的传送权限……现在我要测试一下!
11:24:15 [INFO] [world]<fernferret> 哦……
11:24:20 [INFO] [world]<fernferret> 我在地底的某处
11:24:25 [INFO] [world]<fernferret> 额外的权限是很危险的
>perm player setperm fernferret multiverse.teleport.self.e false
11:24:40 [INFO] 玩家 fernferret 现在 multiverse.teleport.self.e 权限已经设置为了 false。
11:24:51 [INFO] [world]<fernferret> 我回到出生点了
11:25:26 [INFO] [world]<fernferret> 好的,我给了我自己额外的false权限。
11:25:36 [INFO] [world]<fernferret> 但它会在父权限之后检查
11:25:48 [INFO] [world]<fernferret> 所以我需要禁止掉我自己的父权限,只给我自己子权限
>perm player setperm fernferret multiverse.teleport.self.* false
11:26:14 [INFO] 玩家 fernferret 现在 has multiverse.teleport.self.* 权限已经设置为了 false。
11:26:24 [INFO] [world]<fernferret> 好的,现在我又没有传送权限了。
11:26:35 [INFO] [world]<fernferret> 现在我给我自己想要的世界和玩家的传送权限
>perm player setperm fernferret multiverse.teleport.self.w true 
11:26:41 [INFO] 玩家 fernferret 现在 multiverse.teleport.self.w 权限已经设置为了 true。
>perm player setperm fernferret multiverse.teleport.self.pl true
11:26:47 [INFO] 玩家 fernferret 现在 multiverse.teleport.self.pl 权限已经设置为了 true。
11:26:55 [INFO] [world]<fernferret> 哦,Cannon!Cannon是极棒的!
>perm player setperm fernferret multiverse.teleport.self.ca true
11:27:00 [INFO] 玩家 fernferret 现在 multiverse.teleport.self.ca 权限已经设置为了 true。
11:27:15 [INFO] [world]<fernferret> Weeeeeeeeeeeee~ (发射出Cannon)

进阶

附属插件

为什么将 Multiverse 插件做成系列?

我们决定将 Multiverse 插件分成多部分有很多原因,最简单的就是为了开发。

确定某个插件中的错误这样来说更简单,因为代码行数减少了。

Multiverse-Core

[Multiverse-Core] 是基础插件。下面的其它插件都必须需要 Core 。

本插件能够让你:

  • 创建/修改/删除世界
  • 传送到世界中
  • 通过权限限制在世界间切换
  • 查看某人在哪个世界中

Multiverse-Portals

[Multiverse-Portals] 是类似于 Multiverse 1 类型的传送门。

如果你使用过它的话,你可能很想要本插件。

它们的大部分是一样的,只是有一些新特性。

本插件能够让你:

  • 创建/修改/删除 Multiverse 类型的传送门
  • 通过权限限制传送门的使用
  • 可以步行或骑着载具在 Multiverse 世界间切换

Multiverse-NetherPortals

[Multiverse-NetherPortals] 起到了 Multiverse 1 插件中 splike 的作用,但改善了许多。

本插件是为了能够让你们有更加真实的体验而设计,允许玩家创建能够带他们去指定世界的地狱传送门。

所有在 X 世界的传送门都会去 Y 世界,但是这可以在游戏中配置。

本插件能够让你:

  • 自定义某个世界中的地狱传送门指向哪个世界
  • 自动连接有特殊命名模型的世界(如 WORLD 和 WORLD_nether)

自定义地形生成器

关于本页

在这儿你能找到已经开源的地形生成器插件列表。

如果没有资源的话,列表中会没有插件。

Github 更推荐用于储存代码。

不要将 Jar 文件的下载放在这儿。

你可以通过使用 BukkitFullOfMoon 模板增加你自己的插件,但是如果你没有发出源码的话,你的插件就会被删除。

本页用插件名的字母顺序排序。

怎么使用Multiverse创建地形

  1. 将地形生成器插件放在你的插件文件夹中
  2. 开启你的服务器
  3. 使用生成命令。你需要检查地形生成器插件是否正确读取,你可以通过使用一下命令,如果它的名字在列表中,证明读取正常:
/mv gens
--- Loaded Generator Plugins ---
CleanroomGenerator SkylandsPlus 
  1. 然后使用创建世界命令使用生成器创建世界
/mv create skyworld2 normal -g CleanroomGenerator
Starting creation of world 'skyworld2'...
Complete!

地形生成器插件列表

已知问题

WorldGuard / CommandBook

配置文件中 exact-spawn: true

会造成玩家死亡后重生在世界的原点

如果你想让玩家复活在你设置的重生点的话,

请在 WorldGuard 与 CommandBook 插件的配置文件中将这两项设置为false。

(在最新的 MULTIVERSE-CORE 插件的构建版本的配置文件中不再有此选项)

默认配置文件

权限

•帮助权限

  multiverse.help——允许拥有该权限的用户使用/mv查看指令帮助


•访问权限

  multiverse.access.NAME——允许拥有该权限的用户去指定的世界
  multiverse.exempt.NAME——允许拥有该权限的用户去指定的世界无需access权限
  mv.bypass.gamemode.NAME- - -允许拥有该权限的用户可以保持模式去往各个世界,如果一个玩家拥有mv.bypass.gamemode.*权限,可以保持他的创造模式去往生存模式的世界.


•传送的权限

  multiverse.teleport.self.NAME——允许拥有该权限的用户可以使用/mv tp [PLAYER] {WORLD}传送自己进入一个指定世界
  multiverse.teleport.other.NAME——允许拥有该权限的用户可以使用/mv tp [PLAYER] {WORLD}传送自己和他人进入一个指定的世界


•信息权限

  multiverse.core.confirm——拥有该权限的用户使用/mv confirm可以确认使用上一个指令
  multiverse.core.coord——拥有该权限的用户可以使用/mv coord显示当前坐标
  multiverse.core.info——拥有该权限的用户可以使用/mv info显示当前世界
  multiverse.core.list.environments——拥有该权限的用户可以使用/mv env显示有效的环境
  multiverse.core.list.who——拥有该权限的用户可以使用/mv who显示目前世界
  multiverse.core.list.worlds——拥有该权限的用户可以使用/mv list显示你可以进入的世界
  multiverse.core.version——允许拥有该权限的用户可以使用/mv version 查看版本信息
  multiverse.core.generator——允许拥有该权限的用户可以使用/mv generators 列出生成器插件

•出生点的权限

  multiverse.core.spawn.other——允许拥有该权限的用户可以使用/mv spawn *把别人传送去出生点
  multiverse.core.spawn.self——允许拥有该权限的用户可以使用/mv spawn 把自己传送去出生点
  multiverse.core.spawn.set——允许拥有该权限的用户可以使用/mv spawn set设置世界的出生点

•编辑世界的权限

  multiverse.core.create——允许拥有该权限的用户可以使用/mv create创建世界
  multiverse.core.delete——允许拥有该权限的用户可以使用/mv delete {WORLD}删除世界
  multiverse.core.load——允许拥有该权限的用户可以使用/mv load加载世界
  multiverse.core.unload——允许拥有该权限的用户可以使用/mv unload {WORLD}暂时卸载世界
  multiverse.core.remove——允许拥有该权限的用户可以使用/mv remove {WORLD}从 Multiverse 中卸载一个世界并移除worlds.yml内相应世界信息, 这个指令不会删除该世界文件夹.
  multiverse.core.import——允许拥有该权限的用户可以使用/mv import转换一个世界为指定类型
  multiverse.core.modify——允许拥有该权限的用户可以使用/mv modify修改世界各个方面的设置
  multiverse.core.modify.add——允许拥有该权限的用户可以使用/mv modify add 添加世界参数
  multiverse.core.modify.clear——允许拥有该权限的用户可以使用/mv modify clear 移除所有设置的值. 设置将在所有包含的列表里生效
  multiverse.core.modify.modify——未知
  multiverse.core.modify.remove——允许拥有该权限的用户可以使用/mv modify remove 移除世界参数
  multiverse.core.modify.set——允许拥有该权限的用户可以使用/mv modify set 设置世界参数
  multiverse.core.purge——允许拥有该权限的用户可以使用/mv purge [WORLD|all] {all|animals|monsters|MOBNAME}从指定世界清除掉指定类型的生物
  multiverse.core.reload——允许拥有该权限的用户可以使用/mv reload重新加载配置文件

•设置的权限

  multiverse.core.config——允许拥有该权限的用户可以使用/mv config 修改全局配置
  multiverse.core.debug——允许拥有该权限的用户可以使用/mv debug切换调试模式
  multiverse.core.silent——允许拥有该权限的用户可以使用/mv silent 切换沉默模式

•有待编辑的权限

  multiverse.core.anchor
  multiverse.core.sleep
  multiverse.core.spout
  multiverse.core.tp.*
  multiverse.core.tp.self

Config

下面是Multiverse-Core(2.9版本)默认Config.yml文件,我们会尽可能地保持和Multiverse-Core更新同步.
  • 首先,请确保你的Multiverse-Core已经是最新版本.
在后台输入这个指令/mv version即会弹出下列数据:

...
XX:XX:XX [INFO] [Multiverse-Core] [Multiverse-Core] Dumping Config Values: (version 2.9)
...

后面显示的,就是你当前Multiverse-Core的正确版本.如果你的版本号与下面例子中的版本(2.9)不一致,请立即更新你的Multiverse-Core
(当然,如果大同小异的话用也没什么不合适)以及所有有关Multiverse的插件.
  • Config.

#这是一个内部设置,请不要动它.
multiverse-configuration:

# 这是一个让Multiverse-Core更加高效运行的设置.请不要动它.
==: com.onarandombox.MultiverseCore.MultiverseCoreConfiguration
# 如果设置为false,那么Multiverse-Core将不会强制管理
# 每个世界的通过权限.(在其它多世界插件范围内)
enforceaccess: 'false'
# 如果这个设置为true,那么Multiverse-Core就会在聊天名称前加上
# 你定义的多彩世界前缀;如果这个设置为空,那么Multiverse-Core就会
# 在聊天名称前加上白色单调的世界前缀;如果这个设置为false,那么
# Multiverse-Core将不会干预聊天窗口.
prefixchat: 'true'
# 如果这个设置为true,那么Multiverse-Core将强制管理每个
# 世界的通过权限.(在所有插件范围内)
teleportintercept: 'true'
# 如果这个设置为true,玩家将会被提示他们可以使用多世界的哪些命令.
# 如果设置为false,他们将不会知道自己能使用什么命令.
displaypermerrors: 'true'
# 如果这个设置为true,将应用Multiverse-Core出生点设置
# 设置为false应用其它出身点管理插件的设置(如果你有的话)
firstspawnoverride: 'true'
# 以下是你想让新玩家出生的世界名.
# 如果这个世界名没有对应文件,将会被自动创建.
firstspawnworld: Lobby_World
# 给玩家发送信息的时间间隔
# 单位:毫秒 - 5000=5秒
messagecooldown: '5000'
# 玩家使用/MVTP时间间隔
# 单位:毫秒 - 1000=1秒
# 如果你上面的'teleportintercept'设置为'true',
# 那么所有插件的TP(例如/tpa)都会受到限制.
teleportcooldown: '1000'
# 调试模式设置.值为0~3
# 除非你是wiki编译者或者插件开发者,否则不要动.
globaldebug: '0'
# 版本号
# 请不要修改这个值
version: '2.9'
# 搜索传送门范围.这是Bukkit服务端原生功能
# 如果设置为true,将允许Multiverse-Core接替Bukkit掌管这一功能
# 并应用自己的搜索半径.如果设置为false,Bukkit就会
# 使用自己的默认搜索半径.
defaultportalsearch: 'false'
# 如果上面的设置为true,就会应用下面这个搜索半径.
# 注意,搜索传送门范围这一功能仅对Vanilla类型的传送门有效.
# 当然也包括支持Multiverse-NetherPortals的传送门.
portalsearchradius: '16'