1
mirror of https://github.com/CarmJos/cn2b2t-project.git synced 2026-07-15 08:33:38 +08:00

first commit

This commit is contained in:
carm
2020-05-26 23:20:42 +08:00
commit 89df1e39a0
114 changed files with 7520 additions and 0 deletions
@@ -0,0 +1,181 @@
package org.cn2b2t.common.functions;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.cn2b2t.common.listeners.ScoreboardListener;
import org.cn2b2t.common.managers.DataManager;
import org.cn2b2t.common.managers.DonateManager;
import org.cn2b2t.common.managers.ScoreboardManager;
import org.cn2b2t.common.managers.UserDataManager;
import java.io.IOException;
import java.util.*;
public class ProfileData {
public static Map<Player, ProfileData> profileDatas = new HashMap<>();
public Player player;
public double totalDonate;
public double monthlyDonate;
public List<UUID> ignoredPlayers;
public boolean showDeathMessages;
public boolean showScoreboard;
public boolean showJoinAndLeaveAlerts;
public Location bedLocation;
public Location spawnLocation;
public ProfileData(Player p) {
this.player = p;
totalDonate = DataManager.getTotalDonate(p.getUniqueId());
monthlyDonate = DataManager.getDonateInAMonth(p.getUniqueId());
ignoredPlayers = new ArrayList<>();
// UserDataManager.getDatas().getStringList(p.getUniqueId().toString() + ".ingnoredPlayers").forEach(s -> ignoredPlayers.add(UUID.fromString(s)));
showDeathMessages = UserDataManager.getDatas().getBoolean(p.getUniqueId().toString() + ".settings.showDeathMessages", true);
showScoreboard = UserDataManager.getDatas().getBoolean(p.getUniqueId().toString() + ".settings.showScoreboard", true);
showJoinAndLeaveAlerts = UserDataManager.getDatas().getBoolean(p.getUniqueId().toString() + ".settings.showJoinAndLeaveAlerts", true);
bedLocation = new Location(Bukkit.getWorld("world"),
UserDataManager.getDatas().getDouble(p.getUniqueId().toString() + ".bedLocation.x", 0D),
UserDataManager.getDatas().getDouble(p.getUniqueId().toString() + ".bedLocation.y", 101D),
UserDataManager.getDatas().getDouble(p.getUniqueId().toString() + ".bedLocation.z", 0D),
UserDataManager.getDatas().getLong(p.getUniqueId().toString() + ".bedLocation.yaw", 0L),
UserDataManager.getDatas().getLong(p.getUniqueId().toString() + ".bedLocation.pitch", 0L));
spawnLocation = new Location(Bukkit.getWorld("world"),
UserDataManager.getDatas().getDouble(p.getUniqueId().toString() + ".spawnLocation.x", 0D),
UserDataManager.getDatas().getDouble(p.getUniqueId().toString() + ".spawnLocation.y", 101D),
UserDataManager.getDatas().getDouble(p.getUniqueId().toString() + ".spawnLocation.z", 0D),
UserDataManager.getDatas().getLong(p.getUniqueId().toString() + ".spawnLocation.yaw", 0L),
UserDataManager.getDatas().getLong(p.getUniqueId().toString() + ".spawnLocation.pitch", 0L));
}
public double getMonthlyDonate() {
return DonateManager.getPlayerMonthlyPay(player);
}
public double getTotalDonate() {
return DonateManager.getPlayerTotalPay(player);
}
public List<UUID> getIgnoredPlayers() {
return ignoredPlayers;
}
public boolean isIgnored(UUID uuid) {
return ignoredPlayers.contains(uuid);
}
public void ignorePlayer(UUID uuid) {
ignoredPlayers.add(uuid);
// UserDataManager.getDatas().set(player.getUniqueId().toString() + ".ingnoredPlayers", ignoredPlayers);
// try {
// UserDataManager.getDatas().save(UserDataManager.getConfigfile());
// } catch (IOException e) {
// e.printStackTrace();
// }
}
// public void unignorePlayer(UUID uuid) {
// ignoredPlayers.remove(uuid);
// UserDataManager.getDatas().set(player.getUniqueId().toString() + ".ingnoredPlayers", ignoredPlayers);
// try {
// UserDataManager.getDatas().save(UserDataManager.getConfigfile());
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
public void updateDonates() {
this.totalDonate = getTotalDonate();
this.monthlyDonate = getMonthlyDonate();
}
public void setShowDeathMessages(boolean showDeathMessages) {
this.showDeathMessages = showDeathMessages;
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".settings.showdeathmessages", showDeathMessages);
try {
UserDataManager.getDatas().save(UserDataManager.getConfigfile());
} catch (IOException e) {
e.printStackTrace();
}
}
public void setShowJoinAndLeaveAlerts(boolean showJoinAndLeaveAlerts) {
this.showJoinAndLeaveAlerts = showJoinAndLeaveAlerts;
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".settings.showJoinAndLeaveAlerts", showJoinAndLeaveAlerts);
try {
UserDataManager.getDatas().save(UserDataManager.getConfigfile());
} catch (IOException e) {
e.printStackTrace();
}
}
public void setShowScoreboard(boolean showScoreboard) {
if (showScoreboard && !this.showScoreboard) {
ScoreboardListener.addScoreboard(player);
} else if (ScoreboardManager.scoreboards.containsKey(player)) {
ScoreboardManager.scoreboards.get(player).destroy();
ScoreboardManager.scoreboards.remove(player);
}
this.showScoreboard = showScoreboard;
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".settings.showScoreboard", showScoreboard);
try {
UserDataManager.getDatas().save(UserDataManager.getConfigfile());
} catch (IOException e) {
e.printStackTrace();
}
}
public String getPrefix() {
return monthlyDonate >= 50 ? "§e§l" : totalDonate > 0 ? "§e" : "§6";
}
public void saveBedLocation(Location bedlocation) {
this.bedLocation = bedlocation;
this.spawnLocation = player.getLocation();
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".spawnLocation.x", player.getLocation().getX());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".spawnLocation.y", player.getLocation().getY());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".spawnLocation.z", player.getLocation().getZ());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".spawnLocation.yaw", player.getLocation().getYaw());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".spawnLocation.pitch", player.getLocation().getPitch());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".bedLocation.x", bedlocation.getX());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".bedLocation.y", bedlocation.getY());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".bedLocation.z", bedlocation.getZ());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".bedLocation.yaw", bedlocation.getYaw());
UserDataManager.getDatas().set(player.getUniqueId().toString() + ".bedLocation.pitch", bedlocation.getPitch());
try {
UserDataManager.getDatas().save(UserDataManager.getConfigfile());
} catch (IOException e) {
e.printStackTrace();
}
}
public boolean isBedThere() {
return bedLocation.getBlock().getType() == Material.BED_BLOCK && bedLocation.getX() <= 300000 && bedLocation.getZ() <= 300000;
}
public static ProfileData getProfileData(Player p) {
return profileDatas.get(p);
}
public static void loadProfileData(Player p) {
profileDatas.put(p, new ProfileData(p));
}
public static void unloadProfileData(Player p) {
profileDatas.remove(p);
}
}