diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java index 1e0d7b1..8da0ba3 100644 --- a/src/main/java/de/fanta/challenges/Challenges.java +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -1,5 +1,6 @@ package de.fanta.challenges; +import com.destroystokyo.paper.profile.PlayerProfile; import de.cubeside.nmsutils.NMSUtils; import de.fanta.challenges.challenges.AllItemsChallenge; import de.fanta.challenges.challenges.MLGChallenge; @@ -26,10 +27,9 @@ import de.iani.cubesidestats.api.CubesideStatisticsAPI; import de.iani.playerUUIDCache.PlayerUUIDCache; import de.speedy64.globalport.GlobalApi; -import net.kyori.adventure.key.Key; +import io.papermc.paper.ban.BanListType; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; -import net.kyori.adventure.translation.TranslationRegistry; import org.apache.commons.io.FileUtils; import org.bukkit.BanList; import org.bukkit.Bukkit; @@ -72,7 +72,6 @@ public String texturepacklink = null; public CancellableTask resetTask; public boolean reset = false; - private String PREFIX; private TextComponent prefixComponent; private TextComponent guiPrefix; private File backpackConfigFile; @@ -113,10 +112,8 @@ private static final String CubesideMod_ModChannel = "cubesidemod:data"; private Scheduler scheduler; private ColorUtils colorUtils; - private Path challengeSavePath = new File("/home/storagebox/Challenge-saves").toPath(); - private Path adventureSavePath = new File("/home/storagebox/Adventure-saves/").toPath(); - - private TranslationRegistry translationRegistry; + private final Path challengeSavePath = new File("/home/storagebox/Challenge-saves").toPath(); + private final Path adventureSavePath = new File("/home/storagebox/Adventure-saves/").toPath(); public static Challenges getPlugin() { return plugin; @@ -158,7 +155,6 @@ serverType = ServerType.valueOf(getServerConfig().getString("servertype")); String prefix = serverType.getPrefix(); - PREFIX = ChatUtil.BLUE + "[" + ChatUtil.GREEN + prefix + ChatUtil.BLUE + "]"; prefixComponent = Component.text("[").color(ChatUtil.BLUE).append(Component.text(prefix).color(ChatUtil.GREEN)).append(Component.text("] ").color(ChatUtil.BLUE)); guiPrefix = Component.text(prefix).color(ChatUtil.GREEN); @@ -171,9 +167,6 @@ new CommandRegistration(this).registerCommands(); new EventRegistration(this).registerEvents(); - translationRegistry = TranslationRegistry.create(Key.key("challenge")); - new Translations(translationRegistry).registerTranslations(); - this.backpack.loadInventoryFromConfig(); this.sbManager = new BukkitScoreBoardManager(this); @@ -228,7 +221,7 @@ if (temp.isDirectory()) { FileUtils.moveDirectory(temp, texturepackdownload); } else { - Bukkit.getLogger().info("Ordner nicht da!"); + Challenges.getPlugin().getLogger().info("Ordner nicht da!"); } } texturepacklink = "https://fantacs.de/AdventureMap-TexturePacks/" + textureID + "/" + textureID + ".zip"; @@ -246,7 +239,7 @@ Material material = Material.valueOf(string); not_available_materials.add(material); } catch (IllegalArgumentException ex) { - Bukkit.getLogger().log(Level.INFO, "Some items could not be loaded into the ItemGroup"); + Challenges.getPlugin().getLogger().log(Level.INFO, "Some items could not be loaded into the ItemGroup"); } } @@ -298,7 +291,8 @@ @Override public void onDisable() { - Bukkit.getBanList(BanList.Type.NAME).getBanEntries().forEach(b -> Bukkit.getBanList(BanList.Type.NAME).pardon(b.getTarget())); + BanList banList = Bukkit.getBanList(BanListType.PROFILE); + banList.getEntries().forEach(banEntry -> banList.pardon((PlayerProfile) banEntry)); if (!getConfig().getBoolean("World_Reset")) { this.backpack.saveInventoryToConfig(); Config.setValue("backpack_size", backpack.getSize() / 9); @@ -430,7 +424,7 @@ ChatUtil.sendNormalMessage(currentEditor, "Du bist nun der Editor dieser Lobby!"); ChatUtil.sendNormalMessage(currentEditor, "Alle Befehle und Funktionen vom Challenge Plugin findest du in unserem Wiki."); ChatUtil.sendNormalMessage(currentEditor, "Hier Klicken --> https://wiki.cubeside.de/Challenge"); - ChatUtil.sendBrodcastMessage(Component.text(currentEditor.getName(), ChatUtil.BLUE).append(Component.text(" ist nun der Editor dieser Lobby!", ChatUtil.GREEN))); + ChatUtil.sendBrodCastMessage(Component.text(currentEditor.getName(), ChatUtil.BLUE).append(Component.text(" ist nun der Editor dieser Lobby!", ChatUtil.GREEN))); } } @@ -596,10 +590,6 @@ return serverType; } - public String getPREFIX() { - return PREFIX; - } - public TextComponent getPrefixComponent() { return prefixComponent; } @@ -689,8 +679,4 @@ public Path getChallengeSavePath() { return challengeSavePath; } - - public TranslationRegistry getTranslationRegistry() { - return translationRegistry; - } } diff --git a/src/main/java/de/fanta/challenges/Timer.java b/src/main/java/de/fanta/challenges/Timer.java index 29357e5..4cf779b 100644 --- a/src/main/java/de/fanta/challenges/Timer.java +++ b/src/main/java/de/fanta/challenges/Timer.java @@ -10,7 +10,6 @@ import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.format.TextDecoration; -import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.Effect; import org.bukkit.GameMode; @@ -18,7 +17,6 @@ import org.bukkit.entity.Creature; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; -import org.bukkit.entity.Wolf; import java.util.Optional; @@ -63,21 +61,21 @@ } ChatUtil.sendTitleToAll(Component.text("ZEIT ABGELAUFEN!", ChatUtil.RED), Component.text("Challenge fehlgeschlagen", ChatUtil.RED)); - ChatUtil.sendBrodcastMessage(Component.text("Die Zeit ist abgelaufen und die Challenge somit fehlgeschlagen!", ChatUtil.RED)); + ChatUtil.sendBrodCastMessage(Component.text("Die Zeit ist abgelaufen und die Challenge somit fehlgeschlagen!", ChatUtil.RED)); Optional optionalWorld = Bukkit.getWorlds().stream().findFirst(); - optionalWorld.ifPresent(world -> ChatUtil.sendBrodcastMessage(Component.text("Seed: ", ChatUtil.GREEN).append(Component.text(world.getSeed(), ChatUtil.BLUE)))); + optionalWorld.ifPresent(world -> ChatUtil.sendBrodCastMessage(Component.text("Seed: ", ChatUtil.GREEN).append(Component.text(world.getSeed(), ChatUtil.BLUE)))); } stopTimer(); } else { time -= (System.currentTimeMillis() - countingSinceTimestamp); countingSinceTimestamp = System.currentTimeMillis(); - sendTimerActionBar(true); + sendTimerActionBar(); } } else { time += (System.currentTimeMillis() - countingSinceTimestamp); countingSinceTimestamp = System.currentTimeMillis(); - sendTimerActionBar(false); + sendTimerActionBar(); } }, 1L, 1L); if (!Config.getBoolean("firsttimerstart")) { @@ -119,14 +117,12 @@ }, 20L, 20L); } - private void sendTimerActionBar(Boolean reverse) { + private void sendTimerActionBar() { for (Player p : Bukkit.getOnlinePlayers()) { if (!plugin.getVanish().isVanish(p)) { if (Config.getBoolean("showtimer")) { - //p.sendActionBar(formatTime(color)); sendFormatedTimerActionBarToPlayer(p, formateRainbowTime(!Config.getBoolean("editsettings"))); } - } } } @@ -147,10 +143,6 @@ return formatTime; } - public Component formateRainbowTime() { - return formateRainbowTime(false); - } - public Component formateRainbowTime(boolean speedRun) { return plugin.getColorUtils().addChatColorToString((speedRun ? "SpeedRun " : "") + formatTime(), mode == TimerMode.UP ? baseColorsTimer : baseColorsReserveTimer, 1.5); } diff --git a/src/main/java/de/fanta/challenges/Translations.java b/src/main/java/de/fanta/challenges/Translations.java deleted file mode 100644 index 995d2ba..0000000 --- a/src/main/java/de/fanta/challenges/Translations.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.fanta.challenges; - -import net.kyori.adventure.translation.TranslationRegistry; -import org.bukkit.event.entity.EntityDamageEvent; - -import java.text.MessageFormat; -import java.util.Locale; - -public record Translations(TranslationRegistry registry) { - - public void registerTranslations() { - registry.register("damagecause." + EntityDamageEvent.DamageCause.FALL.name().toLowerCase(), Locale.ENGLISH, new MessageFormat("Fall damage")); - registry.register("damagecause." + EntityDamageEvent.DamageCause.FALL.name().toLowerCase(), Locale.GERMAN, new MessageFormat("Fallschaden")); - } -} diff --git a/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java b/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java index 2043dce..f936c22 100644 --- a/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java @@ -5,13 +5,13 @@ import de.fanta.challenges.events.TimerChangedEvent; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.bossbar.BossBar; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; import org.bukkit.advancement.Advancement; import org.bukkit.advancement.AdvancementProgress; -import org.bukkit.boss.BarColor; -import org.bukkit.boss.BarStyle; -import org.bukkit.boss.BossBar; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -62,7 +62,7 @@ if (!isRunning()) { return; } - bossBar.addPlayer(e.getPlayer()); + bossBar.addViewer(e.getPlayer()); setAdvancementsToPlayer(); } @@ -76,15 +76,14 @@ private static void updateBossbar() { int done = countDone(); - String bossBarTitle = ChatUtil.GREEN + "(" + done + "/" + plugin.getAdvancements().size() + ") Advancements"; + Component bossBarTitle = Component.text("(" + done + "/" + plugin.getAdvancements().size() + ") Advancements", ChatUtil.GREEN); + float progress = done * 100.0f / plugin.getAdvancements().size() / 100.0f; if (bossBar == null) { - bossBar = Bukkit.createBossBar(bossBarTitle, BarColor.GREEN, BarStyle.SOLID); + bossBar = BossBar.bossBar(bossBarTitle, progress, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); } else { - bossBar.setTitle(bossBarTitle); + bossBar.name(bossBarTitle); } - double progress = done * 100.0 / plugin.getAdvancements().size() / 100.0; - bossBar.setProgress(progress); - bossBar.setVisible(true); + bossBar.progress(progress); } private void createAdvancementString(Player player) { @@ -119,6 +118,9 @@ if (advancements != null) { HashSet done = new HashSet<>(advancements.getStringList("done")); ConfigurationSection progress = advancements.getConfigurationSection("progress"); + if (progress == null) { + return; + } Iterator it = Bukkit.advancementIterator(); while (it.hasNext()) { Advancement a = it.next(); @@ -162,14 +164,14 @@ setAdvancementsToPlayer(); updateBossbar(); for (Player pp : Bukkit.getOnlinePlayers()) { - bossBar.addPlayer(pp); + bossBar.addViewer(pp); } setRunning(true); } public static void stop() { if (bossBar != null) { - bossBar.removeAll(); + bossBar.viewers().forEach(bossBarViewer -> bossBar.removeViewer((Audience) bossBarViewer)); } setRunning(false); } diff --git a/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java b/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java index ff50ee8..af68fee 100644 --- a/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java @@ -5,14 +5,12 @@ import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.CubesideModUtils; -import de.iani.cubesideutils.StringUtil; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; -import org.bukkit.boss.BarColor; -import org.bukkit.boss.BarStyle; -import org.bukkit.boss.BossBar; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -28,8 +26,8 @@ public static CancellableTask ItemScheduler; public static BossBar bossBar; public static Material item; - public static List foundItems = new ArrayList<>(); - public static List itemsToSearch = new ArrayList<>(); + public static final List foundItems = new ArrayList<>(); + public static final List itemsToSearch = new ArrayList<>(); private static final Challenges plugin = Challenges.getPlugin(); @@ -63,10 +61,9 @@ Config.setValue("allitemscurrentitem", new ItemStack(item)); } - bossBar = Bukkit.createBossBar("", BarColor.GREEN, BarStyle.SOLID); - bossBar.setVisible(true); + bossBar = BossBar.bossBar(Component.empty(), 0.f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); for (Player pl : Bukkit.getOnlinePlayers()) { - bossBar.addPlayer(pl); + bossBar.addViewer(pl); } update(); } @@ -74,20 +71,20 @@ public static void update() { ItemScheduler = plugin.getScheduler().runGlobalAtFixedRate(() -> { if (Config.getBoolean("allitems") && Challenges.getPlugin().getTimer().isRunning()) { - if (itemsToSearch.size() != 0) { + if (!itemsToSearch.isEmpty()) { for (Player pp : Bukkit.getOnlinePlayers()) { - bossBar.addPlayer(pp); + bossBar.addViewer(pp); if (pp.getInventory().contains(item)) { next(pp, false); } } - bossBar.setTitle(ChatUtil.GREEN + "Item » " + ChatUtil.BLUE + StringUtil.capitalizeFirstLetter(item.toString(), true) + ChatUtil.BLUE + " (" + ChatUtil.GREEN + foundItems.size() + "/" + itemcount + ChatUtil.BLUE + ")"); - double progress = foundItems.size() * 100.0 / itemcount / 100.0; - bossBar.setProgress(progress); + bossBar.name(Component.text("Item » ", ChatUtil.GREEN).append(Component.translatable(item.translationKey(), ChatUtil.BLUE).append(Component.text(" (", ChatUtil.BLUE).append(Component.text(foundItems.size() + "/" + itemcount, ChatUtil.GREEN).append(Component.text(")", ChatUtil.BLUE)))))); + float progress = foundItems.size() * 100.0f / itemcount / 100.0f; + bossBar.progress(progress); } else { - bossBar.setTitle(ChatUtil.GREEN + "Alle Items gesammelt!"); - ChatUtil.sendBrodcastMessage(Component.text("Alle Items gesammelt!", ChatUtil.GREEN)); + bossBar.name(Component.text("Alle Items gesammelt!", ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Alle Items gesammelt!", ChatUtil.GREEN)); Challenges.getPlugin().getTimer().stopTimer(); for (Player pl : Bukkit.getOnlinePlayers()) { pl.playSound(pl.getLocation(), Sound.UI_TOAST_CHALLENGE_COMPLETE, 0.2f, 1); @@ -95,7 +92,7 @@ ItemScheduler.cancel(); } } else { - bossBar.removeAll(); + bossBar.viewers().forEach(bossBarViewer -> bossBar.removeViewer((Audience) bossBarViewer)); } }, 1, 10); } @@ -105,16 +102,16 @@ itemsToSearch.remove(old); foundItems.add(old); saveItems(); - if (itemsToSearch.size() != 0) { + if (!itemsToSearch.isEmpty()) { Random r = new Random(); item = itemsToSearch.get(r.nextInt((itemsToSearch.size() - 1) + 1)); Config.setValue("allitemscurrentitem", new ItemStack(item)); if (skipped) { - ChatUtil.sendBrodcastMessage(Component.text("Item: ", ChatUtil.GREEN).append(Component.translatable(old.translationKey(), ChatUtil.BLUE).append(Component.text(" wurde von " + p.getName() + " übersprungen.", ChatUtil.GREEN)))); + ChatUtil.sendBrodCastMessage(Component.text("Item: ", ChatUtil.GREEN).append(Component.translatable(old.translationKey(), ChatUtil.BLUE).append(Component.text(" wurde von " + p.getName() + " übersprungen.", ChatUtil.GREEN)))); } else { - ChatUtil.sendBrodcastMessage(Component.text("Item: ", ChatUtil.GREEN).append(Component.translatable(old.translationKey(), ChatUtil.BLUE).append(Component.text(" wurde von " + p.getName() + " Registriert.", ChatUtil.GREEN)))); + ChatUtil.sendBrodCastMessage(Component.text("Item: ", ChatUtil.GREEN).append(Component.translatable(old.translationKey(), ChatUtil.BLUE).append(Component.text(" wurde von " + p.getName() + " Registriert.", ChatUtil.GREEN)))); } - ChatUtil.sendBrodcastMessage(Component.text("Neues Item: " , ChatUtil.GREEN).append(Component.translatable(item.translationKey(), ChatUtil.BLUE).append(Component.text(" (Es fehlen noch ", ChatUtil.GREEN).append(Component.text((itemcount - foundItems.size()), ChatUtil.BLUE).append(Component.text(" Items)", ChatUtil.GREEN)))))); + ChatUtil.sendBrodCastMessage(Component.text("Neues Item: ", ChatUtil.GREEN).append(Component.translatable(item.translationKey(), ChatUtil.BLUE).append(Component.text(" (Es fehlen noch ", ChatUtil.GREEN).append(Component.text((itemcount - foundItems.size()), ChatUtil.BLUE).append(Component.text(" Items)", ChatUtil.GREEN)))))); for (Player pp : Bukkit.getOnlinePlayers()) { pp.playSound(pp.getLocation(), Sound.BLOCK_NOTE_BLOCK_PLING, 1, 1); CubesideModUtils.sendFlashScreenToCubesideMod(plugin, pp, 50, ChatUtil.GREEN); diff --git a/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java b/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java index 470c1a4..77ea931 100644 --- a/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java @@ -2,7 +2,6 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.Config; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java index 32aca12..730b5d4 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java @@ -10,6 +10,7 @@ import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.CubesideModUtils; +import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -17,9 +18,6 @@ import org.bukkit.OfflinePlayer; import org.bukkit.Sound; import org.bukkit.Statistic; -import org.bukkit.boss.BarColor; -import org.bukkit.boss.BarStyle; -import org.bukkit.boss.BossBar; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -51,7 +49,7 @@ private static boolean eventend = false; private static List materials = new ArrayList<>(); - private static final BossBar bossBar = Bukkit.createBossBar(ChatUtil.GREEN + "Nutze " + ChatUtil.BLUE + "/bingo" + ChatUtil.GREEN + " um die Items zu sehen", BarColor.GREEN, BarStyle.SOLID); + private static final BossBar bossBar = BossBar.bossBar(Component.text("Nutze ", ChatUtil.GREEN).append(Component.text("/bingo", ChatUtil.BLUE).append(Component.text(" um die Items zu sehen", ChatUtil.GREEN))), 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); private final Challenges plugin = Challenges.getPlugin(); public static List getMaterials() { @@ -66,11 +64,6 @@ return playerMaterials; } - public static Map> getTeamMaterials() { - return playerMaterials; - } - - public static boolean isRunning() { return running; } @@ -171,8 +164,7 @@ if (event.isRunning()) { setMaterials(BingoItemsGui.getEventItems()); for (Player p : Bukkit.getOnlinePlayers()) { - bossBar.setVisible(true); - bossBar.addPlayer(p); + bossBar.addViewer(p); } if (!Config.getBoolean("event.teams")) { @@ -196,8 +188,7 @@ @EventHandler public void onJoin(PlayerJoinEvent e) { if (isRunning()) { - bossBar.setVisible(true); - bossBar.addPlayer(e.getPlayer()); + bossBar.addViewer(e.getPlayer()); if (Config.getBoolean("event.teams")) { ChallengeTeam team = TeamUtils.getPlayerTeam(e.getPlayer()); @@ -233,7 +224,7 @@ if (plugin.getScoreManager().getScore(new ChallengePlayer(player.getUniqueId())) == materials.size()) { plugin.getTimer().stopTimer(); ChatUtil.sendTitleToAll(Component.text("Event"), player.name().color(ChatUtil.GREEN).append(Component.text(" hat alle Items gefunden!", ChatUtil.BLUE))); - String[] lines = {"", "", "", " " + ChatUtil.BLUE + player.getName(), ChatUtil.GREEN + " hat alle Items gefunden!", "", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + player.getName(), ChatUtil.BLUE), Component.text(" hat alle Items gefunden!", ChatUtil.GREEN), Component.empty(), Component.empty(), Component.empty()}; ChatSkull.sendAll(player, lines); for (Player pp : Bukkit.getOnlinePlayers()) { pp.setGameMode(GameMode.SPECTATOR); @@ -270,7 +261,7 @@ ChatUtil.sendTitleToAll(Component.text("Event"), Component.text("Team ", ChatUtil.GREEN).append(Component.text(team.getName(), team.getChatColor()).append(Component.text(" hat alle Items gefunden!", ChatUtil.GREEN)))); for (OfflinePlayer offlinePlayer : TeamUtils.getPlayersInTeam(team)) { if (offlinePlayer instanceof Player onPlayer) { - String[] lines = {"", "", "", " " + ChatUtil.BLUE + onPlayer.getName(), ChatUtil.GREEN + " hat alle Items gefunden!", "", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + onPlayer.getName(), ChatUtil.BLUE), Component.text(" hat alle Items gefunden!", ChatUtil.GREEN), Component.empty(), Component.empty(), Component.empty()}; ChatSkull.sendAll(onPlayer, lines); } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java index 208429f..4daedfc 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BridgeRaceChallengeEvent.java @@ -10,6 +10,7 @@ import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.world.EmptyChunkGenerator; +import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -23,9 +24,6 @@ import org.bukkit.block.BlockFace; import org.bukkit.block.data.BlockData; import org.bukkit.block.data.Directional; -import org.bukkit.boss.BarColor; -import org.bukkit.boss.BarStyle; -import org.bukkit.boss.BossBar; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -73,6 +71,7 @@ materials.remove(Material.ELYTRA); materials.remove(Material.LAVA_BUCKET); materials.remove(Material.WIND_CHARGE); + materials.remove(Material.BREEZE_ROD); for (Player pp : plugin.getVanish().getPlayerListWithoutVanishPlayers()) { plugin.getScoreManager().join(new ChallengePlayer(pp.getUniqueId())); @@ -91,10 +90,10 @@ for (Scorable scorable : plugin.getScoreManager().getByPositon(1)) { OfflinePlayer p = (Bukkit.getServer().getOfflinePlayer(scorable.getName())); if (p.isOnline()) { - String[] lines = {"", "", "", " " + ChatUtil.BLUE + p.getName() + "'s", ChatUtil.GREEN + " Brücke ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke lang", ChatUtil.GREEN + " und hat damit gewonnen!", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + p.getName() + "'s", ChatUtil.BLUE), Component.text(" Brücke ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke lang", ChatUtil.GREEN), Component.text(" und hat damit gewonnen!", ChatUtil.GREEN), Component.empty(), Component.empty()}; ChatSkull.sendAll((Player) p, lines); } else { - ChatUtil.sendBrodcastMessage(Component.text(scorable.getName() + "'s", ChatUtil.BLUE).append(Component.text(" Brücke ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke lang und hat damit gewonnen!", ChatUtil.GREEN))); + ChatUtil.sendBrodCastMessage(Component.text(scorable.getName() + "'s", ChatUtil.BLUE).append(Component.text(" Brücke ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke lang und hat damit gewonnen!", ChatUtil.GREEN))); } } @@ -276,9 +275,7 @@ setBedrock(getPlayerLocation(player).clone()); Location teleportLocation = getPlayerLocation(player).clone().add(0.5, 2, 0.5); teleportLocation.setYaw(-90); - plugin.getScheduler().runDelayedOnEntity(player, () -> { - player.teleport(teleportLocation); - }, 1L); + plugin.getScheduler().runDelayedOnEntity(player, () -> player.teleport(teleportLocation), 1L); } private static Location getPlayerLocation(Player player) { @@ -325,13 +322,13 @@ ScoreManager scoreManager = plugin.getScoreManager(); for (Player p : plugin.getVanish().getPlayerListWithoutVanishPlayers()) { if (!plugin.getVanish().isVanish(p)) { + Component component = Component.text("Position: ", ChatUtil.GREEN).append(Component.text(scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())), ChatUtil.BLUE).append(Component.text(" | ", ChatUtil.RED).append(Component.text("Länge deiner Brücke: ", ChatUtil.GREEN).append(Component.text(scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Blöcke", ChatUtil.BLUE))))); BossBar bossBar = bossBarMap.computeIfAbsent(p, player -> { - BossBar newBossBar = Bukkit.createBossBar(ChatUtil.GREEN + "Position: " + ChatUtil.BLUE + scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())) + ChatUtil.RED + " | " + ChatUtil.GREEN + "Länge deiner Brücke: " + ChatUtil.BLUE + scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Blöcke", BarColor.GREEN, BarStyle.SOLID); - newBossBar.setVisible(true); - newBossBar.addPlayer(p); + BossBar newBossBar = BossBar.bossBar(component, 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); + newBossBar.addViewer(p); return newBossBar; }); - bossBar.setTitle(ChatUtil.GREEN + "Position: " + ChatUtil.BLUE + scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())) + ChatUtil.RED + " | " + ChatUtil.GREEN + "Länge deiner Brücke: " + ChatUtil.BLUE + scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Blöcke"); + bossBar.name(component); } } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java index f14b21e..3270801 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java @@ -10,10 +10,10 @@ import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.CoordsTargeter; +import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.format.TextDecoration; -import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.GameRule; @@ -23,9 +23,6 @@ import org.bukkit.OfflinePlayer; import org.bukkit.World; import org.bukkit.block.Block; -import org.bukkit.boss.BarColor; -import org.bukkit.boss.BarStyle; -import org.bukkit.boss.BossBar; import org.bukkit.entity.Boat; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -140,7 +137,7 @@ plugin.getSBManager().removeScoreboard(p); if (plugin.getSBManager().countScoreboardPlayers() == 0) { plugin.getTimer().stopTimer(); - ChatUtil.sendBrodcastMessage(Component.text("Das Event wurde beendet, da alle Spieler gestorben sind!", ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Das Event wurde beendet, da alle Spieler gestorben sind!", ChatUtil.GREEN)); } } } @@ -171,10 +168,10 @@ for (Scorable scorable : plugin.getScoreManager().getByPositon(1)) { OfflinePlayer p = (Bukkit.getServer().getOfflinePlayer(scorable.getName())); if (p.isOnline()) { - String[] lines = {"", "", "", " " + ChatUtil.BLUE + p.getName(), ChatUtil.GREEN + " ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke gelaufen und", ChatUtil.GREEN + " hat damit gewonnen!", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + p.getName(), ChatUtil.BLUE), Component.text(" ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke gelaufen und", ChatUtil.GREEN), Component.text(" hat damit gewonnen!", ChatUtil.GREEN), Component.empty(), Component.empty()}; ChatSkull.sendAll((Player) p, lines); } else { - ChatUtil.sendBrodcastMessage(Component.text(scorable.getName(), ChatUtil.BLUE).append(Component.text(" ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke gelaufen und hat damit gewonnen!", ChatUtil.GREEN))); + ChatUtil.sendBrodCastMessage(Component.text(scorable.getName(), ChatUtil.BLUE).append(Component.text(" ist " + plugin.getScoreManager().getScore(scorable) + " Blöcke gelaufen und hat damit gewonnen!", ChatUtil.GREEN))); } } } else { @@ -345,17 +342,14 @@ int distance = (int) p.getLocation().toVector().subtract(p.getWorld().getSpawnLocation().toVector()).length(); scoreManager.setScore(new ChallengePlayer(p.getUniqueId()), distance); } + + Component component = Component.text("Position: ", ChatUtil.GREEN).append(Component.text(scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())), ChatUtil.BLUE).append(Component.text(" | ", ChatUtil.RED).append(deadPlayer.contains(p.getUniqueId()) ? Component.text("† ", Style.style(ChatUtil.RED, TextDecoration.BOLD)) : Component.empty())).append(Component.text("Distanz zum Spawn: ", ChatUtil.GREEN).append(Component.text(scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Blöcke", ChatUtil.BLUE)))); BossBar bossBar = bossBarMap.computeIfAbsent(p, player -> { - BossBar newBossBar = Bukkit.createBossBar(ChatUtil.GREEN + "Position: " + ChatUtil.BLUE + scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())) + ChatUtil.RED + " | " + ChatUtil.GREEN + "Distanz zum Spawn: " + ChatUtil.BLUE + scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Blöcke", BarColor.GREEN, BarStyle.SOLID); - newBossBar.setVisible(true); - newBossBar.addPlayer(p); + BossBar newBossBar = BossBar.bossBar(component, 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); + newBossBar.addViewer(p); return newBossBar; }); - if (!deadPlayer.contains(p.getUniqueId())) { - bossBar.setTitle(ChatUtil.GREEN + "Position: " + ChatUtil.BLUE + scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())) + ChatUtil.RED + " | " + ChatUtil.GREEN + "Distanz zum Spawn: " + ChatUtil.BLUE + scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Blöcke"); - } else { - bossBar.setTitle(ChatUtil.GREEN + "Position: " + ChatUtil.BLUE + scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())) + ChatUtil.RED + " | " + ChatUtil.RED + ChatColor.BOLD + "† " + ChatUtil.GREEN + "Distanz zum Spawn: " + ChatUtil.RED + scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Blöcke"); - } + bossBar.name(component); } } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java index 83942e4..818e35d 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DifferentItemsChallenge.java @@ -8,14 +8,11 @@ import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.CubesideModUtils; +import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.text.Component; -import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.Statistic; -import org.bukkit.boss.BarColor; -import org.bukkit.boss.BarStyle; -import org.bukkit.boss.BossBar; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -173,13 +170,13 @@ private void updateBossBar() { ScoreManager scoreManager = plugin.getScoreManager(); for (Player p : plugin.getVanish().getPlayerListWithoutVanishPlayers()) { + Component component = Component.text("Position: ", ChatUtil.GREEN).append(Component.text(scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())), ChatUtil.BLUE).append(Component.text(" | ", ChatUtil.RED).append(Component.text("Score: ", ChatUtil.GREEN).append(Component.text(scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Items", ChatUtil.BLUE))))); BossBar bossBar = bossBarMap.computeIfAbsent(p, player -> { - BossBar newBossBar = Bukkit.createBossBar(ChatUtil.GREEN + "Position: " + ChatUtil.BLUE + scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())) + ChatUtil.RED + " | " + ChatUtil.GREEN + "Score: " + ChatUtil.BLUE + scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Items", BarColor.GREEN, BarStyle.SOLID); - newBossBar.setVisible(true); - newBossBar.addPlayer(p); + BossBar newBossBar = BossBar.bossBar(component, 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); + newBossBar.addViewer(p); return newBossBar; }); - bossBar.setTitle(ChatUtil.GREEN + "Position: " + ChatUtil.BLUE + scoreManager.getPosition(new ChallengePlayer(p.getUniqueId())) + ChatUtil.RED + " | " + ChatUtil.GREEN + "Score: " + ChatUtil.BLUE + scoreManager.getScore(new ChallengePlayer(p.getUniqueId())) + " Items"); + bossBar.name(component); } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattleChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattleChallengeEvent.java index 80cf6d8..828ee8c 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattleChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattleChallengeEvent.java @@ -11,18 +11,14 @@ import de.fanta.challenges.utils.Config; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; -import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.OfflinePlayer; -import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; import java.util.HashMap; import java.util.Objects; @@ -80,10 +76,10 @@ for (Scorable scorable : plugin.getScoreManager().getByPositon(1)) { OfflinePlayer p = (Bukkit.getServer().getOfflinePlayer(scorable.getName())); if (p.isOnline()) { - String[] lines = {"", "", "", " " + ChatUtil.BLUE + p.getName(), ChatUtil.GREEN + " hat " + plugin.getScoreManager().getScore(scorable) + " Punkte und", ChatUtil.GREEN + " hat damit gewonnen!", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + p.getName(), ChatUtil.BLUE), Component.text(" hat " + plugin.getScoreManager().getScore(scorable) + " Punkte und", ChatUtil.GREEN), Component.text(" hat damit gewonnen!", ChatUtil.GREEN), Component.empty(), Component.empty()}; ChatSkull.sendAll((Player) p, lines); } else { - ChatUtil.sendBrodcastMessage(Component.text(scorable.getName(), ChatUtil.BLUE).append(Component.text(" hat " + plugin.getScoreManager().getScore(scorable) + " Punkte und hat damit gewonnen!", ChatUtil.GREEN))); + ChatUtil.sendBrodCastMessage(Component.text(scorable.getName(), ChatUtil.BLUE).append(Component.text(" hat " + plugin.getScoreManager().getScore(scorable) + " Punkte und hat damit gewonnen!", ChatUtil.GREEN))); } ChatUtil.sendTitleToAll(Component.text("Event"), Component.text(ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " gewinnt mit " + ChatUtil.BLUE + plugin.getScoreManager().getScore(scorable) + ChatUtil.GREEN + " Punkten", ChatUtil.GREEN)); } @@ -93,7 +89,7 @@ ChallengeTeam team = TeamUtils.getTeam(scorable.getName()); if (team != null) { ChatUtil.sendTitleToAll(Component.text("Event"), Component.text("Team ", ChatUtil.GREEN).append(Component.text(team.getName(), team.getChatColor()).append(Component.text(" gewinnt mit ", ChatUtil.GREEN).append(Component.text(plugin.getScoreManager().getScore(scorable), ChatUtil.BLUE).append(Component.text(" Punkten", ChatUtil.GREEN)))))); - String[] lines = {"", "", "", " " + ChatUtil.BLUE + "Team " + team.getChatColor() + team.getName(), ChatUtil.GREEN + " hat " + plugin.getScoreManager().getScore(scorable) + " Punkte und", ChatUtil.GREEN + " hat damit gewonnen!", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + "Team ", ChatUtil.BLUE).append(Component.text(team.getName(), team.getChatColor())), Component.text(" hat " + plugin.getScoreManager().getScore(scorable) + " Punkte und", ChatUtil.GREEN), Component.text(" hat damit gewonnen!", ChatUtil.GREEN), Component.empty(), Component.empty()}; for (OfflinePlayer pp : TeamUtils.getPlayersInTeam(team)) if (pp.isOnline()) { ChatSkull.sendAll((Player) pp, lines); diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java index c114c75..8a9148b 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java @@ -8,14 +8,14 @@ import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; +import net.kyori.adventure.bossbar.BossBar; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.OfflinePlayer; import org.bukkit.Sound; -import org.bukkit.boss.BarColor; -import org.bukkit.boss.BarStyle; -import org.bukkit.boss.BossBar; +import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.entity.Villager; import org.bukkit.event.EventHandler; @@ -43,8 +43,8 @@ public static BossBar bossBar; - public static HashMap bossBarList = new HashMap<>(); - public static HashMap bossBarPlayerList = new HashMap<>(); + public static final HashMap bossBarList = new HashMap<>(); + public static final HashMap bossBarPlayerList = new HashMap<>(); public static Location hopperloc; private static Material material; private static boolean running; @@ -94,22 +94,20 @@ if (isSinglePlayer()) { updatePlayerBossBar(); } else { - bossBar = Bukkit.createBossBar(ChatUtil.GREEN + "Es wurden " + ChatUtil.BLUE + count + " " + new ItemStack(getMaterial()).getI18NDisplayName() + ChatUtil.GREEN + " abgegeben. Das sind " + ChatUtil.BLUE + count * SammelFieberSettingsGui.MONEY + " Cubes", BarColor.GREEN, BarStyle.SOLID); - bossBar.setVisible(true); + bossBar = BossBar.bossBar(Component.text("Es wurden ", ChatUtil.GREEN).append(Component.text(count + " ", ChatUtil.BLUE)).append(Component.translatable(getMaterial().translationKey(), ChatUtil.BLUE).append(Component.text(" abgegeben. Das sind ", ChatUtil.GREEN).append(Component.text(count * SammelFieberSettingsGui.MONEY + " Cubes", ChatUtil.BLUE)))), 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); for (Player pp : Bukkit.getOnlinePlayers()) { plugin.getScoreManager().join(new ChallengePlayer(pp.getUniqueId())); - bossBar.addPlayer(pp); + bossBar.addViewer(pp); } } } else { for (ChallengeTeam team : TeamUtils.getTeams()) { plugin.getScoreManager().join(team); - BossBar teamBar = Bukkit.createBossBar(ChatUtil.GREEN + "Dein Team hat " + ChatUtil.BLUE + plugin.getScoreManager().getScore(team) + " " + new ItemStack(getMaterial()).getI18NDisplayName() + ChatUtil.GREEN + " abgegeben." + ChatUtil.RED + " | " + ChatUtil.GREEN + "Platz: " + plugin.getScoreManager().getPosition(team), BarColor.GREEN, BarStyle.SOLID); - teamBar.setVisible(true); + BossBar teamBar = BossBar.bossBar(Component.text("Dein Team hat ", ChatUtil.GREEN).append(Component.text(plugin.getScoreManager().getScore(team) + " ", ChatUtil.BLUE)).append(Component.translatable(getMaterial().translationKey(), ChatUtil.BLUE).append(Component.text(" abgegeben. ", ChatUtil.GREEN).append(Component.text(" | ", ChatUtil.RED)).append(Component.text("Platz: " + plugin.getScoreManager().getPosition(team), ChatUtil.GREEN)))), 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); bossBarList.put(team, teamBar); for (OfflinePlayer offlinePlayer : TeamUtils.getPlayersInTeam(team)) if (offlinePlayer instanceof Player player) { - teamBar.addPlayer(player); + teamBar.addViewer(player); } } } @@ -146,7 +144,6 @@ } ItemMeta meta = stack.getItemMeta(); - if (meta != null && meta.hasDisplayName()) { if (!Config.getBoolean("event.teams")) { Player player = Bukkit.getPlayer(meta.getDisplayName()); @@ -156,7 +153,7 @@ if (isSinglePlayer()) { updatePlayerBossBar(); } else { - bossBar.setTitle(ChatUtil.GREEN + "Es wurden " + ChatUtil.BLUE + count + " " + new ItemStack(getMaterial()).getI18NDisplayName() + ChatUtil.GREEN + " abgegeben. Das sind " + ChatUtil.BLUE + count * SammelFieberSettingsGui.MONEY + " Cubes"); + bossBar.name(Component.text("Es wurden ", ChatUtil.GREEN).append(Component.text(count + " ", ChatUtil.BLUE)).append(Component.translatable(getMaterial().translationKey(), ChatUtil.BLUE).append(Component.text(" abgegeben. Das sind ", ChatUtil.GREEN).append(Component.text(count * SammelFieberSettingsGui.MONEY + " Cubes", ChatUtil.BLUE))))); } } else { ChallengeTeam team = TeamUtils.getTeam(meta.getDisplayName()); @@ -171,7 +168,7 @@ for (ChallengeTeam tempTema : TeamUtils.getTeams()) { BossBar teamBar = bossBarList.get(tempTema); - teamBar.setTitle(ChatUtil.GREEN + "Dein Team hat " + ChatUtil.BLUE + plugin.getScoreManager().getScore(tempTema) + " " + new ItemStack(getMaterial()).getI18NDisplayName() + ChatUtil.GREEN + " abgegeben." + ChatUtil.RED + " | " + ChatUtil.GREEN + "Platz: " + plugin.getScoreManager().getPosition(tempTema)); + teamBar.name(Component.text("Dein Team hat ", ChatUtil.GREEN).append(Component.text(plugin.getScoreManager().getScore(tempTema) + " ", ChatUtil.BLUE)).append(Component.translatable(getMaterial().translationKey(), ChatUtil.BLUE).append(Component.text(" abgegeben. ", ChatUtil.GREEN).append(Component.text(" | ", ChatUtil.RED)).append(Component.text("Platz: " + plugin.getScoreManager().getPosition(tempTema), ChatUtil.GREEN))))); } } } @@ -183,14 +180,15 @@ for (Player pp : Bukkit.getOnlinePlayers()) { ChallengePlayer challengePlayer = new ChallengePlayer(pp.getUniqueId()); plugin.getScoreManager().join(challengePlayer); + + Component component = Component.text("Du hast ", ChatUtil.GREEN).append(Component.text(plugin.getScoreManager().getScore(challengePlayer) + " ", ChatUtil.BLUE).append(Component.translatable(getMaterial().translationKey(), ChatUtil.BLUE).append(Component.text(" abgegeben.", ChatUtil.GREEN).append(Component.text(" | ", ChatUtil.RED).append(Component.text("Platzierung: " + plugin.getScoreManager().getPosition(challengePlayer), ChatUtil.GREEN)))))); if (bossBarPlayerList.containsKey(pp.getUniqueId())) { BossBar playerBar = bossBarPlayerList.get(pp.getUniqueId()); - playerBar.setTitle(ChatUtil.GREEN + "Du hast " + ChatUtil.BLUE + plugin.getScoreManager().getScore(challengePlayer) + " " + new ItemStack(getMaterial()).getI18NDisplayName() + ChatUtil.GREEN + " abgegeben." + ChatUtil.RED + " | " + ChatUtil.GREEN + "Platzierung: " + plugin.getScoreManager().getPosition(challengePlayer)); - playerBar.addPlayer(pp); + playerBar.name(component); + playerBar.addViewer(pp); } else { - BossBar playerBar = Bukkit.createBossBar(ChatUtil.GREEN + "Du hast " + ChatUtil.BLUE + plugin.getScoreManager().getScore(challengePlayer) + " " + new ItemStack(getMaterial()).getI18NDisplayName() + ChatUtil.GREEN + " abgegeben." + ChatUtil.RED + " | " + ChatUtil.GREEN + "Platzierung: " + plugin.getScoreManager().getPosition(challengePlayer), BarColor.GREEN, BarStyle.SOLID); - playerBar.setVisible(true); - playerBar.addPlayer(pp); + BossBar playerBar = BossBar.bossBar(component, 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); + playerBar.addViewer(pp); bossBarPlayerList.put(pp.getUniqueId(), playerBar); } } @@ -203,8 +201,11 @@ } Location loc = e.getSource().getLocation(); - Location blockloc = new Location(loc.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); - if (getHopperLocation().equals(blockloc)) { + if (loc == null) { + return; + } + Location blockLoc = new Location(loc.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); + if (getHopperLocation().equals(blockLoc)) { e.setCancelled(true); } } @@ -215,9 +216,13 @@ return; } if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { - Location loc = e.getClickedBlock().getLocation(); - Location blockloc = new Location(loc.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); - if (getHopperLocation().equals(blockloc)) { + Block clickedBlock = e.getClickedBlock(); + if (clickedBlock == null) { + return; + } + Location loc = clickedBlock.getLocation(); + Location blockLoc = new Location(loc.getWorld(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); + if (getHopperLocation().equals(blockLoc)) { e.setCancelled(true); } } @@ -251,9 +256,9 @@ ItemMeta meta = stack.getItemMeta(); if (!Config.getBoolean("event.teams")) { - meta.setDisplayName(e.getPlayer().getName()); + meta.displayName(e.getPlayer().name()); } else { - meta.setDisplayName(TeamUtils.getPlayerTeam(e.getPlayer()).getName()); + meta.displayName(Component.text(TeamUtils.getPlayerTeam(e.getPlayer()).getName())); } stack.setItemMeta(meta); @@ -277,7 +282,7 @@ ItemMeta meta = stack.getItemMeta(); if (meta != null && meta.hasDisplayName()) { - meta.setDisplayName(""); + meta.displayName(null); stack.setItemMeta(meta); } } @@ -292,19 +297,19 @@ updatePlayerBossBar(); } else { plugin.getScoreManager().join(new ChallengePlayer(e.getPlayer().getUniqueId())); - bossBar.addPlayer(e.getPlayer()); + bossBar.addViewer(e.getPlayer()); } } else { ChallengeTeam team = TeamUtils.getPlayerTeam(e.getPlayer()); if (team != null) { plugin.getScoreManager().join(team); if (bossBarList.containsKey(team)) { - bossBarList.get(team).addPlayer(e.getPlayer()); + bossBarList.get(team).addViewer(e.getPlayer()); } else { - BossBar teamBar = Bukkit.createBossBar(ChatUtil.GREEN + "Dein Team hat " + ChatUtil.BLUE + plugin.getScoreManager().getScore(team) + " " + new ItemStack(getMaterial()).getI18NDisplayName() + ChatUtil.GREEN + " abgegeben." + ChatUtil.RED + " | " + ChatUtil.GREEN + "Platz: " + plugin.getScoreManager().getPosition(team), BarColor.GREEN, BarStyle.SOLID); - teamBar.setVisible(true); + Component component = Component.text("Dein Team hat ", ChatUtil.GREEN).append(Component.text(plugin.getScoreManager().getScore(team) + " ", ChatUtil.BLUE)).append(Component.translatable(getMaterial().translationKey(), ChatUtil.BLUE).append(Component.text(" abgegeben. ", ChatUtil.GREEN).append(Component.text(" | ", ChatUtil.RED)).append(Component.text("Platz: " + plugin.getScoreManager().getPosition(team), ChatUtil.GREEN)))); + BossBar teamBar = BossBar.bossBar(component, 1.0f, BossBar.Color.GREEN, BossBar.Overlay.PROGRESS); bossBarList.put(team, teamBar); - teamBar.addPlayer(e.getPlayer()); + teamBar.addViewer(e.getPlayer()); } } } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java index c5abaec..43b0b27 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java @@ -179,10 +179,10 @@ for (Scorable scorable : plugin.getScoreManager().getByPositon(1)) { OfflinePlayer p = (Bukkit.getServer().getOfflinePlayer(scorable.getName())); if (p.isOnline()) { - String[] lines = {"", "", "", " " + ChatUtil.BLUE + p.getName(), ChatUtil.GREEN + " hat " + plugin.getScoreManager().getScore(scorable) + " Aufgaben erledigt", ChatUtil.GREEN + " und hat damit gewonnen!", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + p.getName(), ChatUtil.BLUE), Component.text(" hat " + plugin.getScoreManager().getScore(scorable) + " Aufgaben erledigt", ChatUtil.GREEN), Component.text(" und hat damit gewonnen!", ChatUtil.GREEN), Component.empty(), Component.empty()}; ChatSkull.sendAll((Player) p, lines); } else { - ChatUtil.sendBrodcastMessage(Component.text(scorable.getName(), ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(plugin.getScoreManager().getScore(scorable), ChatUtil.BLUE).append(Component.text(" Aufgaben erledigt und hat damit gewonnen!", ChatUtil.GREEN))))); + ChatUtil.sendBrodCastMessage(Component.text(scorable.getName(), ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(plugin.getScoreManager().getScore(scorable), ChatUtil.BLUE).append(Component.text(" Aufgaben erledigt und hat damit gewonnen!", ChatUtil.GREEN))))); } } @@ -501,7 +501,7 @@ ItemStack stackInHand = e.getCursor(); Player player = (Player) e.getWhoClicked(); ItemMeta meta = null; - ItemMeta metaInHand = null; + ItemMeta metaInHand; if (stack != null) { meta = stack.getItemMeta(); @@ -1029,16 +1029,10 @@ running = run; } - public ArrayList createMaterielList() { - return new ArrayList<>(materials); - } - public static class AcceptGUI extends AbstractWindow { private static final int YES_INDEX = 1; private static final int NO_INDEX = 3; - public static final int INVENTORY_SIZE = 5; - public AcceptGUI(Player player) { super(player, Bukkit.createInventory(player, InventoryType.HOPPER, plugin.getGuiPrefix().append(Component.text(" >> Skip Quest?")))); } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java index fb8d2f4..97e418c 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java @@ -4,13 +4,11 @@ import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; -import de.iani.cubesideutils.StringUtil; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.HoverEvent; import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.format.TextDecoration; -import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; @@ -29,17 +27,17 @@ EntityType entityType = EntityType.valueOf(Config.getString("goal").toUpperCase()); if (e.getEntity().getType() == entityType) { plugin.getTimer().stopTimer(); - ChatUtil.sendBrodcastMessage(Component.text("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Style.style(ChatUtil.GREEN, TextDecoration.BOLD, TextDecoration.OBFUSCATED))); - ChatUtil.sendBrodcastMessage(Component.empty()); - ChatUtil.sendBrodcastMessage(Component.empty()); - ChatUtil.sendBrodcastMessage(Component.empty()); + ChatUtil.sendBrodCastMessage(Component.text("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Style.style(ChatUtil.GREEN, TextDecoration.BOLD, TextDecoration.OBFUSCATED))); + ChatUtil.sendBrodCastMessage(Component.empty()); + ChatUtil.sendBrodCastMessage(Component.empty()); + ChatUtil.sendBrodCastMessage(Component.empty()); if (e.getEntity().customName() != null) { - ChatUtil.sendBrodcastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(e.getEntity().name().style(Style.style(ChatUtil.BLUE, TextDecoration.BOLD)).append(Component.text(" wurde besiegt.", ChatUtil.GREEN)))); + ChatUtil.sendBrodCastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(e.getEntity().name().style(Style.style(ChatUtil.BLUE, TextDecoration.BOLD)).append(Component.text(" wurde besiegt.", ChatUtil.GREEN)))); } else { - ChatUtil.sendBrodcastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("Der ", ChatUtil.GREEN).append(Component.translatable(e.getEntityType().translationKey(), Style.style(ChatUtil.BLUE, TextDecoration.BOLD)).append(Component.text(" wurde besiegt.", ChatUtil.GREEN))))); + ChatUtil.sendBrodCastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("Der ", ChatUtil.GREEN).append(Component.translatable(e.getEntityType().translationKey(), Style.style(ChatUtil.BLUE, TextDecoration.BOLD)).append(Component.text(" wurde besiegt.", ChatUtil.GREEN))))); } - ChatUtil.sendBrodcastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("Benötigte Zeit: ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.BLUE).append(Component.text("!", ChatUtil.GREEN))))); - ChatUtil.sendBrodcastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("Seed: ", ChatUtil.GREEN).append(Component.text(Bukkit.getWorlds().get(0).getSeed(), Style.style(ChatUtil.BLUE, TextDecoration.BOLD)).hoverEvent(HoverEvent.showText(Component.text("Klicken zum Kopieren"))).clickEvent(ClickEvent.copyToClipboard(String.valueOf(Bukkit.getWorlds().get(0).getSeed())))))); + ChatUtil.sendBrodCastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("Benötigte Zeit: ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.BLUE).append(Component.text("!", ChatUtil.GREEN))))); + ChatUtil.sendBrodCastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("Seed: ", ChatUtil.GREEN).append(Component.text(Bukkit.getWorlds().getFirst().getSeed(), Style.style(ChatUtil.BLUE, TextDecoration.BOLD)).hoverEvent(HoverEvent.showText(Component.text("Klicken zum Kopieren"))).clickEvent(ClickEvent.copyToClipboard(String.valueOf(Bukkit.getWorlds().getFirst().getSeed())))))); if (e.getEntity().getType() == EntityType.ENDER_DRAGON) { if (!Config.getBoolean("editsettings")) { if (!Config.getBoolean("editsettings")) { @@ -47,15 +45,15 @@ return; } plugin.getStatistics().saveSpeedRun(); - ChatUtil.sendBrodcastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("SpeedRun wurde gespeichert. Deine Zeit: ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.BLUE)))); + ChatUtil.sendBrodCastMessage(Component.text(" >> ", ChatUtil.ORANGE).append(Component.text("SpeedRun wurde gespeichert. Deine Zeit: ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.BLUE)))); } } } - ChatUtil.sendBrodcastMessage(Component.empty()); - ChatUtil.sendBrodcastMessage(Component.empty()); - ChatUtil.sendBrodcastMessage(Component.empty()); - ChatUtil.sendBrodcastMessage(Component.text("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Style.style(ChatUtil.GREEN, TextDecoration.BOLD, TextDecoration.OBFUSCATED))); + ChatUtil.sendBrodCastMessage(Component.empty()); + ChatUtil.sendBrodCastMessage(Component.empty()); + ChatUtil.sendBrodCastMessage(Component.empty()); + ChatUtil.sendBrodCastMessage(Component.text("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Style.style(ChatUtil.GREEN, TextDecoration.BOLD, TextDecoration.OBFUSCATED))); } } } diff --git a/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java b/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java index df5b6e6..f33d8b4 100644 --- a/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java @@ -15,7 +15,7 @@ public class FloorIsLavaChallenge implements Listener { private static final Challenges plugin = Challenges.getPlugin(); - public static ArrayList LAVA_BLOCKS = new ArrayList<>(); + public static final ArrayList LAVA_BLOCKS = new ArrayList<>(); @EventHandler public void onPlayerMove(PlayerMoveEvent e) { diff --git a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java index 82d2e8e..b898988 100644 --- a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java @@ -15,6 +15,7 @@ import org.bukkit.WorldCreator; import org.bukkit.WorldType; import org.bukkit.entity.Player; +import org.bukkit.entity.SpawnCategory; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; @@ -133,7 +134,7 @@ World mlgWorld = Bukkit.getWorld("mlg_challenge"); if (mlgWorld == null) { mlgWorld = Bukkit.createWorld((new WorldCreator("mlg_challenge")).type(WorldType.FLAT).generateStructures(false)); - mlgWorld.setAnimalSpawnLimit(0); + mlgWorld.setSpawnLimit(SpawnCategory.ANIMAL, 0); mlgWorld.setGameRule(GameRule.DO_MOB_SPAWNING, false); mlgWorld.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false); mlgWorld.setGameRule(GameRule.DO_WEATHER_CYCLE, false); @@ -197,15 +198,15 @@ private static void mlgResult(Player p, boolean dead) { MLGInfo mlgInfo = mlgPlayerMap.get(p.getUniqueId()); mlgPlayerMap.remove(p.getUniqueId()); - Location loc = mlgInfo.getLocation(); - ItemStack[] content = mlgInfo.getContent(); + Location loc = mlgInfo.location(); + ItemStack[] content = mlgInfo.content(); if (!dead) { p.setInvulnerable(true); mlgBack(p, loc, content); ChatUtil.sendNormalMessage(p, "Du hast den MLG erfolgreich absolviert! Weitere folgen..."); } else { p.getInventory().clear(); - if (Bukkit.getWorlds().get(0).getGameRuleValue(GameRule.KEEP_INVENTORY)) { + if (Bukkit.getWorlds().getFirst().getGameRuleValue(GameRule.KEEP_INVENTORY)) { p.getInventory().setContents(content); } else if (Config.getBoolean("gravestone")) { String inventoryString = GravestoneUtils.createInventoryString(content); @@ -268,21 +269,6 @@ task = null; } - static class MLGInfo { - private final ItemStack[] content; - private final Location location; - - MLGInfo(ItemStack[] content, Location location) { - this.content = content; - this.location = location; - } - - public Location getLocation() { - return location; - } - - public ItemStack[] getContent() { - return content; - } + record MLGInfo(ItemStack[] content, Location location) { } } \ No newline at end of file diff --git a/src/main/java/de/fanta/challenges/challenges/ManHunt.java b/src/main/java/de/fanta/challenges/challenges/ManHunt.java index bf8395f..4b5c086 100644 --- a/src/main/java/de/fanta/challenges/challenges/ManHunt.java +++ b/src/main/java/de/fanta/challenges/challenges/ManHunt.java @@ -5,6 +5,8 @@ import de.fanta.challenges.schedular.CancellableTask; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; +import de.fanta.challenges.utils.ItemUtils; +import net.kyori.adventure.text.Component; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.NamespacedKey; @@ -30,9 +32,7 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataType; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; public class ManHunt implements Listener { private static final Challenges plugin = Challenges.getPlugin(); @@ -108,9 +108,7 @@ meta = stack.getItemMeta(); } - if (stackInHand != null) { - metaInHand = stackInHand.getItemMeta(); - } + metaInHand = stackInHand.getItemMeta(); if (e.getClick() == ClickType.NUMBER_KEY) { int slot = e.getHotbarButton(); @@ -247,12 +245,8 @@ } public static ItemStack createHunterItem() { - ItemStack stack = new ItemStack(Material.COMPASS, 1); + ItemStack stack = ItemUtils.createGuiItem(Material.COMPASS, Component.text("Hunter Kompass", ChatUtil.GREEN), Component.text("Zeigt die Richtung zum gejagten Spieler", ChatUtil.GREEN)); CompassMeta meta = (CompassMeta) stack.getItemMeta(); - List lorelist = new ArrayList<>(); - meta.setDisplayName(ChatUtil.GREEN + "Hunter Kompass"); - lorelist.add(ChatUtil.GREEN + "Zeigt die Richtung zum gejagten Spieler"); - meta.setLore(lorelist); meta.addEnchant(Enchantment.VANISHING_CURSE, 1, true); meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); meta.getPersistentDataContainer().set(hunterItemKey, PersistentDataType.STRING, "HunterItem"); diff --git a/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java b/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java index 218a82d..0f4a0d8 100644 --- a/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java @@ -5,7 +5,6 @@ import de.fanta.challenges.events.TimerChangedEvent; import de.fanta.challenges.utils.Config; import io.papermc.paper.event.entity.EntityMoveEvent; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; @@ -20,9 +19,9 @@ public class MobRemoveWorldChallenge implements Listener { - Challenges plugin = Challenges.getPlugin(); + private static final Challenges plugin = Challenges.getPlugin(); - ArrayList dragonList = new ArrayList<>(); + private static final ArrayList dragonList = new ArrayList<>(); private int taskId = -1; diff --git a/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java b/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java index a05d593..159c5b0 100644 --- a/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java @@ -10,8 +10,6 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageEvent; -import java.util.Random; - public class ShareDamageChallenge implements Listener { private final Challenges plugin = Challenges.getPlugin(); diff --git a/src/main/java/de/fanta/challenges/challenges/XPChallenge.java b/src/main/java/de/fanta/challenges/challenges/XPChallenge.java index 53ea29a..e82175f 100644 --- a/src/main/java/de/fanta/challenges/challenges/XPChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/XPChallenge.java @@ -20,7 +20,7 @@ if (plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { if (Config.getBoolean("xpdeath")) { p.setHealth(0); - ChatUtil.sendBrodcastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat XP eingesammelt!", ChatUtil.RED))); + ChatUtil.sendBrodCastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat XP eingesammelt!", ChatUtil.RED))); } } } diff --git a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java index f5477db..47c85f4 100644 --- a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java +++ b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java @@ -12,7 +12,6 @@ import de.fanta.challenges.commands.challenges.ChallengesPingCommand; import de.fanta.challenges.commands.challenges.ChallengesSaveCommand; import de.fanta.challenges.commands.event.EventSaveScoresCommand; -import de.fanta.challenges.commands.challenges.ChallengesSpeedCommand; import de.fanta.challenges.commands.challenges.ChallengesUnBanCommand; import de.fanta.challenges.commands.challenges.TeleportCommand; import de.fanta.challenges.commands.challenges.CheckItemsCommand; @@ -63,7 +62,6 @@ challengesRouter.addCommandMapping(new ChallengesSaveCommand(plugin), "save"); challengesRouter.addCommandMapping(new ChallengesPingCommand(), "ping"); challengesRouter.addCommandMapping(new ChallengesMemoryCommand(), "mem"); - challengesRouter.addCommandMapping(new ChallengesSpeedCommand(), "speed"); challengesRouter.addCommandMapping(new TeleportCommand(), "tp"); challengesRouter.addCommandMapping(new ChallengeMaxPlayersCommand(), "maxplayer"); challengesRouter.addCommandMapping(new CheckItemsCommand(plugin), "checkitems"); diff --git a/src/main/java/de/fanta/challenges/commands/ReviveCommand.java b/src/main/java/de/fanta/challenges/commands/ReviveCommand.java index 3ab3762..e71957a 100644 --- a/src/main/java/de/fanta/challenges/commands/ReviveCommand.java +++ b/src/main/java/de/fanta/challenges/commands/ReviveCommand.java @@ -37,14 +37,14 @@ p.setHealth(p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); p.setGameMode(GameMode.SURVIVAL); } - ChatUtil.sendBrodcastMessage(Component.text("Alle Spieler wurden wiederbelebt! Es kann weiter gehen!", ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Alle Spieler wurden wiederbelebt! Es kann weiter gehen!", ChatUtil.GREEN)); } else { OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(next)); if (other.isOnline()) { Player p = (Player) other; p.setHealth(p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); p.setGameMode(GameMode.SURVIVAL); - ChatUtil.sendBrodcastMessage(p.name().append(Component.text(" wurde von ").append(sender.name()).append(Component.text(" wiederbelebt!"))).color(ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(p.name().append(Component.text(" wurde von ").append(sender.name()).append(Component.text(" wiederbelebt!"))).color(ChatUtil.GREEN)); } else { ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!"); } diff --git a/src/main/java/de/fanta/challenges/commands/VillageCommand.java b/src/main/java/de/fanta/challenges/commands/VillageCommand.java index 597ba2a..2c25841 100644 --- a/src/main/java/de/fanta/challenges/commands/VillageCommand.java +++ b/src/main/java/de/fanta/challenges/commands/VillageCommand.java @@ -60,7 +60,7 @@ int z = village.getBlockZ(); Location villagetop = village.getWorld().getHighestBlockAt(x, z, HeightMap.MOTION_BLOCKING).getLocation().add(0, 1, 0); int y = villagetop.getBlockY(); - Bukkit.getWorlds().get(0).setSpawnLocation(villagetop); + Bukkit.getWorlds().getFirst().setSpawnLocation(villagetop); ChatUtil.sendMessage(player, Component.text("Dorf: ", ChatUtil.GREEN).append(Component.text(x + " " + y + " " + z, ChatUtil.BLUE))); for (Player pp : Bukkit.getOnlinePlayers()) { pp.teleportAsync(villagetop); diff --git a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesPingCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesPingCommand.java index 623978a..0228146 100644 --- a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesPingCommand.java +++ b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesPingCommand.java @@ -15,7 +15,7 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player p)) { + if (!(sender instanceof Player)) { ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } diff --git a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesSpeedCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesSpeedCommand.java deleted file mode 100644 index 731cbbc..0000000 --- a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesSpeedCommand.java +++ /dev/null @@ -1,50 +0,0 @@ -package de.fanta.challenges.commands.challenges; - -import com.google.common.primitives.Doubles; -import de.fanta.challenges.utils.ChatUtil; -import de.iani.cubesideutils.bukkit.commands.SubCommand; -import de.iani.cubesideutils.commands.ArgsParser; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class ChallengesSpeedCommand extends SubCommand { - public ChallengesSpeedCommand() { - } - - @Override - public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); - return true; - } - if (!p.hasPermission("Challenges.editor.override")) { - ChatUtil.sendErrorMessage(p, "Keine rechte"); - return true; - } - - if (args.hasNext()) { - String next = args.getNext(); - if (Doubles.tryParse(next) != null) { - float speed; - if (!next.equals("10")) { - speed = Doubles.tryParse("0." + next).floatValue(); - } else { - speed = Doubles.tryParse("1").floatValue(); - } - - if (p.isFlying()) { - p.setFlySpeed(speed); - ChatUtil.sendNormalMessage(p, "Dein fly Speed ist nun " + next); - } else { - p.setWalkSpeed(speed); - ChatUtil.sendNormalMessage(p, "Dein lauf Speed ist nun " + next); - } - } - - } else { - ChatUtil.sendWarningMessage(p, "/challneges speed 0 - 10"); - } - return true; - } -} diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java index 7997beb..cce5726 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java @@ -20,7 +20,7 @@ int x = player.getLocation().getBlockX(); int y = player.getLocation().getBlockY(); int z = player.getLocation().getBlockZ(); - ChatUtil.sendBrodcastMessage(player.name().color(ChatUtil.BLUE).append(Component.text(" ist bei ", ChatUtil.GREEN).append(Component.text(x + "/" + y + "/" + z + " " + w, ChatUtil.ORANGE)))); + ChatUtil.sendBrodCastMessage(player.name().color(ChatUtil.BLUE).append(Component.text(" ist bei ", ChatUtil.GREEN).append(Component.text(x + "/" + y + "/" + z + " " + w, ChatUtil.ORANGE)))); return true; } } diff --git a/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java b/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java index 562edf7..13bbfd8 100644 --- a/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java +++ b/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java @@ -5,6 +5,7 @@ import de.fanta.challenges.utils.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; +import net.kyori.adventure.text.Component; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -24,7 +25,7 @@ return true; } if (plugin.getCurrentEditor() != null) { - String[] lines = {"", "", "", " " + ChatUtil.BLUE + plugin.getCurrentEditor().getName(), ChatUtil.GREEN + " ist der aktuelle Editor", "", "", ""}; + Component[] lines = {Component.empty(), Component.empty(), Component.empty(), Component.text(" " + plugin.getCurrentEditor().getName(), ChatUtil.BLUE), Component.text(" ist der aktuelle Editor", ChatUtil.GREEN), Component.empty(), Component.empty(), Component.empty()}; ChatUtil.sendNormalMessage(sender, "-------- Editor --------"); ChatSkull.sendPlayer(plugin.getCurrentEditor(), (Player) sender, lines); ChatUtil.sendNormalMessage(sender, "-------- Editor --------"); diff --git a/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java b/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java index 06ff492..3553d6c 100644 --- a/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java @@ -34,7 +34,7 @@ return true; } else if (!plugin.isEditor(player)) { plugin.setCurrentEditor(player); - ChatUtil.sendBrodcastMessage(player.name().color(ChatUtil.BLUE).append(Component.text(" wurde von ", ChatUtil.GREEN).append(sender.name().color(ChatUtil.BLUE).append(Component.text(" zum Editor ernannt", ChatUtil.GREEN))))); + ChatUtil.sendBrodCastMessage(player.name().color(ChatUtil.BLUE).append(Component.text(" wurde von ", ChatUtil.GREEN).append(sender.name().color(ChatUtil.BLUE).append(Component.text(" zum Editor ernannt", ChatUtil.GREEN))))); ChatUtil.sendNormalMessage(player, "Du bist jetzt Editor und kannst diese Lobby bearbeiten. (/challenges)"); return true; } else { diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java index 3c50902..5a72bab 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java @@ -29,7 +29,7 @@ if (plugin.getTimer().isRunning()) { plugin.setDayLightCircle(false); plugin.getTimer().stopTimer(); - ChatUtil.sendBrodcastMessage(Component.text("Der Timer wurde angehalten", ChatUtil.RED)); + ChatUtil.sendBrodCastMessage(Component.text("Der Timer wurde angehalten", ChatUtil.RED)); if (plugin.getServerType() == ServerType.CHALLENGE) { if (!Config.getBoolean("editsettings")) { Config.setValue("editsettings", true, false); diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java index 015eee9..9578134 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java @@ -27,7 +27,7 @@ } if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().setTime(0); - ChatUtil.sendBrodcastMessage(Component.text("Der Timer wurde zurückgesetzt!", ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Der Timer wurde zurückgesetzt!", ChatUtil.GREEN)); if (plugin.getServerType() == ServerType.CHALLENGE) { if (!Config.getBoolean("editsettings")) { Config.setValue("editsettings", true, false); diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java index 52f0a50..69fe902 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java @@ -28,9 +28,9 @@ if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().reverseTimer(); if (plugin.getTimer().isReverse()) { - ChatUtil.sendBrodcastMessage(Component.text("Der Timer läuft nun rückwärts!", ChatUtil.BLUE)); + ChatUtil.sendBrodCastMessage(Component.text("Der Timer läuft nun rückwärts!", ChatUtil.BLUE)); } else { - ChatUtil.sendBrodcastMessage(Component.text("Der Timer läuft nun vorwärts!", ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Der Timer läuft nun vorwärts!", ChatUtil.GREEN)); } if (plugin.getServerType() == ServerType.CHALLENGE) { if (!Config.getBoolean("editsettings")) { diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java index cf949f0..b12cc6b 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java @@ -30,7 +30,7 @@ if (time >= 0) { if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().setTime(time); - ChatUtil.sendBrodcastMessage(Component.text("Der Timer wurde auf ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.GREEN)).append(Component.text(" gesetzt!", ChatUtil.GREEN))); + ChatUtil.sendBrodCastMessage(Component.text("Der Timer wurde auf ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.GREEN)).append(Component.text(" gesetzt!", ChatUtil.GREEN))); if (plugin.getServerType() == ServerType.CHALLENGE) { if (!Config.getBoolean("editsettings")) { Config.setValue("editsettings", true, false); diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java index 886c03f..09db8a9 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java @@ -34,7 +34,7 @@ } plugin.getStatistics().addSpeedRunPlayed(); } - ChatUtil.sendBrodcastMessage(Component.text("Der Timer wird fortgesetzt!", ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Der Timer wird fortgesetzt!", ChatUtil.GREEN)); } else { ChatUtil.sendWarningMessage(sender, "Der Timer läuft bereits!"); } diff --git a/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java b/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java index 062c453..dd5a1a8 100644 --- a/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java +++ b/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java @@ -110,7 +110,7 @@ } } } - Collection droplist = player.getInventory().addItem(fullinvstacklist.toArray(new ItemStack[fullinvstacklist.size()])).values(); + Collection droplist = player.getInventory().addItem(fullinvstacklist.toArray(new ItemStack[0])).values(); for (ItemStack stack : droplist) { armorStand.getLocation().getWorld().dropItem(armorStand.getLocation().add(0, 1, 0), stack); } diff --git a/src/main/java/de/fanta/challenges/gravestones/GravestoneUtils.java b/src/main/java/de/fanta/challenges/gravestones/GravestoneUtils.java index 6ee8f8b..83c66a2 100644 --- a/src/main/java/de/fanta/challenges/gravestones/GravestoneUtils.java +++ b/src/main/java/de/fanta/challenges/gravestones/GravestoneUtils.java @@ -27,15 +27,11 @@ import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.nio.charset.StandardCharsets; -import java.util.Random; import java.util.zip.Deflater; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; public class GravestoneUtils { - - protected static final Random random = new Random(); - private static final NamespacedKey UUIDKey = new NamespacedKey(Challenges.getPlugin(), "uuid_gravestone"); private static final NamespacedKey inventoryKey = new NamespacedKey(Challenges.getPlugin(), "inventory_gravestone"); @@ -120,7 +116,7 @@ t.setCustomNameVisible(true); ItemStack itemStack = new ItemStack(Material.PLAYER_HEAD, 1); SkullMeta meta = (SkullMeta) itemStack.getItemMeta(); - meta.setOwner(player.getName()); + meta.setPlayerProfile(player.getPlayerProfile()); itemStack.setItemMeta(meta); t.getEquipment().setHelmet(itemStack); PersistentDataContainer container = t.getPersistentDataContainer(); diff --git a/src/main/java/de/fanta/challenges/guis/BackpackGui.java b/src/main/java/de/fanta/challenges/guis/BackpackGui.java index e2c1155..95b786a 100644 --- a/src/main/java/de/fanta/challenges/guis/BackpackGui.java +++ b/src/main/java/de/fanta/challenges/guis/BackpackGui.java @@ -47,7 +47,7 @@ ItemStack item = backpack.getItem(i); if (item != null && item.getType() != Material.AIR) { if (!newBackpack.addItem(item).isEmpty()) { - ChatUtil.sendBrodcastMessage(Component.text("Backpack kann nicht verkleinert werden. Zu wenig Platz!", ChatUtil.RED)); + ChatUtil.sendBrodCastMessage(Component.text("Backpack kann nicht verkleinert werden. Zu wenig Platz!", ChatUtil.RED)); return; } } @@ -75,7 +75,7 @@ try { Challenges.getPlugin().getBackpackConfig().save(Challenges.getPlugin().getBackpackConfigFile()); } catch (IOException e) { - Bukkit.getLogger().log(Level.SEVERE, "Could not save backpack config", e); + Challenges.getPlugin().getLogger().log(Level.SEVERE, "Could not save backpack config", e); } } } @@ -91,7 +91,7 @@ try { Challenges.getPlugin().getBackpackConfig().save(Challenges.getPlugin().getBackpackConfigFile()); } catch (IOException e) { - Bukkit.getLogger().log(Level.SEVERE, "Could not save backpack config", e); + Challenges.getPlugin().getLogger().log(Level.SEVERE, "Could not save backpack config", e); } } @@ -101,11 +101,11 @@ try { slot = Integer.parseInt(stringObjectEntry.getKey()); } catch (NumberFormatException e) { - Bukkit.getLogger().log(Level.SEVERE, "Fehler! Slot: " + stringObjectEntry.getKey(), e); + Challenges.getPlugin().getLogger().log(Level.SEVERE, "Fehler! Slot: " + stringObjectEntry.getKey(), e); continue; } if (slot >= backpack.getSize()) { - Bukkit.getLogger().log(Level.SEVERE, "Slot " + slot + " befindet sich außerhalb des Inventars!"); + Challenges.getPlugin().getLogger().log(Level.SEVERE, "Slot " + slot + " befindet sich außerhalb des Inventars!"); continue; } MemorySection memorySection = (MemorySection) stringObjectEntry.getValue(); diff --git a/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java b/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java index 12ed4ac..81fd864 100644 --- a/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java +++ b/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java @@ -41,7 +41,7 @@ } for (int i = 0; i < INVENTORY_SIZE; i++) { ItemStack item; - ItemStack stack = new ItemStack(plugin.getMaterials().get(0)); + ItemStack stack = new ItemStack(plugin.getMaterials().getFirst()); switch (i) { case JA_INDEX -> item = ItemUtils.createGuiItem(Material.LIME_CONCRETE, Component.text("Ja", ChatUtil.GREEN), true); diff --git a/src/main/java/de/fanta/challenges/guis/TeleportGUI.java b/src/main/java/de/fanta/challenges/guis/TeleportGUI.java index cf81ebb..389771e 100644 --- a/src/main/java/de/fanta/challenges/guis/TeleportGUI.java +++ b/src/main/java/de/fanta/challenges/guis/TeleportGUI.java @@ -39,15 +39,15 @@ for (Player pp : plugin.getVanish().getPlayerListWithoutVanishPlayers()) { int slot = row * 9 + cat + 10; - ArrayList metalore = new ArrayList<>(); + ArrayList metalore = new ArrayList<>(); ItemStack stack = new ItemStack(Material.PLAYER_HEAD); SkullMeta skullMeta = (SkullMeta) stack.getItemMeta(); skullMeta.setPlayerProfile(pp.getPlayerProfile()); - skullMeta.setDisplayName(ChatUtil.BLUE + pp.getName()); - metalore.add(ChatUtil.GREEN + "Linksklick: " + getPlayer().getName() + " -> " + pp.getName()); - metalore.add(ChatUtil.GREEN + "Rechtsklick: " + pp.getName() + " -> " + getPlayer().getName()); - skullMeta.setLore(metalore); + skullMeta.displayName(pp.name().color(ChatUtil.BLUE)); + metalore.add(Component.text("Linksklick: " + getPlayer().getName() + " -> " + pp.getName(), ChatUtil.GREEN)); + metalore.add(Component.text("Rechtsklick: " + pp.getName() + " -> " + getPlayer().getName(), ChatUtil.GREEN)); + skullMeta.lore(metalore); stack.setItemMeta(skullMeta); getInventory().setItem(slot, stack); playerPerSlot.put(slot, pp); diff --git a/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java b/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java index 954600d..a563dda 100644 --- a/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java +++ b/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java @@ -116,9 +116,9 @@ private static Material getBlock(String wname) { ItemStack mat = new ItemStack(Material.GRASS_BLOCK); if (wname.equals(Bukkit.getWorlds().get(1).getName())) { - mat.setType(Material.NETHERRACK); + mat = mat.withType(Material.NETHERRACK); } else if (wname.equals(Bukkit.getWorlds().get(2).getName())) { - mat.setType(Material.END_STONE); + mat = mat.withType(Material.END_STONE); } return mat.getType(); } diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/TeamSelectGUI.java b/src/main/java/de/fanta/challenges/guis/eventgui/TeamSelectGUI.java index 7362863..32340ac 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/TeamSelectGUI.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/TeamSelectGUI.java @@ -74,7 +74,7 @@ int slot = slotbyTeam.get(challengeTeam); ItemStack stack = TEAM_SELECT_UI.getItem(slot); ItemMeta meta = stack.getItemMeta(); - for (OfflinePlayer pp : TeamUtils.getScoreboard().getTeam(challengeTeam.getName()).getPlayers()) { + for (OfflinePlayer pp : TeamUtils.getPlayersInTeam(challengeTeam)) { lore.add(Component.text(pp.getName(), ChatUtil.BLUE)); } meta.lore(lore); diff --git a/src/main/java/de/fanta/challenges/listeners/ChallengeListener.java b/src/main/java/de/fanta/challenges/listeners/ChallengeListener.java deleted file mode 100644 index 00949e3..0000000 --- a/src/main/java/de/fanta/challenges/listeners/ChallengeListener.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.fanta.challenges.listeners; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerExpChangeEvent; - -public class ChallengeListener implements Listener { - - @EventHandler - public void onXPChange(PlayerExpChangeEvent e) { - - } -} diff --git a/src/main/java/de/fanta/challenges/listeners/ContainerListener.java b/src/main/java/de/fanta/challenges/listeners/ContainerListener.java index 5e1fe16..3300806 100644 --- a/src/main/java/de/fanta/challenges/listeners/ContainerListener.java +++ b/src/main/java/de/fanta/challenges/listeners/ContainerListener.java @@ -6,7 +6,6 @@ import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; import net.kyori.adventure.text.Component; -import org.bukkit.Bukkit; import org.bukkit.block.Block; import org.bukkit.block.BlockState; import org.bukkit.block.Container; @@ -15,7 +14,6 @@ import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.inventory.FurnaceStartSmeltEvent; import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.ItemStack; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.MetadataValue; diff --git a/src/main/java/de/fanta/challenges/listeners/DamageListener.java b/src/main/java/de/fanta/challenges/listeners/DamageListener.java index c941d85..b852116 100644 --- a/src/main/java/de/fanta/challenges/listeners/DamageListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DamageListener.java @@ -27,9 +27,9 @@ if ((e.getFinalDamage() > 0) && (e.getFinalDamage() < 10000)) { if (!e.getCause().name().startsWith("ENTITY_")) { if (e.getCause() == DamageCause.CUSTOM) { - ChatUtil.sendBrodcastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(Config.getDouble("sneakdmg"), ChatUtil.ORANGE).append(Component.text(" HP Schaden genommen durch", ChatUtil.GREEN).append(Component.text(" Server", ChatUtil.ORANGE)))))); + ChatUtil.sendBrodCastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(Config.getDouble("sneakdmg"), ChatUtil.ORANGE).append(Component.text(" HP Schaden genommen durch", ChatUtil.GREEN).append(Component.text(" Server", ChatUtil.ORANGE)))))); } else { - ChatUtil.sendBrodcastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(dmg, ChatUtil.ORANGE).append(Component.text(" HP Schaden genommen durch ", ChatUtil.GREEN).append(Component.text(StringUtil.capitalizeFirstLetter(e.getCause().toString(), true), ChatUtil.ORANGE)))))); + ChatUtil.sendBrodCastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(dmg, ChatUtil.ORANGE).append(Component.text(" HP Schaden genommen durch ", ChatUtil.GREEN).append(Component.text(StringUtil.capitalizeFirstLetter(e.getCause().toString(), true), ChatUtil.ORANGE)))))); } } } @@ -51,10 +51,10 @@ if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) && Config.getBoolean("dmginchat")) { if (e.getDamager() instanceof Player damager) { if (!plugin.getVanish().isVanish(damager)) { - ChatUtil.sendBrodcastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(dmg, ChatUtil.ORANGE)).append(Component.text(" HP Schaden genommen durch ", ChatUtil.GREEN)).append(e.getDamager().name()).color(ChatUtil.ORANGE))); + ChatUtil.sendBrodCastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(dmg, ChatUtil.ORANGE)).append(Component.text(" HP Schaden genommen durch ", ChatUtil.GREEN)).append(e.getDamager().name()).color(ChatUtil.ORANGE))); } } else { - ChatUtil.sendBrodcastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(dmg, ChatUtil.ORANGE)).append(Component.text(" HP Schaden genommen durch ", ChatUtil.GREEN)).append(e.getDamager().name()).color(ChatUtil.ORANGE))); + ChatUtil.sendBrodCastMessage(p.name().color(ChatUtil.BLUE).append(Component.text(" hat ", ChatUtil.GREEN).append(Component.text(dmg, ChatUtil.ORANGE)).append(Component.text(" HP Schaden genommen durch ", ChatUtil.GREEN)).append(e.getDamager().name()).color(ChatUtil.ORANGE))); } } diff --git a/src/main/java/de/fanta/challenges/listeners/DeathListener.java b/src/main/java/de/fanta/challenges/listeners/DeathListener.java index 8217009..dc82508 100644 --- a/src/main/java/de/fanta/challenges/listeners/DeathListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DeathListener.java @@ -25,9 +25,9 @@ p.setGameMode(GameMode.SPECTATOR); } e.deathMessage(component); - ChatUtil.sendBrodcastMessage(Component.text("Verschwendete Zeit ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.ORANGE))); - ChatUtil.sendBrodcastMessage(Component.text("Welt Seed: " + Bukkit.getWorlds().get(0).getSeed(), ChatUtil.GREEN)); - ChatUtil.sendBrodcastMessage(Component.text("Um alle wiederzubeleben benutze §c/revive ALL", ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Verschwendete Zeit ", ChatUtil.GREEN).append(plugin.getTimer().formatTime(ChatUtil.ORANGE))); + ChatUtil.sendBrodCastMessage(Component.text("Welt Seed: " + Bukkit.getWorlds().getFirst().getSeed(), ChatUtil.GREEN)); + ChatUtil.sendBrodCastMessage(Component.text("Um alle wiederzubeleben benutze §c/revive ALL", ChatUtil.GREEN)); } else { if (Config.getBoolean("event.enabled")) { e.deathMessage(component); diff --git a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java index 0838927..69abd53 100644 --- a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java +++ b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java @@ -7,6 +7,7 @@ import de.fanta.challenges.scoreboard.ChallengePlayer; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -96,7 +97,7 @@ @EventHandler public void onPlayerRespawn(PlayerRespawnEvent e) { if (!Config.getBoolean("respawn")) { - e.getPlayer().sendTitle(ChatUtil.GREEN + "Du bist gestorben!", ChatUtil.RED + "Du bist nun Zuschauer", 10, 80, 10); + ChatUtil.sendTitleToPlayer(e.getPlayer(), Component.text("Du bist gestorben!", ChatUtil.GREEN), Component.text("Du bist nun Zuschauer", ChatUtil.RED), 10, 80, 10, false); plugin.getScheduler().runDelayedOnEntity(e.getPlayer(), () -> e.getPlayer().setGameMode(GameMode.SPECTATOR), 1); } if (Config.getBoolean("nether.enabled")) { @@ -104,14 +105,14 @@ e.setRespawnLocation(spawn); } if (!e.isBedSpawn() && !e.isAnchorSpawn() && !Config.getBoolean("nether.enabled")) { - e.setRespawnLocation(getServer().getWorlds().get(0).getSpawnLocation().add(0.5, 0.0, 0.5)); + e.setRespawnLocation(getServer().getWorlds().getFirst().getSpawnLocation().add(0.5, 0.0, 0.5)); } } @EventHandler public void onPlayerSpawn(PlayerSpawnLocationEvent e) { if (!e.getPlayer().hasPlayedBefore() && !Config.getBoolean("nether.enabled")) { - e.setSpawnLocation(getServer().getWorlds().get(0).getSpawnLocation().add(0.5, 0.0, 0.5)); + e.setSpawnLocation(getServer().getWorlds().getFirst().getSpawnLocation().add(0.5, 0.0, 0.5)); } } diff --git a/src/main/java/de/fanta/challenges/schedular/Scheduler.java b/src/main/java/de/fanta/challenges/schedular/Scheduler.java index 149ca5e..6d02041 100644 --- a/src/main/java/de/fanta/challenges/schedular/Scheduler.java +++ b/src/main/java/de/fanta/challenges/schedular/Scheduler.java @@ -1,6 +1,5 @@ package de.fanta.challenges.schedular; -import org.bukkit.Chunk; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.Entity; diff --git a/src/main/java/de/fanta/challenges/scoreboard/BukkitScoreBoardManager.java b/src/main/java/de/fanta/challenges/scoreboard/BukkitScoreBoardManager.java index a63ecd3..4352a3b 100644 --- a/src/main/java/de/fanta/challenges/scoreboard/BukkitScoreBoardManager.java +++ b/src/main/java/de/fanta/challenges/scoreboard/BukkitScoreBoardManager.java @@ -5,9 +5,11 @@ import de.fanta.challenges.teams.ChallengeTeam; import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.Config; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; import org.bukkit.entity.Player; +import org.bukkit.scoreboard.Criteria; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.RenderType; @@ -15,7 +17,7 @@ import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Team; -public class BukkitScoreBoardManager implements ScoreBoardMananger{ +public class BukkitScoreBoardManager implements ScoreBoardMananger { private final Challenges plugin; private Scoreboard scoreboard; @@ -33,7 +35,7 @@ this.scoreboard = Bukkit.getScoreboardManager().getNewScoreboard(); this.team = scoreboard.registerNewTeam("Player"); - this.team.setColor(ChatColor.GREEN); + this.team.color(NamedTextColor.GREEN); updateTabHP(); } @@ -91,19 +93,10 @@ } if (Config.getBoolean("tabhp")) { if (this.tabHP == null) { - tabHP = scoreboard.registerNewObjective("hp", "health", "§6Challenges"); + tabHP = scoreboard.registerNewObjective("health", Criteria.HEALTH, Component.empty()); } - tabHP.setDisplaySlot(DisplaySlot.PLAYER_LIST); - tabHP.setDisplayName("§cHP"); tabHP.setRenderType(RenderType.HEARTS); - - for (String entry : team.getEntries()) { - Player player = Bukkit.getPlayer(entry); - if (player != null && !plugin.getVanish().isVanish(player)) { - tabHP.getScore(entry).setScore((int) player.getHealth()); - } - } - + tabHP.setDisplaySlot(DisplaySlot.PLAYER_LIST); } else { if (tabHP != null) { tabHP.unregister(); @@ -119,14 +112,14 @@ } if (Config.getBoolean("event.enabled")) { if (!Config.getBoolean("event.teams")) { - this.team.setColor(ChatColor.BLUE); - this.team.setDisplayName("Event"); + this.team.color(NamedTextColor.BLUE); + this.team.displayName(Component.text("Event")); if (this.event == null) { - event = this.scoreboard.registerNewObjective("event", "event", "§6Challenges"); + event = this.scoreboard.registerNewObjective("event", Criteria.DUMMY, Component.text("Challenges", NamedTextColor.GOLD)); } event.setDisplaySlot(DisplaySlot.SIDEBAR); - event.setDisplayName(team.getColor() + team.getPrefix() + team.getDisplayName()); + event.displayName(team.prefix().append(team.displayName()).color(team.color())); event.setRenderType(RenderType.INTEGER); for (String entry : team.getEntries()) { @@ -135,13 +128,13 @@ } } } else { - this.team.setColor(ChatColor.BLUE); - this.team.setDisplayName("Team Event"); + this.team.color(NamedTextColor.BLUE); + this.team.displayName(Component.text("Team Event")); event = TeamUtils.getTeamscoreboardObjective(); event.setDisplaySlot(DisplaySlot.SIDEBAR); - event.setDisplayName(team.getColor() + team.getPrefix() + team.getDisplayName()); + event.displayName(team.prefix().append(team.displayName()).color(team.color())); event.setRenderType(RenderType.INTEGER); } @@ -151,8 +144,8 @@ event.unregister(); event = null; } - this.team.setColor(ChatColor.GREEN); - this.team.setDisplayName("Player"); + this.team.color(NamedTextColor.GREEN); + this.team.displayName(Component.text("Player")); } } diff --git a/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardMananger.java b/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardMananger.java index e7c7e0c..c67882a 100644 --- a/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardMananger.java +++ b/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardMananger.java @@ -2,6 +2,7 @@ import de.fanta.challenges.teams.ChallengeTeam; import org.bukkit.entity.Player; +import org.bukkit.scoreboard.Scoreboard; public interface ScoreBoardMananger { @@ -14,5 +15,5 @@ void updateTabHP(); void updateEventScoreboard(); void updateEventScore(Scorable s); - Object getScoreboard(); + Scoreboard getScoreboard(); } diff --git a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java index b2f3682..2d09631 100644 --- a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java +++ b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java @@ -12,7 +12,6 @@ import de.iani.cubesideutils.StringUtil; import de.iani.playerUUIDCache.CachedPlayer; import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; import org.bukkit.scoreboard.Team; import javax.annotation.Nullable; @@ -130,7 +129,7 @@ int lastPosition; int lastScore; if (i == 0) { - curr = positions.get(0); + curr = positions.getFirst(); curr.setPosition(1); lastPosition = 1; lastScore = curr.getScore(); @@ -170,7 +169,7 @@ } public Set getByPositon(int position) { - if (positions.isEmpty() || positions.get(positions.size() - 1).getPostition() < position) { + if (positions.isEmpty() || positions.getLast().getPostition() < position) { return Collections.emptySet(); } @@ -221,7 +220,7 @@ sb.append("Timer: ").append(plugin.getTimer().formatTime()).append('\n'); if (Objects.equals(Config.getString("event.type"), "sammelfieber")) { if (SammelFieberSettingsGui.getEventItem() != null) { - sb.append("Item: ").append(new ItemStack(SammelFieberSettingsGui.getEventItem()).getI18NDisplayName()).append('\n'); + sb.append("Item: ").append(SammelFieberSettingsGui.getEventItem().getType().name()).append('\n'); sb.append("Cubes pro Item: ").append(SammelFieberSettingsGui.MONEY).append('\n'); sb.append("Items abgegeben: ").append(SammelFieberChallengeEvent.getCount()).append('\n'); sb.append("Cubes gesammt: ").append(SammelFieberSettingsGui.MONEY * SammelFieberChallengeEvent.getCount()).append('\n'); diff --git a/src/main/java/de/fanta/challenges/teams/ChallengeTeam.java b/src/main/java/de/fanta/challenges/teams/ChallengeTeam.java index 81796b2..a49ac69 100644 --- a/src/main/java/de/fanta/challenges/teams/ChallengeTeam.java +++ b/src/main/java/de/fanta/challenges/teams/ChallengeTeam.java @@ -6,9 +6,7 @@ import de.fanta.challenges.utils.Config; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; -import net.kyori.adventure.text.format.TextColor; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; @@ -18,13 +16,11 @@ public class ChallengeTeam implements Scorable { private String name; - private NamedTextColor chatColor; + private final NamedTextColor chatColor; private Location spawn; - private Location sfhopperlocation; - - private ItemStack displayItem; + private final ItemStack displayItem; private int score; @@ -53,38 +49,18 @@ return score; } - public void setScore(int score) { - this.score = score; - } - public void setName(String name) { this.name = name; } - public void setChatColor(NamedTextColor chatColor) { - this.chatColor = chatColor; - } - public void setSpawn(Location spawn) { this.spawn = spawn; } - public Location getSammelFieberHopperlocation() { - return sfhopperlocation; - } - - public void setSammelFieberHopperlocation(Location sfhopperlocation) { - this.sfhopperlocation = sfhopperlocation; - } - public ItemStack getDisplayItem() { return displayItem; } - public void setDisplayItem(ItemStack displayItem) { - this.displayItem = displayItem; - } - @Override public void setScoreboard(Scoreboard scoreboard) { for (OfflinePlayer pp : TeamUtils.getPlayersInTeam(this)) { diff --git a/src/main/java/de/fanta/challenges/teams/TeamListener.java b/src/main/java/de/fanta/challenges/teams/TeamListener.java index 10e7fb5..705b34f 100644 --- a/src/main/java/de/fanta/challenges/teams/TeamListener.java +++ b/src/main/java/de/fanta/challenges/teams/TeamListener.java @@ -5,6 +5,7 @@ import de.fanta.challenges.guis.eventgui.TeamSelectGUI; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.Config; +import net.kyori.adventure.text.Component; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -199,7 +200,7 @@ } if (!playerTeams.containsKey(e.getPlayer().getUniqueId())) { e.setResult(PlayerLoginEvent.Result.KICK_OTHER); - e.setKickMessage("Bei diesem Event kannst du nicht nach joinen."); + e.kickMessage(Component.text("Bei diesem Event kannst du nicht nach joinen.")); } } } diff --git a/src/main/java/de/fanta/challenges/teams/TeamUtils.java b/src/main/java/de/fanta/challenges/teams/TeamUtils.java index b3c2432..1eda5ab 100644 --- a/src/main/java/de/fanta/challenges/teams/TeamUtils.java +++ b/src/main/java/de/fanta/challenges/teams/TeamUtils.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.eventgui.TeamSelectGUI; import de.fanta.challenges.utils.ChatUtil; +import de.iani.playerUUIDCache.CachedPlayer; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Color; @@ -16,6 +17,7 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.persistence.PersistentDataType; +import org.bukkit.scoreboard.Criteria; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; @@ -23,6 +25,7 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Set; @@ -151,7 +154,7 @@ if (TeamUtils.getTeams() != null) { for (ChallengeTeam challengeTeam : TeamUtils.getTeams()) { if (challengeTeam != null) { - for (OfflinePlayer pp : TeamUtils.getScoreboard().getTeam(challengeTeam.getName()).getPlayers()) { + for (OfflinePlayer pp : getPlayersInTeam(challengeTeam)) { if (pp == player) { team = challengeTeam; break; @@ -164,15 +167,26 @@ return team; } - public static @NotNull Set getPlayersInTeam(ChallengeTeam team) { - return TeamUtils.getScoreboard().getTeam(team.getName()).getPlayers(); + public static @NotNull Collection getPlayersInTeam(ChallengeTeam team) { + Collection players = new ArrayList<>(); + Team scoreTeam = TeamUtils.getScoreboard().getTeam(team.getName()); + if (scoreTeam == null) { + return players; + } + Set entries = scoreTeam.getEntries(); + entries.forEach(string -> { + CachedPlayer cachedPlayer = Challenges.getPlugin().playerUUIDCache.getPlayer(string); + players.add(cachedPlayer); + }); + + return players; } public static void createScoreBoardTeams() { if (Challenges.getPlugin().getSBManager().getScoreboard() instanceof Scoreboard currentScore) { scoreboard = currentScore; if (teamscoreboardObjective == null) { - teamscoreboardObjective = scoreboard.registerNewObjective("teams", "dummy", "Event"); + teamscoreboardObjective = scoreboard.registerNewObjective("teams", Criteria.DUMMY, Component.text("Event")); teamscoreboardObjective.displayName(Component.text("Event")); teamscoreboardObjective.setDisplaySlot(DisplaySlot.SIDEBAR); } @@ -200,11 +214,9 @@ } if (team != null && oldteam == team) { ChatUtil.sendMessage(player, Component.text("Du bist bereits in Team ", ChatUtil.GREEN).append(Component.text(team.getName(), team.getChatColor()).append(Component.text(".", ChatUtil.GREEN)))); - if (Challenges.getPlugin().getSBManager().getScoreboard() instanceof Scoreboard scoreboard) { - Team scoreboardteam = scoreboard.getTeam(team.getName()); - if (scoreboardteam != null && !scoreboardteam.getEntries().contains(player)) { - scoreboardteam.addPlayer(player); - } + Team scoreboardteam = scoreboard.getTeam(team.getName()); + if (scoreboardteam != null && !scoreboardteam.getEntries().contains(player.getName())) { + scoreboardteam.addPlayer(player); } return; } @@ -225,14 +237,6 @@ Challenges.getPlugin().getSBManager().setScoreboardtoTeam(team); } - public static void removePlayerFromTeam(Player player, ChallengeTeam team) { - if (team == null) { - return; - } - scoreboard.getTeam(team.getName()).removePlayer(player); - TeamSelectGUI.updateTeamSelectGui(); - } - public static void setAllPlayerWithoutTeamToTeam() { ArrayList playersWithoutTeam = new ArrayList<>(); for (Player pp : Challenges.getPlugin().getVanish().getPlayerListWithoutVanishPlayers()) { @@ -276,8 +280,4 @@ public static NamespacedKey getSelectKey() { return selectKey; } - - public static HashMap getPlayerTeams() { - return playerTeams; - } } diff --git a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java index cf30f87..ec38a27 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java +++ b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java @@ -1,17 +1,18 @@ package de.fanta.challenges.utils.ChatSkullAPI; +import net.kyori.adventure.text.Component; import org.bukkit.entity.Player; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; public class ChatSkull extends JavaPlugin implements Listener { - public static void sendAll(Player head, String[] lines) { + public static void sendAll(Player head, Component[] lines) { SkullClass cs = new SkullClass(head, lines); cs.sendAll(); } - public static void sendPlayer(Player head, Player target, String[] lines) { + public static void sendPlayer(Player head, Player target, Component[] lines) { SkullClass cs = new SkullClass(head, lines); cs.sendPlayer(target); } diff --git a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java index 3795fcb..52f4bee 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java +++ b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java @@ -1,6 +1,8 @@ package de.fanta.challenges.utils.ChatSkullAPI; -import net.md_5.bungee.api.ChatColor; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.format.TextColor; import org.bukkit.entity.Player; import java.awt.geom.AffineTransform; @@ -9,74 +11,65 @@ public class Message { - private final String[] lines; + private final Component[] lines; public Message(BufferedImage image, int height, char imgChar) { - ChatColor[][] chatColors = toChatColorArray(image, height); + TextColor[][] chatColors = toChatColorArray(image, height); this.lines = toImgMessage(chatColors, imgChar); } - public Message appendText(String[] text) { + public Message appendText(Component[] text) { for (int y = 0; y < this.lines.length; y++) { if (text.length > y) { - String[] tmp16_12 = this.lines; - tmp16_12[y] = tmp16_12[y] + " " + text[y]; + Component[] tmp16_12 = this.lines; + tmp16_12[y] = tmp16_12[y].append(text[y]); } } return this; } - private ChatColor[][] toChatColorArray(BufferedImage image, int height) { - double ratio = (image.getHeight() / image.getWidth()); + private TextColor[][] toChatColorArray(BufferedImage image, int height) { + double ratio = ((double) image.getHeight() / image.getWidth()); BufferedImage resized = resizeImage(image, (int) (height / ratio), height); - ChatColor[][] chatImg = new ChatColor[resized.getWidth()][resized.getHeight()]; + TextColor[][] chatImg = new TextColor[resized.getWidth()][resized.getHeight()]; for (int x = 0; x < resized.getWidth(); x++) { for (int y = 0; y < resized.getHeight(); y++) { int rgb = resized.getRGB(x, y); String hex = "#" + Integer.toHexString(rgb).substring(2); - ChatColor closest = getClosestChatColor(ChatColor.of(hex)); + TextColor closest = getClosestChatColor(TextColor.fromHexString(hex)); chatImg[x][y] = closest; } } return chatImg; } - private String[] toImgMessage(ChatColor[][] colors, char imgchar) { - String[] lines = new String[(colors[0]).length]; + private Component[] toImgMessage(TextColor[][] colors, char imgchar) { + Component[] lines = new Component[(colors[0]).length]; for (int y = 0; y < (colors[0]).length; y++) { - StringBuilder line = new StringBuilder(); - for (ChatColor[] chatColors : colors) { - ChatColor color = chatColors[y]; - line.append((color != null) ? (chatColors[y].toString() + imgchar) : Character.valueOf(' ')); + Component line = Component.empty(); + for (TextColor[] textColors : colors) { + TextColor color = textColors[y]; + line = line.append(Component.text(color != null ? imgchar : ' ', color != null ? textColors[y] : NamedTextColor.WHITE)); } - lines[y] = line.toString() + ChatColor.RESET; + lines[y] = line; } return lines; } private BufferedImage resizeImage(BufferedImage originalImage, int width, int height) { AffineTransform af = new AffineTransform(); - af.scale((width / originalImage.getWidth()), (height / originalImage.getHeight())); + af.scale(((double) width / originalImage.getWidth()), ((double) height / originalImage.getHeight())); AffineTransformOp operation = new AffineTransformOp(af, 1); return operation.filter(originalImage, null); } - public String[] getLines() { - return this.lines; - } - public void sendToPlayer(Player player) { - byte b; - int i; - String[] arrayOfString; - for (i = (arrayOfString = this.lines).length, b = 0; b < i; ) { - String line = arrayOfString[b]; + for (Component line : lines) { player.sendMessage(line); - b++; } } - private ChatColor getClosestChatColor(ChatColor color) { + private TextColor getClosestChatColor(TextColor color) { return color; } } diff --git a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java index dd70ef5..74f84cb 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java +++ b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java @@ -1,27 +1,30 @@ package de.fanta.challenges.utils.ChatSkullAPI; import de.fanta.challenges.Challenges; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; +import java.net.URI; import java.net.URL; import java.util.logging.Level; public class SkullClass { - Player player; + private final Player player; - String[] lines; + private final Component[] lines; - SkullClass(Player head, String[] lines) { - this.player = head; + public SkullClass(Player player, Component[] lines) { + this.player = player; this.lines = lines; } public void sendAll() { - for (Player player : Bukkit.getOnlinePlayers()) + for (Player player : Bukkit.getOnlinePlayers()) { sendPlayer(player); + } } public void sendPlayer(Player player) { @@ -32,12 +35,12 @@ } catch (Exception e) { Challenges.getPlugin().getLogger().log(Level.SEVERE, "Error while load skin", e); } - (new Message(imageToSend, 8, '█')).appendText(this.lines).sendToPlayer(player); + new Message(imageToSend, 8, '█').appendText(this.lines).sendToPlayer(player); } private static URL newURL(String name) throws Exception { - String url = "https://mineskin.de/helm/%pname%/8.png"; + String url = "https://mineskin.eu/helm/%pname%/8.png"; url = url.replace("%pname%", name); - return new URL(url); + return new URI(url).toURL(); } } diff --git a/src/main/java/de/fanta/challenges/utils/ChatUtil.java b/src/main/java/de/fanta/challenges/utils/ChatUtil.java index f722a2d..20309b2 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatUtil.java +++ b/src/main/java/de/fanta/challenges/utils/ChatUtil.java @@ -14,15 +14,14 @@ public class ChatUtil { - public static final TextColor GREEN = TextColor.fromHexString("#52ff9d"); - public static final TextColor YELLOW = TextColor.fromHexString("#E4E737"); - public static final TextColor ORANGE = TextColor.fromHexString("#ffac4d"); - public static final TextColor RED = TextColor.fromHexString("#ff6b6b"); - public static final TextColor PINK = TextColor.fromHexString("#FF04F7"); - public static final TextColor BLUE = TextColor.fromHexString("#87f7ea"); + public static final TextColor GREEN = TextColor.fromHexString("#32CD32"); + public static final TextColor YELLOW = TextColor.fromHexString("#FFD700"); + public static final TextColor ORANGE = TextColor.fromHexString("#FF8C00"); + public static final TextColor RED = TextColor.fromHexString("#B22222"); + public static final TextColor PINK = TextColor.fromHexString("#FF1493"); + public static final TextColor BLUE = TextColor.fromHexString("#1E90FF"); private ChatUtil() { - // prevent instances } public static void sendMessage(CommandSender sender, Component component) { @@ -50,7 +49,7 @@ } } - public static void sendBrodcastMessage(Component component) { + public static void sendBrodCastMessage(Component component) { for (Player player : Bukkit.getOnlinePlayers()) { sendMessage(player, component); } diff --git a/src/main/java/de/fanta/challenges/utils/ColorUtils.java b/src/main/java/de/fanta/challenges/utils/ColorUtils.java index 2715b58..1dc54e2 100644 --- a/src/main/java/de/fanta/challenges/utils/ColorUtils.java +++ b/src/main/java/de/fanta/challenges/utils/ColorUtils.java @@ -7,7 +7,6 @@ import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.format.TextDecoration; -import net.md_5.bungee.api.ChatColor; public class ColorUtils { diff --git a/src/main/java/de/fanta/challenges/utils/Config.java b/src/main/java/de/fanta/challenges/utils/Config.java index 6d5176b..9f79774 100644 --- a/src/main/java/de/fanta/challenges/utils/Config.java +++ b/src/main/java/de/fanta/challenges/utils/Config.java @@ -2,7 +2,6 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.ServerType; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.inventory.ItemStack; @@ -20,7 +19,7 @@ public static void setValue(String path, Object value, boolean edit) { plugin.getConfig().set(path, value); plugin.saveConfig(); - Bukkit.getLogger().info("Save Config " + path + ": " + value + " (" + edit + ")"); + Challenges.getPlugin().getLogger().info("Save Config " + path + ": " + value + " (" + edit + ")"); if (edit && plugin.getServerType() == ServerType.CHALLENGE) { if (!getBoolean("editsettings")) { setValue("editsettings", true, false); diff --git a/src/main/java/de/fanta/challenges/utils/CubesideModUtils.java b/src/main/java/de/fanta/challenges/utils/CubesideModUtils.java index 120b8f3..a348ed3 100644 --- a/src/main/java/de/fanta/challenges/utils/CubesideModUtils.java +++ b/src/main/java/de/fanta/challenges/utils/CubesideModUtils.java @@ -3,7 +3,6 @@ import de.fanta.challenges.Challenges; import de.iani.cubesideutils.MinecraftDataOutputStream; import net.kyori.adventure.text.format.TextColor; -import net.md_5.bungee.api.ChatColor; import org.bukkit.entity.Player; import java.io.ByteArrayOutputStream; diff --git a/src/main/java/de/fanta/challenges/utils/ItemUtils.java b/src/main/java/de/fanta/challenges/utils/ItemUtils.java index f8c059a..433f576 100644 --- a/src/main/java/de/fanta/challenges/utils/ItemUtils.java +++ b/src/main/java/de/fanta/challenges/utils/ItemUtils.java @@ -2,18 +2,12 @@ import de.iani.cubesideutils.bukkit.items.ItemBuilder; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; - public class ItemUtils { public static final ItemStack EMPTY_ICON = createGuiItem(Material.GRAY_STAINED_GLASS_PANE, Component.empty(), true, false);