The Walls X [Walls, Mega Walls, Solo, Teams, Kits, Cages, Trails, Mystery Box] 2.3

The ultimate walls mini-game for your server! Tons of features!


The Walls X: The walls is a very fun minigame where each team is separated by a wall that is erased after a period of time. Each team must collect resources, build traps, and prepare for the wall drop. After the wall is dropped, teams can enter enemy territory and eliminate them to win the game. The plugin is very feature-packed and will guarantee you players satisfaction. Players can unlock kits, cages, trails, achievements, mystery boxes, and also climb up the leaderboard, ranks, and form parties with friends.

This plugin is primarily built as a 'Walls' minigame, but it also supports some of the features of Mega Walls. For example, You can create some arenas that are marked as 'Mega Walls' and these arenas summon a wither that allows players to respawn if they die and so on, and these arenas allow different kits then regular arenas. This plugin does not provide kit upgrades or kits with special abilities. Special abilities however can be achieved using this free addon or any other plugin that has 'special items' or any plugin that hooks into this plugin api.

Please be patient with early versions of the plugin as they may contain bugs!


Check out my other projects as well!

- If you own 3 or more of my plugins, you can purchase any of the remaining plugins for 35% off! (づ。◕‿‿◕。)づ
If you don't own 3 or more but you want to purchase 3 at once, you get a 25% discount! (ノ◕ヮ◕)ノ*:・゚✧
To perform any of the above, you need to contact me through email -> [email protected] and also message me here as well!

̿̿ ̿̿ ̿̿ ̿'̿'\̵͇̿̿\З= ( ▀ ͜͞ʖ▀) =Ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿



Before you get into the features and get all excited, please also read the following.
*** Please read the full page, this is so that you don't purchase the plugin, and regret doing so because of a missing feature, or because you misunderstood what the plugin has to offer
*** The reviews section is not the place to be asking for help in. When you are in need of help, please use the discussion area, or send me a private message.
*** Purchasing this plugin means that you agree to the plugin agreement found at the bottom of the page!
*** This plugin is VERY customizable, but NOT FULLY, so if you need to translate every single text or letter, you either have to purchase the source, or look else where.
*** Not all of your suggestions will be taken into consideration. If I feel only you would benefit out of your suggestion it will probably not be added. so some suggestions will straight up be denied and probably never added. and customization requests WILL most likely be rejected. So view what you can change and what you can not CAREFULLY.


- Multi-Arena, You can have an unlimited amount of arenas and they can be in the same world too.
- Bungee Mode support, if enabled, this makes the plugin take over the server and force players to join the game mode. 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
- Free pre-made setup! that includes 2 regular wall arenas and 1 mega-walls arena! You can start playing this plugin in less than 5 minutes!
- Uses FastAsyncWorldEdit to restore arenas immediately and accurately
- Arenas can have different game modes such as Regular Walls and Mega Walls.
- Spectate on death! or join an active game to spectate it
- Built-in coins system, but it can also use vault economy
- Anti combat log system
- Supports Titles through TitleManager
- Custom maps! Create maps for winners and include custom messages and images to make things more fun!
- Clickable chat messages!
- 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
- Players can vote for Health and Time!
- Customizable shops!
- Achievements! track player stats and award them with your custom prizes.
- Create your own kits, cages, trails, and specify their rarity, cost, name, content, and whether they require a permission or not!
- Create as many teams as you want in an arena! You can have any color code registered as a team (Blue, Red, Gold, and so on)
- Built-in world manager, you can create, delete, import, backup, restore, tp, setspawn, and list worlds.
- 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 feature that will put the players in the best available arena
- 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 places have their own chat, this includes different teams.
- 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
- Create holographic stats and leaderboard!
- 22 default kit, 4 default megawalls kits, 51 default cage, 50 default trail, 53 default achievements!
- In Mega Walls, you can spawn random chests when players mine before walls drop
- Players with permission can protect their chests / other blocks from team mates access.

- Arenas can be solo, or could be teams of 2,3,4,5, anything
- 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)
- Lobby countdown shortening system if there is a certain number of teams joined
- Players can not break blocks below team members
- Allow spectators to view players inventories and teleport to them
- Enderchests are linked between team members
- 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
- Killstreaks! You can run your own commands on players once they reach a certain killstreak
- Fireworks ending, with an option to give winners a map and also to display your custom images on that map
- Kits can apply their own potion effects and run their own commands!
- Animated scoreboard title! (Optional)
- A warning system where doing certain activities more than x amount of times will result in the player getting kicked!
- Cool signs that show the arena state and players count
- Basic API that allows developers to access players stats and get top players, and also some events
- PlaceholderAPI Support and MVdWPlaceholderAPI Support
- Cool scoreboards!
- Tracking compass!
- Detailed and lightweight cooldown system
- Very cool GUI's that are simple and easy to use
- Global chat! Starting a message with @ will send it to everyone (If the user has permission)
- Customize party slots, and set certain amount of slots to certain permissions
- Spectators can instantly join a new game
- Hitting a player with an arrow will show that player health
- GUI's that you can scroll through, this allows to display large amount of items in a single inventory
- Smooth, well designed, created to be able to handle large amount of players
- Force start/stop arenas, and reload the plugin with a simple command rather than reloading the whole server
- Players that leave while in-game will drop their items!
- Edit arenas on the fly!
- Heavily dependent on gui's, to keep things simple
- An update checker to keep you alert inside your game!

Coming soon








































The plugin is highly customizable but not fully!! It is maybe 98% customizable. There are some things that are hard-coded like sounds and SOME texts! Below you will find a list of all files generated by the plugin! Using this you will be able to see EXACTLY what you can change and what you cannot!


Format: /Command -> Permission

- /TheWalls | /TW -> None
- /TheWalls join -> None
- /TheWalls leave -> None
- /TheWalls autojoin -> None
- /TheWalls gui -> None
- /TheWalls list -> None

- /TheWalls admin -> thewalls.admin
- /TheWalls setlobby -> thewalls.setlobby
- /TheWalls create -> thewalls.create
- /TheWalls delete -> thewalls.delete
- /TheWalls setteamspawn -> thewalls.setteamspawn
- /TheWalls removeteamspawn -> thewalls.removeteamspawn
- /TheWalls setwitherspawn -> thewalls.setwitherspawn
- /TheWalls removewitherspawn -> thewalls.removewitherspawn
- /TheWalls addwall -> thewalls.addregion
- /TheWalls removewall -> thewalls.removeregion
- /TheWalls addbuildingregion -> thewalls.addregion
- /TheWalls removebuildingregion -> thewalls.removebuildingregion
- /TheWalls savechest -> thewalls.savechest
- /TheWalls start -> thewalls.start
- /TheWalls stop -> thewalls.stop
- /TheWalls setspectators -> thewalls.setspectators
- /TheWalls coins -> thewalls.coins
- /TheWalls setmodifier -> thewalls.setmodifier
- /TheWalls holograms -> thewalls.holograms
- /TheWalls reset -> thewalls.reset
- /TheWalls edit -> thewalls.edit
- /TheWalls editmode -> thewalls.editmode
- /TheWalls reload -> thewalls.reload
- /TheWalls updatereigon -> thewalls.updateregion
- /TheWalls worldmanager | wm -> thewalls.worldmanager

Coming soon


If you want to use a premade setup, then please go ahead and download the file from this link and then extract it.

You will find 2 folders inside, one is named 'TheWalls plugins folder', and the other one is named 'TheWalls world folder'.

Rename the folder 'TheWalls plugins folder' to 'TheWalls' and put it in your plugins folder, next to the TheWalls.jar file and your other plugins as shown below

Next, rename the folder 'TheWalls world folder' to 'TheWalls' and add it to the server folder next to other worlds as shown below

That's it! you can now start the server and let the plugin generate additional files for later customization while you enjoy the plugin. Start playing using /tw join

Please do note that the free setup maps are tested in 1.11.2, loading these maps in different versions may give some warnings in the console but it should be fine

You first want to set the lobby location by doing /tw setlobby
so that when players do /tw join they will be teleported there.
Now you should create some arenas

Start by getting FastAsyncWorldEdit wand using //wand and then select the 2 corners of your map.
Once you have selected the 2 corners, create the arena using /tw create <name> <team size> <min 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.

Once the creation process is over, you can now set the lobby of the arena using /tw setlobby <Arena>. This is where players will be teleported when they enter the arena and here they can select their teams.

You can now start adding spawnpoints using /tw setteamspawn <Arena> <Color>.
Color can be any chat color like RED, GREEN, BLUE, YELLOW, LIGHT_PURPLE, GOLD, and so on.
Keep in mind that the plugin will generate a cage for each team, so you shouldn't have built-in cages in the arena.

After you have added the team spawnpoints, you should now select the arena walls using the same worldedit wand. Select the two corners of any wall and write /tw addwall <Arena>. This will mark everything inside the region selected for removal once the walls are supposed to be removed.
You should do this procedure multiple times, depending on how many walls you have in the arena.

You also need to add the regions where players are allowed to build/break blocks. Wall regions are already protected so it is fine if you include walls inside your building regions. Using the worldedit wand, select the corners of the building areas and use the command /tw addbuildingregion <Arena>. I usually create 1 region that covers the entire map from the highest corner to the lowest possible corner, but do note that the regions should be lower than walls height so that players can't tower high and jump over the walls.

If you have chests that contain items and you would like them to restore the items inside after every rollback, then you need to go at each chest and look at it and type the command /tw savechest <Arena>. This will ensure that the items inside restore because schematic rollback does not always restore them.

You can use /tw edit <arena> to enable the arena and change some other settings.

The arena is now ready to be used, but you can also add a join sign for example. You can also set the location where spectators will be teleported to, but this is optional because if it's not set, then they will teleport to a random location inside the arena region.
To set a specific location for spectators use /tw setspectators <Arena>

If you made any changes inside the arena and would like to update the arena schematic or you just want to change the arena region, then just use the wand and make a new selection then use /tw updateregion <Arena>

If you want to make this arena a 'Mega Walls' arena, then all you have to do is go to the location of Wither spawnpoints and use the command /tw setwitherspawn <Arena> <Color>

You could also use the worldmanager commands to backup your worlds just incase anything went wrong

If you want to make all players automatically join the gamemode lobby when they join your server and prevent them from leaving, 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

If you want the bungeemode server to make players join directly into an arena, and change MOTD depending on 1 arena state, then you should setup only ONE arena and then enable bungee mode. If the plugin detects more than 1 arena, then it takes players into the gamemode lobby. (Arean selection lobby)

If you want players to open a mystery box, simply place an enderchest anywhere in the main lobby. Players in the lobby will be able to open the mystery box upon interaction with enderchests automatically.

- To create the walls signs the first line must be [ tw ] without the spaces

- To create a lobby join sign the second line should be 'join'
- To create an arena join sign the second line join be 'join' and the third line should be the arena name

- To create a leave sign the second line should be 'leave'

- To create an autojoin sign the second line should 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 the second line should be 'top' and the third line should be the stat name, example 'kills', 'wins', 'games_played' etc...
and the fourth line should be the rank you are looking for! If you want to display the TOP player (rank 1) then write in the fourth line '1'

This plugin is DEPENDENT on FastAsyncWorldEdit and will not work without it! Therefore, make sure that you have FastAsyncWorldEdit installed on your server and working correctly before installing this plugin.

- Note (22/2/2021)
As of now, FAWE API for 1.16.5 seems to not rollback arenas

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 The Walls X

Mega Walls features can only be used in 1.9+ servers

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

If you want Titles or Action bar features you need to install TitleManager

There are some extra permissions!
thewalls.admin to view admin commands and receive update notifications
thewalls.createsigns to create signs
thewalls.breaksigns to break signs
thewalls.unblockcmds to be able to use commands while in game to be able to vote for health to be able to vote for time
thewalls.globalchat allows the player to start a message with @ to be sent to everyone if the chat separation features are enabled in config.yml
thewalls.protectblocks allows players to place protected chests/furnaces and so on (Configurable).

If vault is enabled in the config, Leaderboards will not show 'Coins' as the player vault money, it will still display the player coins

Please note that the default configurations are provided as a gift. They may not suit your plans for using this plugin very well. Please don't complain about default kits being bad for example and rather modify them according to your own needs.

Ask about any concerns in the discussion area before purchasing or send me an email.

Before posting a negative review, please ask for help!


Official testing server:

If your server has this plugin, inform me and i will add it to the list!


This API is very basic and doesn't allow to do a lot of things as of now.

[SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)][SIZE=6][B][FONT=Arial][SIZE=4][COLOR=rgb(20, 20, 20)]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 me.wazup.thewalls.Enums.Stat;
import me.wazup.thewalls.PlayerData;
import me.wazup.thewalls.TheWalls;
import me.wazup.thewalls.TheWallsAPI;

public class Addon extends JavaPlugin {

  public void example(){

  //Get a player playerdata
  Player p = Bukkit.getPlayer("Wazup92");
  PlayerData data = TheWallsAPI.getPlayerData(p);

  //Modifying some of their stats
  data.addCoins(p, 50);
  data.kills += 10;

  //Some booleans

  //Getting top players
  //First you have to load all players data, this should be Async
  try {
  HashMap<String, String> playersData = TheWallsAPI.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 = TheWallsAPI.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){
  //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 = TheWallsAPI.modifyOfflinePlayerStat("Wazup92", Stat.COINS, 50, true);
  } catch (SQLException e){


- TWArenaStartEvent
- TWArenaFinishEvent
- TWArenaStopEvent
- TWPlayerJoinArenaEvent
- TWPlayerLeaveArenaEvent
For the lobby scoreboard customization in (customization.yml) the placeholders are as follows:
%kills%, %deaths%, %accuracy%, %wins%, %modifier%, %projectiles_launched%, %projectiles_hit%, %player_exp%, %player_rank%, %blocks_placed%, %blocks_broken%, %selected_kit%, %selected_megawalls_kit%, %selected_trail%, %selected_cage%,
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:
%thewalls_players_count% - Gives the total amount of players in the walls
%thewalls_parties_count% - Gives the total amount of parties created
%thewalls_lobby_players_count% Gives the total amount of players in the lobby
%thewalls_arenas_count% Gives the total amount of arenas created
%thewalls_kits_count% Gives the total amount of kits created
%thewalls_trails_count% Gives the total amount of trails created
%thewalls_cages_count% Gives the total amount of cages created
Player specific placeholders:
%thewalls_kills%, %thewalls_deaths%, %thewalls_accuracy%, %thewalls_wins%, %thewalls_modifier%, %thewalls_projectiles_launched%, %thewalls_projectiles_hit%, %thewalls_player_exp%, %thewalls_player_rank%, %thewalls_blocks_placed%, %thewalls_blocks_broken%, %thewalls_arena%, %thewalls_party_leader%, %thewalls_selected_kit%, %thewalls_selected_megawalls_kit%, %thewalls_selected_trail%, %thewalls_selected_cage%
%thewalls_teamcolor%, %thewalls_coins%


There are several ways to get support! Please use any of the following

  1. Email: [email protected]
  2. Discussion area
  3. Private Message
  4. Discord (Click image below to join)


By purchasing this plugin you to the following!

- You are not allowed to redistribute this plugin in any way!
- Refunds are not allowed!
- Source code costs additional money!
- I'm not obligated to do updates within a specific time period!

Latest updates

  1. The Walls X 2.3 has been released!

    Fixed a bug in the removeteamspawn command Fixed the spectator menu for latest minecraft...
  2. The Walls X 2.2 has been released!

    Fixed a critical bug where in 1.16 winners would get stuck in a respawn screen if the voted...
  3. The Walls X 2.1 has been released!

    Added metrics! TitleManager is no longer a dependency to display titles! But the plugin can...

Latest reviews

good plugin but outdated and don't receive updates,not recommended buying it here.
Amazing plugin, nothing bad except not being able to use Mega Walls features on 1.8. I could be wrong but I don't see that stated anywhere.
Thanks for the review! You are right i don't think i have stated this here. Thanks for the notification
You need to upgrade!
Our dark style is reserved for our Premium members. Upgrade here.