- Баллы
- 173
- Имя в Minecraft
- Plasticable
Java:
package ru.Plasticable.KillRanks;
import java.util.HashMap;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener
{
Logger log = getLogger();
//HashMap<Integer, String> ranks = new HashMap<Integer, String>();
HashMap<String, PlayerData> playerData = new HashMap<String, PlayerData>();
@Override
public void onEnable()
{
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onKill(PlayerDeathEvent event)
{
String killer = event.getEntity().getName();
String victim = event.getEntity().getKiller().getName();
event.setDeathMessage(ChatColor.RED + victim + " has been slain by " + killer);
PlayerData data = playerData.get(killer);
data.addKill();
playerData.put(killer, data);
}
@EventHandler
public void onJoin(PlayerJoinEvent event)
{
if(!event.getPlayer().hasPlayedBefore())
{
PlayerData data = new PlayerData(0, 0);
data.setKills(0);
data.setRank(0);
playerData.put(event.getPlayer().getName(), data);
}
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
{
if ((cmd.getName().equalsIgnoreCase("rank")) && ((sender instanceof Player)))
{
if(args.length > 0)
{
//Тут будет код
}
else
{
PlayerData data = playerData.get(sender.getName());
int kills,rank;
kills = data.getKills();//NullPointerException
rank = data.getRank();
sender.sendMessage(String.format("Your rank is %d with %d kills", rank, kills));
}
}
return false;
}
}
Java:
package ru.Plasticable.KillRanks;
public class PlayerData
{
private String player;
private int kills;
//private int points;
//private String deaths;
private int rank;
public PlayerData(int kills, int rank)
{
this.kills = kills;
this.kills = rank;
}
public PlayerData getPlayerData()
{
return this;
}
public String getPlayerName()
{
return this.player;
}
public void setPlayerName(String player)
{
this.player = player;
}
public void addKill()
{
this.kills++;
}
public int getKills()
{
return kills;
}
public void setKills(int kills)
{
this.kills = kills;
}
//Rank
public void setRank(int rank)
{
this.rank = rank;
}
public int getRank()
{
return this.rank;
}
public void promote()
{
this.rank++;
}
public void demote()
{
this.rank--;
}
}