Paintball Minigame ❱ Upgrades, Levels & More icon

Paintball Minigame ❱ Upgrades, Levels & More -----

Various game modes, special effects, killstreaks, perk upgras & more!



[​IMG]
The Ultimate Paintball Plugin!
Shoot snowballs at your enemies, get killcoins and activate powerful powerups to reduce their lives to 0 and win the game!​


[​IMG]
  • Multi-Arena or BungeeCord with single and multi arena support.
  • 4 different gamemodes (for now)!
    • Standard Team vs Team: You have to reduce the opponents team's life to 0.
    • Death Mode: You can take 4 hits before dying, your teammates can revive you. The game ends when all players from a team are dead.
    • FFA: Free for All! No teams! First to get a certain amount of kills wins!
    • Kill Confirm: Collect the enemy tag to confirm the kill!
    • Domination (NEW): Capture game objectives to score points!
    • A lot more to come...
  • Achievements, achievements menu.
  • SQLite (local) and MySQL (online) support.
  • Extremely configurable. You can edit everything, if something is not editable send me a message and we'll get it going!
    • Signs, Scoreboard, messages, options and more.
  • Holographic Leaderboards.
    • Shots, Kills, Wins
  • Reward System.
  • Very easy to setup. A few commands and you ready to play.
  • Leveling up System.
  • Exp & Coins Multiplier.
  • Perks!
    • Buy and upgrade perks! Get more team lives, killcoins, snowballs, killstreak duration and more!
    • Perks gets more expensive as you upgrade them! Give your players incentive to keep playing Paintball and other games!
    • [​IMG]
  • KillStreaks!
    • Unlock killstreaks by using coins, and get killcoins in-game to use them! Killcoins resets on death, so make sure to get some killstreaks going!
    • [​IMG]
  • Hats!
    • Use hats to display particle effects, custom effects or even buffs like permanent Speed and more! Create your own hats, set your own particle effects and buffs.
    • [​IMG]
[​IMG]
Bugs
If you have any issues, report via discussion or private message. Do not use the rating area to report bugs or request features. Please go to discussion.

This plugin is primarily made for newer versions, (1.20+), but it works without any problems from 1.8 to 1.21.10. Unsupported features are automatically disabled.

Requires Java 16+. Plugin contains java 16+ features, so Java 8 won't work.

Dependencies
Paintball can run all systems by itself, however, you can install some optional dependencies!
  • Vault to link the Paintball's economy with your server's economy.
  • DecentHolograms for Leaderboards and Special Kill Effects
  • PlaceholderAPI for placeholders, placeholder list below.
PlaceholderAPI Placeholder List
Player placeholders:
  • %paintball_wins%
  • %paintball_losses%
  • %paintball_games_played%
  • %paintball_kills%
  • %paintball_deaths%
Leaderboard Placeholders:
  • %paintball_wins_POSITION%
  • %paintball_shots_POSITION%
  • %paintball_kills_POSITION%
Example:
%paintball_wins_1%
returns the value at Messages.Leaderboard.Wins-Format.

Raw Leaderboard Placeholders:
  • %paintball_data_kills_POSITION%
  • %paintball_player_kills_POSITION%
  • %paintball_data_shots_POSITION%
  • %paintball_player_shots_POSITION%
  • %paintball_data_wins_POSITION%
  • %paintball_player_wins_POSITION%

Arena Placeholders:
  • %paintball_arena_players_{arena}%
  • %paintball_arena_max_players_{arena}%
  • %paintball_arena_min_players_{arena}%
  • %paintball_arena_status_{arena}%
[​IMG]
Required permission: paintball.setup
After using the create command, the plugin will show you how to proceed, but here's a fully written tutorial:

Standard, Death Mode & Kill Confirm
  1. Create your arena - /pb create <name> {type}
  2. Set waiting lobby - /pb setLobby <name>
  3. Set Team A spawn - /pb setSpawnA <name>
  4. Set Team B spawn - /pb setSpawnB <name>
  5. Done! Finish your arena - /pb finish <name>
It is that easy. Now, you can use some extra commands if you want to:
  1. Set min players - /pb setMinPlayers <name> <amount>
  2. Set max players - /pb setMaxPlayers <name> <amount>
  3. Set max lives - /pb setMaxLives <name> <amount>
  4. Set spectator spawn - /pb setSpectatorSpawn <name>
  5. Set arena displayname - /pb setDisplayName <name> <display-name>
Those are optional commands, but after using any of them you have to use /pb finish <name> again to apply the changes.
You can also use them before using the finish command during the setup process.

Domination
  1. Create your arena - /pb create <name> {type}
  2. Set waiting lobby - /pb setLobby <name>
  3. Set Team A spawn - /pb setSpawnA <name>
  4. Set Team B spawn - /pb setSpawnB <name>
  5. Add game objectives - /pb setObjective <name> <Objective>
    1. Objectives will spawn a beacon, so you should have a 3x3 area cleared.
    2. Objectives can go from A to G.
      1. Example: /pb setObjective name A
  6. Done! Finish your arena - /pb finish <name>

FFA
The setup for FFA is basically the same, but you'll be adding spawns.
  1. Create your arena - /pb create <name> FFA
  2. Set waiting lobby - /pb setLobby <name>
  3. Add how many spawns you want - /pb addSpawn <name>
  4. Done! Finish your arena - /pb finish <name>
For this mode, you don't have lives, but you can use
  • /pb setKillsToWin <name> <amount>
to set the amount of kills for a player to win the match.

[​IMG]
Command: paintball
Aliases: pb

Player commands
  • /pb join {arena} - no permission.
    • if no arena is specified, it functions as a autojoin command.
  • /pb leave - no permission.
  • /pb stats - no permission.
  • /pb achievements {type} - no permission
    • types: wins, shots, kills, gamesplayed
    • if no type is specified, it shows a menu with all achievements
  • /pb shop - Main shop, no permission
  • /pb hats - Hats shop, no permission
  • /pb killstreaks - KillStreaks unlock shop, no permission
  • /pb perks - Perks shop, no permission
  • /pb close - Used to close inventory
Manager commands
  • /pb setgspawn - paintball.admin
  • /pb start {arena} - paintball.start
  • /pb stop {arena} - paintball.stop
  • /pb reload - paintball.admin
    • Updates all config files.
Others:
  • /pb coins set/add/remve <player> <amount>
    • Permission: paintball.admin
    • Updates player balance, command will not work with Vault support enabled.
  • /pb update <player>
    • Permission: paintball.admin
    • Sends a update to database.
  • /pb help <page>
    • Permission: paintball.admin.
    • Shows all commands.
[​IMG]

Chances to Execute Commands
For every file and feature below, you can add a chance to execute commands.
Example of a default command:
  • 'eco give %player% 100'
However, rewards can have a percentage system:
  • '100%: eco give %player% 100' -> 100% chance of giving 100 coins.
  • '25%: eco give %player% 100' -> 25% chance of giving 25 coins.
and so on.

This applies for levels.yml and rewards section in options.yml.

Level Up System
Players can level up and get rewards by playing the game!
Code (Text):
Levels:
  Level-1:
    exp: 0
    display-name: "&6Level 1"
    prefix: "&6[1]"
    commands-to-execute: [ ]
    level-up-message: [ ]
  Level-2:
    exp: 10
    display-name: "&6Level 2"
    prefix: "&6[2]"
    commands-to-execute:
      - pb coins add %player% 100
    level-up-message:
      - '&7&m--------------&7[&6&lPAINTBALL&7]&m--------------'
      - ''
      - '&a&lLevel Up &e&l%level%'
      - ''
      - '&9Next level: &b%next_level% &7(%until_next_level%/%next_level_exp% EXP)'
      - ''
      - '&7&m-------------------------------------'
  Level-3:
    exp: 20
    display-name: "&6Level 3"
    prefix: "&6[3]"
    commands-to-execute:
      - pb coins add %player% 100
    level-up-message:
      - '&7&m--------------&7[&6&lPAINTBALLS&7]&m--------------'
      - ''
      - '&a&lLevel Up &e&l%level%'
      - ''
      - '&9Next level: &b%next_level% &7(%until_next_level%/%next_level_exp% EXP)'
      - ''
      - '&7&m-------------------------------------'
Please do not change Level-1 as it is the default Database value, you can just use display-name to not show "Level-1" in game, the section name is just a backend thing.

Note that the reload command will not apply changes for levels.yml ATM.

How to Earn Exp
Players can earn Exp by playing, kills and wins.

KillStreaks
[​IMG]
You'll get a special in-game currency (killcoins) after killing players. With those, you can buy special powerups that last for a short period of time.

Note that players have KillStreaks locked by default, they'll need to buy the access to them via the shop before the game starts.

Players with the paintball.killstreaks.all permission can get every killstreak without having to buy them first.

Here's how your killstreaks.yml will look like:
[​IMG]
Each killstreak can have its own options, so feel free to modify them however you want!

Full killstreaks.yml:
Code (Text):
Flashbang:
  display-name: "&aFlashbang"
  display-item: "EGG : 1 : name:&aFlashbang"
  Item: "EGG : 2 : name:&aFlashbang"
  lore:
    - "&7Throw at your enemies"
    - "&7to blind them for a few"
    - "&7seconds!"
    - " "
    - "&7Killcoin cost: &a2"
  locked-lore:
    - "&7Throw at your enemies"
    - "&7to blind them for a few"
    - "&7seconds!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 0
  blind-duration: 4
  kill-streak-cost: 2
  unlock-price: 2000
  enabled: true
TripleShot:
  display-name: "&aTriple Shot"
  display-item: "DIAMOND : 1 : name:&aTriple Shot"
  lore:
    - "&7Throw 3 snowballs at"
    - "&7once!"
    - " "
    - "&7Killcoin cost: &a3"
  locked-lore:
    - "&7Throw 3 snowballs at"
    - "&7once!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 1
  duration: 12
  kill-streak-cost: 3
  unlock-price: 2000
  enabled: true
StrongArm:
  display-name: "&aStrong Arm"
  display-item: "SNOWBALL : 1 : name:&aStrong Arm"
  lore:
    - "&7Shoots snowballs stronger and"
    - "&7faster!"
  locked-lore:
    - "&7Shoots snowballs stronger and"
    - "&7faster!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 2
  duration: 20
  kill-streak-cost: 4
  unlock-price: 2000
  enabled: true
Plus3:
  display-name: "&a+3 Lives"
  display-item: "WHEAT : 1 : name:&a+3"
  lore:
    - "&7Heal your team!"
    - " "
    - "&7Killcoin cost: &a5"
  locked-lore:
    - "&7Heal your team!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 3
  amount: 3
  kill-streak-cost: 5
  unlock-price: 2000
  enabled: true
Rambo:
  display-name: "&aRambo"
  display-item: "TNT : 1 : name:&aRambo"
  lore:
    - "&7Speed III and no loss"
    - "&7of team lives!"
    - " "
    - "&7Killcoin cost: &a9"
  locked-lore:
    - "&7Speed III and no loss"
    - "&7of team lives!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 4
  duration: 15
  kill-streak-cost: 9
  unlock-price: 2000
  enabled: true
Plus10:
  display-name: "&a+10 Lives"
  display-item: "BREAD : 1 : name:&a+10"
  lore:
    - "&7Heal your team!"
    - " "
    - "&7Killcoin cost: &a15"
  locked-lore:
    - "&7Heal your team!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 5
  amount: 10
  kill-streak-cost: 15
  unlock-price: 2000
  enabled: true
Nuke:
  display-name: "&aNuke"
  display-item: "BLAZE_POWDER : 1 : name:&aNuke"
  lore:
    - "&7Kills all enemies."
    - " "
    - "&7Killcoin cost: &a25"
  locked-lore:
    - "&7Kills all enemies."
    - " "
    - "&7Unlock cost: &a2000"
  slot: 6
  kill-streak-cost: 25
  unlock-price: 2000
  enabled: true
Lightning:
  display-name: "&aLightning"
  display-item: "GOLDEN_AXE : 1 : name:&aLightning"
  lore:
    - "&7Kill all enemies that"
    - "&7are close to you!"
    - " "
    - "&7Killcoin cost: &a12"
  locked-lore:
    - "&7Kill all enemies that"
    - "&7are close to you!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 7
  range: 15
  kill-streak-cost: 12
  unlock-price: 2000
  enabled: true
Enderpearl:
  display-name: "&aEnder Pearl"
  display-item: "ENDER_PEARL : 1 : name:&aEnder Pearl"
  lore:
    - "&7Teleports you to where you were"
    - "&7last killed."
    - " "
    - "&7Killcoin cost: &a16"
  locked-lore:
    - "&7Teleports you to where you were"
    - "&7last killed."
    - " "
    - "&7Unlock cost: &a2000"
  slot: 8
  kill-streak-cost: 16
  unlock-price: 2000
  enabled: true
Endereye:
  display-name: "&aEnder Eye"
  display-item: "ENDER_EYE : 1 : name:&aEnder Eye"
  lore:
    - "&7Swaps places with a random enemy."
    - " "
    - "&7Killcoin cost: &a13"
  locked-lore:
    - "&7Swaps places with a random enemy."
    - " "
    - "&7Unlock cost: &a2000"
  slot: 9
  kill-streak-cost: 13
  unlock-price: 2000
  enabled: true
Forcefield:
  display-name: "&aForcefield"
  display-item: "OBSIDIAN : 1 : name:&aForcefield"
  lore:
    - "&7Reflects snowballs thrown at you"
    - "&7for a short period of time."
    - " "
    - "&7Killcoin cost: &540"
  locked-lore:
    - "&7Reflects snowballs thrown at you"
    - "&7for a short period of time."
    - " "
    - "&7Unlock cost: &a2000"
  slot: 10
  kill-streak-cost: 50
  unlock-price: 2000
  duration: 10
  enabled: true
Bomberman:
  display-name: "&aBomber Man"
  display-item: "TNT_MINECART : 1 : name:&aBomber Man"
  lore:
    - "&7Explodes all enemies within your area,"
    - "&7also kills yourself!"
    - " "
    - "&7Killcoin cost: &a18"
  locked-lore:
    - "&7Explodes all enemies within your area,"
    - "&7also kills yourself!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 11
  range: 25
  kill-streak-cost: 18
  unlock-price: 2000
  enabled: true
Sentry:
  display-name: "&aSentry"
  display-item: "CARVED_PUMPKIN : 1 : name:&aSentry"
  lore:
    - "&7Spawns a sentry that kills for you!"
    - " "
    - "&7Killcoin cost: &a8"
  locked-lore:
    - "&7Spawns a sentry that kills for you!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 12
  duration: 20
  kill-streak-cost: 8
  unlock-price: 2000
  accuracy: 0.65
  range: 10
  shoot-delay-in-ticks: 20
  enabled: true
QuintupleShot:
  display-name: "&aQuintuple Shot"
  display-item: "DIAMOND_BLOCK : 1 : name:&aQuintuple Shot"
  lore:
    - "&7Throw 5 snowballs at"
    - "&7once!"
    - " "
    - "&7Killcoin cost: &a10"
  locked-lore:
    - "&7Throw 5 snowballs at"
    - "&7once!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 13
  duration: 12
  kill-streak-cost: 10
  unlock-price: 2000
  enabled: true
Ammo:
  display-name: "&aAmmo"
  display-item: "ANVIL : 1 : name:&aAmmo"
  lore:
    - "&7Get 32 snowballs!"
    - " "
    - "&7Killcoin cost: &a3"
  locked-lore:
    - "&7Get 32 snowballs!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 14
  amount: 32
  kill-streak-cost: 3
  unlock-price: 2000
  enabled: true
TeamAmmo:
  display-name: "&aTeam Ammo"
  display-item: "ANVIL : 2 : name:&aTeam Ammo"
  lore:
    - "&7Gives 32 snowballs to your team!"
    - " "
    - "&7Killcoin cost: &a6"
  locked-lore:
    - "&7Gives 32 snowballs to your team!"
    - " "
    - "&7Unlock cost: &a2000"
  slot: 15
  amount: 32
  kill-streak-cost: 6
  unlock-price: 2000
  enabled: true

Hats
[​IMG]
Hats can be either cosmestic or have a special effect. You can choose to enable each hat perk or just use it as cosmestic. Add more hats in the hats.yml file!

How it works:
buyPermission: Gives this permission to all players that you want to be able to buy the hat.
permission: the permission itself that players are buying to use the hat.

Special permission: paintball.hats.all. Access to everything.

Hat Effect List:
  • TNT - Spawns a TNT on death that kill enemies
  • SPEED - Gives permanent Speed II
  • DIAMONDS - Drops diamonds from player's head (cosmestic)
  • GOLD - Drops golds from player's head (cosmestic)
  • GHOST - Chance to survive a hit
  • SURVIVOR - Invencibility time from respawning 5->8
  • SNOW - Gets more snowballs on spawn and respawn.
more to come!

Here's a preview of hats.yml:
[​IMG]

Perks
[​IMG]
Buy and upgrade your perks. You can edit perk levels and utility, players can have a perk that adds +3 lives to their team, and upgrade it to +10 and so on, it's your choice!

Here's a preview of perks.yml:
[​IMG]

Full perks.yml file:
Code (Text):
perks:
  godfather:
    name: "&cGodfather"
    item: "RED_ROSE : 1"
    slot: 10
    maxLevel: 50
    values:
      perLevel: 1
      descriptionVariable: "%extra_lives%"
    description:
      - "&7Your team starts with &e%extra_lives% &7extra lives!"
      - "&8(+1 per level)"
    cost:
      1: 5000
      2: 10000
      3: 15000
      4: 20000
      5: 25000
    messages:
      unlocked: "&aYou upgraded &eGodfather &ato level &e%level%!"
      maxed: "&cYou have already maxed this perk!"
      notEnoughCoins: "&cYou don't have enough coins!"

  endurance:
    name: "&6Endurance"
    item: "CLOCK : 1"
    slot: 11
    maxLevel: 50
    values:
      perLevel: 3
      descriptionVariable: "%boost%"
    description:
      - "&7Gain &e%boost%% &7extra time for killstreaks!"
      - "&8(+3% per level)"
    cost:
      1: 7500
      2: 15000
      3: 22500
      4: 30000
      5: 37500

  superluck:
    name: "&aSuperluck"
    item: "SNOWBALL : 1"
    slot: 12
    maxLevel: 20
    values:
      perLevel: 5
      descriptionVariable: "%chance%"
    description:
      - "&7%chance%% &7chance to get &e+10 snowballs &7per kill!"
      - "&8(+5% per level)"
    cost:
      1: 1750
      2: 3500
      3: 5250
      4: 7000
      5: 8750

  fortune:
    name: "&bFortune"
    item: "GOLD_NUGGET : 1"
    slot: 13
    maxLevel: 20
    values:
      perLevel: 5
      descriptionVariable: "%chance%"
    description:
      - "&7%chance%% &7chance to gain &e+1 Killcoin &7per kill!"
      - "&8(+5% per level)"
    cost:
      1: 3000
      2: 6000
      3: 9000
      4: 12000
      5: 15000

  adrenaline:
    name: "&eAdrenaline"
    item: "SUGAR : 1"
    slot: 14
    maxLevel: 10
    values:
      perLevel: 1
      descriptionVariable: "%seconds%"
    description:
      - "&7Gain &eSpeed I &7for &e%seconds%s &7after respawn!"
      - "&8(+1s per level)"
    cost:
      1: 10000
      2: 20000
      3: 30000
      4: 40000
      5: 50000

  transfusion:
    name: "&dTransfusion"
    item: "REDSTONE : 1"
    slot: 15
    maxLevel: 10
    values:
      perLevel: 10
      descriptionVariable: "%conversion%"
    description:
      - "&7Convert &e%conversion%% &7of leftover Killcoins into Coins!"
      - "&8(+10% per level)"
    cost:
      1: 7500
      2: 12000
      3: 16500
      4: 21000
      5: 25500

  headstart:
    name: "&fHeadstart"
    item: "GOLD_INGOT : 1"
    slot: 16
    maxLevel: 5
    values:
      perLevel: 1
      descriptionVariable: "%extra_killcoins%"
    description:
      - "&7Start each game with &e%extra_killcoins% &7Killcoins!"
      - "&8(+1 per level)"
    cost:
      1: 5000
      2: 10000
      3: 15000
      4: 20000
      5: 25000
Game Modes
Standard Team vs Team
  • Team vs Team. Each team has 300 (by default) lives.
  • First team to reduce the enemy lives to 0 wins.
  • All KillStreaks, hats and perks fully available.
Kill Confirmed
  • Team vs Team. Each team has 300 (by default) lives.
  • First team to reduce the enemy lives to 0 wins.
  • All KillStreaks, hats and perks fully available.
  • After killing a player, they will drop a tag. You need to collect tags to confirm kills.
  • Killing players without confirming kills does not give more snowballs, killstreaks and does not count towards your stats, so play around that!
FFA
  • Free For All
  • Random Spawns
  • First to get a certain amount of kills wins
  • KillStreaks and Hats are still available (by default) in this mode, but, of course, some of team that would benefit your team only works for you now. Some perks, like getting more lives are disabled in this mode.
Death Mode
  • Team vs Team. Each player can take up to four hits, one for each piece of armor.
  • When a player is hit, part of their armor changes to the color of the opposing team. Once a player is fully painted in the enemy’s color, they are eliminated and become a spectator.
  • Teammates can bring back eliminated players by throwing a special potion at them. The team that eliminates all members of the opposing team wins the match.
  • Hats, Perks and KillStreaks are disabled in this mode.
Domination (NEW 1.2.0)
  • Team vs Team.
  • First team to score 300 points (by default) wins.
  • Score points by capturing objectives, +4 points (by default) per second for each objective.
  • All KillStreaks, hats and perks fully available.

Planned Modes: CTF, Base Domination and more!

Language File
All messages that players can see are editable. Some of them, like setup messages, are not.

Click below to see the full language.yml, this file is from 1.0.0 and might have changed.
Code (Text):

Messages:
  Chat:
    Default-Format: '%teamcolor%%playername%&7: %message%'
    Spectator-Format: '&7[SPECTATOR] %teamColor%%playername%&7: %message%'
  Join: '&7%player% &ejoined the game. (&7%players%&e/&7%maxplayers%&e)'
  Left: '&7%player% &eleft the game. (&7%players%&e/&7%maxplayers%&e)'
  Command-Failed: '&cYou cannot use commands while playing paintball!'
  Restoring-Period: '&cThis game is restarting, please wait...'
  Join-Cooldown: '&cPlease wait...'
  Cannot-Join: '&cCouldn''t join this game, please try another arena.'
  Already-Started: '&cThis game already started!'
  Already-InGame: '&cAlready playing!'
  No-Game-Available: '&cThere are no games available for this gamemode.'
  No-Permission: '&cNo permission!'
  No-Permission-To-Buy: '&cYou don''t permission to purchase that item.'
  Not-Enough-Money: '&cNot enough money!'
  Unlocked-For-Free: '&aUnlocked for free by special permission!'
  Selected-For-Free: '&aSelected via special permission'
  Game-Is-Full: '&cThis game is full!'
  Empty: '&7empty'
  Draw: '&cDraw'
  No-Value: '&fN/A'
  Kill-Confirmed: '&a&lKill Confirmed!'
  Kill-Denied: '&a&lKill denied!'
  Revived: '&a&lRevived by %player%!'
  Revive-Name: '&dReviving fluid'
  Tag-Name: '%color%%player%'
  Starting: '&eThe game starts in &b%time% &eseconds.'
  No-Game-Available-On-This-Server: '&cThere is no games on this server.'
  Wait-To-Try-Again: '&cPlease try again in a few seconds.'
  Game-Cancelled-Lack-Of-Players: '&cThe game was cancelled due lack of players.'
  Countdown-Cancelled-Lack-Of-Players: '&cCountdown cancelled due lack of players.'
  Game-Canceled: '&cGame canceled by an Administrator.'
  Game-Canceled-Players-Left: '&cGame canceled due lack of players.'
  Skill-Recharded: '&eYour &c%ability% ability &eis ready to use!'
  ActionBar-Skill-Recharded: '&eYour &c%ability% ability &eis ready to use!'
  Recharged: '&cYou''ve reached the limit of this item!'
  Recharging: '&cWait %time% to use this ability.'
  Player-Stats:
  - '&7&m---------------&7[&c&lPAINTBALL STATS&7]&m---------------'
  - ' '
  - '&8Exp: &b%exp%'
  - '&8Rank: &b%rank%'
  - '&8Games Played: &b%games_played%'
  - '&8Wins: &b%wins%'
  - '&8Losses: &b%losses%'
  - '&8Kills: &b%kills%'
  - '&8Deaths: &b%deaths%'
  - '&8Shots Fired: &b%shots%'
  - '&8Coins: &b%coins%'
  - ' '
  - '&7&m-------------------------------------'
  Game-Start:
    Default:
    - '&7&m--------------&7[&6&lPAINTBALL&7]&m--------------'
    - ' '
    - '&eKill your opponents! Don''t die to get killstreaks and'
    - '&ebuy strong power ups!'
    - ' '
    - '&7&m----------------------------------'
    FFA:
    - '&7&m--------------&7[&6&lPAINTBALL&7]&m--------------'
    - ' '
    - '&eKill your opponents! Don''t die to get killstreaks and'
    - '&ebuy strong power ups!'
    - ' '
    - '&7&m----------------------------------'
    Kill-Confirmed:
    - '&7&m--------------&7[&6&lPAINTBALL&7]&m--------------'
    - ' '
    - '&eKill your opponents and get their tags! Don''t die to get killstreaks and'
    - '&ebuy strong power ups!'
    - ' '
    - '&7&m----------------------------------'
    Death-Mode:
    - '&7&m--------------&7[&6&lPAINTBALL&7]&m--------------'
    - ' '
    - '&ePaint your enemies to your team color! Revive'
    - '&eteammates by throwing potions at them!'
    - ' '
    - '&7&m----------------------------------'
  Game-End:
  - '&7&m--------------&7[&6&lPAINTBALL&7]&m--------------'
  - ' '
  - '&7Winner: %color% %winner%'
  - ' '
  - '&e1: &b%killer_1% &7with &b%kills_1% &7kills'
  - '&e2: &b%killer_2% &7with &b%kills_2% &7kills'
  - '&e3: &b%killer_3% &7with &b%kills_3% &7kills'
  - ' '
  - '&7&m-------------------------------------'
  Achievement:
  - '&7&m---------------&7[&6&lACHIEVEMENT&7]&m---------------'
  - ' '
  - '%name% - %description%'
  - ' '
  - '&7&m----------------------------------'
  Leaderboard:
    No-Data: '&7...'
    Wins-Format: '&e%position%. &b%player% &7- &e%wins% &7wins'
    Kills-Format: '&e%position%. &b%player% &7- &e%kills% &7kills'
    Shots-Format: '&e%position%. &b%player% &7- &e%shots% &7shots'
  KillStreaks:
    Menu-Name: '&eKillStreaks'
    Shop-Menu-Name: '&7KillStreak Shop'
    Not-Available: '&cYou don''t have this KillStreak! You can buy it on the shop
      before the game starts!'
    Disabled: '&cThis KillStreak is not enabled in this mode!'
    Not-Enough: '&cNot enough KillStreak coins! Kill players without dying to get
      more coins!'
    Unlocked: '&aUnlocked the KillStreak &e%killstreak%&a!'
    Already-Unlocked: '&aKillStreak already unlocked!'
    Activated: '%color%%player% &eactivated &a%killstreak%'
    Expired: '&a%killstreak% &eexpired'
    Nuke-Countdown: '&4&lNUKE in %time%s'
    EnderEye: '&e%player% swapped places with you!'
  Hats:
    Shop-Menu-Name: '&7Hats'
  Hats-Unlocked: '&aHat &e%hat%&a unlocked!'
  Hat-Selected: '&aHat &e%hat%&a selected!'
  Achievements:
    Menu-Name: '&7Paintball Achievements'
  Perks:
    Already-Maxed: '&cYou have already maxed this perk!'
    Upgrade: '&aYou upgraded &e%name% &ato level &e%level%!'
    Cost: '&7Cost: &e%cost%'
    Purchase: '&eClick to purchase!'
    Maxed: '&aMAXED OUT'
    Menu-Name: '&6Perks'
    Transfusion-Activated: '&dTransfusion! &7Converted &e%coins% &7coins from leftover
      killcoins.'
  Titles:
    Title:
      Starting: '&eGame starts in:'
    Subtitles:
      Starting: '&e%time%'
  Teams:
    Selector:
      Lore-Lines:
      - '%team%: &8%players%'
    Full: '&cThis team is full!'
    Selected: '&6Team selected!'
    Already-Selected: '&cYou already on this team.'
    Full-In-Order-To-Balance: '&cYou cannot join this team due the amount of players.'
    Menu-Name: '&9Team Selector'
    Red-Name: RED
    Blue-Name: BLUE
    Red-ChatColor-Name: RED
    Blue-ChatColor-Name: BLUE
    Red-Color-Value: '&c'
    Blue-Color-Value: '&9'
  State:
    Waiting: '&aWAITING'
    Starting: '&6STARTING'
    InGame: '&cIN GAME'
    Ending: '&4ENDING'
    Restoring: '&9RESTORING'
  TimeUnits:
    Milliseconds: Milliseconds
    Seconds: Seconds
    Minutes: Milliseconds
    Hours: Hours
    Days: Days
    Permanent: Permanent
  Sign:
    Line:
      '1': '&7[&cPaintball&7]'
      '2': '%state%'
      '3': '%mapname%'
      '4': '%players%/%maxplayers%'
Scoreboard:
  Waiting-State-Line: '&aWaiting for players...'
  Starting-State-Line: '&6Starting in &b%time%'
  Title: '&e&lPAINTBALL'
  Lobby-Format:
  - ' '
  - 'Map: &a%mapname%'
  - 'Players: &b%players%/%maxplayers%'
  - 'Needed: &b%minplayers%'
  - ' '
  - 'State: %capitalize_state%'
  - ' '
  - yourserver.com
  Default-Scoreboard-Format:
  - ' '
  - '&fTime Left: &a%time_left%'
  - ' '
  - '%TeamAColorFormatted%&f: &b%livesA%'
  - '%TeamBColorFormatted%&f: &b%livesB%'
  - ' '
  - '&fYour Kills: &6%kills%'
  - '&fMap: &a%mapname%'
  - ' '
  - yourserver.com
  Kills-Confirmed-Scoreboard-Format:
  - ' '
  - '&fTime Left: &a%time_left%'
  - ' '
  - '%TeamAColorFormatted%&f: &b%livesA%'
  - '%TeamBColorFormatted%&f: &b%livesB%'
  - ' '
  - '&fYour Kills: &6%kills%'
  - '&fMap: &a%mapname%'
  - ' '
  - yourserver.com
  FFA-Scoreboard-Format:
  - ' '
  - '&fTime Left: &a%time_left%'
  - ' '
  - '&f1. &a%pos_1%'
  - '&f2. &a%pos_2%'
  - '&f3. &a%pos_3%'
  - ' '
  - '&fYour Kills: &6%kills%'
  - '&fMap: &a%mapname%'
  - ' '
  - yourserver.com
  DeathMode-Scoreboard-Format:
  - ' '
  - '&fTime Left: &a%time_left%'
  - ' '
  - '%TeamAColorFormatted%&f: &b%aliveA%'
  - '%TeamBColorFormatted%&f: &b%aliveB%'
  - ' '
  - '&fYour Kills: &6%kills%'
  - '&fMap: &a%mapname%'
  - ' '
  - yourserver.com
  Position-Placeholder: '&7%player% &f- &b%kills%'

 

Options File

Change sounds, items, icons, economy, game settings setup your database and more. If you want a specific option, feel free to let me know!

Click below to see the full options.yml, this file is from 1.0.0 and might have changed.

Code (Text):
Locations:
  spawn: ''
Storage:
  Type: SQLite
  MySQL:
    Host: localhost
    Port: '3306'
    User: user
    Password: '123456'
    Database: database
  Update-Interval: '5'
Options:
  Bungee:
    Enabled: 'false'
    Arena-Join-Delay-In-Ticks: '20'
    Shutdown-After-A-Game: 'false'
    Lobby-Server: lobby
    Server-Name: wz1
    Enable-Join-When-No-Games: 'false'
    Join-Next-Available-Game: 'false'
    Ignore-Arena-State-Check: 'false'
  Use-Vault: 'false'
  Per-Arena-Chat: 'true'
  Leveling-System: 'true'
  Whitelisted-Commands:
  - pb
  - paintball
  Time-After-Game-In-Ticks: '180'
  Game:
    Max-Length: '600'
    Pre-Start-Countdown: '30'
    Respawn-Invincibility: '5'
    Snowballs-Per-Kill-Base: '2'
    Tag-Expire-Delay: '600'
    Revival-Potion-Amount: '3'
  Economy:
    Coins-Per-Win: '250'
    Coins-Per-Game: '50'
    Coins-Per-Kill: '1'
    Coin-Multipliers:
      paintball:
        coins:
          x5: '5'
          x3: '3'
          x2: '2'
    ExpMultipliers:
      paintball:
        exp:
          x2: '2'
          x3: '3'
          x5: '5'
  Exp:
    Exp-Per-Win: '15'
    Exp-Per-Game: '3'
    Exp-Per-Kill: '10'
  Scoreboard:
    Disable-Nametag: 'false'
    Line-Length-Max: '48'
Leaderboard:
  Data-Limit: '10'
Rewards:
  Win-Commands:
  - eco give %player% 100
  Losers-Commands:
  - eco give %player% 15
  Top-Killer:
  - eco give %player% 150
Hats:
  TNT-Radius: '10.0'
  Ghost-No-Hit-Chance: '20.0'
  Survivor-Invincibility: '8'
  Stop-Particles-When-Looking-Up: 'true'
  Stop-Particles-When-Invisible: 'true'
Sounds:
  Kill: BLOCK_NOTE_BLOCK_HARP:2
  Death: ENTITY_SILVERFISH_DEATH:2
  Kill-Streak-Activation: ANVIl_USE:2
  Selected-Sound: LEVEL_UP:3
  Upgrade-Sound: LEVEL_UP:0.5
Items:
  PaintballGun: 'DIAMOND_HORSE_ARMOR : 1 : name:&ePaintball Gun'
  Leave:
    Item: 'BED : 1 : name:&cLeave'
    Slot: '9'
  Shop:
    Item: 'EMERALD : 1 : name:&6Shop'
    Slot: '5'
  KillStreak:
    Item: 'GOLD_NUGGET : 1 : name:&eKillStreaks'
    Slot: '8'
  Team:
    Team-Selector: 'WOOL : 1 : name:&6Team Selector'
    Slot: '1'
Menus:
  Achievements:
    Next-Page: 'ARROW : 1 : name:&7Next Page'
    Previous-Page: 'ARROW : 1 : name:&7Previous Page'
    Locked: 'COAL : 1'
    Unlocked: 'DIAMOND : 1'
 

Q&A
Q: The game says the team is full but there is no player on the team/team is not full.
A
: This happens because of the team balancing system that tries to match teams according the amount of players.

Q: Can I add more hats?
A
: Yes, check above to see how.

Q: Can I add more KillStreaks?
A
: No, killstreaks are hardcoded, feel free to suggest more!

Q: Can I add more Perks?
A
: No, perks are hardcoded, feel free to suggest more!

Q: Does this plugin supports X version?
A: Yes. 1.8 or above is supported, no questions asked. Please note that Java 16 is required.

Q: How does Bunge support work?
A
: You can have multiple arenas running on a Bungee server, when the player joins the server we will be added to the next avaialable game.
Or, you can also have a game per server, not recommended, but you can!

If you have any suggestions go to Discussion and I'll be happy to read them.

By buying Paintball you agree to
  • You are not allowed to distribute this plugin.
  • You are not allowed to decompile this plugin.
  • Use only for your network/server.
  • NO refunds.
  • All support given is on Spigot only. You will not have Discord, Skype or any of those type of contact to ask for support.
    • I'll probably reply in a few minutes, otherwise wait at least 12 hours or check my profile to see any updates.
  • THIS IS A SPIGOT/SPIGOT FORK SOFTWARE. No refunds will be given if the plugin does not work on your server software.
  • Accept future terms.
Resource Information
Author:
----------
Total Downloads: 4
First Release: Nov 10, 2025
Last Update: Nov 17, 2025
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings