- Minecraft Versions
- 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20
The ultimate minigame for your server! Create arenas with ease and start playing instantly. Unlock new kits, cages, and trails through purchasing them from the awesome gui shop, or through the mystery box. Rank up and earn achievements as you become more powerful. Create parties and play with your friends as a team. Spectate games when you die and have a laugh on your friends performance. Rollback all the grief caused by players and customize the plugin to your liking! All with maximum efficiency.
Before you get into the features and get all excited, please read the following.
- Create as many arenas as you want. And you can have them in the same world
- Fully independent! can run by itself. You don't even need multiverse! and it can work with other minigames and plugins, such as factions.
- FastAsyncWorldEdit support! Arenas can instantly restore using FAWE
- Arenas can be solo, or could be teams of 2,3,4,5, anything
- Bungee Mode Support, which makes the plugin take over the server and force players to join. If the server has only 1 arena and bungee mode is enabled players will be forced to join that arena and the server updates the MOTD according to the game state and restarts when the game ends
- Events! Such as TNT Rain and Random teleport! And you can register your own via the API!
- Spectate on death! or join an active game to spectate it
- Abilities! give your players a unique experience with awesome special abilities!
- Ranked mode! players can play regular matches or ranked mode with ELO.
- Winning celebrations
- Built-in coins system, but it can also use vault economy
- You can add items from any plugin with any data! Chest items are defined through a GUI (Supports NBT)
- Anti combat log system
- Titles and Action bar!
- Create your own Chests configuration, and make specific chests use that chest configuration (You can create an infinite amount of chest tiers, and set whatever chest you like to use that tier)
- Leaderboards! Create signs that will display top players from many many different stats, and you also can display their skull above these signs, you can also create a holographic leaderboard through HolographicDisplays
- You can vote for Health and Time, Events, and Chests!
- Bounties! Players can set bounties on each other to make others target them
- Killstreaks! You can run your own commands on players once they reach a certain killstreak
- Can be used as a survivalgames plugin, or other similar minigame
- Boosters! Give players a motive to play more at certain times
- Fireworks ending, with an option to give winners a map and also to display your custom images on that map
- Achievements! track player stats and award them with your custom prizes.
- Clickable chat messages! like 'Play again' message that players can click to directly join and play another match
- Create your own kits, cages, trails, and specify their rarity, cost, name, content, and whether they require a permission or not!
- Animated scoreboard title! (Optional)
- Built-in world management commands! import/create/delete/teleport/list worlds without the need of other plugins. you can even backup worlds and restore them!
- Supports UUID and normal names as well
- Works with MySQL or without!
- Save so many player stats! starting from kills, coins, wins, deaths, modifier, and such, and ending with blocks placed, blocks broken, items crafted, items enchanted, and many more!
- Customize most of the text that appears to players, such as messages or scoreboard text or even signs text. The lobby scoreboard is completely customizable (The order of lines and type of information displayed)
- Autojoin command that will put the players in the best available arena
- Cool signs and scoreboards that show the arena state and players count
- PlaceholderAPI Support and MVdWPlaceholderAPI Support
- Mystery Box! You can unlock random items for a low cost with a very cool animation.
- Ranking system! you can run custom commands when a player reaches a certain rank
- Built in broadcaster, so you can display your tips and tricks or advertise your website
- Separate chats! People in different arenas have their own chat
- HEX color support
- Create parties and invite players and manage all party settings through an amazing gui! Parties FULLY use GUI's without a single command. You can also use the party chat feature if the message starts with an exclamation mark
- GUI's that you can scroll through, this allows to display large amount of items in a single inventory
- Create holographic stats and leaderboard!
- 22 default kit, 51 default cage, 50 default trail, 53 default achievements!
- Epic Free Configuration available!
- Amazing rollback system that rollbacks arenas effectively and quickly with little to no lag, using a custom class to decrease memory usage, and a queue system to prevent overloading the server
- Specify when chests should refill and how often
- A warning system, where doing certain activities more than x amount of times will result in the player getting kicked!
- Set the coins/exp modifier of players to any number you want! You can also reset their stats! This also applies to offline players
- You can spawn mobs that will not attack you or your teammates and you can also equip them with armor and items through shift right clicking them
- Global chat! Starting a message with @ will send it to everyone (If the user has permission)
- Lobby countdown shortening system if there is a certain number of teams joined
- Players can not break blocks below team members
- Spectators can instantly join a new game
- Edit arenas on the fly!
- Smooth, well designed, created to be able to handle large amount of players
- User command auto completion
- You can add your custom game modes easily. For example you can add LuckyBlock mode easily by dropping a LuckyBlock plugin and adding your lucky blocks into the arena!
- Force start/stop arenas, and reload the plugin with a simple command rather than reloading the whole server
- Edit/Create/Delete/List chest types/categories on the fly with a simple command
- You can specify a set of potion effects for each arena (Some arenas for example could have infinite Speed I or some might have infinite Strength I and so on)
- Customize party slots, and set certain amount of slots to certain permissions
- Tracking compass!
- Kits can apply their own potion effects and run their own commands!
- Allow spectators to view players inventories and teleport to them
- Detailed and lightweight cooldown system
- Very cool GUI's that are simple and easy to use
- Heavily dependent on gui's, to keep things simple
- Hitting a player with an arrow will show that player health
- Players that leave while in-game will drop their items!
- Basic API that allows developers to access players stats and get top players, and also some events
- Are you really still reading? I mean... I'm tired of typing all that! so in simple and easy conclusion, THIS PLUGIN IS PACKED
This plugin is highly customizable, but not fully. so be aware of that. Here is an example of some of the files created by the plugin. You will be able to see what you can change and what you can not!
customization.yml
config.yml
shop.yml
kits.yml (Not all of them, but a sample)
achievements.yml
cages.yml
trails.yml
broadcaster.yml
arena.yml
config.yml
shop.yml
kits.yml (Not all of them, but a sample)
achievements.yml
cages.yml
trails.yml
broadcaster.yml
arena.yml
Pre-made translations of files into different languages
You can of course translate the files on your own, but here are some pre-made translations done by the community.
Please note that these translations are made by users and not by me. You should check these files using a yaml parser before installing them on the server as they might have some errors.
https://1drv.ms/f/s!Ar7IHWG_oZWhgSDIbN-tK-EuaKMt?e=E4OK5s
Please note that these translations are made by users and not by me. You should check these files using a yaml parser before installing them on the server as they might have some errors.
https://1drv.ms/f/s!Ar7IHWG_oZWhgSDIbN-tK-EuaKMt?e=E4OK5s
- Format: /Command -> Permission
- /Skywars | /SW -> None
- /Skywars join -> None
- /Skywars leave -> None
- /Skywars autojoin -> None
- /Skywars gui -> None
- /Skywars selectitem -> None
- /Skywars list -> None
- /Skywars admin -> skywars.admin
- /Skywars setlobby -> skywars.admin
- /Skywars wand -> skywars.admin
- /Skywars create -> skywars.admin
- /Skywars delete -> skywars.admin
- /Skywars addspawn -> skywars.adminadmin
- /Skywars removespawn -> skywars.removespawn
- /Skywars start -> skywars.start
- /Skywars stop -> skywars.stop
- /Skywars enable -> skywars.admin
- /Skywars disable -> skywars.admin
- /Skywars setspectators -> skywars.admin
- /Skywars stats -> skywars.admin
- /Skywars addbooster -> skywars.admin
- /Skywars setmodifier -> skywars.admin
- /Skywars inventory -> skywars.admin
- /Skywars holograms -> skywars.admin
- /Skywars reset -> skywars.admin
- /Skywars edit -> skywars.admin
- /Skywars editmode -> skywars.admin
- /Skywars reload -> skywars.admin
- /Skywars updatereigon -> skywars.admin
- /Skywars chestmanager -> skywars.admin
- /Skywars worldmanager | wm -> skywars.admin
- /Skywars parseitem -> skywars.admin
Gameplay + Romanian Commentary
Gameplay + Music
Gameplay + Music
You first want to set the lobby location by doing /sw setlobby
so that when players do /sw join they will be teleported there
now you should create some arenas
start by using /sw wand and use the tool given to select the 2 corners surrounding your map.
Once you have selected the 2 corners, create the arena using /sw create <name> <team size> <min teams> <max teams>
This will create a new arena with your defined name.
Team size is the amount of players per team, if it was set to 1 then the arena is basically solo
Min teams is the minimum amount of teams required for the game to start the countdown. and Max teams on the other hand is the maximum amount of teams the arena can handle at a time
Once the creation process is over, you can now start adding spawnpoints using /sw addspawn <arena>
Keep in mind that the plugin will generate the cage, so you shouldn't have built in cages in the arena
after you have added your spawnpoints, you can use /sw edit <arena> to enable the arena and change some other settings.
If you want to show the arena in the arena selector that shows when the play item is used, you have to add the arena in arena-selector.yml which is located in /plugins/Skywars folder. Once you add the arena name in there, you have to perform /sw reload to reload the configuration files.
The arena is now ready to be used, but you can also add a join sign for example, or make chests in the middle more powerful.
To make chests in the middle more powerful, you should create a new Chest type, using the command /sw chestmanager create normal <Name>
this will create new chest type and open up a gui for you, you can add your items in that gui, and don't forget to click 'Save & Apply'
After you create your custom chest type, you have to specify which chests are gonna use that chest type, you can do so by doing /sw chestmanager tool <Name>, this will give you a tool that allows you to set specific chests to that chest type, but what if there are too many chests in the middle and you are just lazy? you can select the whole middle area using the wand, and then you can do /sw chestmanager updateregion <Name>, this will set all chests within your selection to the chest type that you specified.
If you want to create a new chest category that people can vote for, then use the same command that you used to create a chest type, but this time don't say the category is 'normal' and instead name it your self (/sw chestmanager create <Name>). This will create a new chest category that has a 'default' chest type where you can put items.
When you add a chest type such as 'Tier2' to a category such as 'Normal' you must add a chest type named 'Tier2' for the other categories. So that no matter which category got the most votes, the chests labeled 'Tier2' will have a location to take items from.
You can also set the location where spectators will be teleported to, but this is optional because if it's not set they will teleport to a random location inside the arena region. To set a specific location for spectators use /sw setspectators <Arena>
You could also use the worldmanager to backup your worlds just incase anything went wrong
If you want to use FastAsyncWorldEdit rollback (Recommended!) then,
make sure that FAWE is installed on your server and is running correctly, and make sure that Use-FastAsyncWorldEdit-When-Possible is set to true in config.yml in Skywars X. You should a message that says 'Detected FAWE, it will be used when possible' in console when the Skywars plugin loads up, if not then try restarting or reloading
Then, for existing arenas, you have to select their region using SW WAND and simply write SW UPDATEREGION <Arena>. This will update the region as usual but if everything is setup correctly, it will also create a schematic of the arena and use it to rollback.
For newly created arenas, this will automatically be done (A schematic will be made if possible and used to rollback)
If you want to make all players automatically join skywars when they join your server you need to enable bungee mode in config.yml! If you have a bungee cord and a lobby system, This plugin will only be on your game server and NOT in your hub server, if you want to join through signs from your hub server, then you need to have a plugin such as TeleportSigns in your hub
- Using bungee mode, if you have 1 arena setup then players will automatically join that arena once they join the server and when the arena finishes the server will close! If you had multiple arenas in the server then the plugin will simply run the command /pg join to put all players in the lobby where they can select an arena! This also prevents them from leaving the lobby and there is no restarting done here!
so that when players do /sw join they will be teleported there
now you should create some arenas
start by using /sw wand and use the tool given to select the 2 corners surrounding your map.
Once you have selected the 2 corners, create the arena using /sw create <name> <team size> <min teams> <max teams>
This will create a new arena with your defined name.
Team size is the amount of players per team, if it was set to 1 then the arena is basically solo
Min teams is the minimum amount of teams required for the game to start the countdown. and Max teams on the other hand is the maximum amount of teams the arena can handle at a time
Once the creation process is over, you can now start adding spawnpoints using /sw addspawn <arena>
Keep in mind that the plugin will generate the cage, so you shouldn't have built in cages in the arena
after you have added your spawnpoints, you can use /sw edit <arena> to enable the arena and change some other settings.
If you want to show the arena in the arena selector that shows when the play item is used, you have to add the arena in arena-selector.yml which is located in /plugins/Skywars folder. Once you add the arena name in there, you have to perform /sw reload to reload the configuration files.
The arena is now ready to be used, but you can also add a join sign for example, or make chests in the middle more powerful.
To make chests in the middle more powerful, you should create a new Chest type, using the command /sw chestmanager create normal <Name>
this will create new chest type and open up a gui for you, you can add your items in that gui, and don't forget to click 'Save & Apply'
After you create your custom chest type, you have to specify which chests are gonna use that chest type, you can do so by doing /sw chestmanager tool <Name>, this will give you a tool that allows you to set specific chests to that chest type, but what if there are too many chests in the middle and you are just lazy? you can select the whole middle area using the wand, and then you can do /sw chestmanager updateregion <Name>, this will set all chests within your selection to the chest type that you specified.
If you want to create a new chest category that people can vote for, then use the same command that you used to create a chest type, but this time don't say the category is 'normal' and instead name it your self (/sw chestmanager create <Name>). This will create a new chest category that has a 'default' chest type where you can put items.
When you add a chest type such as 'Tier2' to a category such as 'Normal' you must add a chest type named 'Tier2' for the other categories. So that no matter which category got the most votes, the chests labeled 'Tier2' will have a location to take items from.
You can also set the location where spectators will be teleported to, but this is optional because if it's not set they will teleport to a random location inside the arena region. To set a specific location for spectators use /sw setspectators <Arena>
You could also use the worldmanager to backup your worlds just incase anything went wrong
If you want to use FastAsyncWorldEdit rollback (Recommended!) then,
make sure that FAWE is installed on your server and is running correctly, and make sure that Use-FastAsyncWorldEdit-When-Possible is set to true in config.yml in Skywars X. You should a message that says 'Detected FAWE, it will be used when possible' in console when the Skywars plugin loads up, if not then try restarting or reloading
Then, for existing arenas, you have to select their region using SW WAND and simply write SW UPDATEREGION <Arena>. This will update the region as usual but if everything is setup correctly, it will also create a schematic of the arena and use it to rollback.
For newly created arenas, this will automatically be done (A schematic will be made if possible and used to rollback)
If you want to make all players automatically join skywars when they join your server you need to enable bungee mode in config.yml! If you have a bungee cord and a lobby system, This plugin will only be on your game server and NOT in your hub server, if you want to join through signs from your hub server, then you need to have a plugin such as TeleportSigns in your hub
- Using bungee mode, if you have 1 arena setup then players will automatically join that arena once they join the server and when the arena finishes the server will close! If you had multiple arenas in the server then the plugin will simply run the command /pg join to put all players in the lobby where they can select an arena! This also prevents them from leaving the lobby and there is no restarting done here!
Thanks to Ltjim007 for this awesome english tutorial
To create Skywars signs, the first line has to be [SW]
To create join signs for the lobby, second line has to be 'join'
To create join signs for arenas, second line has to be 'join'
while the third line must define the arena name
To create leave signs, second line has to be 'leave'
To create autojoin signs, second line has to be 'autojoin'
In this type of signs, you can leave the third line empty, or you can specify 'Solo' or 'Team'
To create leaderboard signs, second line has to be 'top' while the third line must define the stat that you want the plugin to order players stats by. and fourth line is the rank you are looking for!
Example:
[sw]
top
kills
1
This will display the top killer!
for a list of stats that you can use, simply keep the third line empty and the plugin will show you a list.
You can also add a skull above the sign, and when the leaderboard updates, the skull will display players skins
To create join signs for the lobby, second line has to be 'join'
To create join signs for arenas, second line has to be 'join'
while the third line must define the arena name
To create leave signs, second line has to be 'leave'
To create autojoin signs, second line has to be 'autojoin'
In this type of signs, you can leave the third line empty, or you can specify 'Solo' or 'Team'
To create leaderboard signs, second line has to be 'top' while the third line must define the stat that you want the plugin to order players stats by. and fourth line is the rank you are looking for!
Example:
[sw]
top
kills
1
This will display the top killer!
for a list of stats that you can use, simply keep the third line empty and the plugin will show you a list.
You can also add a skull above the sign, and when the leaderboard updates, the skull will display players skins
Featured
- fortunecraft.dedimc.io
- Apex.boxtoplay.com
- Play.Minecraft-Romania.Xyz
- jogar.craftsgp.net
- mc.blockdrop.org
- skykingdoms.net
- mc.comugamers.com
- play.minecraft-romania.ro
- thegoldenarmory.apexmc.co
- mc.cubedcraft.com
- urmagix.com
- fatalgames.cf
- play.reevemc.com
- glazycraft-network.fluctis.com
- play.psychedelicpvp.com
This plugin works from 1.7.9 and upwards
Any plugin that prevents teleporting while in combat or uses scoreboard features such as teams and prefixes may conflict with Skywars
If you want to have special abilities, you need to install my abilities addon
The built in rollback does not take into account block data. So it doesn't work very well for some maps. It is highly recommended to use FastAsyncWorldEdit support
Using mysql is highly recommended as it increases the performance and protects you from some issues
If you want any holographic feature, you will need to install HolographicDisplays
If you want to use the Holographic Stats feature, you will need to install HolographicDisplays along ProtocolLib
TitleManager is required to display titles for version 1.7.9 and also for action bar on versions lower than 1.10
There are some extra permissions!
skywars.admin to view admin commands and receive update notifications
skywars.createsigns to create skywars signs
skywars.breaksigns to break skywars signs
skywars.unblockcmds to be able to use commands while in game
skywars.vote.health to be able to vote for health
skywars.vote.time to be able to vote for time
skywars.vote.chests to be able to vote for items
skywars.vote.events to be able to vote for events
skywars.globalchat allows the player to start a message with @ to be sent to everyone if the chat separation features are enabled in config.yml
Check out this free configuration done by @ItsPat! It makes the plugin look completely different and be even sicker!
https://www.mc-market.org/resources/19682/
If vault is enabled in the config, Leaderboards will not show 'Coins' as the player vault money, it will still display the player coins
This API is very basic and doesn't allow to do a lot of things as of now.
Code:
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(){
//Get a player playerdata
Player p = Bukkit.getPlayer("Wazup92");
PlayerData data = SkywarsAPI.getPlayerData(p);
//Modifying some of their stats
data.addCoins(p, 50);
data.kills += 10;
//Some booleans
SkywarsAPI.isInArena(p);
SkywarsAPI.isSpectating(p);
SkywarsAPI.isPlaying(p);
//Getting top players
//First you have to load all players data, this should be Async
try {
HashMap<String, String> playersData = SkywarsAPI.getAllPlayersData();
//You can now get top players out of the playersData, ordered by a specfic stat
//If the third argument (int) is bigger than the amount of entries in the playersData hashmap, it will be filled with 'NO_PLAYER'
List<Entry<String, Integer>> top = SkywarsAPI.getTopPlayers(playersData, Stat.KILLS, 10);
//Top now contains the top 10 players, ordered by their kills stat
//Entry key is the player name, and the entry value is their score
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();
}
//If you want to modify offline players stats, then you have to use a different method, because you can't use the PlayerData class on offline players
//The following method returns true if the stat was updated, and it returns false if the player name wasn't found or the stat wasn't updated for some reason
//The boolean at the end 'increment' is whether you want to SET their stat to the give value, or you want to add it up
try {
boolean updated = SkywarsAPI.modifyOfflinePlayerStat("Wazup92", Stat.COINS, 50, true);
} catch (SQLException e){
e.printStackTrace();
}
}
}
Events:
- SWArenaStartEvent
- SWArenaFinishEvent
- SWArenaStopEvent
- SWPlayerJoinArenaEvent
- SWPlayerLeaveArenaEvent
- SWPlayerDeathEvent
Placeholders:
For the lobby scoreboard customization in (customization.yml) the placeholders are as follows:
%kills%, %deaths%, %games_played%, %accuracy%, %wins%, %modifier%, %projectiles_launched%, %projectiles_hit%, %player_exp%, %player_rank%, %blocks_placed%, %blocks_broken%, %selected_kit%, %selected_trail%, %selected_cage%, %selected_celebration%, %elo%
For the arena scoreboard customization in (customization.yml) the placeholders are as follows:
%arena%, %mode%, %players%, %current_event%, %current_event_time%, %date%
The placeholders mentioned below are for PlaceholderAPI by clip, if you wanted to use placeholders for MVdWPlaceholderAPI by maximvdw use the same ones below but replace the first % with { and the last % with }.
Not player specific placeholders:
%skywars_players_count% - Gives the total amount of players in skywars
%skywars_parties_count% - Gives the total amount of parties created
%skywars_lobby_players_count% Gives the total amount of players in the lobby
%skywars_arenas_count% Gives the total amount of arenas created
%skywars_kits_count% Gives the total amount of kits created
%skywars_trails_count% Gives the total amount of trails created
%skywars_cages_count% Gives the total amount of cages created
%skywars_arena_status_<arena>% %skywars_arena_players_<arena>% %skywars_arena_min_players_<arena>% %skywars_arena_max_players_<arena>%
Player specific placeholders:
%skywars_kills%, %skywars_games_played%, %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_selected_celebration%
%skywars_teamcolor%, %skywars_coins%, %skywars_elo%
For the lobby scoreboard customization in (customization.yml) the placeholders are as follows:
%kills%, %deaths%, %games_played%, %accuracy%, %wins%, %modifier%, %projectiles_launched%, %projectiles_hit%, %player_exp%, %player_rank%, %blocks_placed%, %blocks_broken%, %selected_kit%, %selected_trail%, %selected_cage%, %selected_celebration%, %elo%
For the arena scoreboard customization in (customization.yml) the placeholders are as follows:
%arena%, %mode%, %players%, %current_event%, %current_event_time%, %date%
The placeholders mentioned below are for PlaceholderAPI by clip, if you wanted to use placeholders for MVdWPlaceholderAPI by maximvdw use the same ones below but replace the first % with { and the last % with }.
Not player specific placeholders:
%skywars_players_count% - Gives the total amount of players in skywars
%skywars_parties_count% - Gives the total amount of parties created
%skywars_lobby_players_count% Gives the total amount of players in the lobby
%skywars_arenas_count% Gives the total amount of arenas created
%skywars_kits_count% Gives the total amount of kits created
%skywars_trails_count% Gives the total amount of trails created
%skywars_cages_count% Gives the total amount of cages created
%skywars_arena_status_<arena>% %skywars_arena_players_<arena>% %skywars_arena_min_players_<arena>% %skywars_arena_max_players_<arena>%
Player specific placeholders:
%skywars_kills%, %skywars_games_played%, %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_selected_celebration%
%skywars_teamcolor%, %skywars_coins%, %skywars_elo%