mirror of
https://github.com/songoda/FabledSkyBlock.git
synced 2025-02-16 19:51:27 +01:00
Build 36
# Added Placeholder support to Essentials Chat (Requires open curly bracket and close curly bracket). # Fixed NPE when adding Placeholders to holograms because the hologram is an world entity. # Fixed the 'Island Visit' menu not sorting the islands correctly when changing the sort. # Fixed the 'Vote Leaderboard' not showing the positioning the islands correctly. # Fixed 'Next' or 'Previous' page item not working in the 'Island Visit' menu. # Fixed the command '/island level <player>' not showing the players level. # Fixed IOOBE when there are no tiers in the 'Upgrade Editor - Size' menu.
This commit is contained in:
parent
9034f7c8fe
commit
dd50421e2b
2
pom.xml
2
pom.xml
@ -2,7 +2,7 @@
|
||||
<groupId>com.songoda</groupId>
|
||||
<artifactId>SkyBlock</artifactId>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>35</version>
|
||||
<version>36</version>
|
||||
<build>
|
||||
<defaultGoal>clean package</defaultGoal>
|
||||
<plugins>
|
||||
|
@ -67,7 +67,7 @@ public class LevelCommand extends SubCommand {
|
||||
if (visitManager.hasIsland(islandOwnerUUID)) {
|
||||
me.goodandevil.skyblock.visit.Visit visit = visitManager.getIsland(islandOwnerUUID);
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Level.Level.Message").replace("%player", targetPlayerName).replace("%level", "" + visit.getLevel()));
|
||||
messageManager.sendMessage(player, configLoad.getString("Command.Island.Level.Level.Message").replace("%player", targetPlayerName).replace("%level", "" + NumberUtil.formatNumber(visit.getLevel().getLevel())));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
return;
|
||||
|
@ -7,6 +7,7 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
@ -74,20 +75,23 @@ public class HologramManager {
|
||||
FileConfiguration languageConfigLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")).getFileConfiguration();
|
||||
|
||||
if (locationsConfigLoad.getString("Location.Hologram.Leaderboard." + type) != null) {
|
||||
List<Leaderboard> leaderboardPlayers = new ArrayList<>();
|
||||
List<String> hologramLines = new ArrayList<>();
|
||||
Leaderboard.Type leaderboardType = null;
|
||||
|
||||
if (type == HologramType.Level) {
|
||||
leaderboardPlayers.addAll(leaderboardManager.getLeaderboard(Leaderboard.Type.Level));
|
||||
leaderboardType = Leaderboard.Type.Level;
|
||||
} else if (type == HologramType.Votes) {
|
||||
leaderboardPlayers.addAll(leaderboardManager.getLeaderboard(Leaderboard.Type.Votes));
|
||||
leaderboardType = Leaderboard.Type.Votes;
|
||||
}
|
||||
|
||||
hologramLines.add(messageManager.replaceMessage(null, languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Header")));
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
if (i < leaderboardPlayers.size()) {
|
||||
Leaderboard leaderboard = leaderboardPlayers.get(i);
|
||||
Leaderboard leaderboard = leaderboardManager.getLeaderboardFromPosition(leaderboardType, i);
|
||||
|
||||
if (leaderboard == null) {
|
||||
hologramLines.add(messageManager.replaceMessage(null, languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Unclaimed").replace("%position", "" + (i+1))));
|
||||
} else {
|
||||
Visit visit = leaderboard.getVisit();
|
||||
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(visit.getOwnerUUID());
|
||||
@ -101,12 +105,10 @@ public class HologramManager {
|
||||
|
||||
if (type == HologramType.Level) {
|
||||
Level level = visit.getLevel();
|
||||
hologramLines.add(messageManager.replaceMessage(null, languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%level", NumberUtil.formatNumber(level.getLevel())).replace("%points", NumberUtil.formatNumber(level.getPoints()))));
|
||||
hologramLines.add(ChatColor.translateAlternateColorCodes('&', languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%level", NumberUtil.formatNumber(level.getLevel())).replace("%points", NumberUtil.formatNumber(level.getPoints()))));
|
||||
} else if (type == HologramType.Votes) {
|
||||
hologramLines.add(messageManager.replaceMessage(null, languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%votes", "" + NumberUtil.formatNumber(visit.getVoters().size()))));
|
||||
hologramLines.add(ChatColor.translateAlternateColorCodes('&', languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%votes", "" + NumberUtil.formatNumber(visit.getVoters().size()))));
|
||||
}
|
||||
} else {
|
||||
hologramLines.add(messageManager.replaceMessage(null, languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Unclaimed").replace("%position", "" + (i+1))));
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,19 +222,21 @@ public class HologramManager {
|
||||
continue;
|
||||
}
|
||||
|
||||
List<Leaderboard> leaderboardPlayers = new ArrayList<>();
|
||||
Leaderboard.Type leaderboardType = null;
|
||||
|
||||
if (hologramTypeList == HologramType.Level) {
|
||||
leaderboardPlayers.addAll(leaderboardManager.getLeaderboard(Leaderboard.Type.Level));
|
||||
leaderboardType = Leaderboard.Type.Level;
|
||||
} else if (hologramTypeList == HologramType.Votes) {
|
||||
leaderboardPlayers.addAll(leaderboardManager.getLeaderboard(Leaderboard.Type.Votes));
|
||||
leaderboardType = Leaderboard.Type.Votes;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
Leaderboard leaderboard = leaderboardManager.getLeaderboardFromPosition(leaderboardType, i);
|
||||
int hologramLine = 10 - i;
|
||||
|
||||
if (i < leaderboardPlayers.size()) {
|
||||
Leaderboard leaderboard = leaderboardPlayers.get(i);
|
||||
if (leaderboard == null) {
|
||||
hologram.setLine(hologramLine, messageManager.replaceMessage(null, configLoad.getString("Hologram.Leaderboard." + hologramTypeList.name() + ".Unclaimed").replace("%position", "" + (i+1))));
|
||||
} else {
|
||||
Visit visit = leaderboard.getVisit();
|
||||
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(visit.getOwnerUUID());
|
||||
@ -246,12 +250,10 @@ public class HologramManager {
|
||||
|
||||
if (hologramTypeList == HologramType.Level) {
|
||||
Level level = visit.getLevel();
|
||||
hologram.setLine(hologramLine, messageManager.replaceMessage(null, configLoad.getString("Hologram.Leaderboard." + hologramTypeList.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%level", NumberUtil.formatNumber(level.getLevel())).replace("%points", NumberUtil.formatNumber(level.getPoints()))));
|
||||
hologram.setLine(hologramLine, ChatColor.translateAlternateColorCodes('&', configLoad.getString("Hologram.Leaderboard." + hologramTypeList.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%level", NumberUtil.formatNumber(level.getLevel())).replace("%points", NumberUtil.formatNumber(level.getPoints()))));
|
||||
} else if (hologramTypeList == HologramType.Votes) {
|
||||
hologram.setLine(hologramLine, messageManager.replaceMessage(null, configLoad.getString("Hologram.Leaderboard." + hologramTypeList.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%votes", "" + NumberUtil.formatNumber(visit.getVoters().size()))));
|
||||
hologram.setLine(hologramLine, ChatColor.translateAlternateColorCodes('&', configLoad.getString("Hologram.Leaderboard." + hologramTypeList.name() + ".Claimed").replace("%position", "" + (i+1)).replace("%player", islandOwnerName).replace("%votes", "" + NumberUtil.formatNumber(visit.getVoters().size()))));
|
||||
}
|
||||
} else {
|
||||
hologram.setLine(hologramLine, messageManager.replaceMessage(null, configLoad.getString("Hologram.Leaderboard." + hologramTypeList.name() + ".Unclaimed").replace("%position", "" + (i+1))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -78,6 +78,18 @@ public class LeaderboardManager {
|
||||
return leaderboardIslands;
|
||||
}
|
||||
|
||||
public Leaderboard getLeaderboardFromPosition(Leaderboard.Type type, int position) {
|
||||
for (Leaderboard leaderboardPlayerList : leaderboardStorage) {
|
||||
if (leaderboardPlayerList.getType() == type) {
|
||||
if (leaderboardPlayerList.getPosition() == position) {
|
||||
return leaderboardPlayerList;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<Leaderboard> getLeaderboards() {
|
||||
return leaderboardStorage;
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
|
||||
@ -17,6 +18,7 @@ import me.goodandevil.skyblock.island.Island;
|
||||
import me.goodandevil.skyblock.island.IslandManager;
|
||||
import me.goodandevil.skyblock.island.Role;
|
||||
import me.goodandevil.skyblock.message.MessageManager;
|
||||
import me.goodandevil.skyblock.placeholder.PlaceholderManager;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerData;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerDataManager;
|
||||
|
||||
@ -28,16 +30,34 @@ public class Chat implements Listener {
|
||||
this.skyblock = skyblock;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
public void onAsyncPlayerChat(AsyncPlayerChatEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
PlaceholderManager placeholderManager = skyblock.getPlaceholderManager();
|
||||
PlayerDataManager playerDataManager = skyblock.getPlayerDataManager();
|
||||
MessageManager messageManager = skyblock.getMessageManager();
|
||||
IslandManager islandManager = skyblock.getIslandManager();
|
||||
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
Island island = null;
|
||||
|
||||
if (playerData.getOwner() != null) {
|
||||
island = skyblock.getIslandManager().getIsland(playerData.getOwner());
|
||||
}
|
||||
|
||||
String messageFormat = event.getFormat();
|
||||
|
||||
for (String placeholderList : placeholderManager.getPlaceholders()) {
|
||||
String placeholder = "{" + placeholderList + "}";
|
||||
|
||||
if (messageFormat.contains(placeholder)) {
|
||||
messageFormat = messageFormat.replace(placeholder, placeholderManager.getPlaceholder(player, placeholderList));
|
||||
}
|
||||
}
|
||||
|
||||
event.setFormat(messageFormat);
|
||||
|
||||
if (playerData.isChat()) {
|
||||
event.setCancelled(true);
|
||||
@ -45,7 +65,6 @@ public class Chat implements Listener {
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
Island island = skyblock.getIslandManager().getIsland(playerData.getOwner());
|
||||
String islandRole = "";
|
||||
|
||||
if (island.isRole(Role.Member, player.getUniqueId())) {
|
||||
|
@ -2,11 +2,9 @@ package me.goodandevil.skyblock.menus;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -122,175 +120,191 @@ public class Visit {
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
} else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) {
|
||||
VisitManager visitManager = skyblock.getVisitManager();
|
||||
IslandManager islandManager = skyblock.getIslandManager();
|
||||
|
||||
String targetPlayerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
UUID targetPlayerUUID;
|
||||
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(targetPlayerName);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
targetPlayerUUID = new OfflinePlayer(targetPlayerName).getUniqueId();
|
||||
} else {
|
||||
targetPlayerUUID = targetPlayer.getUniqueId();
|
||||
}
|
||||
|
||||
if (visitManager.hasIsland(targetPlayerUUID)) {
|
||||
me.goodandevil.skyblock.visit.Visit visit = visitManager.getIsland(targetPlayerUUID);
|
||||
if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visit.Item.Previous.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() - 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
if (visit.isOpen()) {
|
||||
if (!islandManager.containsIsland(targetPlayerUUID)) {
|
||||
islandManager.loadIsland(targetPlayerUUID);
|
||||
}
|
||||
|
||||
Island island = islandManager.getIsland(targetPlayerUUID);
|
||||
|
||||
if ((!island.isRole(Role.Member, player.getUniqueId()) && !island.isRole(Role.Operator, player.getUniqueId()) && !island.isRole(Role.Owner, player.getUniqueId())) && fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")).getFileConfiguration().getBoolean("Island.Visitor.Vote")) {
|
||||
if (event.getClick() == ClickType.RIGHT) {
|
||||
if (playerData.getIsland() != null && playerData.getIsland().equals(island.getOwnerUUID())) {
|
||||
List<UUID> islandVotes = visit.getVoters();
|
||||
|
||||
if (islandVotes.contains(player.getUniqueId())) {
|
||||
visit.removeVoter(player.getUniqueId());
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visit.Item.Next.Displayname")))) {
|
||||
playerData.setPage(playerData.getPage() + 1);
|
||||
soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
String targetPlayerName = ChatColor.stripColor(is.getItemMeta().getDisplayName());
|
||||
UUID targetPlayerUUID;
|
||||
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(targetPlayerName);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
targetPlayerUUID = new OfflinePlayer(targetPlayerName).getUniqueId();
|
||||
} else {
|
||||
targetPlayerUUID = targetPlayer.getUniqueId();
|
||||
}
|
||||
|
||||
if (visitManager.hasIsland(targetPlayerUUID)) {
|
||||
me.goodandevil.skyblock.visit.Visit visit = visitManager.getIsland(targetPlayerUUID);
|
||||
|
||||
if (visit.isOpen()) {
|
||||
if (!islandManager.containsIsland(targetPlayerUUID)) {
|
||||
islandManager.loadIsland(targetPlayerUUID);
|
||||
}
|
||||
|
||||
Island island = islandManager.getIsland(targetPlayerUUID);
|
||||
|
||||
if ((!island.isRole(Role.Member, player.getUniqueId()) && !island.isRole(Role.Operator, player.getUniqueId()) && !island.isRole(Role.Owner, player.getUniqueId())) && fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")).getFileConfiguration().getBoolean("Island.Visitor.Vote")) {
|
||||
if (event.getClick() == ClickType.RIGHT) {
|
||||
if (playerData.getIsland() != null && playerData.getIsland().equals(island.getOwnerUUID())) {
|
||||
List<UUID> islandVotes = visit.getVoters();
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Vote.Removed.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
visit.addVoter(player.getUniqueId());
|
||||
if (islandVotes.contains(player.getUniqueId())) {
|
||||
visit.removeVoter(player.getUniqueId());
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Vote.Removed.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
visit.addVoter(player.getUniqueId());
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Vote.Added.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Vote.Added.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Vote.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
} else {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Vote.Island.Message"));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
}
|
||||
|
||||
islandManager.unloadIsland(targetPlayerUUID);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() != ClickType.LEFT) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (Location.World worldList : Location.World.values()) {
|
||||
if (LocationUtil.isLocationAtLocationRadius(player.getLocation(), island.getLocation(worldList, Location.Environment.Island), island.getRadius())) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Already.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
islandManager.unloadIsland(targetPlayerUUID);
|
||||
|
||||
return;
|
||||
} else if (event.getClick() != ClickType.LEFT) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (Location.World worldList : Location.World.values()) {
|
||||
if (LocationUtil.isLocationAtLocationRadius(player.getLocation(), island.getLocation(worldList, Location.Environment.Island), island.getRadius())) {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Already.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
event.setWillClose(false);
|
||||
event.setWillDestroy(false);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
islandManager.visitIsland(player, island);
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Teleported.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Closed.Menu.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
islandManager.visitIsland(player, island);
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Teleported.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F);
|
||||
} else {
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Closed.Menu.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
|
||||
return;
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Exist.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
|
||||
messageManager.sendMessage(player, configLoad.getString("Island.Visit.Exist.Message").replace("%player", targetPlayerName));
|
||||
soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort());
|
||||
}
|
||||
}, 1L);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Map<UUID, me.goodandevil.skyblock.visit.Visit> displayedIslands = new HashMap<>();
|
||||
Map<UUID, me.goodandevil.skyblock.visit.Visit> visitIslands = visitManager.getOpenIslands();
|
||||
Map<UUID, me.goodandevil.skyblock.visit.Visit> openIslands = visitManager.getOpenIslands();
|
||||
List<me.goodandevil.skyblock.visit.Visit> visitIslands = new ArrayList<>();
|
||||
|
||||
if (type == Visit.Type.Solo) {
|
||||
for (UUID visitIslandList : visitIslands.keySet()) {
|
||||
if (visitIslands.get(visitIslandList).getMembers() != 1) {
|
||||
visitIslands.remove(visitIslandList);
|
||||
}
|
||||
}
|
||||
} else if (type == Visit.Type.Team) {
|
||||
for (UUID visitIslandList : visitIslands.keySet()) {
|
||||
if (visitIslands.get(visitIslandList).getMembers() == 1) {
|
||||
visitIslands.remove(visitIslandList);
|
||||
for (int i = 0; i < openIslands.size(); i++) {
|
||||
UUID islandOwnerUUID = (UUID) openIslands.keySet().toArray()[i];
|
||||
me.goodandevil.skyblock.visit.Visit visit = openIslands.get(islandOwnerUUID);
|
||||
|
||||
if (type == Visit.Type.Solo) {
|
||||
if (visit.getMembers() != 1) {
|
||||
continue;
|
||||
}
|
||||
} else if (type == Visit.Type.Team) {
|
||||
if (visit.getMembers() == 1) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
visitIslands.add(visit);
|
||||
}
|
||||
|
||||
if (sort == Visit.Sort.Default) {
|
||||
displayedIslands.putAll(visitIslands);
|
||||
} else if (sort == Visit.Sort.Players || sort == Visit.Sort.Level || sort == Visit.Sort.Members || sort == Visit.Sort.Visits || sort == Visit.Sort.Votes) {
|
||||
Map<Integer, List<UUID>> sortedIslands = new TreeMap<>(Collections.reverseOrder());
|
||||
|
||||
for (UUID visitIslandList : visitIslands.keySet()) {
|
||||
int islandInteger = 0;
|
||||
|
||||
if (sort == Visit.Sort.Players) {
|
||||
if (islandManager.containsIsland(visitIslandList)) {
|
||||
islandInteger = islandManager.getPlayersAtIsland(islandManager.getIsland(visitIslandList)).size();
|
||||
openIslands.clear();
|
||||
|
||||
if (sort == Visit.Sort.Players || sort == Visit.Sort.Level || sort == Visit.Sort.Members || sort == Visit.Sort.Visits || sort == Visit.Sort.Votes) {
|
||||
visitIslands.sort(new Comparator<me.goodandevil.skyblock.visit.Visit>() {
|
||||
@Override
|
||||
public int compare(me.goodandevil.skyblock.visit.Visit visit1, me.goodandevil.skyblock.visit.Visit visit2) {
|
||||
if (sort == Visit.Sort.Players) {
|
||||
int playersAtIsland1 = 0;
|
||||
|
||||
if (islandManager.containsIsland(visit1.getOwnerUUID())) {
|
||||
playersAtIsland1 = islandManager.getPlayersAtIsland(islandManager.getIsland(visit1.getOwnerUUID())).size();
|
||||
}
|
||||
|
||||
int playersAtIsland2 = 0;
|
||||
|
||||
if (islandManager.containsIsland(visit2.getOwnerUUID())) {
|
||||
playersAtIsland2 = islandManager.getPlayersAtIsland(islandManager.getIsland(visit2.getOwnerUUID())).size();
|
||||
}
|
||||
|
||||
return Integer.valueOf(playersAtIsland2).compareTo(playersAtIsland1);
|
||||
} else if (sort == Visit.Sort.Level) {
|
||||
return Integer.valueOf(visit2.getLevel().getLevel()).compareTo(visit1.getLevel().getLevel());
|
||||
} else if (sort == Visit.Sort.Members) {
|
||||
return Integer.valueOf(visit2.getMembers()).compareTo(visit1.getMembers());
|
||||
} else if (sort == Visit.Sort.Visits) {
|
||||
return Integer.valueOf(visit2.getVisitors().size()).compareTo(visit1.getVisitors().size());
|
||||
} else if (sort == Visit.Sort.Votes) {
|
||||
return Integer.valueOf(visit2.getVoters().size()).compareTo(visit1.getVoters().size());
|
||||
}
|
||||
} else if (sort == Visit.Sort.Level) {
|
||||
islandInteger = visitIslands.get(visitIslandList).getLevel().getLevel();
|
||||
} else if (sort == Visit.Sort.Members) {
|
||||
islandInteger = visitIslands.get(visitIslandList).getMembers();
|
||||
} else if (sort == Visit.Sort.Visits) {
|
||||
islandInteger = visitIslands.get(visitIslandList).getVisitors().size();
|
||||
} else if (sort == Visit.Sort.Votes) {
|
||||
islandInteger = visitIslands.get(visitIslandList).getVoters().size();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
List<UUID> identicalIslands = new ArrayList<>();
|
||||
|
||||
if (sortedIslands.containsKey(islandInteger)) {
|
||||
identicalIslands.addAll(sortedIslands.get(islandInteger));
|
||||
}
|
||||
|
||||
identicalIslands.add(visitIslandList);
|
||||
sortedIslands.put(islandInteger, identicalIslands);
|
||||
}
|
||||
|
||||
for (int sortedIslandList : sortedIslands.keySet()) {
|
||||
List<UUID> identicalIslands = sortedIslands.get(sortedIslandList);
|
||||
|
||||
for (UUID identicalIslandList : identicalIslands) {
|
||||
displayedIslands.put(identicalIslandList, visitIslands.get(identicalIslandList));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
int playerMenuPage = playerDataManager.getPlayerData(player).getPage(), nextEndIndex = displayedIslands.size() - playerMenuPage * 36, totalIslands = visitManager.getIslands().size();
|
||||
int playerMenuPage = playerDataManager.getPlayerData(player).getPage(), nextEndIndex = visitIslands.size() - playerMenuPage * 36, totalIslands = visitManager.getIslands().size();
|
||||
|
||||
nInv.addItem(nInv.createItem(Materials.OAK_FENCE_GATE.parseItem(), configLoad.getString("Menu.Visit.Item.Exit.Displayname"), null, null, null, null), 0, 8);
|
||||
nInv.addItem(nInv.createItem(new ItemStack(Material.HOPPER), configLoad.getString("Menu.Visit.Item.Type.Displayname"), configLoad.getStringList("Menu.Visit.Item.Type.Lore"), nInv.createItemLoreVariable(new String[] { "%type#" + StringUtil.capatilizeUppercaseLetters(type.name()) }), null, null), 3);
|
||||
@ -306,30 +320,28 @@ public class Visit {
|
||||
nInv.addItem(nInv.createItem(SkullUtil.create("wZPrsmxckJn4/ybw/iXoMWgAe+1titw3hjhmf7bfg9vtOl0f/J6YLNMOI0OTvqeRKzSQVCxqNOij6k2iM32ZRInCQyblDIFmFadQxryEJDJJPVs7rXR6LRXlN8ON2VDGtboRTL7LwMGpzsrdPNt0oYDJLpR0huEeZKc1+g4W13Y4YM5FUgEs8HvMcg4aaGokSbvrYRRcEh3LR1lVmgxtbiUIr2gZkR3jnwdmZaIw/Ujw28+Et2pDMVCf96E5vC0aNY0KHTdMYheT6hwgw0VAZS2VnJg+Gz4JCl4eQmN2fs4dUBELIW2Rdnp4U1Eb+ZL8DvTV7ofBeZupknqPOyoKIjpInDml9BB2/EkD3zxFtW6AWocRphn03Z203navBkR6ztCMz0BgbmQU/m8VL/s8o4cxOn+2ppjrlj0p8AQxEsBdHozrBi8kNOGf1j97SDHxnvVAF3X8XDso+MthRx5pbEqpxmLyKKgFh25pJE7UaMSnzH2lc7aAZiax67MFw55pDtgfpl+Nlum4r7CK2w5Xob2QTCovVhu78/6SV7qM2Lhlwx/Sjqcl8rn5UIoyM49QE5Iyf1tk+xHXkIvY0m7q358oXsfca4eKmxMe6DFRjUDo1VuWxdg9iVjn22flqz1LD1FhGlPoqv0k4jX5Q733LwtPPI6VOTK+QzqrmiuR6e8=", "eyJ0aW1lc3RhbXAiOjE0OTM4NjgxMDA2NzMsInByb2ZpbGVJZCI6IjUwYzg1MTBiNWVhMDRkNjBiZTlhN2Q1NDJkNmNkMTU2IiwicHJvZmlsZU5hbWUiOiJNSEZfQXJyb3dSaWdodCIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWI2ZjFhMjViNmJjMTk5OTQ2NDcyYWVkYjM3MDUyMjU4NGZmNmY0ZTgzMjIxZTU5NDZiZDJlNDFiNWNhMTNiIn19fQ=="), configLoad.getString("Menu.Visit.Item.Next.Displayname"), null, null, null, null), 7);
|
||||
}
|
||||
|
||||
if (displayedIslands.size() == 0) {
|
||||
if (visitIslands.size() == 0) {
|
||||
nInv.addItem(nInv.createItem(new ItemStack(Material.BARRIER), configLoad.getString("Menu.Visit.Item.Nothing.Displayname"), null, null, null, null), 31);
|
||||
} else {
|
||||
Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml"));
|
||||
|
||||
int index = playerMenuPage * 36 - 36, endIndex = index >= displayedIslands.size() ? displayedIslands.size() - 1 : index + 36, inventorySlot = 17, playerCapacity = config.getFileConfiguration().getInt("Island.Visitor.Capacity");
|
||||
int index = playerMenuPage * 36 - 36, endIndex = index >= visitIslands.size() ? visitIslands.size() - 1 : index + 36, inventorySlot = 17, playerCapacity = config.getFileConfiguration().getInt("Island.Visitor.Capacity");
|
||||
|
||||
boolean voteEnabled = config.getFileConfiguration().getBoolean("Island.Visitor.Vote");
|
||||
boolean signatureEnabled = config.getFileConfiguration().getBoolean("Island.Visitor.Signature.Enable");
|
||||
|
||||
for (; index < endIndex; index++) {
|
||||
if (displayedIslands.size() > index) {
|
||||
if (visitIslands.size() > index) {
|
||||
inventorySlot++;
|
||||
|
||||
UUID targetPlayerUUID = (UUID) displayedIslands.keySet().toArray()[index];
|
||||
me.goodandevil.skyblock.visit.Visit visit = displayedIslands.get(targetPlayerUUID);
|
||||
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(targetPlayerUUID);
|
||||
me.goodandevil.skyblock.visit.Visit visit = visitIslands.get(index);
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(visit.getOwnerUUID());
|
||||
|
||||
String targetPlayerName;
|
||||
String[] targetPlayerTexture;
|
||||
|
||||
if (targetPlayer == null) {
|
||||
OfflinePlayer offlinePlayer = new OfflinePlayer(targetPlayerUUID);
|
||||
OfflinePlayer offlinePlayer = new OfflinePlayer(visit.getOwnerUUID());
|
||||
targetPlayerName = offlinePlayer.getName();
|
||||
targetPlayerTexture = offlinePlayer.getTexture();
|
||||
} else {
|
||||
@ -339,8 +351,8 @@ public class Visit {
|
||||
|
||||
Island island = null;
|
||||
|
||||
if (islandManager.containsIsland(targetPlayerUUID)) {
|
||||
island = islandManager.getIsland(targetPlayerUUID);
|
||||
if (islandManager.containsIsland(visit.getOwnerUUID())) {
|
||||
island = islandManager.getIsland(visit.getOwnerUUID());
|
||||
}
|
||||
|
||||
List<String> itemLore = new ArrayList<>();
|
||||
|
@ -96,7 +96,6 @@ public class Upgrade {
|
||||
upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops).get(0);
|
||||
viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops);
|
||||
} else if ((is.getType() == Material.BEACON) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Size.Displayname"))))) {
|
||||
upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size).get(0);
|
||||
viewer.setType(Upgrade.Viewer.Type.Size);
|
||||
viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size);
|
||||
|
||||
|
@ -2,7 +2,6 @@ package me.goodandevil.skyblock.placeholder;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -13,10 +12,7 @@ import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
|
||||
import me.goodandevil.skyblock.SkyBlock;
|
||||
import me.goodandevil.skyblock.config.FileManager.Config;
|
||||
import me.goodandevil.skyblock.island.Island;
|
||||
import me.goodandevil.skyblock.island.IslandManager;
|
||||
import me.goodandevil.skyblock.island.Level;
|
||||
import me.goodandevil.skyblock.island.Role;
|
||||
import me.goodandevil.skyblock.leaderboard.Leaderboard;
|
||||
import me.goodandevil.skyblock.leaderboard.LeaderboardManager;
|
||||
import me.goodandevil.skyblock.utils.NumberUtil;
|
||||
@ -48,8 +44,8 @@ public class EZPlaceholder extends PlaceholderExpansion {
|
||||
}
|
||||
|
||||
public String onPlaceholderRequest(Player player, String identifier) {
|
||||
PlaceholderManager placeholderManager = skyblock.getPlaceholderManager();
|
||||
LeaderboardManager leaderboardManager = skyblock.getLeaderboardManager();
|
||||
IslandManager islandManager = skyblock.getIslandManager();
|
||||
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
@ -106,88 +102,7 @@ public class EZPlaceholder extends PlaceholderExpansion {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
Island island = islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner());
|
||||
|
||||
if (identifier.equalsIgnoreCase("island_size")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_size.Non-empty.Message").replace("%placeholder", "" + island.getSize()));
|
||||
} else if (identifier.equalsIgnoreCase("island_radius")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_radius.Non-empty.Message").replace("%placeholder", "" + island.getRadius()));
|
||||
} else if (identifier.equalsIgnoreCase("island_level")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_level.Non-empty.Message").replace("%placeholder", "" + island.getLevel().getLevel()));
|
||||
} else if (identifier.equalsIgnoreCase("island_points")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_points.Non-empty.Message").replace("%placeholder", "" + island.getLevel().getPoints()));
|
||||
} else if (identifier.equalsIgnoreCase("island_role")) {
|
||||
for (Role roleList : Role.values()) {
|
||||
if (island.isRole(roleList, player.getUniqueId())) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_role.Non-empty.Message").replace("%placeholder", roleList.name()));
|
||||
}
|
||||
}
|
||||
} else if (identifier.equalsIgnoreCase("island_owner")) {
|
||||
UUID islandOwnerUUID = island.getOwnerUUID();
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(islandOwnerUUID);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Other.Message").replace("%placeholder", Bukkit.getServer().getOfflinePlayer(islandOwnerUUID).getName()));
|
||||
} else {
|
||||
if (targetPlayer.getName().equals(player.getName())) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Yourself.Message").replace("%placeholder", targetPlayer.getName()));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Other.Message").replace("%placeholder", targetPlayer.getName()));
|
||||
}
|
||||
}
|
||||
} else if (identifier.equalsIgnoreCase("island_biome")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_biome.Non-empty.Message").replace("%placeholder", island.getBiomeName()));
|
||||
} else if (identifier.equalsIgnoreCase("island_time")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_time.Non-empty.Message").replace("%placeholder", "" + island.getTime()));
|
||||
} else if (identifier.equalsIgnoreCase("island_weather")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_weather.Non-empty.Message").replace("%placeholder", "" + island.getWeatherName()));
|
||||
} else if (identifier.equalsIgnoreCase("island_bans")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_bans.Non-empty.Message").replace("%placeholder", "" + island.getBan().getBans().size()));
|
||||
} else if (identifier.equalsIgnoreCase("island_members_total")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members_total.Non-empty.Message").replace("%placeholder", "" + (island.getRole(Role.Member).size() + island.getRole(Role.Operator).size() + 1)));
|
||||
} else if (identifier.equalsIgnoreCase("island_members")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members.Non-empty.Message").replace("%placeholder", "" + island.getRole(Role.Member).size()));
|
||||
} else if (identifier.equalsIgnoreCase("island_operators")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_operators.Non-empty.Message").replace("%placeholder", "" + island.getRole(Role.Operator).size()));
|
||||
} else if (identifier.equalsIgnoreCase("island_visitors")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_visitors.Non-empty.Message").replace("%placeholder", "" + island.getVisitors().size()));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
if (identifier.equalsIgnoreCase("island_size")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_size.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_radius")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_radius.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_level")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_level.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_points")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_points.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_role")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_role.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_owner")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_biome")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_biome.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_time")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_time.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_weather")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_weather.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_bans")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_bans.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_members_total")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members_total.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_members")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_operators")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_operators.Empty.Message"));
|
||||
} else if (identifier.equalsIgnoreCase("island_visitors")) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_visitors.Empty.Message"));
|
||||
}
|
||||
|
||||
return null;
|
||||
return placeholderManager.getPlaceholder(player, identifier);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,6 @@ package me.goodandevil.skyblock.placeholder;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -15,10 +14,7 @@ import be.maximvdw.placeholderapi.PlaceholderReplacer;
|
||||
|
||||
import me.goodandevil.skyblock.SkyBlock;
|
||||
import me.goodandevil.skyblock.config.FileManager.Config;
|
||||
import me.goodandevil.skyblock.island.Island;
|
||||
import me.goodandevil.skyblock.island.IslandManager;
|
||||
import me.goodandevil.skyblock.island.Level;
|
||||
import me.goodandevil.skyblock.island.Role;
|
||||
import me.goodandevil.skyblock.leaderboard.Leaderboard;
|
||||
import me.goodandevil.skyblock.leaderboard.LeaderboardManager;
|
||||
import me.goodandevil.skyblock.utils.NumberUtil;
|
||||
@ -34,8 +30,8 @@ public class MVdWPlaceholder {
|
||||
}
|
||||
|
||||
public void register() {
|
||||
PlaceholderManager placeholderManager = skyblock.getPlaceholderManager();
|
||||
LeaderboardManager leaderboardManager = skyblock.getLeaderboardManager();
|
||||
IslandManager islandManager = skyblock.getIslandManager();
|
||||
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
@ -112,11 +108,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getSize();
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_size.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -129,11 +121,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getRadius();
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_radius.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -146,11 +134,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getLevel().getLevel();
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_level.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -163,11 +147,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_points.Non-empty.Message").replace("%placeholder", "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getLevel().getPoints()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_points.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -180,17 +160,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
Island island = islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner());
|
||||
|
||||
for (Role roleList : Role.values()) {
|
||||
if (island.isRole(roleList, player.getUniqueId())) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_role.Non-empty.Message").replace("%placeholder", roleList.name()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_role.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -203,22 +173,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
UUID islandOwnerUUID = islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getOwnerUUID();
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(islandOwnerUUID);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Other.Message").replace("%placeholder", Bukkit.getServer().getOfflinePlayer(islandOwnerUUID).getName()));
|
||||
} else {
|
||||
if (targetPlayer.getName().equals(player.getName())) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Yourself.Message").replace("%placeholder", targetPlayer.getName()));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Other.Message").replace("%placeholder", targetPlayer.getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -231,11 +186,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_biome.Non-empty.Message").replace("%placeholder", islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getBiomeName()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_biome.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -248,11 +199,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_time.Non-empty.Message").replace("%placeholder", "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getTime()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_time.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -265,11 +212,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_weather.Non-empty.Message").replace("%placeholder", islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getWeatherName()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_weather.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -282,11 +225,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_bans.Non-empty.Message").replace("%placeholder", "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getBan().getBans().size()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_bans.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -299,12 +238,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
Island island = islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner());
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members_total.Non-empty.Message").replace("%placeholder", "" + (island.getRole(Role.Member).size() + island.getRole(Role.Operator).size() + 1)));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members_total.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -317,11 +251,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members.Non-empty.Message").replace("%placeholder", "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getRole(Role.Member).size()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -334,11 +264,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_operators.Non-empty.Message").replace("%placeholder", "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getRole(Role.Operator).size()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_operators.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
|
||||
@ -351,11 +277,7 @@ public class MVdWPlaceholder {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (islandManager.hasIsland(player)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_visitors.Non-empty.Message").replace("%placeholder", "" + islandManager.getIsland(skyblock.getPlayerDataManager().getPlayerData(player).getOwner()).getVisitors().size()));
|
||||
}
|
||||
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_visitors.Empty.Message"));
|
||||
return placeholderManager.getPlaceholder(player, event.getPlaceholder());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -1,8 +1,23 @@
|
||||
package me.goodandevil.skyblock.placeholder;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
import me.goodandevil.skyblock.SkyBlock;
|
||||
import me.goodandevil.skyblock.config.FileManager.Config;
|
||||
import me.goodandevil.skyblock.island.Island;
|
||||
import me.goodandevil.skyblock.island.IslandManager;
|
||||
import me.goodandevil.skyblock.island.Role;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerData;
|
||||
import me.goodandevil.skyblock.playerdata.PlayerDataManager;
|
||||
|
||||
public class PlaceholderManager {
|
||||
|
||||
@ -42,4 +57,145 @@ public class PlaceholderManager {
|
||||
public boolean isMVdWPlaceholderAPIEnabled() {
|
||||
return MVdWPlaceholderAPI;
|
||||
}
|
||||
|
||||
public String getPlaceholder(Player player, String placeholder) {
|
||||
PlayerDataManager playerDataManager = skyblock.getPlayerDataManager();
|
||||
IslandManager islandManager = skyblock.getIslandManager();
|
||||
|
||||
Island island = null;
|
||||
|
||||
if (playerDataManager.hasPlayerData(player)) {
|
||||
PlayerData playerData = playerDataManager.getPlayerData(player);
|
||||
|
||||
if (playerData.getOwner() != null && islandManager.containsIsland(playerData.getOwner())) {
|
||||
island = islandManager.getIsland(playerDataManager.getPlayerData(player).getOwner());
|
||||
}
|
||||
}
|
||||
|
||||
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"));
|
||||
FileConfiguration configLoad = config.getFileConfiguration();
|
||||
|
||||
if (placeholder.equalsIgnoreCase("skyblock_island_size")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_size.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_size.Non-empty.Message").replace("%placeholder", "" + island.getSize()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_radius")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_radius.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_radius.Non-empty.Message").replace("%placeholder", "" + island.getRadius()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_level")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_level.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_level.Non-empty.Message").replace("%placeholder", "" + island.getLevel().getLevel()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_points")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_points.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_points.Non-empty.Message").replace("%placeholder", "" + island.getLevel().getPoints()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_role")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_role.Empty.Message"));
|
||||
} else {
|
||||
for (Role roleList : Role.values()) {
|
||||
if (island.isRole(roleList, player.getUniqueId())) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_role.Non-empty.Message").replace("%placeholder", roleList.name()));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_owner")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Empty.Message"));
|
||||
} else {
|
||||
UUID islandOwnerUUID = island.getOwnerUUID();
|
||||
Player targetPlayer = Bukkit.getServer().getPlayer(islandOwnerUUID);
|
||||
|
||||
if (targetPlayer == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Other.Message").replace("%placeholder", Bukkit.getServer().getOfflinePlayer(islandOwnerUUID).getName()));
|
||||
} else {
|
||||
if (targetPlayer.getName().equals(player.getName())) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Yourself.Message").replace("%placeholder", targetPlayer.getName()));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_owner.Non-empty.Other.Message").replace("%placeholder", targetPlayer.getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_biome")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_biome.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_biome.Non-empty.Message").replace("%placeholder", island.getBiomeName()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_time")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_time.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_time.Non-empty.Message").replace("%placeholder", "" + island.getTime()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_weather")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_weather.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_weather.Non-empty.Message").replace("%placeholder", "" + island.getWeatherName()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_bans")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_bans.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_bans.Non-empty.Message").replace("%placeholder", "" + island.getBan().getBans().size()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_members_total")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members_total.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members_total.Non-empty.Message").replace("%placeholder", "" + (island.getRole(Role.Member).size() + island.getRole(Role.Operator).size() + 1)));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_members")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_members.Non-empty.Message").replace("%placeholder", "" + island.getRole(Role.Member).size()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_operators")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_operators.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_operators.Non-empty.Message").replace("%placeholder", "" + island.getRole(Role.Operator).size()));
|
||||
}
|
||||
} else if (placeholder.equalsIgnoreCase("skyblock_island_visitors")) {
|
||||
if (island == null) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_visitors.Empty.Message"));
|
||||
} else {
|
||||
return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.skyblock_island_visitors.Non-empty.Message").replace("%placeholder", "" + island.getVisitors().size()));
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
public List<String> getPlaceholders() {
|
||||
List<String> placeholders = new ArrayList<>();
|
||||
placeholders.add("skyblock_island_size");
|
||||
placeholders.add("skyblock_island_radius");
|
||||
placeholders.add("skyblock_island_level");
|
||||
placeholders.add("skyblock_island_points");
|
||||
placeholders.add("skyblock_island_role");
|
||||
placeholders.add("skyblock_island_owner");
|
||||
placeholders.add("skyblock_island_biome");
|
||||
placeholders.add("skyblock_island_time");
|
||||
placeholders.add("skyblock_island_weather");
|
||||
placeholders.add("skyblock_island_bans");
|
||||
placeholders.add("skyblock_island_members_total");
|
||||
placeholders.add("skyblock_island_members");
|
||||
placeholders.add("skyblock_island_operators");
|
||||
placeholders.add("skyblock_island_visitors");
|
||||
|
||||
return placeholders;
|
||||
}
|
||||
}
|
||||
|
@ -127,10 +127,12 @@ public class UpgradeManager {
|
||||
}
|
||||
|
||||
public boolean hasUpgrade(Upgrade.Type type, int value) {
|
||||
for (Upgrade upgradeList : upgradeStorage.get(type)) {
|
||||
if (upgradeList.getValue() == value) {
|
||||
return true;
|
||||
}
|
||||
if (upgradeStorage.containsKey(type)) {
|
||||
for (Upgrade upgradeList : upgradeStorage.get(type)) {
|
||||
if (upgradeList.getValue() == value) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: SkyBlock
|
||||
main: me.goodandevil.skyblock.SkyBlock
|
||||
version: 35
|
||||
version: 36
|
||||
api-version: 1.13
|
||||
description: A unique SkyBlock plugin
|
||||
author: GoodAndEvil
|
||||
|
Loading…
Reference in New Issue
Block a user