15-开发者API

供开发者调用,但不完善

API

double getPlayerPoints(Player p)
//获取某玩家的单挑积分

void setPlayerPoints(Player p,double value)
//设置某玩家的单挑积分

int getPlayerWin(Player p)
//获取某玩家胜场总数

int getPlayerLose(Player p)
//获取某玩家败场场数

int getPlayerDraw(Player p)
//获取某玩家平局场数

double getPlayerKD(Player p)
//获取某玩家的KD值,即胜场数/败场数

double getPlayerEnergy(Player p)
//获取某玩家当前精力值

double getMaxEnergy()
//获取配置文件中设置的最大精力值

int getPlayerWinRank(Player p)
//获取某玩家胜场数排名

int getPlayerKDRank(Player p)
//获取某玩家KD排名

String getPlayerDanName(Player p)
//获取某玩家当前段位的段位名

Events

1.DanExpChangedEvent 段位经验变更事件

Player getPlayer()
//获取经验变更的玩家

int getBefore()
//获取变更前的值

int getNow()
//获取变更后的值

void setCancelled(boolean cancel)
//设置取消事件

boolean isCancelled()
//事件是否已被取消

2.EnergyChangedEvent 精力值变更事件

Player getPlayer()
//获取经验变更的玩家

int getBefore()
//获取变更前的值

int getNow()
//获取变更后的值

void setCancelled(boolean cancel)
//设置取消事件

boolean isCancelled()
//事件是否已被取消

3.ShopEvent 在积分商城购物事件

Player getPlayer()
//获取购买者

int getPage()
//商品所在页数

int getRow()
//商品所在行数

int getColumn()
//商品所在列数

int getNum()
//商品的序号,即页数*64+行数*9+列数-1

ItemStack getItemStack()
//获取商品

void setCancelled(boolean cancel)
//设置取消事件

boolean isCancelled()
//事件是否已被取消

4.ArenaStartEvent 比赛开始事件

String getPlayer1()
//获取选手1的玩家名

String getPlayer2()
//获取选手2的玩家名

Arena getArena()
//获取竞技场

5.ArenaFinishEvent 比赛结束事件(非平局)

String getWinner()
//获取胜利者的玩家名

String getLoser()
//获取失败者的玩家名

Arena getArena()
//获取竞技场

6.ArenaDrawFinishEvent 比赛结束事件(平局)

String getPlayer1()
//获取选手1的玩家名

String getPlayer2()
//获取选手2的玩家名

Arena getArena()
//获取竞技场

*.Arena中的主要方法

boolean isp1(String pn)
//获取是否为1号选手,pn即玩家名

double getDamage(boolean isp1)
//获取某玩家的总输出

double getMaxDamage(boolean isp1)
//获取某玩家的最大输出

double getExp(boolean isp1)
//获取某玩家在赛场中因输出积累的经验

int getTime()
//获取比赛用时
//例子

@EventHandler
public void onFinishGame(ArenaFinishEvent event) {
    Arena arena = event.getArena();
    //获取Arena
    int second = arena.getTime()
    //获取消耗的时间
    Player winner = Bukkit.getPlayer(arena.getWinner());
    //获取胜利者
    double totalDamage = arena.getMaxDamage(arena.isp1(winner);
    //获取胜利者的总伤害值
    winner.sendMessage("Amazing!You only took "+time+" to output "+totalDamege+" in this game!");
    //发送提示语
}

最后更新于

这有帮助吗?