Skip to content
MathiasMC edited this page Dec 9, 2020 · 47 revisions

Getting the instance

You can get the api by using

PvPLevelsAPI api = PvPLevelsAPI.getInstance();

Methods

All methods

api.getPlayerConnect(uuid); # Returns a PlayerConnect and create one if no one found

Will save before removing or updating
api.unloadPlayerConnect(uuid); # Remove a PlayerConnect and PvPlevels will create a new one from the database, when requesting
api.updatePlayerConnect(uuid); # Remove and create new cached PlayerConnect with data from database.

api.removePlayerConnect(uuid); # Remove PlayerConnect from cache without save

api.deletePlayerConnect(uuid); # Deleting the data from the database and unload everything about this player.

api.listPlayerConnect(); # List of PlayerConnect

Managers:
api.getFileUtils(); # File Utils
api.getXPManager(); # XP Manager
api.getActionBarManager(); # ActionBar Manager
api.getKillSessionManager(); # KillSession Manager
api.getStatsManager(); # Stats Manager get stats with PlayerConnect
api.getPlaceholderManager(); # Placeholder Manager
api.getCalculateManager(); # Calculate Manager

api.getStartLevel(); # Returns start level

api.isDebug(); # Returns boolean (if debug enabled)

api.setDebug(boolean);

api.getVersion(); # Returns version of PvPLevels

api.unregisterAll(); # Unregister all events except required Level System Listeners

api.unregisterPlayerJoin(); # Unregister PlayerJoin Listener (used by starting multiplier again)

api.unregisterEntityDeath(); # Unregister EntityDeath Listener (used by the system to get and lose stats)

api.unregisterEntityDamageByEntity(); # Unregister EntityDamageByEntity Listener (used to keep track of hit entity (if thrown in void))

api.unregisterCreatureSpawn(); # Unregister CreatureSpawn Listener (used by spawners section in config.yml)

api.unregisterBlockBreak(); # Unregister BlockBreak Listener (used by get xp from blocks feature)

api.unregisterBlockPlace(); # Unregister BlockPlace Listener (used by get xp from blocks feature (fix duplicate xp by place and break block))

api.unregisterPlayerMove(); # Unregister PlayerMove Listener (used by instant death feature)

PlayerConnect

This class holds all information about the player and can be created or get by using

PlayerConnect playerConnect = PvPLevelsAPI.getInstance().getPlayerConnect(uuid);

getGroup();
getKills();
getDeaths();
getXp();
getLevel();
getKillstreak();
getKillstreakTop();
getMultiplier();
getMultiplierTime();
getMultiplierTimeLeft();
getTime();
getXpType();
getXpLast();
getXpLost();
getXpItem();
getSave();

setGroup(String);
setKills(long);
setDeaths(long);
setXp(long);
setLevel(long);
setKillstreak(long);
setKillstreakTop(long);
setMultiplier(double);
setMultiplierTime(long);
setMultiplierTimeLeft(long);
setTime();
setSave(long);
setXpType(String);
setXpLast(long);
setXpLost(long);
setXpItem(long);
save();

Events

PlayerDeathEvent
PlayerGetXPEvent
PlayerKillEvent
PlayerKillStreakEvent
PlayerKillStreakTopEvent
PlayerLevelDownEvent
PlayerLevelUPEvent
PlayerLostKillStreakEvent
playerLostXPEvent

Every event created you must use the execute(); to execute the event (dont do that if you listen on the event)

PlayerDeathEvent

## Create
PlayerDeathEvent playerDeathEvent = new PlayerDeathEvent(player, entity or null, playerConnect, deathsToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerDeathEvent.setCommands(list);

playerDeathEvent.execute();


## Listen
@EventHandler
public void onEvent(PlayerDeathEvent e) {
    final long deaths = e.getDeaths();
    if (deaths == 10) {
        final Player player = e.getPlayer();
        final PlayerConnect playerConnect = e.getPlayerConnect();

        //You can run your own commands
        final ArrayList<String> list = new ArrayList<>();
        list.add("pvplevels message {player} Hey");
        e.setCommands(list);

        final Entity entity = e.getEntity(); //Will return null if not death by an entity

        //You can change the deaths, if you want by using e.setDeaths(11);

        player.sendMessage("You have 10 deaths now");
      }
  }

PlayerGetXPEvent

## Create
PlayerGetXPEvent playerGetXPEvent = new PlayerGetXPEvent(player, entity or null, playerConnect, xpToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerGetXPEvent.setCommands(list);

playerGetXPEvent.execute();


## Listen
@EventHandler
public void onEvent(PlayerGetXPEvent e) {
    final long xp = e.getXp();
    final Player player = e.getPlayer();
    final PlayerConnect playerConnect = e.getPlayerConnect();

    //You can run your own commands
    final ArrayList<String> list = new ArrayList<>();
    list.add("pvplevels message {player} Hey");
    e.setCommands(list);

    //You can change the xp,if you want by using e.setXp(xp + 10); or e.setXp(playerConnect.getXp() + 10);

    player.sendMessage("You have got " + xp + " xp ( + 10 ) == " + e.getXp());
}

PlayerKillEvent

## Create
PlayerKillEvent playerKillEvent = new PlayerKillEvent(player, killed, playerConnect(player), killsToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerKillEvent.setCommands(list);

playerKillEvent.execute();


## Listen
@EventHandler
public void onEvent(PlayerKillEvent e) {
    final long kills = e.getKills();
    if (kills == 10) {
        final Player player = e.getPlayer();
        final Player killed = e.getKilled();
        final PlayerConnect playerConnect = e.getPlayerConnect();

        //You can run your own commands for this level up
        final ArrayList<String> list = new ArrayList<>();
        list.add("pvplevels message {player} Hey");
        e.setCommands(list);

        //You can change the kills, if you want by using e.setKills(11);

        player.sendMessage("You have 10 kills now");
    }
}

PlayerKillStreakEvent

## Create
PlayerKillStreakEvent playerKillStreakEvent = new PlayerKillStreakEvent(player, killed, playerConnect(player), killstreakToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerKillStreakEvent.setCommands(list);

playerKillStreakEvent.execute();


## Listen
@EventHandler
  public void onEvent(PlayerKillStreakEvent e) {
      final long killstreak = e.getKillstreak();
      if (killstreak == 5) {
          final Player player = e.getPlayer();
          final PlayerConnect playerConnect = e.getPlayerConnect();

          //You can run your own commands
          final ArrayList<String> list = new ArrayList<>();
          list.add("pvplevels message {player} Hey");
          e.setCommands(list);

          //You can change the killstreak, if you want by using e.setKillstreak(5);

          player.sendMessage("You have got a kill streak of " + killstreak);
      }
  }

PlayerKillStreakTopEvent

## Create
PlayerKillStreakTopEvent playerKillStreakTopEvent = new PlayerKillStreakTopEvent(player, killed, playerConnect(player), killstreakToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerKillStreakTopEvent.setCommands(list);

playerKillStreakTopEvent.execute();


## Listen
@EventHandler
  public void onEvent(PlayerKillStreakTopEvent e) {
      final long killstreak = e.getKillstreak();
      if (killstreak == 6) {
          final Player player = e.getPlayer();
          final PlayerConnect playerConnect = e.getPlayerConnect();

          //You can run your own commands
          final ArrayList<String> list = new ArrayList<>();
          list.add("pvplevels message {player} Hey");
          e.setCommands(list);

          //You can change the killstreak, if you want by using e.setKillstreak(7);

          player.sendMessage("You have got a top kill streak of " + killstreak);
      }
  }

PlayerLevelDownEvent

## Create
PlayerLevelDownEvent playerLevelDownEvent = new PlayerLevelDownEvent(player, entity or null, playerConnect, levelToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerLevelDownEvent.setCommands(list);

playerLevelDownEvent.execute();

## Listen
@EventHandler
public void onEvent(PlayerLevelDownEvent e) {
    final long level = e.getLevel();
    if (level == 9) {
        final Player player = e.getPlayer();
        final PlayerConnect playerConnect = e.getPlayerConnect();

        //You can run your own commands
        final ArrayList<String> list = new ArrayList<>();
        list.add("pvplevels message {player} HEY");
        e.setCommands(list);

        player.sendMessage("You have got to level " + level); // return 9

        player.sendMessage("Last level was " + playerConnect.getLevel()); // return 10
    }
}

PlayerLevelUPEvent

## Create
PlayerLevelUPEvent playerLevelUPEvent = new PlayerLevelUPEvent(player, entity or null, playerConnect, levelToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerLevelUPEvent.setCommands(list);

playerLevelUPEvent.execute();


## Listen
@EventHandler
  public void onEvent(PlayerLevelUPEvent e) {
      final long level = e.getLevel();
      if (level == 10) {
          final Player player = e.getPlayer();
          final PlayerConnect playerConnect = e.getPlayerConnect();

          //You can run your own commands
          final ArrayList<String> list = new ArrayList<>();
          list.add("pvplevels message {player} HEY");
          e.setCommands(list);

          player.sendMessage("You have got to level " + level); // return 10

          player.sendMessage("Last level was " + playerConnect.getLevel()); // return 9
      }
  }

PlayerLostKillStreakEvent

## Create
PlayerLostKillStreakEvent playerLostKillStreakEvent = new PlayerLostKillStreakEvent(player, playerConnect, killstreakToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerLostKillStreakEvent.setCommands(list);

playerLostKillStreakEvent.execute();


## Listen
@EventHandler
  public void onEvent(PlayerLostKillStreakEvent e) {
      final long killstreak = e.getKillstreak();
      if (killstreak == 6) {
          final Player player = e.getPlayer();
          final PlayerConnect playerConnect = e.getPlayerConnect();

          //You can run your own commands
          final ArrayList<String> list = new ArrayList<>();
          list.add("pvplevels message {player} Hey");
          e.setCommands(list);

          //You can change the killstreak, if you want by using e.setKillstreak(7);

          player.sendMessage("You have lost a kill streak of " + killstreak);
      }
  }

PlayerLostXPEvent

## Create
PlayerLostXPEvent playerLostXPEvent = new PlayerLostXPEvent(player, entity or null, playerConnect, xpToSet);

//You can run your own commands
final ArrayList<String> list = new ArrayList<>();
list.add("pvplevels message {player} Hey");
playerLostXPEvent.setCommands(list);

playerLostXPEvent.execute();


## Listen
@EventHandler
public void onEvent(PlayerLostXPEvent e) {
    final long xp = e.getXp();
    final Player player = e.getPlayer();
    final PlayerConnect playerConnect = e.getPlayerConnect();

    //You can run your own commands
    final ArrayList<String> list = new ArrayList<>();
    list.add("pvplevels message {player} Hey");
    e.setCommands(list);
        
    //You can change the xp, if you want by using e.setXp(xp - 10); or e.setXp(playerConnect.getXp() - 10);

    player.sendMessage("You have lost " + xp + " xp");
}
Clone this wiki locally