One In The Battle Advanced! The new generation of rpg battles!, you join a lobby with different items, each opens a specific gui, you have 5 gamemodes to play, classical arenas, freemode, tournaments, challenges, and zombies!, each entertains the players in a different way. The bow is the main element, it's usually insta kill on weak players. The more you play, the more you get Cases which are used to unlock new Gear, could be a new weapon, a new armor piece, or a new perk, players can equip their new gear to increase their light level which is a number that determines how good their gear is, the RPG system can be compared to destiny. gear has a maximum value of 100, which separates the items into 4 tiers and 3 rarities, and the player inventory system is similar a bit to CS:GO. Horray!


- You can create as many maps as you want, and they are very simple to create and multiple maps can be in the same world
- It can run along other plugins such as factions or kitpvp, or it can take over the server and force players to join (Bungee Mode)
- Built in coins system, but can also work with vault
- Leaderboards! You can display top players and even display their skull above signs! You can get top players for any of the player oitb stats!
- Log many players stats! their kills, coins, deaths, tournament wins, challenge wins, zombie kills, highest wave, play time, and many more
- Join/Leave/Top signs!
- Achievements! To keep your players entertained
- Cases! with cool animations to make the player feel rewarded
- Ranking System, with each rank being harder than the one before
- Boosters!
- Works with flatfile or MySQL
- Supports UUID or Normal names
- Awesome scoreboards that display a lot of information and it refreshes with very minimal flicker, if ever
- Detailed & Lightweight cooldown system
- Very cool GUI's, simple and easy to use
- 5 Well made gamemodes, that work together simultaneously to create a beautiful environment for the players
- Classical mode, where players compete in arena to reach a certain amount of kills first
- Freemode, where players can roam around and kill each other to get exp and coins and unlock higher level gear
- Tournaments where a large amount of players is needed to start the game and the last man standing will be the winner and will receive valuable rewards
- Challenges, players can challenge each other in a 1v1, 2v2, 3v3, 4v4, (XvX its infinite) and winners will also receive decent gifts
- Zombies, one of my favorites! who doesn't like zombies? you fight waves of zombies and fight bosses that are quite strong but killing them can also be a source of good gear
- Zombie bosses have abilities! like shooting arrows or going invisible or even leaping towards players!
- Loadout system! players can select their equipped gear and perks as well!
- API that can be used to implement new perks or receive player data or even top players for most of the available stats
- Shop! Where you can buy items, perks, and cases
- Selling! players can sell their unwanted items
- Reset players data or give them coins, perks, items, cases, and change their coins/exp modifier, in few simple commands, and this allows you to sell most of the in game items on your actual website
- Built in broadcaster, that can broadcast tips and information for players that are ingame
- Parties! create a party and invite players to it so you can privately chat together or join challenges on the same team
- Trading system! you can exchange items such as perks or cases or armor/weapons with other players in a very cool gui
- Trails! Players with permission can equip trails that will show when they shoot an arrow!
- Hologram damage, you can make it so when someone has been hit, a hologram indicating the damage done will appearand slowly fade away with time
- 28 Default perk, can be extended through the api
- Well balanced, players with low level gear can still compete with high level players if they have a decent bow accuracy
- Well designed and very good in performance even with high amounts of players
- Can work absolutely with no other plugins
- An update checker to keep you alert inside your game!
- You can display top players in a holographic leaderboard as well as show each player their stats in a hologram
- Modify offline players coins or modifier or reset their stats!
- Placeholder API support
- And more features that you have to see for your self :D





This plugin is highly customizable, but not fully. so be aware of that! and please don't complain about that as I have seen too many people talk about it in my other minigames :l, which becomes bothering after a while
So... here is an example of some of the files created by the plugin. You will be able to see what you can change and what you can not!

  Version 2.0 Files




Commands & Permissions:

  Commands & Permissions




Creating signs:

First line of any sign must start with [oitb], to create a join sign the second line must be 'join' while to create a leaderboard sign, the second line must be 'top' with the third line being the stat you are looking for, and the fourth line is the rank. you can also display the heads of top players by adding a skull above the sign. For leave signs, second line be must be 'leave'


Setup tutorial:

  Setup tutorial







Setup Videos:

MASSIVE thanks to the one and only, LtJim007 for this awesome tutorial below



Need a host for your Server or VPS? Check out
Our Partner


Use code "Wazup92" for 50% Off!

The servers mentioned below have this plugin installed!

- jogar.craftsgp.net
- play.thundernetwork.net
- FatalGames.ga:25797
- Mc.NpcNetwork.co


Please read the full page before purchasing.

Massive thank you to Il_Picasso from mc.comugamers.com
for providing me a great testing server!

This plugin works from 1.7.9 and upwards!

Ask about any customization concern in the discussion area or in a private message before purchasing.

If you want any holographic feature, you will need to install HolographicDisplays

If you want holograms per player (Stats hologram) then you will need to install HolographicDisplays along ProtocolLib

There are some extra permissions!
oitb.admin to receive notifications about updates, and view admin commands
oitb.createsigns to create oitb signs
oitb.breaksigns to break oitb signs
oitb.trails to get the trail selector and be able to have trails!

The amount of trails you get on your server depends on your version! To get the most use 1.11.2

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

Before posting a negative review, please ask for help!

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

Each tier score ranges from 0~25, and The rarity determines the score as well.
Tier 1 -> 1~25 | Tier 2 -> 26~50
Tier 3 -> 51~75 | Tier 4 -> 76~100

Common -> 1~15 from the tier
Rare -> 16~20
Legendary 21~25

Default perks:
health1, health2, health3, leap1, leap2, leap3, launcher1, launcher2, launcher3, speed, regeneration, scavenger1, scavenger2, scavenger3, suicidal1, suicidal2, suicidal3, looter1, looter2, looter3, thor1, thor2, thor3, dracula1, dracula2, dracula3, blinker1, blinker2

I'm sorry for any grammar mistakes! I'm not English.


Placeholder API:



The api is very small right now, it will be expanded with time

public class Addon extends JavaPlugin {

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
if(!(sender instanceof Player)) return true;

OneInTheBattleAPI api = OneInTheBattle.api;
Player p = (Player) sender;

PlayerData stats = api.getPlayerData(p);

//Give the player coins
stats.addCoins(p, 10);

//Get their stats, such as Kills
int kills = stats.getKills();
int zombieKills = stats.getZombieKills();

//Getting top players

try {
  //First you have to load all players data, this should be Async
    HashMap<String, String> playersData = api.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 = api.getTopPlayers(StatType.KILLS, 10, playersData);

//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){

//You can also register your very own perks!
//This creates a new perk, the first String is the perk name, and the second on is the Description
//The material is the item that represents the perk, and the Rarity determines how likely it's for the players to get this perk in a case
//The PerkAction determines WHEN the perk will be executed, in this example, it will be when some one right clicks their axe
//You also could put a cooldown on the ability, in this example, there is a cooldown of 30 seconds on this ability
//The object list returns some information in SOME of the PerkActions for example PerkAction.BOW_HIT returns the player the bow hit as the first object in the list
Perk speed = new Perk("Speed", "Gives the user a speed boost!", Material.BUCKET, Rarity.COMMON, PerkAction.AXE_INTERACT){
public void execute(Player p, Object object...) {
if(api.getPlayerData(p).hasCooldown(p, "PERK_SPEED")) return;
api.getPlayerData(p).setCooldown("PERK_SPEED", 30);
p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 100, 1));

//Dont forget to register the perk!

//Version 1.3
//You can now modify offline players stats!
//Arguments are PlayerName, The StatType, The Value, and the last boolean is very important
//If the 'increment' boolean was true, then coins will stack up, so if the user had 100 coins before, they will be 150 in this example
//If the 'increment' boolean was false, then coins will be SET to the that value!
//If you want to remove coins from the user, then the value would be in negative
//You should always run this asynchronously, and make sure that the player is not online!
try {
api.modifyOfflinePlayerStat("Wazup92", StatType.COINS, 50, true);
} catch (SQLException e) {

return true;


Check out my other projects as well!

DFfmSOg.png JobziiN.png


- 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][email protected][/EMAIL] and also message me here as well!

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


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

[LIST=1]Email: [FONT=Droid Sans][email protected][/FONT]Discussion areaPrivate MessageDiscord (Click image below to join)


When you buy this plugin, you agree to the following terms!

  1. You are buying a digital good that can not be returned whatsoever, meaning you are not allowed to request a refund at any time.
  2. You are not allowed to redistribute the plugin on other websites or with your friends.
  3. Im not obligated to update the plugin every so often. you buy the plugin as is and do not expect anything extra, nor do you expect that your suggestions have to be done or even be considered.
  4. Source costs additional money