Polymart is now Voxel Shop! We're upgrading many features of the site, and during this open beta you will experience occasional bugs. Learn more
Advanced version of KitBattle, The ultimate kitpvp plugin!

use-UUID: false
Load-Delay: 10
Starting-Coins: 1000
Check-For-Updates: true
Scoreboard-Enabled: true
Do-Players-Drop-Items-On-Death: false
Can-Players-Drop-Items-On-Ground: false
Can-Players-Pick-Items-On-Ground: false
Do-Players-Lose-Hunger: false
Purchaseable-Kits-Are-Permanent: true
Starting-Amount-Of-Kit-Unlockers: 2
Respawn-Screen-On-Death: true
Spawn-Teleport-Countdown-Seconds: 5
Spectate-Countdown-Seconds: 5
Earned-Coins-Per-Kill: 10
Minimum-Exp-Per-Kill: 2
Maximum-Exp-Per-Kill: 5
Stats-Load-Delay: 20
Sponge-Boost-Upwards: 1.5
Update-Top-Signs-Every-In-Minutes: 60
Sell-Value: 0.33
Fall-Damage-Enabled: true
Broadcast-Rank-Up: true
Show-Rank-In-Chat: true
Send-Death-Message-To-Everyone: true
Ranks-Prefix: '&6[&e%rank%&6] '
Default-Kits:
- Pvp
Challenge-Kit: Pvp
Challenge-Duratiaon: 120
Commands-Executed-When-Player-Win-Challenge:
- kb coins add %player% 30
Commands-Executed-When-Player-Lose-Challenge: []
Send-Killstreaks-To-Everyone: true
Killstreaks-Enabled: true
use-Vault: false
Saving-Task:
Enabled: true
Save-Every-Minutes: 10
use-mysql: false
table-prefix: kitbattle_
mysql-host: localhost
mysql-port: 3306
mysql-database: database
mysql-username: root
mysql-password: root
Bungee-Mode: false
Map-Shuffle: true
Shuffle-Every-In-Minutes: 10
Time-Shown-Before-Shuffle:
- 60
- 30
- 15
- 10
- 5
- 4
- 3
- 2
- 1
Create-Default-Kits: false
Aliases:
- kitpvp
- pvp
Allowed-Commands:
- kb
- kitbattle
- tell
- help
- t
- r
Items:
Kit-Selector: 'CHEST : &7Kit Selector (&aRight click!&7)'
Shop-Opener: 'ANVIL : &7Shop (&aRight click!&7)'
Challenger: 'BLAZE_ROD : &aRight click a player to challenge him!'
Kit-Unlocker: 'CHEST : &7Kit Unlocker! (&aRight click!&7)'
Modifiers:
permission: kitbattle.modifiers
modifiers:
- '2 : kitbattle.vip'
- '3 : kitbattle.ultravip'
Action-Bar-Enabled: true
Titles:
enabled: true
fadeIn: 10
stay: 40
fadeOut: 10
Scoreboard-Title-Animation:
enabled: true
interval: 8
frames:
- '&b&l&nKitBattle'
- '&e&l&nKitBattle'
- '&b&l&nKitBattle'
- '&a&l&nKitBattle'
- '&b&l&nKitBattle'
- '&c&l&nKitBattle'
- '&e&l&nK&b&l&nitBattle'
- '&b&l&nK&e&l&ni&b&l&ntBattle'
- '&b&l&nKi&e&l&nt&b&l&nBattle'
- '&b&l&nKit&e&l&nB&b&l&nattle'
- '&b&l&nKitB&e&l&na&b&l&nttle'
- '&b&l&nKitBa&e&l&nt&b&l&ntle'
- '&b&l&nKitBat&e&l&nt&b&l&nle'
- '&b&l&nKitBatt&e&l&nl&b&l&ne'
- '&b&l&nKitBattl&e&l&ne'
Killstreaks:
'3':
Commands-Executed:
- kb coins add %player% 20
'5':
Commands-Executed:
- kb coins add %player% 30
'10':
Commands-Executed:
- kb coins add %player% 50
'20':
Commands-Executed:
- kb coins add %player% 100
'30':
Commands-Executed:
- kb coins add %player% 200
Kits:
Dragon:
Enabled: true
Require-Permission: false
Item: FIREBALL
Price: 1000
Armor:
Helmet: 'LEATHER_HELMET : 1 : dye:RED'
Chestplate: 'DIAMOND_CHESTPLATE : 1'
Leggings: 'IRON_LEGGINGS : 1'
Boots: 'LEATHER_BOOTS : 1 : dye:RED'
Items:
- 'DIAMOND_SWORD : 1'
- 'FIREBALL : 1 : name:&cFlames'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
- 'MUSHROOM_SOUP : 1'
Abilities:
- Dragon
Potion-Effects:
- 'FIRE_RESISTANCE : 999999 : 1'
Description:
- '&bBreathe fire!'
- '&bAnd be immune for fire damage'
Achievements:
kills:
'10':
description: Get 10 kills!
prize-description: Earn 50 coins!
executed-command: kb coins add %player% 50
'50':
description: Get 50 kills!
prize-description: Earn 250 coins!
executed-command: kb coins add %player% 250
'100':
description: Get 100 kills!
prize-description: Earn 500 coins!
executed-command: kb coins add %player% 500
'200':
description: Get 200 kills!
prize-description: Earn 1000 coins!
executed-command: kb coins add %player% 1000
'300':
description: Get 300 kills!
prize-description: Earn 1500 coins!
executed-command: kb coins add %player% 1500
'400':
description: Get 400 kills!
prize-description: Earn 2000 coins!
executed-command: kb coins add %player% 2000
'500':
description: Get 500 kills!
prize-description: Earn 2500 coins!
executed-command: kb coins add %player% 2500
'600':
description: Get 600 kills!
prize-description: Earn 3000 coins!
executed-command: kb coins add %player% 3000
'700':
description: Get 700 kills!
prize-description: Earn 3500 coins!
executed-command: kb coins add %player% 3500
'800':
description: Get 800 kills!
prize-description: Earn 4000 coins!
executed-command: kb coins add %player% 4000
'900':
description: Get 900 kills!
prize-description: Earn 4500 coins!
executed-command: kb coins add %player% 4500
'1000':
description: Get 1000 kills!
prize-description: Earn 5000 coins!
executed-command: kb coins add %player% 5000
projectiles_hit:
'5':
description: Hit 5 projectile!
prize-description: Earn 50 coins!
executed-command: kb coins add %player% 50
//MoreAbilities:
Kangaroo:
Cooldown: 5
Hades:
Cooldown: 45
Amount-Of-Dogs: 3
Dogs-Last-For: 10
Thor:
Cooldown: 10
Lightning-Damage: 4
Strike-Radius: 5
Stomper:
Stomp-Radius: 5
Max-Fall-Damage: 2
Max-Damage-Dealt-When-Stomped-While-Shifting: 2
Spiderman:
Cooldown: 30
Webs-Last-For: 10
Prisoner:
Cooldown: 60
Prison-Lasts-For: 6
Climber:
Cooldown: 30
Time-Until-Chicken-Disappear: 5
Dragon:
Cooldown: 30
Amount-Of-Bursts: 3
Damage-Dealt: 4
Fire-Lasts-For: 5
Fire-Range: 10
Phantom:
Cooldown: 45
Flight-Lasts-For: 5
Timelord:
Cooldown: 45
Freeze-Radius: 7
Freeze-Time: 10
Burrower:
Cooldown: 60
Room-Lasts-For: 8
Zen:
Cooldown: 60
Max-Range: 60
Viper:
Poison-Chance: 5%
Poison-Lasts-For: 10
Poison-Level: 1
Monk:
Cooldown: 45
Hulk:
Cooldown: 30
Damage-Dealt: 5
Damage-Radius: 10
Rider:
Cooldown: 45
Horse-Lasts-For: 10
Summoner:
Cooldown: 70
Golem-Lasts-For: 20
Suicidal:
Cooldown: 30
Fisherman:
Cooldown: 5
Dracula:
Cooldown: 30
Lasts-For: 15
Ranks:
Newbie:
Required-Exp: 0
Commands-Excuted-When-Rank-Reached: []
Starter:
Required-Exp: 25
Commands-Excuted-When-Rank-Reached:
- kb coins add %player% 500
- kb kitunlocker give %player% 1
Survivor:
Required-Exp: 75
Commands-Excuted-When-Rank-Reached:
- kb coins add %player% 750
- kb kitunlocker give %player% 1
Pro:
Required-Exp: 150
Commands-Excuted-When-Rank-Reached:
- kb coins add %player% 1000
- kb kitunlocker give %player% 1
Legend:
Required-Exp: 300
Commands-Excuted-When-Rank-Reached:
- kb coins add %player% 2000
- kb kitunlocker give %player% 1
Immortal:
Required-Exp: 600
Commands-Excuted-When-Rank-Reached:
- kb coins add %player% 4000
- kb kitunlocker give %player% 1
God:
Required-Exp: 1200
Commands-Excuted-When-Rank-Reached:
- kb coins add %player% 5000
- kb kitunlocker give %player% 1
Shops:
'&cList #1':
'10': Prisoner
'11': Burrower
'12': Dracula
'13': Kangaroo
'14': Switcher
'15': Dragon
'16': Spiderman
'19': Assassin
'20': Rider
'21': Miner
'22': Stomper
'23': Ghost
'24': Zombie
'25': Cactus
'28': Summoner
'29': Tank
'30': Hades
'31': Vanilla
'32': Viking
'33': Thor
'34': Zen
'37': Climber
'38': Monk
'39': Phantom
'40': Pyro
'41': Suicidal
'42': Ninja
'43': Archer
'&cList #2':
'10': Timelord
'11': Viper
'12': Fisherman
'13': Hulk
Signs-Prefix: '&3[&bKB&3]'
Join-Prefix: '&bJoin'
Join-Line-3-Color: '&0'
Leave-Prefix: '&bLeave'
Soup-Prefix: '&bSoup'
Stats-Prefix: '&bStats'







KitbattleAPI api = Kitbattle.getInstance().kitbattleApi;
Player player = Bukkit.getPlayer("Wazup92");
//You can access player data with this method
PlayerData data = api.getPlayerData(player);
//Using player data, you can modify statistics or get them and also do other things.
data.addExp(player, 5);
int coins = data.getCoins(player);
//The below is to get the top players
//This should run ASYNC
try {
HashMap playersData = api.getAllPlayersData();
List> topKillers = api.getTopPlayers(playersData, Stat.KILLS, 10); //This orders the data based on the KILLS stat, and it gets the top 10
for(int i = 0; i < 10; i++) {
Bukkit.broadcastMessage("#" + (i + 1) + " is " + topKillers.get(i).getKey() + " with a score of " + topKillers.get(i).getValue());
}
} catch (SQLException e) {
e.printStackTrace();
}
//To register your own abilities, you have to use the method below
AbilityManager.getInstance().registerAbility(new MyAbility());
//If your custom abilities read values from the abilities.yml file, then use
AbilityManager.getInstance().loadAbilitiesConfig();
//After registering all of your custom abilities, you should call the following method
AbilityManager.getInstance().updateKitAbilities();package me.wazup.kitbattle.abilities.list;
import org.bukkit.Material;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.util.Vector;
import me.wazup.kitbattle.PlayerData;
import me.wazup.kitbattle.XMaterial;
import me.wazup.kitbattle.abilities.Ability;
public class KangarooAbility extends Ability {
int cooldown;
@Override
public String getName() {
return "Kangaroo";
}
@Override
public void load(FileConfiguration file) {
cooldown = file.getInt("Abilities.Kangaroo.Cooldown");
}
Material activationMaterial = XMaterial.FIREWORK_ROCKET.parseMaterial();
@Override
public Material getActivationMaterial() {
return activationMaterial;
}
@Override
public EntityType getActivationProjectile() {
return null;
}
@Override
public boolean isAttackActivated() {
return false;
}
@Override
public boolean isAttackReceiveActivated() {
return false;
}
@Override
public boolean isDamageActivated() {
return false;
}
@Override
public boolean isEntityInteractionActivated() {
return false;
}
@Override
public boolean execute(Player p, PlayerData data, Event event) {
if(p.isOnGround()){
if(data.hasCooldown(p, "Kangaroo")) return false;
data.setCooldown(p, "Kangaroo", cooldown, true);
Vector vector = p.getEyeLocation().getDirection();
if(p.isSneaking()){
vector.setY(0.2);
vector.multiply(4);
} else vector.setY(1.2);
p.setVelocity(vector);
return true;
}
return false;
}
}
package me.wazup.kitbattle.abilities.list;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.entity.Snowball;
import org.bukkit.event.Event;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.metadata.FixedMetadataValue;
import me.wazup.kitbattle.Kitbattle;
import me.wazup.kitbattle.PlayerData;
import me.wazup.kitbattle.Utils;
import me.wazup.kitbattle.XMaterial;
import me.wazup.kitbattle.abilities.Ability;
public class SpidermanAbility extends Ability {
int cooldown;
int duration;
@Override
public String getName() {
return "Spiderman";
}
@Override
public void load(FileConfiguration file) {
cooldown = file.getInt("Abilities.Spiderman.Cooldown");
duration = file.getInt("Abilities.Spiderman.Webs-Last-For") * 20;
}
Material activationMaterial = XMaterial.COBWEB.parseMaterial();
EntityType activationProjectile = EntityType.SNOWBALL;
@Override
public Material getActivationMaterial() {
return activationMaterial;
}
@Override
public EntityType getActivationProjectile() {
return activationProjectile;
}
@Override
public boolean isAttackActivated() {
return false;
}
@Override
public boolean isAttackReceiveActivated() {
return false;
}
@Override
public boolean isDamageActivated() {
return false;
}
@Override
public boolean isEntityInteractionActivated() {
return false;
}
@Override
public boolean execute(Player p, PlayerData data, Event event) {
if(event.getEventName().equals("PlayerInteractEvent")) {
if(data.hasCooldown(p, "Spiderman")) return false;
data.setCooldown(p, "Spiderman", cooldown, true);
Kitbattle.getInstance().sendUseAbility(p, data);
p.launchProjectile(Snowball.class).setMetadata("spiderman", new FixedMetadataValue(Kitbattle.getInstance(), true));
return true;
} else {
EntityDamageByEntityEvent e = (EntityDamageByEntityEvent) event;
if(e.getDamager().hasMetadata("spiderman")){
Kitbattle plugin = Kitbattle.getInstance();
Player damaged = (Player) e.getEntity();
Location loc = damaged.getLocation();
final List blocks = new ArrayList();
Block b = loc.getBlock();
if(b.getType().equals(Material.WATER) || b.getType().equals(Material.LAVA)){
loc.add(0, 1, 0);
b = loc.getBlock();
}
Material webMaterial = XMaterial.COBWEB.parseMaterial();
for(Location x: Utils.getSurroundingLocations(loc)){
if(webMaterial.equals(x.getBlock().getType())) continue;
blocks.add(x.getBlock().getState());
}
if(!webMaterial.equals(b.getType())){
blocks.add(b.getState());
}
for(BlockState oo: blocks){
plugin.toRollback.add(oo);
oo.getBlock().setType(webMaterial);
}
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
public void run(){
for(BlockState state: blocks){
state.getWorld().createExplosion(state.getLocation(), 0, false);
Utils.Rollback(state);
plugin.toRollback.remove(state);
}
}
}, duration);
return true;
}
return false;
}
}
}









