SkyWarsReloaded 4.1.3

SkyWars with Sign Join Mode, Leaderboards, and Lots of Options

  1. walrusone
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    Source Code:
    https://github.com/walrusone/SkyWarsReloaded
    Contributors:
    Walrusone
    [​IMG]
    SWR 4.0 RELEASED!!
    1.13.2 Support plus Major Bug Fixes

    ALL INFORMATION BELOW IS FOR SWR 3.0 and Above. Please do not consult this guide if you are using a earlier version.
    One very important point I want to make up front, is that SWR 3.0 and above are a complete rebuild and was designed to be a competitive style skywars plugin. Due to the nature of the changes, old databases will not be compatible with SWR 3.0 and above. You must use a new database, meaning all current player stats from previous SWR versions can not be brought over easily. It adds a ELO points ranking system.

    While I have tested as much as I could and have had some testers trying things out, with the rebuild there is still a good possibility of bugs. Please report bugs in the discussion page, with the following information if available:

    1. Spigot Version You Are Running
    2. SWR Version You Are Running
    3. A Description of the bug/error
    4. A pastebin of the error, if it shows up in console.
    [​IMG]
    All the info you need to set up SWR is in the sections below. However, if you are having problem, lukas.vdgaag has been helping people with support since SWR 3.0 release. So if you are having issues and need help, feel free to contact lukas.vdgaag on his Discord Server. Please note that his discord server is for plugin setup support. If you have bugs, please report them on the discussion page as listed above. Big thanks to lukas.vdgaag for helping out.

    [​IMG]
    Player Commands
    • sw quit: Quits from the current game
    • sw join: Join a SkyWars match
    • sw spectate [playername/mapname]: Spectates the game that the player is in or the map.
    • sw stats [playername]: Shows a players stats
    • sw top [stat]: Displays SkyWars leaderboard for the selected stat
    • sw options: Opens the options selection menu.
    • sw winsound: Opens the win sound selection menu.
    • sw killsound: Opens the kill sound selection menu.
    • sw glass: Opens the glass color selection menu.
    • sw taunt: Opens the taunt selection menu.
    • sw particle: Opens the particle effect selection menu.
    • sw projectile: Opens the projectile effect selection menu.
    Admin Commands
    • sw setspawn: Sets the lobby spawn.
    • sw stat [playername] [stat] [method] [amount]: Changes a players stat based on the method. For integer stats, method can be "add", "remove", or "set". For non-integer stats, always use "set".
    • sw clearstats [playername]: Clears a SkyWars players stats
    • sw reload: Reloads SkyWars
    • sw chestadd [chesttype] [method] [percentage]: Adds item(s) in hand/inventory to the chesttype with the assigned percentage. Type can be basic, normal, op, or crate.
    • sw start: Forces a match to start without having the minimum players listed the maps.yml.
    • sw updatetop: Forces an update of the leaderboards.
    • sw hologram [stat] [format]: Adds a hologram at your eye location.
    • /sw holoremove: Removes the closest hologram leaderboard.
    Kit Commands
    • swkit create [kitname]: Create a kit using the items in your inventory
    • swkit enable [kitname]: Toggles whether the kit is enabled or disabled
    • swkit icon [kitname]: Sets the icon for the kit to the itemstack in your hand
    • swkit lockicon [kitname]: Sets the locked icon for the kit to the itemstack in your hand
    • swkit perm [kitname]: Toggles whether a permission is needed to unlock the kit
    • swkit list: Lists all kits
    • swkit load [kitname]: Clears your inventory and loads the kit into your inventory
    • swkit lore [kitname] [number] [lore]: Used to set up to 16 lines of lore and locked lore. <number> can be between 1 and 16 or the string "locked". Can include color codes.
    • swkit name [kitname] [displayname]: Sets the display name for the kit. Can include color codes.
    • swkit position [kitname] [position]: Sets the icon position within the kit menu
    • swkit update [kitname]: Updates the kit <kitname> with your current inventory
    Map Commands
    • swmap arenas: Opens a Arena GUI
    • swmap create [mapname]: Creates a map named [mapname]
    • swmap edit [mapname]: Opens a map named [mapname] for editing
    • swmap delete [mapname]: Deletes a map named [mapname]
    • swmap list: Lists available maps
    • swmap register [mapname]: Registers a map named [mapname]
    • swmap unregister [mapname]: Unregisters a map named [mapname]
    • swmap save [mapname]: Saves an open map named [mapname]
    • swmap minimum [mapname] [number]: Sets the minimum players for [mapname]
    • swmap name [mapname] [displayname]: Sets the display name for [mapname]
    • swmap creator [mapname] [creator]: Sets the creator name for [mapname]
    • swmap refresh [mapname]: Reloads the map.yml data file for the specific map. [mapname] can be set to "all" to reload all map.yml's.
    • swmap spawn [type]: Adds a spawn at your location when in edit mode. Type can be "player", "spec" or "death".
    • swmap chesttype [mapname]: Toggles between the chest types that can be added.
    • /swm legacyload [mapname]: This will run the scanner and you will receive messages stating chests and spawns are added. See further instruction for this command below.
    Party Commands
    • swparty create [partyname]: Creates a party named [partyname]
    • swparty accept: Accepts a party invite
    • swparty decline: Declines a party invite
    • swparty disband: Disbands your party
    • swparty info: Lists your parties info
    • swparty invite [player]: Invites a player to your party
    • swparty leave: Leaves your current party
    • swparty name [partyname]: Changes your parties name
    [​IMG]
    Group Permissions
    • sw.admin: Allows a player to use all admin commands.
    • sw.maps: Allows a player to use all map commands.
    • sw.kits: Allows a player to use all kit commands.
    • sw.parties: Allows a player to use all party commands
    • sw.player: Allows a player to use all player commands
    Player Permissions
    • sw.join: Allows a player to use sw join command and to join games.
    • sw.stats: Allows a player to view player stats.
    • sw.top: Allows a player to view the leaderboard.
    • sw.quit: Allows a player to use sw quit command.
    • sw.winsound: Allows a player to use sw winsound command.
    • sw.killsound: Allows a player to use sw killsound command.
    • sw.glass: Allows a player to use sw glass command.
    • sw.taunt: Allows a player to use sw taunt command.
    • sw.projectile: Allows a player to use sw projectile command.
    • sw.particle: Allows a player to use sw particle command.
    • sw.spectate: Allows a player to spectate using the spectate menu or the spectate command.
    • sw.vip1: Gives the player an experience and voting multiplier that corresponds to vip1.
    • sw.vip2: Gives the player an experience and voting multiplier that corresponds to vip2.
    • sw.vip3: Gives the player an experience and voting multiplier that corresponds to vip3.
    • sw.vip4: Gives the player an experience and voting multiplier that corresponds to vip4.
    • sw.vip5: Gives the player an experience and voting multiplier that corresponds to vip5.
    • sw.kit.[filename]: Allows the player to unlock voting on a permission required kit. [filename] is the filename of the kit without the “.yml”
    • sw.votemenu: Allows a player to open the in game voting menu.
    • sw.chestvote: Allow a player to vote on the chest type in pregame menus.
    • sw.healthvote: Allow a player to vote on the health amount in pregame menus.
    • sw.timevote: Allow a player to vote on the time in pregame menus.
    • sw.weathervote: Allows a player to vote on the weather in the pregame menus.
    • sw.modifiervote: Allows a player to vote on the modifier in the pregame menus.
    • sw.pareffect.[name]: Allows a player you use a particle effect without having the required level. [name] represents the “Key” for the particle effect in the particleeffects.yml.
    • sw.proeffect.[name]: Allows a player you use a projectile particle effect without having the required level. [name] represents the “Key” for the projectile particle effect in the projectileeffects.yml.
    • sw.glasscolor.[name]: Allows a player you use a glass color without having the required level. [name] represents the “Key” for the glass color in the glasscolors.yml.
    • sw.killsound.[name]: Allows a player you use a kill sound without having the required level. [name] represents the “Key” for the kill sound in the killsounds.yml.
    • sw.winsound.[name]: Allows a player you use a win sound without having the required level. [name] represents the “Key” for the win sound in the winsounds.yml.
    • sw.taunt.[name]: Allows a player you use a taunt without having the required level. [name] represents the “Key” for the taunt in the taunts.yml.
    The "Key" for each effect/sound/glasscolor/taunt can be found in their respective ymls. The "Key" in the following code sample is the highlighted value.
    [​IMG]
    Admin Permissions
    • sw.setspawn: Allows a player to set a set the lobby spawn.
    • sw.stat: Allows a player to set a players stats.
    • sw.clearstats: Allows a player to clear a players stats.
    • sw.allowcommands: Allows a player to use commands when spectating or in game.
    • sw.reload: Allows a player to use the reload command.
    • sw.chestadd: Allows a player to use the chestadd command.
    • sw.start: Allows a player to use the start command.
    • sw.updatetop: Allows a player to use the updatetop command.
    • sw.hologram: Allows a player to use the hologram command.
    • sw.holoremove: Allows a player to use the holoremove command
    Map Permissions
    • sw.map.arenas: Allows a player to use the Arenas GUI.
    • sw.map.create: Allows a player to create an arena.
    • sw.map.edit: Allows a player to edit an arena.
    • sw.map.delete: Allows a player to delete an arena.
    • sw.map.list: Allows a player to list the available arenas.
    • sw.map.save: Allows a player to save an arena.
    • sw.map.register: Allows a player to register an arena.
    • sw.map.unregister: Allows a player to unregister an arena.
    • sw.map.refresh: Allows a player to reload the map data file.
    • sw.map.creator: Allows a player to set the arena creator.
    • sw.map.name: Allows a player to set the arena display name.
    • sw.map.minimum: Allows a player to set the arena minimum number of players.
    • sw.map.spawn: Allows a player to use the spawn command.
    • sw.map.chesttype: Allows a player to use the chesttype command.
    Kit Permissions
    • sw.kit.create: Allows a player to use the create command.
    • sw.kit.enable: Allows a player to use the enable command.
    • sw.kit.icon: Allows a player to use the icon command.
    • sw.kit.lockicon: Allows a player to use the lockicon command.
    • sw.kit.perm: Allows a player to use the perm command.
    • sw.kit.load: Allows a player to use the load command.
    • sw.kit.list: Allows a player to use the list command.
    • sw.kit.lore: Allows a player to use the lore command.
    • sw.kit.name: Allows a player to use the name command.
    • sw.kit.position: Allows a player to use the position command.
    • sw.kit.update: Allows a player to use the update command.
    Party Permissions
    • sw.party.accept: Allows a player to accept a party invite.
    • sw.party.create: Allows a player to create a party.
    • sw.party.disband: Allows a player to disband a party.
    • sw.party.decline: Allows a player to decline a party invite.
    • sw.party.info: Allows a player to view their party info.
    • sw.party.invite: Allows a player to invite players to their party.
    • sw.party.leave: Allows a player to leave a party.
    [​IMG]
    Just drop the SkywarsReloaded Plugin into your plugins folder and start your server. That will install all of the default files and you will be ready to start setting up the chest types, building maps, and adding kits. While adding maps is very similar to SWR 2.8, the chest types and kits will be handled quite differently.

    Before you do anything else, you should set your lobby spawn using the command: /sw setspawn. This will set the player spawn for the lobby to your exact location. Many of the commands will not work unless a spawn is set.

    [​IMG]
    If you used SWR 2.8 previously, the map creation has changed slightly. Maps, inlcuding spawns are built within the map editor, no longer using the beacon system. Maps can be created and edited entirely in-game using commands.

    To create a new map, simply use the command:
    • /swm create [mapname] [environment]
    This will load a new blank world where you can design your map from scratch or paste a schematic if you so choose. The [environment] is optional. If nothing is inputted, the map will be a "Normal" overworld map. The other options available are "nether" and "the_end". If you use "the_end" environment, you will have to manual kill the Ender Dragon. Once dead, you can remove the "End Gateway Portal" completely. You can remove a portion of the "End Portal", but you must leave at least one portal block to stop the Ender Dragon from re-spawning every time the map is loaded. I suggest sealing the portal in bedrock and building far away from the portal location.

    Spawns are added to the map by using /swm spawn [type] command. The three types are:
    • player: Sets a player spawn that will appear as a diamond block. The plugin will automatically convert it into a cage when it loads the map. To remove a spawn, just destroy the diamond block.
    • deathmatch: Sets a deathmatch spawn that will appear as a emerald block. To remove a spawn, just destroy the emerald block.
    • spec: Sets the spawn for spectators.
    To add chests to the map, simply add chests to the map in edit mode. You will get a message in chat confirmed the addition. You can remove chests by simply destroying them. SWR 4.0.4 added a new Center chest option, so that specific chests can be filled with different/higher tier loot. To use these new chest, you can toggle between the chest type you are placing by using the /swm chesttype [mapname] command. This will toggle between "NORMAL" and "CENTER" chests and all chests placed will be set according to the current type that is set.

    Once you are finished creating the map, you can save the map using: /swm save [mapname]. A saved or open map can be returned to for editing at any time by using: /swm edit [mapname]. You can get a list of available maps using: /swm lists.

    Once a map is created and saved, it can be registered for use. To do this use the command: /swm register [mapname]. As long as the map has more than two spawns, it will be registered and available as a playing SWR map. If for some reason, you want to stop using a map, you can use the command: /swm unregister [mapname] to remove it from play.

    Many other features can be set with commands and accessed using the command /swm arenas to access the arena's GUI.

    As maps are created, they will create a yml inside the mapData folder.
    Code (Text):

    displayname: '&5Invaders'
    minplayers: 4
    creator: '&eColorful'
    cage: standard
    teamSize: 1
    allowFriendlyFire: false
    environment: NORMAL
    registered: true
    events:
      DisableRegenEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: "&cNo More Hearts"
        subtitle: "&1Health Regeneration Disabled"
        startMessage: "&cNo More Hearts &bevent has begun!"
        endMessage: "&cNo More Hearts &bevent has ended!"
        announceTimer: false
        repeatable: false
      HealthDecayEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: "&cHealth Decay"
        subtitle: "&1Players lose half a heart per second"
        startMessage: "&cHealth Decay &bevent has begun!"
        endMessage: "&cHealth Decay &bevent has ended!"
        announceTimer: false
        repeatable: false
      EnderDragonEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: "&cEnderDragon"
        subtitle: "&1An EnderDragon has Spawned"
        startMessage: "&cEnderDragon &bevent has begun!"
        endMessage: "&cEnderDragon &bevent has ended!"
        announceTimer: false
        repeatable: false
      WitherEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: "&cWither"
        subtitle: "&1A Wither has Spawned"
        startMessage: "&cWither &bevent has begun!"
        endMessage: "&cWither &bevent has ended!"
        announceTimer: false
        repeatable: false
      MobSpawnEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: "&cMob Rush"
        subtitle: "&1They're Coming for You"
        startMessage: "&cMob Rush &bevent has begun!"
        endMessage: "&cMob Rush &bevent has ended!"
        announceTimer: false
        repeatable: false
        minMobsPerPlayer: 5
        maxMobsPerPlayer: 5
        mobs:
          - CREEPER
          - ZOMBIE
          - SPIDER
          - SKELETON
      CrateDropEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cCrate Drop'
        subtitle: '&1Is it a bird?'
        startMessage: '&cCrate Drop &bevent has begun!'
        endMessage: '&cCrate drop &bevent has ended!'
        announceTimer: false
        repeatable: false
        maxItemsPerCrate: 5
        maxNumOfCrates: 3
      ChestRefillEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: "&cChest Refill"
        subtitle: "&1Chests have been refilled"
        startMessage: "&cChest refill &bevent has begun!"
        endMessage: "&cChest refill &bevent has ended!"
        announceTimer: false
        repeatable: false
      DeathMatchEvent:
        enabled: false
        minStart: 900
        maxStart: 900
        length: -1
        chance: 100
        title: "&cDeathMatch"
        subtitle: "&1Time to End This"
        startMessage: "&cDeathMatch &bevent has begun!"
        endMessage: "&cFIGHT"
        announceTimer: false
        repeatable: false
      ArrowRainEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: 15
        chance: 100
        title: "&cArrow Rain"
        subtitle: "&1Make it Rain"
        startMessage: "&cArrow Rain &bevent has begun!"
        endMessage: "&cArrow Rain &bevent has ended!"
        announceTimer: false
        repeatable: true
        spawnPer2Tick: 1
      AnvilRainEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: 15
        chance: 100
        title: "&cAnvil Rain"
        subtitle: "&1Watch your head"
        startMessage: "&cAnvil Rain &bevent has begun!"
        endMessage: "&cAnvil Rain &bevent has ended!"
        announceTimer: false
        repeatable: true
        spawnPer5Tick: 2
    spectateSpawn: 6:115:-5
    spawns:
    - -49:105:-5
    - -33:105:-44
    - -33:105:34
    - 6:105:-60
    - 45:105:-44
    - 45:105:34
    - 61:105:-5
    - 6:107:50
    chests:
    - -52:96:-2
    - -36:96:-41
    - -46:96:-8
    - -36:96:37
    - -30:96:-47
    - -23:81:-13
    - -20:81:15
     
    Here you can edit some basic information for each map. This file will hold some extra data for the map, including a Display Name, the Minimum players for the map, the map creators name, map event details, and the locations of any signs placed for the map as well as spawns and chest locations. The Display name will be used when SWR refers the map and can include color codes. The minimum players is the number of players needed for a match to start. The creator of the map is the name of the designer and it is shown to players along with the map name when players join a match. Map data can be edited in the yml file and can be updated in-game by using the command: /swm refresh [mapname].

    LEGACY LOADER INSTUCTIONS:
    LegacyLoad Command (Read instructions below): /swm legacyload [mapname] - uses a world chunk scanner to locate chests and beacons in the map and add them to the mapdata file.This command is only meant to be use when you are pasting schematics.



      • /swm create [mapname] - will create a world where you can past your schematic
      • use world edit to load and paste your schematic (do not place any chests at this time, you can however place beacons)
      • /swm save [mapname] - this will save the world, updating any block data.
      • /swm edit [mapname] - reload the world
      • /swm legacyload [mapname] - this will run the scanner and you will receive messages stating chests and spawns are added.
      • /swm save [mapname]
      • After this save you can continue to edit the map as desired (adding spectator spawn, center chests, etc).
      • Never run the legacyload command on a map more than once.

    [​IMG]
    Signs work a little differently than in SWR 2.8, but they haven’t changed a great deal. Each map can have signs that players can use to join. There is no limit on the number of signs that can be place per map, so that you can have panels setup in different areas if you like (For instance a VIP lobby). As long as the sign is placed in the lobby world, it will activate. To create a SWR sign, simply create a sign and put the text as below:

    [SW]
    {mapname}

    Map name, is the name you used to create the map, not the “Display Name”.

    [​IMG]
    Chests in SWR are completely revamped. For this reason, old chest files will not work. The biggest benefit of this change is that SWR can now use custom items in the chests, including custom items from other plugins that use NBT tags. In SWR chests can be setup using the in-game command, sw chestadd [chesttype] [method] [percentage]. This command will add the item(s) in either your hand or inventory to the “chesttype” selected at the percentage given.
    • [chesttype] – the chest file you want to modify. Available options are “basic”, "basiccenter", “normal”, "normalcenter", “op”, and "opcenter".
    • [method] – whether you want to add the one item in your hand or all items in your inventory. Use “hand” to just add the item in your hand. Use “inv” to add your entire inventory.
    • [percentage] – An integer value representing how rare an item will be in chest spawns with 1 being the rarest and 100 meaning it will always spawn in the chest.
    So if you wanted to add a diamond sword to the normal chest file with a rarity of 10 percent, you would put the diamond sword in your hand and use the following command:
    • /sw chestadd normal hand 10
    If you wanted to add a group of different building blocks (stone, dirt, wood, etc) in the op chest file at a rarity of 35 percent, you would put everything in your inventory and use the following command:
    • /sw chestadd op inv 35
    [​IMG]
    Like chest files, Kit Creation has been completely revamped to allow for all custom items and in-game creation and modification. One big change is that kits can now be used in 2 different ways.
    1. The default setting is that kits act exactly as they did in previous versions of SWR and are selected individually.
    2. However if you choose, you can set "kitVotingEnabled" to true in the config. This option will mean that kits are voted on and not chosen individually, so that when the game starts, whatever kit has the highest number of votes gets given to all players.
    To create a kit, all you have to do is setup your inventory exactly as you would like the kit to be given to the player and then run the command: /swk create [kitname]. Everything including item locations and armor will be store when the kit is created. You should then complete the following steps to finalize your kit:
    • Choose the item for the icon for your kit. Put it in your hand and use the command: /swk icon [kitname]
    • If you would like to require a permission to unlock the kit for voting, use the command: /swk perm [kitname]
    • OPTIONAL) When a permission is required, a separate item will be use as the icon for when it is locked. By default this is the Barrier itemstack. To change the icon for when it is locked, use: /swk lockicon [kitname]
    • Set the display name for the kit, using the command: /swk name [kitname] [displayname]. [displayname] will be the in-game name of the kit and can included color codes.
    • Set the lore for the kit using the command: /swk lore [kitname] [number] [lore].
      • [number] can be 1 to 16, representing 16 different possible lines of lore OR it can be “locked”, representing the single line of lore for the kit when it is locked.
    • Next set the kit position, which will be the slot it occupies in the kit voting menu. This has to be set and cannot be the same as another kit. Use the command: /swk position [kitname] [position]. Position must be an integer between 0 and 44.
    • Once all setting are set, you can not enable the kit by using the command: /swk enable [kitname]. It will now be available for kit voting in matches.
    To edit the items in kit, you can first load the kit by using the command: /swk load [kitmane]. This will clear your inventory and load the kit into your inventory. Once you make your edits, you can save the changes by using the command: /swk update [kitname].

    [​IMG]
    As of SWR 3.3, SkyWars now has an events system. Events are configured with the yml file for each map, so that events can be individually configured for each map.
    • Each event can have it Start time set, by setting a minStart and maxStart time. What this does is create a random range for when the even will start. If you always want an event to happen at a exact time, both of these values should be set to the same number.
    • The next setting is length, which just defines how long the event should last in seconds. If you want the event to last until match end, just set it to -1.
    • The next setting is chance. This is the chance of a event firing during a match. At the start of the match it will do a random check and decide whether or not the event will fire. 100 means the event will always fire, 0 means it will never fire.
    • The next four settings are related to the in game messaging for events. They can be edited as necessary and can use color codes.
    • the announceTimer option allows you to have the timing of events announced to players as they get closer.
    • Finally the repeatable setting sets whether the event is repeatable within a single game. If set to true, then the event will pick a new random time to fire again based on the minStart and maxStart time settings.
    The following section will now be present in each maps yml file:

    Code (Text):

    events:
      DisableRegenEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cNo More Hearts'
        subtitle: '&1Health Regeneration Disabled'
        startMessage: '&cNo More Hearts &bevent has begun!'
        endMessage: '&cNo More Hearts &bevent has ended!'
        announceTimer: false
        repeatable: false
      HealthDecayEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cHealth Decay'
        subtitle: '&1Players lose half a heart per second'
        startMessage: '&cHealth Decay &bevent has begun!'
        endMessage: '&cHealth Decay &bevent has ended!'
        announceTimer: false
        repeatable: false
      EnderDragonEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cEnderDragon'
        subtitle: '&1An EnderDragon has Spawned'
        startMessage: '&cEnderDragon &bevent has begun!'
        endMessage: '&cEnderDragon &bevent has ended!'
        announceTimer: false
        repeatable: false
      WitherEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cWither'
        subtitle: '&1A Wither has Spawned'
        startMessage: '&cWither &bevent has begun!'
        endMessage: '&cWither &bevent has ended!'
        announceTimer: false
        repeatable: false
      MobSpawnEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cMob Rush'
        subtitle: '&1They''re Coming for You'
        startMessage: '&cMob Rush &bevent has begun!'
        endMessage: '&cMob Rush &bevent has ended!'
        announceTimer: false
        repeatable: false
        minMobsPerPlayer: 5
        maxMobsPerPlayer: 5
        mobs:
        - CREEPER
        - ZOMBIE
        - SPIDER
        - SKELETON
      CrateDropEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cCrate Drop'
        subtitle: '&1Is it a bird?'
        startMessage: '&cCrate Drop &bevent has begun!'
        endMessage: '&cCrate drop &bevent has ended!'
        announceTimer: false
        repeatable: false
        maxItemsPerCrate: 5
        maxNumOfCrates: 3
      ChestRefillEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cChest Refill'
        subtitle: '&1Chests have been refilled'
        startMessage: '&cChest refill &bevent has begun!'
        endMessage: '&cChest refill &bevent has ended!'
        announceTimer: false
        repeatable: false
      DeathMatchEvent:
        enabled: false
        minStart: 900
        maxStart: 900
        length: -1
        chance: 100
        title: '&cDeathMatch'
        subtitle: '&1Time to End This'
        startMessage: '&cDeathMatch &bevent has begun!'
        endMessage: '&cFIGHT'
        announceTimer: false
        repeatable: false
      ArrowRainEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: 15
        chance: 100
        title: '&cArrow Rain'
        subtitle: '&1Make it Rain'
        startMessage: '&cArrow Rain &bevent has begun!'
        endMessage: '&cArrow Rain &bevent has ended!'
        announceTimer: false
        repeatable: true
        spawnPer2Tick: 1
      AnvilRainEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: 15
        chance: 100
        title: '&cAnvil Rain'
        subtitle: '&1Watch your head'
        startMessage: '&cAnvil Rain &bevent has begun!'
        endMessage: '&cAnvil Rain &bevent has ended!'
        announceTimer: false
        repeatable: true
        spawnPer5Tick: 2
      ShrinkingBorderEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cShrinking Border'
        subtitle: '&1The walls are closing around you!'
        startMessage: '&cShrinking Border &bevent has begun!'
        endMessage: '&cShrinking Border &bevent has ended!'
        announceTimer: false
        repeatable: false
        startingBorderSize: 300
        shrinkRepeatDelay: 1
      ProjectilesOnlyEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cProjectiles Only'
        subtitle: '&1No PVP - Projectiles Only!'
        startMessage: '&cProjectiles Only &bevent has begun!'
        endMessage: '&cProjectiles Only &bevent has ended!'
        announceTimer: false
        repeatable: false
      ProjectileSpleefEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cProjectile Spleef'
        subtitle: '&1Projectiles Instantly Break Blocks!'
        startMessage: '&cProjectile Spleef &bevent has begun!'
        endMessage: '&cProjectile Spleef &bevent has ended!'
        announceTimer: false
        repeatable: false
        eggsAddedToInventory: 64
      DoubleDamageEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cDouble Damage'
        subtitle: '&1All attacks do Double Damage'
        startMessage: '&cDouble Damage &bevent has begun!'
        endMessage: '&cDouble Damage &bevent has ended!'
        announceTimer: false
        repeatable: false
      GhastEvent:
        enabled: false
        minStart: 300
        maxStart: 600
        length: -1
        chance: 100
        title: '&cGhasts Everywhere'
        subtitle: '&1A Ghasts have Spawned'
        startMessage: '&cGhasts Everywhere &bevent has begun!'
        endMessage: '&cGhasts Everywhere &bevent has ended!'
        announceTimer: false
        repeatable: false
     
    [​IMG]
    Scoreboards are finally configurable in SWR. During the game, there are three different scoreboard options, all configurable in the messages.yml. The first "waitboard" is what is displayed while players are waiting for the game to start. The second "playboard" is what is displayed during the game. The third "endboard" is what is displayed when the game ends and is waiting to restart. All variables can be used across all three boards and can be moved as you like, but some like winner and restart time would be useless in the first 2 boards. The current available variables are:
    • {mapname}
    • {players}
    • {maxplayers}
    • {chestvote}
    • {timevote}
    • {weathervote}
    • {healthvote}
    • {modifiervote}
    • {winner}
    • {restarttime}
    A blank line can be added by simply using '' as shown in the example below. Lines at the bottom, that you don't want to be used, can be removed by placing 'remove' next to the line in the messages.yml.

    Code (Text):
    scoreboards:
      waitboard:
        line1: '&e&lSkyWars'
        line2: '&5Map:'
        line3: '&a{mapname}'
        line4: ''
        line5: '&5Players:'
        line6: '&a{players}/{maxplayers}'
        line7: ''
        line8: '&5Chest Vote: &a{chestvote}'
        line9: ''
        line10: '&5Time Vote: &a{timevote}'
        line11: ''
        line12: '&5Weather Vote: &a{weathervote}'
        line13: ''
        line14: '&5Modifier Vote: &a{modifiervote}'
        line15: ''
        line16: '&5Health Vote: &a{healthvote}'
      playboard:
        line1: '&e&lSkyWars'
        line2: '&5Map:'
        line3: '&a{mapname}'
        line4: ''
        line5: '&5Players:'
        line6: '&a{players}/{maxplayers}'
        line7: ''
        line8: '&5Match Time:'
        line9: '&a{time}'
        line10: 'remove'
        line11: 'remove'
        line12: 'remove'
        line13: 'remove'
        line14: 'remove'
        line15: 'remove'
        line16: 'remove'
      endboard:
        line1: '&e&lSkyWars'
        line2: '&5Map:'
        line3: '&a{mapname}'
        line4: ''
        line5: '&5WINNER:'
        line6: '&a{winner}'
        line7: ''
        line8: '&5Restarting In:'
        line9: '&a{restarttime}'
        line10: 'remove'
        line11: 'remove'
        line12: 'remove'
        line13: 'remove'
        line14: 'remove'
        line15: 'remove'
        line16: 'remove'
    [​IMG]
    The lobbyboard is a lobby scoreboard that can be enabled in the config to display player stats. It can be edited in the messages.yml and can include the following variables.
    • {elo}
    • {wins}
    • {losses}
    • {winloss}
    • {kills}
    • {deaths}
    • {killdeath}
    • {xp}
    Code (Text):
      lobbyboard:
        line1: '&e&lSkyWars Stats'
        line2: ''
        line3: '&5ELO:'
        line4: '&a{elo}'
        line5: ''
        line6: '&5WINS/LOSSES:'
        line7: '&a{wins} / {losses} --- {winloss}'
        line8: ''
        line9: '&5KILLS/DEATHS:'
        line10: '&a{kills} / {deaths} --- {killdeath}'
        line11: ''
        line12: '&5XP'
        line13: '&a{xp}'
        line14: ''
        line15: 'remove'
        line16: 'remove'
    [​IMG]
    SWR has a multi-array leaderboard system that will track leaderboards for any stat types enabled within the config.yml. Leaderboards will work without SQL Databased, but for any large server I highly recommend using an SQL Database. If you are NOT using a SQL database, I also recommend setting a fairly high update interval in the config.yml. The leaderboards can be used 2 ways:
    1. By using the /sw top [stat] command. This will display a leaderboard list to the player, sorted by the stat.
    2. By using SW Leaderboard Signs (Must be enabled in the config.yml)
    • To place a leaderboard sign, create a sign and create the following lines
    [swl]
    {type}
    {position}​
    • Once the sign is completed, it will be added to the leaderboads and will update with the leaderboard data whenever a leaderboard update is done.
    • Player Heads can also be added to sign leaderboards. Simply place a skeleton skull or player head above the sign and it will updated to the players head. (Must be enabled in the config.yml)
    The text format for each leaderboard type can be updated in the Messages.yml. Each leaderboard can be comprised of the following variables:
    • {position}
    • {name}
    • {type}
    • {elo}
    • {wins}
    • {kills}
    • {deaths}
    • {losses}
    • {xp}
    Code (Text):
    leaderboard:
      signformats:
        elo:
          line1: '&L&0{position}'
          line2: '&1{name}'
          line3: '&c{type}'
          line4: '&5{elo}'
    The variables can be arranged on any lines and used in any order. They can also contain multiple stats, but the leaderboard is sorted by the {type} of the leaderboard.

    [​IMG]
    Code (Text):

    debugMode: false
    spawn: null
    bungeeMode: false
    bungeeLobby: lobby
    tauntCooldown: 10
    enablePressurePlateJoin: true
    teleportToSpawnOnJoin: false
    teleportToSpawnOnWorldEnter: true
    resourcepack: https://www.dropbox.com/s/8scs6c911y3mqbg/taunts-resource-pack.zip?dl=1
    promptForResourcePackOnJoin: false
    lobbyBoardEnabled: false
    displayPlayerLevelOnXpBar: true
    enabledLobbyGuard: false
    economyEnabled: false
    game:
      worldBorder:
        enabled: false
        borderSize: 400
      showHealth: true
      snowballDamage: 1
      eggDamage: 1
      ecoForWin: 5
      ecoForKill: 1
      xpForWin: 5
      winCommands:
      xpForKill: 1
      killCommands:
      vip1Multiplier: 2
      vip2Multiplier: 3
      vip3Multiplier: 4
      vip4Multiplier: 5
      vip5Multiplier: 10
      timeAfterMatch: 15
      waitTimer: 10
      kitVotingEnabled: false
      spectateEnabled: true
      allowFallDamage: false
      maxMapSize: 400
      tauntsEnabled: true
      modifierLevel:
        speed:
        strength:
        jump:
    teams:
      usePlayerNames: true
      usePlayerGlassColors: true
      teamCageMaterial: STAINED_GLASS
    chat:
      enableFormatter: true
      limitGameChatToGame: true
      limitLobbyChatToLobby: true
      limitSpecChatToSpec: true
      externalChat:
        useExternalChat: false
        addPrefix: false
    parties:
      enabled: true
      maxPartySize: 4
    holograms:
      enabled: false
    chests:
      maxItemsChest: 26
      maxItemsDoubleChest: 53
    kit:
      menuSize: 45
      randPos: 0
      randItem: NETHER_STAR
      noKitPos: 44
      noKitItem: GLASS
    titles:
      enabled: true
    fireworks:
      enabled: true
      per5Ticks: 1
    sounds:
      enabled: true
      countdown: BLOCK_NOTE_BLOCK_BASS
      join: BLOCK_WOODEN_DOOR_OPEN
      leave: BLOCK_WOODEN_DOOR_CLOSE
      openJoinMenu: BLOCK_FENCE_GATE_OPEN
      openSpectateMenu: BLOCK_FENCE_GATE_OPEN
      openOptionsMenu: ENTITY_ZOMBIE_VILLAGER_CURE
      openGlassMenu: BLOCK_GLASS_BREAK
      openWinSoundMenu: ENTITY_FIREWORK_ROCKET_BLAST
      openKillSoundMenu: ENTITY_PIG_DEATH
      openParticleMenu: BLOCK_GRAVEL_STEP
      openProjectileMenu: ENTITY_ARROW_SHOOT
      openTauntMenu: ENTITY_ENDER_DRAGON_FLAP
      openKitMenu: ENTITY_PLAYER_ATTACK_SWEEP
      openChestMenu: BLOCK_CHEST_OPEN
      openHealthMenu: ENTITY_SPLASH_POTION_BREAK
      openTimeMenu: ITEM_BOTTLE_FILL_DRAGONBREATH
      openWeatherMenu: WEATHER_RAIN
      openModifierMenu: ENTITY_SPLASH_POTION_BREAK
      confirmSelectionSound: ENTITY_VILLAGER_YES
      errorSound: ENTITY_VILLAGER_NO
    signs:
      enabled: true
      blockoffline: COAL_BLOCK
      blockwaiting: EMERALD_BLOCK
      blockplaying: REDSTONE_BLOCK
      blockending: LAPIS_BLOCK
      almostfull: DIAMOND_HELMET
      threefull: GOLDEN_HELMET
      halffull: IRON_HELMET
      almostempty: LEATHER_HELMET
    items:
      kitsEnabled: true
      kitVotePosition: 0
      kitvote: ENDER_EYE
      voteEnabled: true
      votingPosition: 4
      votingItem: COMPASS
      exitGameItem: IRON_DOOR
      exitPosition: 8
      exitMenuItem: BARRIER
      prevPageItem: FEATHER
      nextPageItem: FEATHER
      chestVoteEnabled: true
      chestVotePosition: 9
      chestvote: SHIELD
      chestrandom: NETHER_STAR
      chestbasic: STONE_SWORD
      chestnormal: IRON_SWORD
      chestop: DIAMOND_SWORD
      chestscavenger: WOODED_HOE
      healthVoteEnabled: true
      healthVotePosition: 11
      healthvote: EXPERIENCE_BOTTLE
      healthrandom: NETHER_STAR
      healthfive: REDSTONE
      healthten: REDSTONE
      healthfifteen: REDSTONE
      healthtwenty: REDSTONE
      nopermission: BARRIER
      timeVoteEnabled: true
      timeVotePosition: 13
      timevote: CLOCK
      timerandom: NETHER_STAR
      timedawn: CLOCK
      timenoon: CLOCK
      timedusk: CLOCK
      timemidnight: CLOCK
      weatherVoteEnabled: true
      weatherVotePosition: 15
      weathervote: BLAZE_POWDER
      weatherrandom: NETHER_STAR
      weathersunny: PRISMARINE_SHARD
      weatherrain: PRISMARINE_SHARD
      weatherstorm: PRISMARINE_SHARD
      weathersnow: PRISMARINE_SHARD
      modifierVoteEnabled: true
      modifierVotePosition: 17
      modifiervote: DRAGON_BREATH
      modifierspeed: BOOK
      modifierjump: BOOK
      modifierstrength: BOOK
      modifiernone: BOOK
      modifierrandom: NETHER_STAR
      joinselect: DIAMOND_HELMET
      singleSlot: 11
      singlemenu: REDSTONE_TORCH
      teamSlot: 15
      teammenu: COMPARATOR
      spectateselect: LEATHER_HELMET
      optionselect: ENDER_EYE
      particleselect: BLAZE_POWDER
      particleselectslot: 11
      projectileselect: ARROW
      projectileselectslot: 12
      killsoundselect: DIAMOND_SWORD
      killsoundselectslot: 14
      killsounditem: NOTE_BLOCK
      winsoundselect: DRAGON_EGG
      winsoundselectslot: 15
      glassselect: GLASS
      glassselectslot: 9
      tauntselect: SHIELD
      tauntselectslot: 17
    particles:
      enabled: true
      ticksperupdate: 3
    enabledMenus:
      join: true
      joinSlot: 0
      spectate: true
      spectateSlot: 4
      options: true
      optionsSlot: 8
      glass: true
      particle: true
      projectile: true
      killsound: true
      winsound: true
      taunts: true
    sqldatabase:
      enabled: false
      hostname: localhost
      port: 3306
      database: database
      username: username
      password: password
    leaderboards:
      length: 10
      leaderboardUpdateInterval: 300
      signsEnabled: true
      headsEnabled: true
      eloLeaderboardEnabled: true
      winsLeaderboardEnabled: false
      lossesLeaderboardEnabled: false
      killsLeaderboardEnabled: false
      deathsLeaderboardEnabled: false
      xpLeaderboardEnabled: false
    disable-commands:
      exceptions:
      - msg
      - r
      - sw quit
      enabled: true
    disable-commands-spectate:
      exceptions:
      - msg
      - r
      - sw quit
      enabled: true

    [​IMG]
    All yml files have been overhauled in SWR and this includes Particle Effects. I have moved the particle effect out of the PlayerMoveEvent and created a simple repeating task that handles both Projectile and Player particles which should have much greater efficiency. The number of ticks per update can be set in the config.

    Each particle effect in the config contains a couple of different values.
    Code (Text):
      colourful:
        displayname: "&bColourful"
        icon: NETHER_STAR
        level: 97
        position: 44
        page: 1
        cost: 100
        particles:
        - 'REDSTONE:0:0.5:0:10:3'
        - 'SLIME:0.5:1:0:12:6'
        - 'LAVA:1:1.5:0:16:4'
    Most values are pretty self explanatory. The display name is the name it will be given in the selection inventory. The icon, is the icon that will be used in the selection inventory. The level is the level the player must be to use the particle effect. The cost is only used when "economyEnabled" is set to true in the config. When set to true, the player can purchase the item once they reach the required level.

    Finally, the particles, which is what defines the actual effect, is broken into six parts using “:”. The parts are as follows:
    • <ParticleEffect> - as named in the spigot javadocs
    • <Y Value Offset Lower Limit> - lowest point that a particle can form from the player.
    • <Y Value Offset Upper Limit> - highest point that the particle can form from the player.
    • <Data Value> - used to set the speed or color of some particles, can be set to random by using -1 as the value.
    • <Amount of Particles Upper Limit> - the most particles that will spawn per update.
    • <Amount of Particles Lower Limit> - the least particles that will spawn per update
    The offset values can allow you to set the vertical location of the particles. So you can have particles spawn by a player feet, body or head. Particle trails can now be multi-effect as well, you can add multiple effects under particles as shown in the example above.

    [​IMG]
    Glass colors are defined in the glasscolors.yml. Each color is defined and composed of four values.
    Code (Text):
      pink:
        displayname: "&bPink"
        level: 31
        position: 36
        page: 1
        cost: 100
        material: STAINED_GLASS
        datavalue: 6
    The displayname and level are as expected, and cost is handled the same as for particle effects. The material value should be set to match a valid material in the version of spigot/bukkit you are using. If the material can have a datavalue (such as Stained Glass or Wool), you can put it in the datavalue section, otherwise datavalue should be set to -1. For 1.13.2 versions and above, the datavalue should always be set to -1 and proper material names used for glass, wool, etc.

    [​IMG]
    Kill sounds and win sounds are a new addition to the SWR 3.0 plugin. They are each defined in their own yml file.

    Each sound effect in the config contains a couple of different parts.
    Code (Text):
      pigdeath:
        sound: ENTITY_PIG_DEATH
        isCustomSound: false
        volume: 10
        pitch: 1
        icon: NOTE_BLOCK
        displayName: "&bPig Death"
        level: 4
        position: 4
        page: 1
        cost: 100
    Most values are pretty self explanatory. The display name is the name it will be given in the selection inventory. The icon, is the icon that will be used in the selection inventory. The level is the level the player must be to use the particle effect, and cost is handled the same as for particle effects. The pitch and volume are simply the pitch and volume at which the sound will play. The “sound” and “isCustomSound” values are the most important to the actual effect.
    • In the “sound” value you simple put the name of the sound as found in the Spigot Javadocs or as named in your custom resource pack.
    • For the “isCustomSound”, this must be set to true if you are using a sound from your custom resource pack.
    IMPORTANT POINT: While custom sounds are great, they will only be heard if the player uses your custom resource pack. If the player refuses the custom pack, no sound will be heard by that player.

    [​IMG]
    Taunts are another new addition to SWR 3.0. They are defined the taunts.yml and comprise of a number of different values. Taunts can be used in SkyWars matches by double tapping the shift key. A cooldown for taunts can be set in the config.yml.

    Code (Text):
     dragon:
        name: "&4Fear Me!"
        icon: DRAGON_EGG
        level: 20
        position: 40
        page: 1
        cost: 100
        addGlow: true
        lore:
        - "&b*Plays dragon growl."
        - "&6*Surrounds player in fire and lava particles."
        message: "&4Sniff....Sniff....I smell fear!!"
        sound: ENTITY_ENDERDRAGON_GROWL
        useCustomSound: false
        volume: 10
        pitch: 1
        particleSpeed: 0.5
        particleDensity: 35
        particles:
        - DRAGON_BREATH
        - SMOKE_NORMAL
    I think most of the values speak for themselves. Name, Icon, and Level are as expected, , and cost is handled the same as for particle effects. Addglow lets you decide if you want the taunt icon to glow in the selection menu. The lore section lets you create the lore for the selection item that describes the taunt. The values from after this point, define the actual taunt effect.
    • message is the message that will be shown to the other players in the match.
    • sound is the sound name as defined in the spigot/bukkit javadocs or in your custom resource pack.
    • useCustomSound toggle whether or not you are attempting to use a custom sound.
    • Volume and pitch do exactly what you would expect.
    • particleSpeed and particleDensity affect the speed and number of particles that spawn around the player.
    • particles is a list of particle effects as defined in the spigot/bukkit javadocs.
    [​IMG]
    SWR has support for PlaceHolderAPI and MVdWPlaceholderAPI. Available placeholders are:
    • swr_elo
    • swr_wins
    • swr_losses
    • swr_kills
    • swr_deaths
    • swr_xp
    • swr_games_played
    • swr_kill_death
    • swr_win_loss
    If you would like to see additional placeholders, send me a message or comment in the discussion and I'll see what's possible.

    [​IMG]
    Source code for SkyWarsReloaded can be found on GitHub.
    Jenkins builds can be found at Jenkins

Recent Updates

  1. Projectile Spleef Fix for pre 1.11
  2. Chest Fix
  3. Critical Bug Fix

Recent Reviews

  1. SamLam140330
    SamLam140330
    5/5,
    Version: 4.1.3
    Very good skywar plugin. Maybe it is better than some skyward plugins which need to pay money. All the skywar features are included. If it can separate all the chest of items and percentage in different map, it will be absolutely incredible!
  2. Petrandre
    Petrandre
    5/5,
    Version: 4.1.3
    Hello, can you like explain how to add commands when a player wins?
    Nice plugin overall :)
  3. Retopet
    Retopet
    5/5,
    Version: 4.1.1
    Good PL
    ------------------------------------------------------------------------------------------



















    -----------------------------------------------------------------
  4. Creeper_YT
    Creeper_YT
    4/5,
    Version: 4.0.2
    incredible plugin, but I'm not clear something, kits can not be bought? if you can not it would be very good if you implemented it
  5. Superdarco
    Superdarco
    5/5,
    Version: 4.0.2
    OMG SWR is back, thanks for keeping this great plugin, I hope more future features, regards.
  6. marlon233
    marlon233
    5/5,
    Version: 4.0
    Hello, good plugin. Can I add that the holograms can be edited? is that when you edit it in holograms.yml you go back to the default holograms
    1. walrusone
      Author's Response
      I'll look at that and see what is happening before my next update. For now, try shutting down the server before you edit the hologram.yml, and then restart the server. Then is should keep the changes you made.
  7. NekoCraft2
    NekoCraft2
    5/5,
    Version: 4.0
    I have a request to make How can you repeat the function of chest refill more than once in game?
    1. walrusone
      Author's Response
      Read the plugin overview page under events. There is a config option in the mapdata file for each map where you can make each event repeatable.
  8. HQR
    HQR
    5/5,
    Version: 4.0
    Great plugin! i hope there are more placeholders like:
    in arena: Left players, kills, next eventName and time
  9. chuky025
    chuky025
    5/5,
    Version: 4.0
    One of the best skywars plugins :3

    ............................................
  10. patbeni
    patbeni
    1/5,
    Version: 3.4.2
    I can't get rid of it!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!