- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
SkywarsX
外文名 | SkywarsX |
作者 | Wazup92 |
插件类型 | Spigot / CraftBukkit |
最新版本 | 4.0 |
兼容服务端 | 1.7-1.14 |
前置插件 | 无 |
源地址 | http://dev.bukkit.org/bukkit-plugins/SkywarsX |
介绍
一个终极的小游戏!
在一瞬间就可以以最简单的方式创建空岛战争房间!
玩家可通过在GUI商店购买或者在神秘礼盒中解锁新的职业,独特的战前玻璃笼子外观和粒子效果。
想要变强?完成成就吧!升级吧!
你可以创建队伍并与你的朋友一起愉快地游戏!
游戏中阵亡后,可以切换旁观者模式并且观摩你的队友的骚操作。
OP可以删除玩家作弊获得的内容,
这个插件拥有最高的效率!并且可以高度自由定义。
警告
- 这是一个付费插件,在购买这个插件之前,你最好阅览完整个页面的内容。这是怕你在购买了之后又因为没有某个你想要的功能而后悔,给你带来更麻烦的事情。
- 当你购买了这个插件后表明你已经同意了这个插件协议:
不反编译这个插件; 不将插件在未经作者授权的情况下分享给他人。
- 这个插件已经够高度自定义的了,但是没有达到完全自由定义。如果你需要翻译插件里显示的每一行、每一个单词,你要么购买这个插件的源码,要么就走开。
- 你的建议并不一定会被采纳。如果作者感觉你的建议只是出于你的利益考虑,那就不会采纳。所以如果你发表建议了一个内容很多次但却一只不会被采纳,请不要对此生气。
特点
- 你想要创建多少房间就创建多少。
- 插件非常独立自主!可以自行运行。你甚至不需要安装多时间插件!还能跟其它小游戏插件兼容!
- 竞技场可以是单人,双人,多人的。
- 你可以自己单独设置某个房间的药水效果(一加入游戏就能获得某些效果,而且一直保持着)
- 在群组服模式的时候如果子服只有一个房间,所有在群组服里点击到那个子服的玩家都会被强制加入同一个房间中,不能选择。
- 当玩家阵亡时自动切换成旁观者!当然也可以旁观其它已开始游戏的房间。
- 自带经济(金钱)系统,不过可以兼容Vault经济插件。
- 更多玩家加入某个房间的时候,系统会自动缩短开始游戏倒计时。
- 玩家不能打破队友身下的方块(已经设置好玩家不能坑队友)
- 自带防止跑路PVP系统(玩家在被别人打击的时候退出游戏再加入时会被设置为死亡)。
- 用TitleManager(标题管理器)可以自定义并且代替原有的Tab列表和记分板插件。
- 高度自定义箱子随机生成物品及时间间隔。
- 可以自定义添加和减少开局时箱子给玩家的物品。
- 自带排行榜!可以创建随时自动刷新的告示牌排行榜或者悬浮文字排行榜。
- 阵亡后的旁观者可以随时传送到每个玩家身边并且查看他们的背包。
- 可以随时设置某个玩家的经验值和金钱,还可以重置某个玩家的数据。支持操作离线玩家的数据哦!
- 你可以生成一些怪物,不过它们不会攻击你和你的队友。你还可以用装备右键它们来给它们穿上盔甲!
- 自带箱子物品数量和血量上限投票。
- 神奇的回档系统:不会崩服!不会出错!精准回档!
- 一个世界里可以有多个房间。
- 可以用作生存插件或者其它类似的小游戏。
- 游戏结束时赢家头上会放烟花,并且可以在聊天栏中显示获胜者的头像!
- 自带高度自定义的商店!
- 自带成就系统!
- 支持创建自定义的职业,战前玻璃笼,粒子和其它特殊的内容,不管他们是否有权限!
- 可自定义的记分板标题
- 自带世界管理功能:支持导入、创建、删除、传送和列出所有世界。不需要别的插件的支持!甚至可以给你的地图备份!
- 自带一个警告系统,当玩家做的事情给服务器带来异常时,可以将玩家踢出服务器。
- 支持UUID和玩家普通ID。
- 有没有SQL数据库都可以运行。
- 可指定什么时候箱子重置。
- 可存储巨大的玩家信息!从杀人数、金币、赢的次数、死亡数和数据修改次数到破坏方块数、合成数、附魔次数和更多!
- 几乎可以自定义所有显示给玩家的信息,记分板和告示牌都可以自定义文字。
- 自动加入指令可以把玩家放置到当前最佳的游戏房间。
- 自带非常酷的告示牌和玩家排行。
- 自带可自定义玩家内容的基础变量。
- 支持PlaceholderAPI和MVdWPlaceholderAPI插件!
- 非常酷的记分板!
- 自带跟踪器!
- 神秘的礼盒!你可以用一个很低的价格购买神秘的礼盒并获得随机的物品!而且还是可以自由定义的。
- 自带升级系统!你可以设置当玩家到达什么等级时可以执行什么命令,拥有什么权限。
- 轻量级的冷却协调。
- 自带非常酷的GUI界面而且很容易使用。
- 自带广播系统,可以让玩家在游戏过程中看到你的网站。
- 分开的聊天系统!每个房间有每个房间的聊天系统,不会看到别的房间的聊天。
- 可以@人!如果你有权限,你在一句话前面输入@可以全服聊天!
- 自带一个神奇的GUI界面来管理和创造你自己的队伍!队伍拥有的功能庞大。
- 自定义的队伍位置,并且可以限制队伍位置数量和权限。
- 旁观者可以加入其它房间!
- 用一把弓朝一个玩家射箭可以显示那个玩家的剩余血量。
- 自带强大的GUI,可以随时在游戏中、大厅中用背包里的菜单来打开。
- 支持创建悬浮文字统计数据和排行榜!
- 拥有22个默认职业,51个默认战前玻璃笼,50个默认粒子,53个默认成就!
- 支持其它附属插件的加入例如“幸运方块”。
- 精致的,充分设计过的插件,可以同时容纳多名玩家。
- 可以强制开始/停止某个房间,还可以使用一个指令来重载整个服务器。
- 在游戏过程中离开房间的玩家,背包里的物品会掉落在地上。
- 可设置某些房间可以飞行!
- 简单的设计,需要你充分利用GUI界面来操作。
- 你真的想继续读下去吗?作者:我都懒得打那么多字了......这个插件已经包装好了。
配置
配置文件过多。请前往[SkywarsX/配置文件]
指令&权限
统一格式: /指令 -> 权限
- /Skywars | /SW -> 无
- /Skywars join -> 无
- /Skywars leave -> 无
- /Skywars autojoin -> 无
- /Skywars list -> 无
- /Skywars admin -> skywars.admin
- /Skywars setlobby -> skywars.setlobby
- /Skywars wand -> skywars.wand
- /Skywars create -> skywars.create
- /Skywars delete -> skywars.delete
- /Skywars addspawn -> skywars.addspawn
- /Skywars removespawn -> skywars.removespawn
- /Skywars start -> skywars.start
- /Skywars stop -> skywars.stop
- /Skywars setspectators -> skywars.setspectators
- /Skywars coins -> skywars.coins
- /Skywars setmodifier -> skywars.setmodifier
- /Skywars holograms -> skywars.holograms
- /Skywars reset -> skywars.reset
- /Skywars edit -> skywars.edit
- /Skywars editmode -> skywars.editmode
- /Skywars reload -> skywars.reload
- /Skywars updatereigon -> skywars.updateregion
- /Skywars chestmanager -> skywars.chestmanager
- /Skywars worldmanager | wm -> skywars.worldmanager
游戏视频
- 这些是原帖作者给出的游戏视频:
[Gameplay + Romanian Commentary (v1.5)]
教程
安装教程
首先使用/sw setlobby来设置大厅位置,这样玩家使用/sw指令来加入大厅的时候,他们将被传送到那里。
然后你应该创建一些房间。首先使用/sw wand绑定指定的工具,接着用那个工具点击地图周围的两个角。选择好了两个角后,使用/sw create <name> <team size> <min teams> <max teams>指令来创建一个房间。这样就可以创建一个自定义名称的房间了。
队伍规模是指每个队伍的玩家数量,如果它被设置为1,那么就是当前房间在开始倒计时之前每个队伍需要达到的最小玩家数量。Max值是一个队伍最大玩家数量。
现在你可以使用/sw addspawn <arena>指令开始添加玩家出生地点了。请记住,玩家在房间开始游戏之前都是呆在玻璃笼子里的,所以插件会自动生成一个笼子。在添加了出生地点后,你不需要在房间内建造玻璃笼子。
使用/sw edit <arena>指令可以激活房间并更改一些其它的设置。
现在,这个房间已经可以使用了。不过你可以在房间地图中心创建一个中心点,生成更多的箱子及物品在地图中心(好像空岛战争都有这个吧)。如果你需要这样的功能,使用/sw chestmanager create normal <Name>指令创建一个普通箱子,然后插件会为你打开一个GUI界面,你就可以在那个GUI界面中添加箱子里的物品了。点击“保存并应用”创建自定义箱子后,你必须指定哪些箱子在生成的时候会生成那些物品。使用/sw chestmanager tool <Name>指令来设置。执行完这个指令后,插件会给予你一个工具,来点击某些箱子应用你的设置。如果你很懒,你可以用“魔杖”选择之后并且执行/sw chestmanager updateregion <Name>指令,就可以应用你的设置到点击过的箱子了。
如果你想创建一个玩家可以投票的新箱子类型,使用跟上面一样的指令,不过这次不要写是“normal”而是将其命名为你自己想要的名字。/ sw chestmanager create <Name> 来创建一个新的箱子类型,同样有“normal”箱子的功能,您可以自由地在里面添加物品。
例子:当你将“Tier2”等箱子类型添加到“normal”等箱子类型时,你必须给其他类型添加名为“Tier2”的箱子类型。因此,无论哪个类型的箱子获得的玩家投票最多,标有“Tier2”的箱子都会有一个获取物品的地方。
你还可以设置旁观者将被传送的地点。这是可选的,因为如果没有设置,旁观者将会传送到房间的随机位置。要为旁观者设置传送地点,使用/sw setspectors <Arena>指令。
如果你怕出现任何问题导致世界丢失,你可以使用WorldManager来备份你的世界。:)
如果你想让所有玩家在加入服务器的时候自动加入空岛战争房间,你需要在config.yml中启用bungee模式!如果您有bungee cord和大厅插件,这个插件就只会在您的子服上,而不是主服务器上。如果你想用告示牌让玩家从主服务器到空岛战争子服,你就需要有一个插件,比如说TeleportSigns插件。SkywarsX插件将不提供此功能。
告示牌
想要创建空岛战争传送牌,告示牌的第一行必须是[SW]。
想要给大厅创建空岛战争传送牌,告示牌的第二行必须是'join'。
想要给房间创建空岛战争传送牌,告示牌第二行必须是'join', 同时第三行要写房间的名字。
想要创建离开的牌子,告示牌第二行必须是'leave'
想要创建随机加入房间的牌子,告示牌第二行必须是'autojoin'。 这种随机加入房间的牌子第三行可以留空,或者写'Solo'或'Team'。
想要创建排行榜牌子,告示牌第二行必须写'top',然后第三行必须要写数据名称,第四行写要显示第几名!
样例:
[sw] top kills 1
这样会显示杀人数最多的玩家!
如果你想要玩家点击牌子能自己选择数据类型来查看排行榜,告示牌的第三行要留空。
你也可以在排行榜告示牌的上方放置一个头颅,这样每次排名有所变化时插件会把那个头颅自动变换成玩家的头颅。
截图
图片过多,请前往[原帖]观看
其它信息
这个插件支持1.7.9及以上版本Java服务器。
任何在游戏过程中会传送某些玩家的插件可能会被SkywarsX插件阻止,也有可能会发生冲突。
作者强力推荐使用Mysql数据库,因为这样可以加快SkywarsX的处理速度。
如果你需要悬浮文字,请安装HolographicDisplays插件。
如果你需要悬浮文字统计数据,请安装HolographicDisplays和ProtocolLib插件。
额外的权限
- skywars.admin可以使用所有SkywarsX的admin指令并且检查SkywarsX是否有更新。
- skywars.createsigns可以创建空战的告示牌传送。
- skywars.breaksigns可以破坏空战的告示牌传送。
- skywars.unblockcmds可以在游戏中使用指令。
- skywars.vote.health可以给血量上限投票。
- skywars.vote.time可以给时间上限投票。(这个功能在特点里作者没说)
- skywars.vote.chests可以给箱子物品倍数投票。
- skywars.globalchat让玩家可以全服聊天(在一句话前加@就可以了)
有些个别的特点需要在config.yml文件里激活。
如果“vault”的值在配置文件中被设置成了“enabled”,统计数据就不会显示“Coins”了,而是显示Vault插件配置中的金钱名称。
如果你有任何疑惑,购买插件之前在讨论里提出来.
作者:对不起!我不是讲英语的,所以部分文字语法可能不太好。
变量
代码
package me.wazup.addon; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map.Entry; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; import me.wazup.skywars.Enums.Stat; import me.wazup.skywars.PlayerData; import me.wazup.skywars.Skywars; import me.wazup.skywars.SkywarsAPI; public class Addon extends JavaPlugin { public void example(){ SkywarsAPI api = Skywars.api; //获取一个玩家的数据 Player p = Bukkit.getPlayer("Wazup92"); PlayerData data = api.getPlayerData(p); //Modifying some of their stats data.addCoins(p, 50); data.kills += 10; //一些布尔值 api.isInArena(p); api.isSpectating(p); api.isPlaying(p); //获取玩家排行榜 //首先你必须加载所有玩家的数据,这个不是同步的。 try { HashMap<String, String> playersData = api.getAllPlayersData(); //现在你可以将排行榜上的玩家数据导出,获得一组新的统计数据。 //如果第三个变量(int)长度比整个玩家数据的哈希图还大,它会变成'NO_PLAYER'(没有玩家) List<Entry<String, Integer>> top = api.getTopPlayers(playersData, Stat.KILLS, 10); //现在得到了前十名的杀人数数据 //入口密码是玩家的I,入口的值是他们的分数 for(int i = 0; i < top.size(); i++){ Bukkit.broadcastMessage("# " + (i+1) + " is " + top.get(i).getKey() + " with a score of " + top.get(i).getValue()); } } catch (SQLException e){ e.printStackTrace(); } //如果你想修改离线玩家的数据,你就需要使用一个不同的方法了。 //如果统计数据已更新,以下方法的返回值会是true;反之返回值会是fals。 //你可以设置或者加入结尾的那个'increment'布尔值 try { boolean updated = api.modifyOfflinePlayerStat("Wazup92", Stat.COINS, 50, true); } catch (SQLException e){ e.printStackTrace(); } } }
变量列表
大厅的记分板(customization.yml)可用变量:
%kills%, %deaths%, %accuracy%, %wins%, %modifier%, %projectiles_launched%, %projectiles_hit%, %player_exp%, %player_rank%, %blocks_placed%, %blocks_broken%, %selected_kit%, %selected_trail%, %selected_cage%,
这样变量只支持PlaceholderAPI,如果你想要用MVdWPlaceholderAPI的变量,同样使用以上的变量名,不过要把变量名开头的“%”改成“{”,结尾的“%”改成“}”。
不包含玩家的特殊变量:
%skywars_players_count% - 统计所有在空岛战争中游玩过的玩家数量 %skywars_parties_count% - 统计所有队伍数量 %skywars_lobby_players_count% 统计在大厅中的玩家数 %skywars_arenas_count% 统计所有房间数量 %skywars_kits_count% 统计所有职业数量 %skywars_trails_count% 统计所有粒子数量 %skywars_cages_count% 统计所有战前玻璃笼的数量
跟玩家有关的变量:
%skywars_kills%, %skywars_deaths%, %skywars_accuracy%, %skywars_wins%, %skywars_modifier%, %skywars_projectiles_launched%, %skywars_projectiles_hit%, %skywars_player_exp%, %skywars_player_rank%, %skywars_blocks_placed%, %skywars_blocks_broken%, %skywars_arena%, %skywars_party_leader%, %skywars_selected_kit%, %skywars_selected_trail%, %skywars_selected_cage% %skywars_teamcolor%, %skywars_coins%