-
-
Notifications
You must be signed in to change notification settings - Fork 41
API
Full java documentation: https://plajer-lair.github.io/Village_Defense/
❗️ Contents may be not up to date! Please use java docs instead. Here you can only get some simple examples.
Event name [since]
- VillageGameJoinAttemptEvent [3.0.0]
- VillageGameLeaveAttemptEvent [3.0.0]
- VillageGameStartEvent [3.0.0]
- VillageGameStopEvent [3.0.0]
- VillagePlayerChooseKitEvent [2.0.0]
- VillageWaveEndEvent [3.0.0]
- VillageWaveStartEvent [3.0.0]
- VillageGameStateChangeEvent [3.8.0]
- VillagePlayerStatisticChangeEvent [3.8.0]
- VillageGolemUpgradeEvent [3.8.0]
- VillagePowerupPickEvent [3.8.0]
The event is called when a player is trying to join an arena.
Example:
@EventHandler
public void onGameJoin(VillageGameJoinAttemptEvent e){
e.getPlayer().sendMessage("You have joined " + e.getArena().getID());
e.setCancelled(true);
e.getPlayer().sendMessage("Or maybe not? :D");
}event#getPlayer() - returns player involved in this event
event#getArena() - returns existing arena where player is attempting to join
The event is called when arena starts.
Example:
@EventHandler
public void onGameStart(VillageGameStartEvent e){
for(Player p : e.getArena().getPlayers()){
p.sendMessage("Game has started!");
}
}event#getArena() - returns event arena
The event is called when a player is trying to leave an arena.
Example:
@EventHandler
public void onGameQuit(VillageGameLeaveAttemptEvent e){
e.getPlayer().sendMessage("You have quitted" + e.getArena().getID());
}event#getPlayer() - returns player involved in this event
event#getArena() - returns existing arena what player is attempting to leave
The event is called when a game is stopped.
Example:
@EventHandler
public void onGameStop(VillageGameStopEvent e){
for(Player p : e.getArena().getPlayers()){
p.sendMessage("You've lost the game! Maybe play again?");
}
}event#getArena() - returns existing arena that is stopped
The event is called when wave is finished (all zombies are killed).
Example:
@EventHandler
public void onWaveEnd(VillageWaveEndEvent e){
for(Player p : e.getArena().getPlayers()){
p.sendMessage("Wave has ended! You recived free diamond!");
p.getInventory().addItem(new ItemStack(Material.DIAMOND, 1);
}
}event#getArena() - returns event arena
event#getWaveNumber() - returns number of current wave
The event is called when wave starts.
Example:
@EventHandler
public void onWaveStart(VillageWaveStartEvent e){
for(Player p : e.getArena().getPlayers()){
p.sendMessage("Wave has started! Good luck.");
}
}event#getArena() - returns event arena
event#getWaveNumber() - returns number of current wave
- Retrieving online players stats
- Retrieving offline players stats (soon)
- Statistic types
You can easily get online players stats using VD3 API - Stats Storage class.
Example:
public int getZombieKills(Player p){
return StatsStorage.getUserStats(p, StatsStorage.StatisticType.KILLS);
}Very easy, right?
❗️ Orbs statistic is temporary and shouldn't be used for out game usages
| Statistic name (enum) | Statistic identifier (string) (for advanced things) | Type |
|---|---|---|
| ORBS | orbs | int |
| KILLS | kills | int |
| DEATHS | deaths | int |
| GAMES_PLAYED | gamesplayed | int |
| HIGHEST_WAVE | highestwave | int |
| LEVEL | level | int |
| XP | xp | int |
Registering new kit is quite simple. We need to implement all methods from abstract Kit class and edit it by yourself. After that just register it via KitRegistry.
Example:
//This kit will be premium
Kit supporter = new PremiumKit() {
//We need to implement methods from abstract Kit class
//Permissions needed to unlock it, if it is free just return true
@Override
public boolean isUnlockedByPlayer(Player p) {
return p.hasPermission("my.super.kit");
}
//Items given on game start
@Override
public void giveKitItems(Player player) {
player.getInventory().addItem(new ItemStack(Material.IRON_AXE, 1));
player.getInventory().addItem(new ItemStack(Material.GOLDEN_APPLE, 5));
}
//Material represented by this kit in the kit menu. Must be unique!
@Override
public Material getMaterial() {
return Material.GOLDEN_APPLE;
}
//Items given every next wave
@Override
public void reStock(Player player) {
player.getInventory().addItem(new ItemStack(Material.GOLDEN_APPLE, 1));
}
};
//Now just set kit name and description and register it via KitRegistry
supporter.setName("Supporter");
supporter.setDescription(new String[]{ChatColor.GREEN + "My super description"});
KitRegistry.registerKit(supporter);© 2018 Village Defense 3 | Created by Plajer's Lair and maintained by Plajer
