mirror of
https://e.coding.net/circlecloud/PvPTitles.git
synced 2025-11-24 21:36:20 +00:00
@@ -14,10 +14,12 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||
public class DatabaseHandler {
|
||||
private final PvPTitles pvpTitles;
|
||||
private int Fame;
|
||||
private int Points;
|
||||
private final Map<Integer, String> rankList;
|
||||
private final Map<Integer, Integer> reqFame;
|
||||
public ChatColor PrefixColor;
|
||||
private String tag;
|
||||
private String ptag;
|
||||
|
||||
public DatabaseHandler(final PvPTitles pvpTitles) {
|
||||
this.rankList = new HashMap<Integer, String>();
|
||||
@@ -50,6 +52,18 @@ public class DatabaseHandler {
|
||||
}
|
||||
}
|
||||
|
||||
public int getFame() {
|
||||
return this.Fame;
|
||||
}
|
||||
|
||||
public int getPoints() {
|
||||
return Points;
|
||||
}
|
||||
|
||||
public String getPtag() {
|
||||
return ptag;
|
||||
}
|
||||
|
||||
public String getTag() {
|
||||
return this.tag;
|
||||
}
|
||||
@@ -75,7 +89,7 @@ public class DatabaseHandler {
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadPlayerFame(final String playername) {
|
||||
public void LoadPlayerData(final String playername) {
|
||||
final File file = new File((new StringBuilder())
|
||||
.append(this.pvpTitles.getDataFolder())
|
||||
.append(File.separator)
|
||||
@@ -84,13 +98,9 @@ public class DatabaseHandler {
|
||||
.append(playername)
|
||||
.append(".yml")
|
||||
.toString());
|
||||
|
||||
final FileConfiguration config = YamlConfiguration.loadConfiguration(file);
|
||||
this.Fame = config.getInt("Fame");
|
||||
}
|
||||
|
||||
public int PlayerFame() {
|
||||
return this.Fame;
|
||||
this.Points = config.getInt("Points");
|
||||
}
|
||||
|
||||
public Map<Integer, String> RankList() {
|
||||
@@ -136,7 +146,7 @@ public class DatabaseHandler {
|
||||
}
|
||||
}
|
||||
|
||||
public void SavePlayerFame(final String playername, final int fame) {
|
||||
public void SavePlayerData(final String playername, final String path, final int fame) {
|
||||
final File file = new File((new StringBuilder())
|
||||
.append(this.pvpTitles.getDataFolder())
|
||||
.append(File.separator)
|
||||
@@ -154,7 +164,7 @@ public class DatabaseHandler {
|
||||
}
|
||||
}
|
||||
final FileConfiguration config = YamlConfiguration.loadConfiguration(file);
|
||||
config.set("Fame", fame);
|
||||
config.set(path, fame);
|
||||
try {
|
||||
config.save(file);
|
||||
} catch (final Exception e) {
|
||||
@@ -162,6 +172,18 @@ public class DatabaseHandler {
|
||||
}
|
||||
}
|
||||
|
||||
public void SavePlayerFame(final String playername, final int fame) {
|
||||
SavePlayerData(playername, "Fame", fame);
|
||||
}
|
||||
|
||||
public void SavePlayerPoint(final String playername, final int fame) {
|
||||
SavePlayerData(playername, "Points", fame);
|
||||
}
|
||||
|
||||
public void setPoints(final int points) {
|
||||
Points = points;
|
||||
}
|
||||
|
||||
private void GetPrefixColor(final String color) {
|
||||
this.PrefixColor = ChatColor.valueOf(color.toUpperCase());
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@ public class HandlePlayerPrefix implements Listener {
|
||||
@EventHandler
|
||||
public void onKill(final PlayerDeathEvent death) {
|
||||
int kills = 0;
|
||||
|
||||
if (death.getEntity().getKiller() != null) {
|
||||
final String killed = death.getEntity().getName();
|
||||
final Player player = death.getEntity().getKiller();
|
||||
@@ -40,14 +39,11 @@ public class HandlePlayerPrefix implements Listener {
|
||||
if (this.map.containsKey(killed)) {
|
||||
this.map.put(killed, 0);
|
||||
}
|
||||
|
||||
this.databaseHandler.LoadPlayerFame(player.getName());
|
||||
final int fame = this.databaseHandler.PlayerFame();
|
||||
|
||||
this.databaseHandler.LoadPlayerData(player.getName());
|
||||
final int fame = this.databaseHandler.getFame();
|
||||
if (!player.getName().equalsIgnoreCase(killed)) {
|
||||
this.calculateFame(killed, player, fame, kills);
|
||||
}
|
||||
|
||||
kills++;
|
||||
this.map.put(player.getName(), kills);
|
||||
}
|
||||
@@ -56,12 +52,9 @@ public class HandlePlayerPrefix implements Listener {
|
||||
@EventHandler
|
||||
public void onPlayerChat(final AsyncPlayerChatEvent event) {
|
||||
String rank = null;
|
||||
|
||||
this.databaseHandler.LoadPlayerFame(event.getPlayer().getName());
|
||||
this.databaseHandler.LoadPlayerData(event.getPlayer().getName());
|
||||
this.databaseHandler.LoadConfig();
|
||||
|
||||
rank = this.ranks.GetRank(this.databaseHandler.PlayerFame());
|
||||
|
||||
rank = this.ranks.GetRank(this.databaseHandler.getFame());
|
||||
if (rank != null && rank != "") {
|
||||
final String a = String.format(ChatColor.WHITE + "[" + this.databaseHandler.PrefixColor + rank + ChatColor.WHITE + "] ");
|
||||
final String format = event.getFormat();
|
||||
@@ -83,29 +76,25 @@ public class HandlePlayerPrefix implements Listener {
|
||||
@EventHandler
|
||||
public void onPlayerQuit(final PlayerQuitEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
|
||||
this.map.put(player.getName(), 0);
|
||||
}
|
||||
|
||||
private void calculateFame(final String killed, final Player player, int fame, final int kills) {
|
||||
final int a = this.databaseHandler.PlayerFame();
|
||||
final int a = this.databaseHandler.getFame();
|
||||
final String tag = this.databaseHandler.getTag();
|
||||
if (kills == 0) {
|
||||
fame++;
|
||||
player.sendMessage(ChatColor.GREEN + "You killed " + killed + " and received 1 " + tag + ".");
|
||||
}
|
||||
if (kills >= 1) {
|
||||
fame = fame + 1;
|
||||
player.sendMessage(ChatColor.GREEN + "You killed " + killed + " and received 1 " + tag + ".");
|
||||
player.sendMessage(ChatColor.GREEN + "你击杀了 " + killed + " 获得一点 " + tag + ".");
|
||||
}
|
||||
this.databaseHandler.LoadPlayerData(player.getName());
|
||||
this.databaseHandler.SavePlayerPoint(player.getName(), databaseHandler.getPoints() + 1);
|
||||
this.databaseHandler.SavePlayerFame(player.getName(), fame);
|
||||
this.databaseHandler.LoadPlayerFame(player.getName());
|
||||
|
||||
final String currentRank = this.ranks.GetRank(a);
|
||||
final String newRank = this.ranks.GetRank(fame);
|
||||
|
||||
if (!currentRank.equalsIgnoreCase(newRank)) {
|
||||
player.sendMessage(ChatColor.GREEN + "Congrats! You are now a " + newRank);
|
||||
player.sendMessage(ChatColor.GREEN + "恭喜! 您已晋升为 " + newRank);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,9 +31,9 @@ public class RankCommand implements CommandExecutor {
|
||||
}
|
||||
|
||||
private void HandleRankCmd(final Player player) {
|
||||
this.databaseHandler.LoadPlayerFame(player.getName());
|
||||
this.databaseHandler.LoadPlayerData(player.getName());
|
||||
this.databaseHandler.LoadConfig();
|
||||
final int fame = this.databaseHandler.PlayerFame();
|
||||
final int fame = this.databaseHandler.getFame();
|
||||
final String rank = this.ranks.GetRank(fame);
|
||||
final int rankup = this.ranks.FameToRankUp();
|
||||
final String tag = this.databaseHandler.getTag();
|
||||
|
||||
Reference in New Issue
Block a user