What's new
♛ Party Games X ♛ [23 Minigames! Parties, Spleef, Quake, TNTRun, + Tons more!]

♛ Party Games X ♛ [23 Minigames! Parties, Spleef, Quake, TNTRun, + Tons more!] 6.0

Versions
  1. 1.8
  2. 1.9
  3. 1.10
  4. 1.11
  5. 1.12
  6. 1.13
  7. 1.14
  8. 1.15
  9. 1.16
  10. 1.17
  11. 1.18
  12. 1.19
QBcG9qj.png


6PUsRrJ.jpg


Party Games X: This plugin is a bundle of fun minigames that your players can enjoy in one place! Players compete in a series of different minigames such as spleef, one in the chamber, parkour, sumo, floor shuffle, and many more! They compete to collect the highest amount of stars in each round which eventually determines the ultimate winner!


AotfZaJ.jpg


Before you get into the features and get all excited, please also read the following.
*** Please read the FULL page before purchasing. 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.

qo7igg4.png


gQjFzLt.png

- Multi-arena! You can make many arenas and in the same world too!
- Bungee-Mode! The plugin can be installed along other plugins like in your factions server and what not but it can also take over the server and force players to join the lobby! Or even a specific arena and once the arena finishes the server restarts
- Many different minigames that can be registered to different arenas. You can setup minigames once and use them across all arenas or specific ones. You can have arenas specific to 1 minigame, 2, or as many as you want!
- Current minigames packed inside (23):

    • Spleef
    • One In The Chamber
    • Floor Shuffle
    • Sumo
    • The Dropper
    • Parkour
    • Volcano
    • Hot Potato
    • Punch The Bat
    • Splegg
    • Ore Miner
    • Animal Slaughter
    • Crafting Master
    • Horse Race
    • Mine Field
    • Survival Games
    • Tnt Run
    • Mob Shooter
    • Hoe Hoe Hoe
    • Colorful Run
    • Quake
    • Minecart Racing
    • Pig Fishing
- Advanced API that allows anyone to make additional minigames and register them in the plugin as an addon. You can even replace the built-in ones!
- FREE PRE-MADE SETUP that includes 2 lobbies, 1 map for each of the 23 minigames, and 5 arenas. You can install this setup in few steps and you are ready to start playing with 100+ players!
- Boosters!
- Hex Colors support!
- Winning celebrations!
- Parties system! All done through a gui, You can create a party and invite players
- Achievements! customize the achievements requirements and awards, and view the achievements in a cool scrollable gui
- Lobby countdown shortening system! If the arena has a certain number of players the timer will be shortened to begin faster
- Create leaderboards for many stats! kills, coins, wins, games played, waves survived, player exp, towers built, sold, upgraded, etc... and you can also display players head
- Ranks! players earn exp and rank up unlocking new towers until they reach the maximum rank which is configurable, you can also run your own commands when a player reaches a certain rank
- Prestiges! Players can reset their rank and increase their prestige! This will prevent players from getting bored after achieving the max rank
- CrackShot and QualityArmory support!
- Fully customizable scoreboards!
- Spectator mode!
- MySQL Support and normal files support
- Titles support! It can also hook to TitleManager if available
- Join signs, Auto join signs, Leave signs, Leaderboard signs!
- Built in world manager, you can create, delete, import, backup, restore, tp, setspawn, list, worlds.
- You can customize most of the plugin messages, inventory names, signs format, arena states, items, titles, chat prefixes! BUT NOT ALL. some things are forced to be english!
- The plugin contains a broadcaster system that announces certain messages every x seconds
- PlaceholderAPI and MVdWPlaceholderAPI Support!
- Holograms support! you can make holographic stats and a holographic leaderboard and display tower names in holograms through HolographicDisplays
- Custom maps! Create maps for winners and losers and include custom messages and images to make things more fun!
- Clickable chat messages!
- Create your own coin modifiers for vips! You can give them double coins or triple and so on!


- Players can purchase colorful names and trails using coins to customize their character!
- Fully independent! Can run fully by itself without the need of a single plugin! It doesn't even need multiverse due to its own world management system!
- You can send messages to party members only by starting your message with an exclamation mark
- A profile GUI where you can see all of your stats and your unlocked achievements
- Amazing rollback system
- Lightweight cooldown system
- Edit arenas on the fly!
- Supports UUID and normal names
- Built-in coins system, but it can also use vault economy
- A fireworks ending
- You can separate the spectators chat, arena chat, and the lobby chat!
- You can create permissions that allow players to have more slots per party
- You can run your own commands on players when the arena starts or when players win
- You can have an animated scoreboard title
- Smooth, well designed, and created to be able to handle large amount of players

QQxdMTh.png


Video on version 1.0

Video on version 2.0 (Not using the free setup, but a custom setup)

y93d0KN.png


6mflmgz.png

SHZlfQH.png

iUhP63y.png

u69ungk.png

eYwLPcZ.png

eNtJouW.png

t2R77wV.png

3l99mPv.png

dMomSOx.png

tkwMX3y.png

j8emUgi.png

c2eQZ4Y.png

DoktJ7o.png

rSNwGEW.png

GdtMHKZ.png

7Rc1K58.png

JOnwA2a.png

4YNF37c.png

J0r5L12.png

WgPcP3g.png

DfuZBzm.png

2WZTz9I.png

Rjpkn23.giff

NF3SzfX.png

U7W3JAS.png

rvwW4eX.png

2YUZ1Ir.png

5U7HLW5.jpg


The plugin is highly customizable but not fully!! 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!


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/u/s!Ar7IHWG_oZWhgR-yxVOyLqwC0in9?e=cI8fh3


1GyOZj2.png


Main command is /partygames or /pg

Players commands:
- /Pg join - No permissions
- /Pg leave - No permissions
- /Pg autojoin - No permissions
- /Pg stats - No permissions
- /Pg list - No permissions


Admin commands:
- /Pg admin - partygames.admin
- /Pg setlobby - partygames.setlobby
- /Pg create - partygames.create
- /Pg delete - partygames.delete
- /Pg wand - partygames.wand
- /Pg start - partygames.start
- /Pg stop - partygames.stop
- /Pg minigames - partygames.minigames
- /Pg coins - partygames.coins
- /Pg holograms - partygames.holograms
- /Pg reset - partygames.reset
- /Pg edit - partygames.edit
- /Pg editmode - partygames.editmode
- /Pg addbooster - partygames.boosters
- /Pg reload - partygames.reload
- /Pg worldmanager - partygames.worldmanager

A9XYCD7.png



Il2B3Im.png


If you want to use a premade setup, then please go ahead and download the file from this link and then extract it. (https://1drv.ms/u/s!Ar7IHWG_oZWhgQtmF5gmqzB8MPot?e=Cx7iTY)

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

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


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

UvwX7ug.png


That's it! you can now start the server and let the plugin generate additional files for later customization while you enjoy the plugin using /pg join
The manual setup may confuse some people, please make sure to contact me for support if you face any issues!

- You first want to set the general lobby location by doing /pg setlobby, so that when players do /pg join they will be teleported there where they can select an arena to join!

- To create an arena, teleport to the arena world and do the command /pg create <Name> <minPlayers> <maxPlayers>
This will create a new arena with your defined name.
Min players is the minimum amount of players required for the game to start the countdown. and max players is the maximum amount of players the arena can handle at a time!


- Now you can set the waiting lobby for the arena using the command /pg setlobby <Arena>. This is where players will wait for the arena countdown to finish

- An arena does nothing by itself. It is simply used as a collection of minigames that will be played in a match. So, you need to setup minigames now using the command /pg minigames

- You can view a list of minigames registered using /pg minigames list, and you can setup any of the registered minigames or all of them depending on your needs. To setup any minigame, use the command /pg minigames setup <MiniGame>. This will show you a list of setup commands related to the minigame that you specified because every minigame has different setup procedures.

The commands are mostly self-explanatory, but if you have any questions regarding the setup of any of the minigames and watching the setup video did not help you enough, then feel free to ask me or the community in the discussion area! I will tell you the setup procedures for 2 of the minigames as an example, Spleef, and Horse Race (Most complicated).

- Spleef:
First, you want to grab the selection wand using /pg wand. Because when doing /pg minigames setup spleef, it says that to create a map, you need to have a selection!
Select the corners of the whole spleef map and then run the command /pg minigames setup spleef createmap <MapName>.
Once the map is created, you can go to the spleef floor and set the players spawnpoint there using /pg minigames setup spleef setspawn <MapName>
Finally, you need to define the floor it self!, select the 2 corners that surround the entire floor (using /pg wand again) and run the command /pg minigames setup spleef setfloor <MapName>
This is it! you can make sure that the arena is setup correctly by using /pg minigames setup spleef list, which shows a list of maps and if they are setup correctly or not.


- Horse Race:
First, you want to get the selection wand (/pg wand) and select the 2 corners surrounding the entire racing field, and then use the command /pg minigames setup horserace createmap <MapName>
Once that is done, you need to add spawnpoints for the players. One spawnpoint is always enough but having more is better for players. You can add spawnpoints using /pg minigames setup horserace addspawn <MapName> which will add a spawnpoint at your location.
Now you need to select the initial barrier using the selection wand. The initial barrier is a barrier that is removed once the race begins so that players can start moving forward! Select the region of blocks that need to be removed and then use the command /pg minigames setup horserace setbarrier <MapName>
Now you need to specify where the race ends! To do so, select a region that if players enter, they win! Selection the region and use the command /pg minigames setup horserace setwinningregion <MapName>
You also need to set a losing region, a losing region is a place that if players ENTER or FALL BELOW, players will be teleported back to their initial spawn point. If your race has no place where players can fall, then just set the losing region below the race field anyway. To set the losing region, use the command /pg minigames setup horserace setlosingregion <MapName>


Once you setup some minigames, you can now allow certain/all arenas to use these minigames. Use the command /pg edit <ArenaName> and from there, you can enable the arena and click on the chest to add minigames to the arena. Do not forget to click save & apply once you are finished with editing the arena settings!

- 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 party games when they join the 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!
- To create party games signs, the first line must be [PG]

- 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'


- To create leaderboard signs the second line should be 'top' and the third line should be the stat name, example 'wins', 'mini_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'
When configuring a minigame, you will sometimes be able to specify the items given to players. The format of items is as follows (Best learned by observing default config and changing it):

# Format: 'Material_Name : Amount'
# Keep in mind that this plugin is LEGACY, so it uses old material names. For list of materials visit https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
# You can also add extra enchantments, names, lores, dyes by doing this
# 'Item_Type : Amount : Extra'
# Enchanting is done like this: enchant:enchantment:level
# Naming is done like this: name:name
# Adding a lore is done like this: lore:lore
# Adding a dye is done like this: dye:Color
# List of enchantments you can use: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
# List of colors you can use as a dye: BLACK, AQUA, BLUE, FUCHSIA, GRAY, GREEN, LIME, MAROON, NAVY, OLIVE, ORANGE, PURPLE, RED, SILVER, TEAL, WHITE, YELLOW
# You can also control the durability of items by doing this 'Material_Name:Durability : Amount'
# Example 'IRON_SWORD:50 : 1 : enchant:DAMAGE_ALL:2 : name:&4GOD SWORD : lore:&b its a cool sword!'
# This will create an iron sword with a durability of 50 and sharpness 2 enchantment on it and the name of 'GOD SWORD' with a dark red color and a lore that says 'Its a cool sword' in an aqua color
# For POTIONS, if your server is below 1.9 then use POTION:DURABILITY to make potions like POTION:16421, otherwise you should use the form
POTION/SPLASH_POTION/LINGERING_POTION:pOTION_TYPE:EXTENDED:UPGRADED
# Example of the form -> 'SPLASH_POTION:INSTANT_DAMAGE:false:true : 1'
# To use CrackShot items, write CrackShot:<Item>
# For example: 'CrackShot:AK-47 : 1'
# If you want to add QualityArmor guns / items, the format is: 'QualityArmory:<Item>'
# For example, 'QualityArmory:awp : 1'

4K1B1XW.png


- mc.heroxwar.com
- play.talvorgames.net
- Lagn2.crafted.pro
- Arify.net


yzWoJhR.png


This plugin works from 1.7.9 and upwards!

Please do not judge the entire plugin based on minor issues or bugs in one or two of the 20+ minigames! This is the biggest plugin that I have made and due to the nature of game mode variety, you can expect some minigames to have bugs or to use too many resources. If that happens, simply remove that mini-game from the arenas and tell me about the issue.


Using MySQL is highly recommended as it increases the performance and protects you from some issues

For the minigames horse race and minecart racing, sometimes players get kicked for 'flight' so you should allow flight in server properties.

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 ProtocolLib too otherwise the stats holograms will collide.

If you want to use titles for 1.7.9 you have to use TitleManager

There are some extra permissions!
partygames.createsigns to create signs
partygames.breaksigns to break signs
partygames.unblockcmds to be able to use commands while in game
partygames.globalchat allows the player to start a message with @ to be sent to everyone if the chat separation features are enabled in config.yml
partygames.forcestart allows starting an arena even with 1 player for testing purposes. The permission does nothing if the permission 'partygames.start' corresponding to the start command is not given first.


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

Ask about any concern in the discussion area before purchasing.

Before posting a negative review, please ask for help!

qe0NjiV.jpg


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.partygames.Enums.Stat;
import me.wazup.partygames.PlayerData;
import me.wazup.partygames.PartyGames;
import me.wazup.partygames.PartyGamesAPI;

public class Addon extends JavaPlugin {

  public void example(){

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

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

  //To save the modifications when a player quits the server without playing a match, write the following
  data.saveStats = true;

  //Getting top players
  //First you have to load all players data, this should be Async
  try {
  HashMap<String, String> playersData = PartyGamesAPI.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 = PartyGamesAPI.getTopPlayers(playersData, Stat.COINS, 10);
  //Top now contains the top 10 players, ordered by their coins 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 = PartyGamesAPI.modifyOfflinePlayerStat("Wazup92", Stat.COINS, 50, true);
  } catch (SQLException e){
  e.printStackTrace();
  }

  }

}
Code:
        Player p = Bukkit.getPlayer("Wazup92");
 
        PartyGamesAPI.isInArena(p); //Returns true if player is inside an arena, does not matter if he is playing or not.

        PartyGamesAPI.getArenaName(p); //Returns arena name, must check if player is in an arena first!

        PartyGamesAPI.isSpectating(p); //Returns true if the player is inside an arena and is spectating (not participating as a player in any of the minigames)
 
        PartyGamesAPI.isPlaying(p); //Returns true if player is inside an arena and is playing (not spectating)
 
        PartyGamesAPI.getMinigamesFolderPath(); //Returns the path to the minigames folder. Generally speaking, you do not need to use this.
 
        //The methods below are all useful tools for when registering your own minigames!
 
        Cuboid cuboid = PartyGamesAPI.getPlayerSelection(p); //Returns the player selection that was made using partygames wand!
        if(cuboid != null) {
            Bukkit.broadcastMessage("Iterating over: " + cuboid.getSize() + " blocks and setting them to air!");
            Iterator<Block> iterator = cuboid.iterator();
            while(iterator.hasNext()) iterator.next().setType(Material.AIR);
        }
 
        PartyGamesAPI.removePlayerSelection(p); //Sets a player partygames selection to null
 
        PartyGamesAPI.MakeSpectator(p, true); //Gives the player the spectator effects (Invisibility and flight or simply gamemode 3 when available), this should be used when a player is eliminated from a minigame
        PartyGamesAPI.MakeSpectator(p, false); //Removes the player spectator effects (This should be run on eliminated players when the minigame is finished)
 
        PartyGamesAPI.getMessage("No-Permission"); //Returns the message tagged as 'No-Permission' in customization.yml
 
        Arena someArena = null; //You can get an arena when registering a custom minigame and extending the MiniGame class
        PartyGamesAPI.sendRoundConclusion(someArena, new String[] {"Wazup92", "Wazup91", "Wazup90"}); //The second parameter is a String[] whose size must be at least 3!
 
        PartyGamesAPI.getItemStackFromString("WOOD_SWORD : 1 : enchant:DAMAGE_ALL:1"); //This is a method that reads a string and converts it to an item stack!

For custom minigames, you need to make a class that extends 'MiniGame' and implement all the requested methods. You can then register that custom minigame using 'PartyGames.plugin.registerMinigame(minigame);'

There are some methods that i will not talk about, as you do not need them and can implement your own versions of them. However you can discover them in the examples provided below.

The code for 'SurvivalGames', 'Spleef', and 'MobShooter' minigames will be shown below for your own learning reference! It is highly recommended that you just copy one of them and modify it to meet your own needs.

SurvivalGames
Spleef

- PGArenaFinishEvent
- PGArenaStartEvent
- PGArenaStopEvent
- PGMiniGameFinishEvent
- PGPlayerJoinArenaEvent
- PGPlayerLeaveArenaEvent

Lobby scoreboard placeholders (only used customization.yml):
%mini_wins%, %wins%, %coins%, %games_played%, %player_exp%, %player_next_rank_exp%, %player_rank%, %player_prestige%, %player_color%, %player_trail%, %player_celebration%


Arena lobby/game scoreboard placeholders (only used in customization.yml):
%arena_players%, %arena_max_players%, %alive_players%, %arena_viewers%, %arena_name%, %arena_minigame%, %date%, %current_round%, %max_rounds%


The placeholders mentioned below are for PlaceholderAPI, if you want to use MVdWPlaceholderAPI placeholders then use the same placeholders below but replace the first % with { and replace the last % with }

Non-player specific placeholders:
%partygames_players_count%, %partygames_parties_count%, %partygames_lobby_players_count%, %partygames_arenas_count%, %partygames_arena_status_<arena>%, %partygames_arena_players_<arena>%, %partygames_arena_viewers_<arena>%, %partygames_arena_max_players_<arena>%


Player-specific placeholders:
%partygames_arena%, %partygames_party_leader%, %partygames_mini_wins%, %partygames_wins%, %partygames_coins%, %partygames_games_played%, %partygames_player_exp%, %partygames_player_next_rank_exp%, %partygames_player_rank%, %partygames_player_prestige%, %partygames_player_color%, %partygames_player_trail%, %partygames_player_celebration%

U0hugLN.jpg

Check out my other projects as well!







Discounts:
- 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!

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



4gVBXC5.jpg


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)



KJU0duC.png

Ts1c0W5.jpg


By purchasing this plugin you to the following!

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


Since the plugin is new here and there are no reviews yet, you can see some of the reviews from the mc-market version:
ZZFEIaR.png
Author
Wazup92
Downloads
0
Type
Digital product
License Duration
Unlimited
Price
14.00 USD
Views
531
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from Wazup92

Top