diff --git a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java index 8c5ed20..594d242 100644 --- a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java +++ b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java @@ -10,7 +10,7 @@ import de.fanta.challenge.utils.Config; import de.fanta.challenge.utils.CoordsTargeter; import de.fanta.challenge.utils.CubesideModUtils; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; diff --git a/Challenge/src/main/java/de/fanta/challenge/challenges/ManHunt.java b/Challenge/src/main/java/de/fanta/challenge/challenges/ManHunt.java index d2ca18e..fe1f036 100644 --- a/Challenge/src/main/java/de/fanta/challenge/challenges/ManHunt.java +++ b/Challenge/src/main/java/de/fanta/challenge/challenges/ManHunt.java @@ -4,7 +4,7 @@ import de.fanta.challenge.events.TimerChangedEvent; import de.fanta.challenge.schedular.CancellableTask; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import net.kyori.adventure.text.Component; import org.bukkit.Location; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/CheckItemsGUI.java b/Challenge/src/main/java/de/fanta/challenge/guis/CheckItemsGUI.java index b13edc1..cb1657c 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/CheckItemsGUI.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/CheckItemsGUI.java @@ -1,7 +1,7 @@ package de.fanta.challenge.guis; import de.fanta.challenge.Challenge; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import net.kyori.adventure.text.Component; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/ResetGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/ResetGui.java index 637aec1..600e098 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/ResetGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/ResetGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.ServerType; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import net.kyori.adventure.text.Component; @@ -40,6 +40,8 @@ int slot = event.getSlot(); if (slot == RESET_INDEX) { plugin.getScheduler().run(() -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "reset confirm")); + getPlayer().closeInventory(); + plugin.getComponentUtil().sendNormalMessage(getPlayer(), "Server wird nun neu gestartet!"); } } diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/TeleportGUI.java b/Challenge/src/main/java/de/fanta/challenge/guis/TeleportGUI.java index 5842b49..3b4cf39 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/TeleportGUI.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/TeleportGUI.java @@ -1,7 +1,7 @@ package de.fanta.challenge.guis; import de.fanta.challenge.Challenge; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/TimerGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/TimerGui.java index 146d5c4..346635c 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/TimerGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/TimerGui.java @@ -4,7 +4,7 @@ import de.fanta.challenge.ServerType; import de.fanta.challenge.Timer; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BackPackSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BackPackSettingsGui.java index 2b8602b..d955a99 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BackPackSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BackPackSettingsGui.java @@ -5,7 +5,7 @@ import de.fanta.challenge.teams.ChallengeTeam; import de.fanta.challenge.teams.TeamUtils; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BedrockWallSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BedrockWallSettingsGui.java index 06a1dcf..7a44fcc 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BedrockWallSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/BedrockWallSettingsGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.guis.settingsgui.ChallengesGui; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/LevelBorderSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/LevelBorderSettingsGui.java index 7442f54..9cc7876 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/LevelBorderSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/LevelBorderSettingsGui.java @@ -4,7 +4,7 @@ import de.fanta.challenge.challenges.WorldBorderLevelChallenge; import de.fanta.challenge.guis.settingsgui.ChallengesGui; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/MLGSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/MLGSettingsGui.java index dd8b2f5..73aa7f6 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/MLGSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/MLGSettingsGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.guis.settingsgui.ChallengesGui; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/NoSneakSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/NoSneakSettingsGui.java index 0123abf..504ec4c 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/NoSneakSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/NoSneakSettingsGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.guis.settingsgui.ChallengesGui; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/TiedTogetherSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/TiedTogetherSettingsGui.java index d7e6dd8..7794ce5 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/TiedTogetherSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/challengesettingsguis/TiedTogetherSettingsGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.guis.settingsgui.ChallengesGui; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsDeleteGUI.java b/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsDeleteGUI.java index 722ae39..f5384d2 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsDeleteGUI.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsDeleteGUI.java @@ -2,7 +2,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsGUI.java b/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsGUI.java index 63ddc00..dec1b1b 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsGUI.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/coordsgui/CoordsGUI.java @@ -2,7 +2,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventGui.java index df534c5..8551471 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventGui.java @@ -4,7 +4,7 @@ import de.fanta.challenge.challenges.ChallengeEvents.BridgeRaceChallengeEvent; import de.fanta.challenge.challenges.ChallengeEvents.DeathrunChallengeEvent; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventSettingsGui.java index 3c54553..a8013f5 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/EventSettingsGui.java @@ -2,7 +2,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import net.kyori.adventure.text.Component; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/ForceQuestSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/ForceQuestSettingsGui.java index 3fa909f..c698c79 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/ForceQuestSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/ForceQuestSettingsGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.challenges.ChallengeEvents.forcequest.ForceQuestChallengeEvent; import de.fanta.challenge.challenges.ChallengeEvents.forcequest.QuestType; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/SammelFieberSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/SammelFieberSettingsGui.java index 5fe228e..0e5b18b 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/SammelFieberSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/SammelFieberSettingsGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.challenges.ChallengeEvents.SammelFieberChallengeEvent; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.inventory.Window; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSelectGUI.java b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSelectGUI.java index 5c316c5..c22d4f9 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSelectGUI.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSelectGUI.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.teams.ChallengeTeam; import de.fanta.challenge.teams.TeamUtils; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSettingsGUI.java b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSettingsGUI.java index 76246e0..b8327b7 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSettingsGUI.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/eventgui/TeamSettingsGUI.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.teams.TeamUtils; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import net.kyori.adventure.text.Component; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveConfirmGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveConfirmGui.java index 0c900ce..81779af 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveConfirmGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveConfirmGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.SaveSlot; import de.fanta.challenge.utils.SaveWorldUtils; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import net.kyori.adventure.text.Component; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveGui.java index 79df042..61606bc 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/savegui/ChallengeSaveGui.java @@ -4,7 +4,7 @@ import de.fanta.challenge.SaveSlot; import de.fanta.challenge.ServerType; import de.fanta.challenge.utils.SaveWorldUtils; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ChallengesGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ChallengesGui.java index d37adf8..1feba1e 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ChallengesGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ChallengesGui.java @@ -12,7 +12,7 @@ import de.fanta.challenge.guis.challengesettingsguis.NoSneakSettingsGui; import de.fanta.challenge.guis.challengesettingsguis.TiedTogetherSettingsGui; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/MainGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/MainGui.java index 8c2b111..0dc55d0 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/MainGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/MainGui.java @@ -2,7 +2,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.ServerType; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/OtherSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/OtherSettingsGui.java index ce00248..097f4e4 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/OtherSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/OtherSettingsGui.java @@ -3,7 +3,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.guis.challengesettingsguis.BackPackSettingsGui; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.MinecraftVersion; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; diff --git a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ServerSettingsGui.java b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ServerSettingsGui.java index 1776a59..b4b849b 100644 --- a/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ServerSettingsGui.java +++ b/Challenge/src/main/java/de/fanta/challenge/guis/settingsgui/ServerSettingsGui.java @@ -2,7 +2,7 @@ import de.fanta.challenge.Challenge; import de.fanta.challenge.utils.Config; -import de.fanta.challenge.utils.ItemUtils; +import de.fanta.challengeutils.ItemUtils; import de.fanta.challengeutils.Color; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; diff --git a/Challenge/src/main/java/de/fanta/challenge/utils/ItemUtils.java b/Challenge/src/main/java/de/fanta/challenge/utils/ItemUtils.java deleted file mode 100644 index 5105cb0..0000000 --- a/Challenge/src/main/java/de/fanta/challenge/utils/ItemUtils.java +++ /dev/null @@ -1,45 +0,0 @@ -package de.fanta.challenge.utils; - -import de.iani.cubesideutils.bukkit.items.ItemBuilder; -import net.kyori.adventure.text.Component; -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; - -public class ItemUtils { - - public static final ItemStack EMPTY_ICON = createGuiItem(Material.GRAY_STAINED_GLASS_PANE, Component.empty(), true, false); - - public static ItemStack createGuiItem(Material material, Component name, Component... lore) { - return createGuiItem(material, name, false, lore); - } - - public static ItemStack createGuiItem(Material material, Component name, boolean glowing, boolean showTooltip, Component... lore) { - if (!name.style().hasDecoration(TextDecoration.ITALIC)) { - name = name.decoration(TextDecoration.ITALIC, TextDecoration.State.FALSE); - } - - for (int i = 0; i < lore.length; i++) { - Component component = lore[i]; - if (!component.style().hasDecoration(TextDecoration.ITALIC)) { - component = component.decoration(TextDecoration.ITALIC, TextDecoration.State.FALSE); - } - lore[i] = component; - } - - ItemBuilder builder = ItemBuilder.fromMaterial(material).displayName(name).lore(lore); - if (glowing) { - builder.enchantment(Enchantment.UNBREAKING, 1, true).flag(ItemFlag.HIDE_ENCHANTS); - } - if (!showTooltip) { - builder.hideTooltip(true); - } - return builder.build(); - } - - public static ItemStack createGuiItem(Material material, Component name, boolean glowing, Component... lore) { - return createGuiItem(material, name, glowing, true, lore); - } -} diff --git a/ChallengeUtils/src/main/java/de/fanta/challengeutils/Color.java b/ChallengeUtils/src/main/java/de/fanta/challengeutils/Color.java index 538c7ae..ddc9ca5 100644 --- a/ChallengeUtils/src/main/java/de/fanta/challengeutils/Color.java +++ b/ChallengeUtils/src/main/java/de/fanta/challengeutils/Color.java @@ -1,5 +1,6 @@ package de.fanta.challengeutils; +import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextColor; public class Color { @@ -9,4 +10,6 @@ public static final TextColor RED = TextColor.fromHexString("#B22222"); public static final TextColor PINK = TextColor.fromHexString("#FF1493"); public static final TextColor BLUE = TextColor.fromHexString("#1E90FF"); + public static final TextColor WHITE = NamedTextColor.WHITE; + public static final TextColor GRAY = TextColor.fromHexString("#808080"); } diff --git a/ChallengeUtils/src/main/java/de/fanta/challengeutils/ItemUtils.java b/ChallengeUtils/src/main/java/de/fanta/challengeutils/ItemUtils.java new file mode 100644 index 0000000..4379537 --- /dev/null +++ b/ChallengeUtils/src/main/java/de/fanta/challengeutils/ItemUtils.java @@ -0,0 +1,49 @@ +package de.fanta.challengeutils; + +import de.iani.cubesideutils.bukkit.items.ItemBuilder; +import net.kyori.adventure.text.Component; +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; + +public class ItemUtils { + + public static final ItemStack EMPTY_ICON = createGuiItem(Material.GRAY_STAINED_GLASS_PANE, Component.empty(), true, false); + + public static ItemStack createGuiItem(Material material, Component name, Component... lore) { + return createGuiItem(material, name, false, lore); + } + + public static ItemStack createGuiItem(Material material, Component name, boolean glowing, boolean showTooltip, Component... lore) { + return createGuiItem(new ItemStack(material), name, glowing, showTooltip, lore); + } + + public static ItemStack createGuiItem(ItemStack stack, Component name, boolean glowing, boolean showTooltip, Component... lore) { + if (!name.style().hasDecoration(TextDecoration.ITALIC)) { + name = name.decoration(TextDecoration.ITALIC, TextDecoration.State.FALSE); + } + + for (int i = 0; i < lore.length; i++) { + Component component = lore[i]; + if (!component.style().hasDecoration(TextDecoration.ITALIC)) { + component = component.decoration(TextDecoration.ITALIC, TextDecoration.State.FALSE); + } + lore[i] = component; + } + + ItemBuilder builder = ItemBuilder.fromItem(stack).displayName(name).lore(lore); + if (glowing) { + builder.enchantment(Enchantment.UNBREAKING, 1, true).flag(ItemFlag.HIDE_ENCHANTS); + } + if (!showTooltip) { + builder.hideTooltip(true); + } + return builder.build(); + } + + public static ItemStack createGuiItem(Material material, Component name, boolean glowing, Component... lore) { + return createGuiItem(material, name, glowing, true, lore); + } +} diff --git a/Lobby/pom.xml b/Lobby/pom.xml index 2e976ff..80dab17 100644 --- a/Lobby/pom.xml +++ b/Lobby/pom.xml @@ -53,6 +53,12 @@ 0.0.1-SNAPSHOT provided + + de.fanta + ChallengeUtils + 0.0.1-SNAPSHOT + provided + diff --git a/Lobby/src/main/java/de/fanta/lobby/ChallengesGlobalDataHelper.java b/Lobby/src/main/java/de/fanta/lobby/ChallengesGlobalDataHelper.java index fad2abb..f9b987b 100644 --- a/Lobby/src/main/java/de/fanta/lobby/ChallengesGlobalDataHelper.java +++ b/Lobby/src/main/java/de/fanta/lobby/ChallengesGlobalDataHelper.java @@ -49,7 +49,7 @@ plugin.updatePlayerCount(serverName, count, maxPlayers); } case INITIAL_DATA_REQUEST -> { - if (Bukkit.getPluginManager().getPlugin("Challenge") != null) { + if (Bukkit.getPluginManager().getPlugin("Challenge") != null) { //TODO MOVE TIMER TO CORE Challenge challenges = (Challenge) Bukkit.getPluginManager().getPlugin("Challenge"); boolean timerRunning = challenges.getTimer().isRunning(); int playerCount = Bukkit.getOnlinePlayers().size(); @@ -95,7 +95,7 @@ @EventHandler public void onGlobalServerConnected(GlobalServerConnectedEvent event) { - plugin.getScheduler().runGlobalDelayed(() -> { + plugin.getServer().getScheduler().runTaskLater(plugin, () -> { if (plugin.getEntityData(event.getServer().getName()) != null) { plugin.updateServerStatus(event.getServer().getName(), true); this.requestInitialData(event.getServer().getName()); diff --git a/Lobby/src/main/java/de/fanta/lobby/ChatUtil.java b/Lobby/src/main/java/de/fanta/lobby/ChatUtil.java deleted file mode 100644 index ef08e35..0000000 --- a/Lobby/src/main/java/de/fanta/lobby/ChatUtil.java +++ /dev/null @@ -1,51 +0,0 @@ -package de.fanta.lobby; - -import de.iani.cubesideutils.bukkit.ChatUtilBukkit; -import net.md_5.bungee.api.ChatColor; -import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class ChatUtil { - - public static final ChatColor GREEN = ChatColor.of("#52ff9d"); - public static final ChatColor ORANGE = ChatColor.of("#ffac4d"); - public static final ChatColor RED = ChatColor.of("#ff6b6b"); - public static final ChatColor BLUE = ChatColor.of("#87f7ea"); - public static final ChatColor PINK = ChatColor.of("#FF04F7"); - - private ChatUtil() { - // prevent instances - } - - public static void sendMessage(CommandSender sender, String colors, Object... messageParts) { - ChatUtilBukkit.sendMessage(sender, Lobby.PREFIX, colors, messageParts); - } - - public static void sendNormalMessage(CommandSender sender, Object... messageParts) { - sendMessage(sender, GREEN.toString(), messageParts); - } - - public static void sendWarningMessage(CommandSender sender, Object... messageParts) { - sendMessage(sender, ORANGE.toString(), messageParts); - } - - public static void sendErrorMessage(CommandSender sender, Object... messageParts) { - sendMessage(sender, RED.toString(), messageParts); - } - - public static void sendDebugMessage(CommandSender sender, Object... messageParts) { - if (sender.hasPermission("fanta.debug")) { - if (sender != null) { - sendMessage(sender, PINK.toString(), messageParts); - } - } - } - - public static void sendBrodcastMessage(Object... messageParts) { - for (Player player : Bukkit.getOnlinePlayers()) { - sendMessage(player, GREEN.toString(), messageParts); - } - } -} - diff --git a/Lobby/src/main/java/de/fanta/lobby/JoinEntityData.java b/Lobby/src/main/java/de/fanta/lobby/JoinEntityData.java index 6fbfca2..f758c16 100644 --- a/Lobby/src/main/java/de/fanta/lobby/JoinEntityData.java +++ b/Lobby/src/main/java/de/fanta/lobby/JoinEntityData.java @@ -1,6 +1,7 @@ package de.fanta.lobby; -import net.md_5.bungee.api.ChatColor; +import de.fanta.challengeutils.Color; +import net.kyori.adventure.text.Component; import org.jetbrains.annotations.Nullable; import java.util.UUID; @@ -11,6 +12,7 @@ private final UUID entityUUID; private final String globalPortLocationName; private final String serverDisplayName; + private final Component serverDisplayNameComponent; private ServerStatus serverStatus; private EventStatus eventStatus; private int playerCount; @@ -24,6 +26,7 @@ this.entityUUID = entityUUID; this.globalPortLocationName = globalPortLocationName; this.serverDisplayName = serverDisplayName; + this.serverDisplayNameComponent = Component.text(serverDisplayName, Color.BLUE); this.serverStatus = serverStatus; this.eventStatus = eventStatus; this.playerCount = playerCount; @@ -82,13 +85,13 @@ return mapVersion; } - public String createCustomEntityName() { - String statusString = serverStatus == ServerStatus.ONLINE ? ChatUtil.GREEN + "ONLINE" : serverStatus == ServerStatus.OFFLINE ? ChatUtil.RED + "OFFLINE" : serverStatus == ServerStatus.RUNNING ? ChatUtil.ORANGE + "RUNNING" : ""; - String playerCountString = ChatUtil.BLUE + "(" + playerCount + "/" + maxPlayers + ")"; + public Component createCustomEntityName() { + Component statusComponent = serverStatus == ServerStatus.ONLINE ? Component.text(" ONLINE ", Color.GREEN) : serverStatus == ServerStatus.OFFLINE ? Component.text(" OFFLINE ", Color.RED) : serverStatus == ServerStatus.RUNNING ? Component.text(" RUNNING ", Color.ORANGE) : Component.text(" "); + Component playerCountString = Component.text("(" + playerCount + "/" + maxPlayers + ")", Color.BLUE); if (eventStatus == EventStatus.EVENT) { - return ChatUtil.RED + "" + ChatColor.BOLD + "Event" + " " + statusString + (serverStatus != ServerStatus.OFFLINE ? (" " + playerCountString) : " "); + return Component.text("Event", Color.RED).append(statusComponent).append(serverStatus != ServerStatus.OFFLINE ? playerCountString : Component.empty()); } - return ChatUtil.BLUE + serverDisplayName + " " + statusString + (serverStatus != ServerStatus.OFFLINE ? (" " + playerCountString) : ""); + return serverDisplayNameComponent.append(statusComponent).append(serverStatus != ServerStatus.OFFLINE ? playerCountString : Component.empty()); } public enum ServerStatus { diff --git a/Lobby/src/main/java/de/fanta/lobby/Lobby.java b/Lobby/src/main/java/de/fanta/lobby/Lobby.java index b3c194d..2346992 100644 --- a/Lobby/src/main/java/de/fanta/lobby/Lobby.java +++ b/Lobby/src/main/java/de/fanta/lobby/Lobby.java @@ -1,6 +1,7 @@ package de.fanta.lobby; import de.cubeside.nmsutils.NMSUtils; +import de.fanta.challengeutils.Color; import de.fanta.lobby.adventure.AdventureMapsConfig; import de.fanta.lobby.adventure.CategoriesConfig; import de.fanta.lobby.commands.AdventureCommand.AdventureAddCategoryCommand; @@ -21,6 +22,7 @@ import de.fanta.lobby.commands.ChallengesCommand.ChallengesStatsCommand; import de.fanta.lobby.commands.PiglinCommand.AddEntityCommand; import de.fanta.lobby.commands.PiglinCommand.Entitytphere; +import de.fanta.lobby.commands.PiglinCommand.InfoPiglinCommand; import de.fanta.lobby.commands.PiglinCommand.ListPiglinCommand; import de.fanta.lobby.commands.PiglinCommand.RemoveEntityCommand; import de.fanta.lobby.commands.PiglinCommand.SetEntitySpawnLocationCommand; @@ -28,16 +30,13 @@ import de.fanta.lobby.listeners.ChallengesEventListener; import de.fanta.lobby.listeners.EntityListener; import de.fanta.lobby.listeners.PlayerListener; -import de.fanta.lobby.schedular.BukkitScheduler; -import de.fanta.lobby.schedular.Scheduler; +import de.fanta.lobby.utils.ComponentUtil; import de.fanta.lobby.utils.Statistics; import de.iani.cubesidestats.api.CubesideStatisticsAPI; import de.iani.cubesideutils.bukkit.commands.CommandRouter; import de.iani.playerUUIDCache.PlayerUUIDCache; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; -import net.kyori.adventure.text.format.TextColor; -import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -62,13 +61,9 @@ public class Lobby extends JavaPlugin { - public static final String PREFIX = ChatUtil.BLUE + "[" + ChatUtil.GREEN + "Lobby" + ChatUtil.BLUE + "]"; - public static final String ADVENTUREGUIPREFIX = ChatColor.of("#2d8745") + "Adventure"; - public static final String CHALLENGEGUIPREFIX = ChatColor.of("#2d8745") + "Challenge"; - - private static final TextColor BRACKETS = TextColor.fromHexString("#87f7ea"); - - public static final TextComponent PREFIX_COMPONENT = Component.text("[", BRACKETS).append(Component.text("Lobby", TextColor.fromHexString("#52ff9d"))).append(Component.text("] ", BRACKETS)); + private TextComponent prefixComponent; + private Component ADVENTUREGUIPREFIX; + private Component CHALLENGEGUIPREFIX; private static Lobby plugin; private final Map entityData; @@ -86,14 +81,14 @@ //private static SignManager signManager; private final List eventServerPlayerList; - private Scheduler scheduler; - private Path challengeSavePath; private Path adventureSavePath; private Path aventureMapsPath; private Path serverJarsPath; private Path serverFolderPath; + private ComponentUtil componentUtil; + public Lobby() { this.entityData = new HashMap<>(); @@ -120,6 +115,7 @@ @Override public void onEnable() { + this.componentUtil = new ComponentUtil(); playerUUIDCache = (PlayerUUIDCache) getServer().getPluginManager().getPlugin("PlayerUUIDCache"); nmsUtils = getServer().getServicesManager().load(NMSUtils.class); @@ -128,9 +124,9 @@ statistics = new Statistics(this); } - getLogger().log(Level.INFO, "Bukkit found. Use Bukkit Scheduler"); - scheduler = new BukkitScheduler(this); - + prefixComponent = Component.text("[").color(Color.BLUE).append(Component.text("Lobby").color(Color.GREEN)).append(Component.text("] ").color(Color.BLUE)); + ADVENTUREGUIPREFIX = Component.text("Adventure", Color.GREEN); + CHALLENGEGUIPREFIX = Component.text("Challenge", Color.GREEN); this.globalDataHelper = new ChallengesGlobalDataHelper(this); this.config = new Config(this); @@ -144,13 +140,14 @@ router.addCommandMapping(new RemoveEntityCommand(this), "remove"); router.addCommandMapping(new Entitytphere(this), "tphere"); router.addCommandMapping(new ListPiglinCommand(this), "list"); + router.addCommandMapping(new InfoPiglinCommand(this), "info"); router.addCommandMapping(new SetEntitySpawnLocationCommand(this), "setlocation"); router.addCommandMapping(new ToggleArenaCommand(this, true), "enable"); router.addCommandMapping(new ToggleArenaCommand(this, false), "disable"); CommandRouter challengesrouter = new CommandRouter(getCommand("challenges")); challengesrouter.addCommandMapping(new ChallengeLoadCommand(this), "load"); - challengesrouter.addCommandMapping(new ChallengesStatsCommand(plugin.getStatistics()), "stats"); + challengesrouter.addCommandMapping(new ChallengesStatsCommand(this, plugin.getStatistics()), "stats"); challengesrouter.addCommandMapping(new ChallengeSetStatsCommand(plugin), "setstats"); challengesrouter.addCommandMapping(new ChallengeClearSavesCommand(plugin), "clearoldsaves"); challengesrouter.addCommandMapping(new ChallengeListUserStatsCommand(plugin), "listuserstats"); @@ -327,8 +324,8 @@ if (data == null) { return; } - String customName = data.createCustomEntityName(); - entity.setCustomName(customName); + Component customName = data.createCustomEntityName(); + entity.customName(customName); } public void updatePiglinBehaviour(String serverName) { @@ -443,10 +440,6 @@ return eventServerPlayerList; } - public Scheduler getScheduler() { - return scheduler; - } - public Path getChallengeSavePath() { return challengeSavePath; } @@ -486,4 +479,20 @@ public void setServerFolderPath(Path serverFolderPath) { this.serverFolderPath = serverFolderPath; } + + public TextComponent getPrefixComponent() { + return prefixComponent; + } + + public Component getADVENTUREGUIPREFIX() { + return ADVENTUREGUIPREFIX; + } + + public Component getCHALLENGEGUIPREFIX() { + return CHALLENGEGUIPREFIX; + } + + public ComponentUtil getComponentUtil() { + return componentUtil; + } } diff --git a/Lobby/src/main/java/de/fanta/lobby/Server.java b/Lobby/src/main/java/de/fanta/lobby/Server.java index 24eae2f..59481d7 100644 --- a/Lobby/src/main/java/de/fanta/lobby/Server.java +++ b/Lobby/src/main/java/de/fanta/lobby/Server.java @@ -2,8 +2,9 @@ import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; +import de.fanta.challengeutils.Color; +import net.kyori.adventure.text.Component; import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; @@ -18,6 +19,7 @@ import java.util.Map; import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; +import java.util.logging.Level; public class Server { public static HashMap serverPlayers = new HashMap<>(); @@ -83,7 +85,6 @@ this.online = true; serverPlayers.put(this, p.getUniqueId()); File dir; - //dir = new File("/home/minecraft/" + this.serverType.getDir() + "/" + playerID + "/" + slot); if (serverType == ServerType.CHALLENGES) { dir = new File(plugin.getChallengeSavePath().toFile(), "/" + playerID + "/" + slot); } else { @@ -94,7 +95,7 @@ if (!dir.isDirectory()) { - ChatUtil.sendErrorMessage(p, "Map " + path + " nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(p, "Map " + path + " nicht gefunden!"); this.online = false; serverPlayers.remove(this); return; @@ -111,7 +112,7 @@ //File dir = new File("/home/storagebox/Adventure-Maps", category + "/" + map); File dir = new File(plugin.getAdventureMapsPath().toFile(), category + "/" + map); if (!dir.isDirectory()) { - ChatUtil.sendErrorMessage(player, "Map " + map + " nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(player, "Map " + map + " nicht gefunden!"); this.online = false; serverPlayers.remove(this); return; @@ -119,14 +120,15 @@ load(player, "Adventure-Maps", category + "/" + map, getMapVersion(new File(dir + "/" + getPluginFolderPrefix(dir) + "/serverconfig.yml"))); } else { - ChatUtil.sendErrorMessage(player, "Du brauchst mindestens die Version " + ChatUtil.BLUE + mapVersion + ChatUtil.RED + " um die Map zu starten!"); + Component component = Component.text("Du brauchst mindestens die Version ", Color.RED).append(Component.text(mapVersion, Color.BLUE).append(Component.text(" um die Map zu starten!", Color.RED))); + plugin.getComponentUtil().sendMessage(player, component); } } public void load(Player p, String serverTypeDir, String targetDir, String ServerVersion) { - plugin.getScheduler().runAsync(() -> { + plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> { File serverFolder = new File(plugin.getServerFolderPath().toFile(), this.dir); - File configs = new File(serverFolder, "/plugins/" + getPluginFolderPrefix(new File(serverFolder, "/plugins"))); + File configs = new File(serverFolder, "/plugins/" + getPluginFolderPrefix(new File(serverFolder, "/plugins"))); File end = new File(serverFolder, "/world_the_end"); File nether = new File(serverFolder, "/world_nether"); File world = new File(serverFolder, "/world"); @@ -151,7 +153,7 @@ saveconfigs = new File(plugin.getAdventureMapsPath().toFile(), targetDir + "/" + getPluginFolderPrefix(new File(plugin.getChallengeSavePath().toFile(), targetDir))); } - ChatUtil.sendNormalMessage(p, "Versuche Map zu laden!"); + plugin.getComponentUtil().sendNormalMessage(p, "Versuche Map zu laden!"); try { if (world.isDirectory()) { FileUtils.deleteDirectory(world); @@ -185,7 +187,7 @@ if (tempServerType == null || tempServerType.equals("CHALLENGE")) { serverConfig.set("servertype", "CHALLENGE_LOAD"); serverConfig.save(serverConfigFile); - Bukkit.getLogger().info(serverConfigFile.getAbsolutePath()); + Lobby.getPlugin().getLogger().info(serverConfigFile.getAbsolutePath()); } if (tempServerType != null && serverConfig.getString("servertype").equals("ADVENTURE")) { @@ -193,13 +195,13 @@ } } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - ChatUtil.sendErrorMessage(p, "Map konnte nicht geladen werden!"); + Lobby.getPlugin().getLogger().log(Level.SEVERE, "Error while handling files", e); + plugin.getComponentUtil().sendErrorMessage(p, "Map konnte nicht geladen werden!"); this.online = false; serverPlayers.remove(this); return; } - ChatUtil.sendNormalMessage(p, "Map wurde geladen! Server wird nun gestartet!"); + plugin.getComponentUtil().sendNormalMessage(p, "Map wurde geladen! Server wird nun gestartet!"); start(p); }); } @@ -227,50 +229,46 @@ Files.copy(source, target.toPath(), StandardCopyOption.REPLACE_EXISTING); copiedBytes[0] += source.toFile().length(); progress.set((double) copiedBytes[0] / totalBytes[0] * 100); - player.sendActionBar(ChatUtil.GREEN + "Kopiere Welt: " + getProgressBar(progress.get())); + player.sendActionBar(Component.text("Kopiere Welt: ", Color.GREEN).append(getProgressBar(progress.get()))); } } catch (IOException e) { - e.printStackTrace(); + Lobby.getPlugin().getLogger().log(Level.SEVERE, "Error while copy Map", e); } }); } } - public static String getProgressBar(double value) { + public static Component getProgressBar(double value) { int progress = (int) (value / 100 * 40); - StringBuilder progressBar = new StringBuilder(); - progressBar.append(ChatUtil.RED + "["); + Component progressBar = Component.text("[", Color.RED); for (int i = 0; i < 40; i++) { if (i < progress) { - progressBar.append(ChatUtil.PINK + "|"); + progressBar = progressBar.append(Component.text("|", Color.PINK)); } else { - progressBar.append(ChatUtil.GREEN + "|"); + progressBar = progressBar.append(Component.text("|", Color.GREEN)); } } - progressBar.append(ChatUtil.RED + "] " + ChatUtil.PINK + String.format("%.2f", value) + "%"); - - return progressBar.toString(); + progressBar = progressBar.append(Component.text("] ", Color.RED).append(Component.text(String.format("%.2f", value) + "%", Color.PINK))); + return progressBar; } public void start(Player player) { ProcessBuilder processBuilder = new ProcessBuilder(); boolean eventServer = false; if (this.serverType == ServerType.ADVENTURE && plugin.getEventServerPlayerList().contains(player.getUniqueId())) { - //processBuilder.command("screen", "-AmdS", player.getName(), "./event.sh").directory(new File("/home/minecraft/Server/" + this.dir)); processBuilder.command("screen", "-AmdS", player.getName(), "./event.sh").directory(new File(plugin.getServerFolderPath().toFile(), this.dir)); plugin.getEventServerPlayerList().remove(player.getUniqueId()); eventServer = true; } else { - //processBuilder.command("screen", "-AmdS", player.getName(), "./start.sh").directory(new File("/home/minecraft/Server/" + this.dir)); processBuilder.command("screen", "-AmdS", player.getName(), "./start.sh").directory(new File(plugin.getServerFolderPath().toFile(), this.dir)); } try { processBuilder.start(); - Bukkit.getLogger().info(this.serverType.toString().toLowerCase() + (eventServer ? " Event Server: " : " Server: ") + getServerfromPlayer(player).gPLocation + " wurde von " + player.getName() + " gestartet!"); + Lobby.getPlugin().getLogger().info(this.serverType.toString().toLowerCase() + (eventServer ? " Event Server: " : " Server: ") + getServerfromPlayer(player).gPLocation + " wurde von " + player.getName() + " gestartet!"); } catch (IOException e) { - e.printStackTrace(); + Lobby.getPlugin().getLogger().log(Level.SEVERE, "Error while starting Server", e); } } @@ -282,14 +280,6 @@ this.plugin.despawnPiglin(this.name); } - public void spawnNPC(Player player) { - this.plugin.spawnNPC(this.piglinLocation, this.name, this.gPLocation, player.getName(), false); - } - - public void despawnNPC() { - this.plugin.despawnNPC(this.name); - } - public String getMapVersion(File config) { String serverVersion; YamlConfiguration serverConfiguration = new YamlConfiguration(); @@ -300,7 +290,7 @@ try { serverConfiguration.load(config); } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); + Lobby.getPlugin().getLogger().log(Level.SEVERE, "Error while load server Config", e); } String configServerVersion = serverConfiguration.getString("serverversion"); if (configServerVersion != null) { diff --git a/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMap.java b/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMap.java index 7cdf56a..43be6c9 100644 --- a/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMap.java +++ b/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMap.java @@ -1,20 +1,17 @@ package de.fanta.lobby.adventure; -import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; -import org.bukkit.ChatColor; +import de.fanta.challengeutils.Color; +import de.fanta.challengeutils.ItemUtils; +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.configuration.ConfigurationSection; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import java.util.ArrayList; -import java.util.List; import java.util.Objects; public class AdventureMap { - private final Lobby plugin; - private final String name; private final String version; @@ -24,27 +21,22 @@ private final String webLink; - public AdventureMap(Lobby plugin, String name, String version, Material material, String creator, String webLink) { + public AdventureMap(String name, String version, Material material, String creator, String webLink) { this.name = name; this.version = version; this.creator = creator; this.webLink = webLink; - this.plugin = plugin; - this.item = new ItemStack((material != null) ? material : Material.STONE); - ItemMeta meta = this.item.getItemMeta(); - meta.setDisplayName("" + ChatUtil.ORANGE + ChatColor.BOLD + getName().replace("_", " ")); - List lore = new ArrayList<>(); - lore.add(""); - lore.add(ChatUtil.GREEN + "Erbauer: " + ChatUtil.BLUE + creator); - lore.add(ChatUtil.GREEN + "Version: " + ChatUtil.BLUE + version); - lore.add(ChatUtil.GREEN + "MapLink: " + ChatUtil.BLUE + "Rechts Klick"); - lore.add(ChatUtil.GREEN + "Map laden: " + ChatUtil.BLUE + "Links Klick"); - meta.setLore(lore); - this.item.setItemMeta(meta); + this.item = ItemUtils.createGuiItem(material != null ? material : Material.STONE, + Component.text(getName().replace("_", " "), Style.style(TextDecoration.BOLD, Color.ORANGE)), + Component.empty(), + Component.text("Erbauer: ", Color.GREEN).append(Component.text(creator != null ? creator : "Unbekannt", Color.BLUE)), + Component.text("Version: ", Color.GREEN).append(Component.text("Rechts Klick", Color.BLUE)), + Component.text("MapLink: ", Color.GREEN).append(Component.text(version != null ? version : "Unbekannt", Color.BLUE)), + Component.text("Map laden: ", Color.GREEN).append(Component.text("Links Klick", Color.BLUE))); } - public AdventureMap(Lobby plugin, String name, ConfigurationSection section) { - this(plugin, name, section.getString("version"), Material.matchMaterial(Objects.requireNonNull(section.getString("item"))), section.getString("creator"), section.getString("web_link")); + public AdventureMap(String name, ConfigurationSection section) { + this(name, section.getString("version"), Material.matchMaterial(Objects.requireNonNull(section.getString("item"))), section.getString("creator"), section.getString("web_link")); } public String getName() { diff --git a/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMapsConfig.java b/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMapsConfig.java index e284273..7334601 100644 --- a/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMapsConfig.java +++ b/Lobby/src/main/java/de/fanta/lobby/adventure/AdventureMapsConfig.java @@ -10,14 +10,12 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; public class AdventureMapsConfig { private final Lobby plugin; - private final Map maps = new HashMap<>(); - private static File file; - private static YamlConfiguration config; public AdventureMapsConfig(Lobby plugin) { @@ -39,7 +37,7 @@ config.getKeys(false).forEach(key -> { ConfigurationSection section = config.getConfigurationSection(key); if (section != null) { - AdventureMap map = new AdventureMap(this.plugin, key, section); + AdventureMap map = new AdventureMap(key, section); if (!this.maps.containsKey(key)) { this.maps.put(key, map); } @@ -47,7 +45,7 @@ }); } } catch (IOException | org.bukkit.configuration.InvalidConfigurationException e) { - e.printStackTrace(); + plugin.getLogger().log(Level.SEVERE, "Error while Loading adventuremap Config", e); } } @@ -56,7 +54,7 @@ try { config.save(file); } catch (IOException e) { - e.printStackTrace(); + plugin.getLogger().log(Level.SEVERE, "Error while saving adventuremap Config", e); } } diff --git a/Lobby/src/main/java/de/fanta/lobby/adventure/CategoriesConfig.java b/Lobby/src/main/java/de/fanta/lobby/adventure/CategoriesConfig.java index 886daea..0d163e9 100644 --- a/Lobby/src/main/java/de/fanta/lobby/adventure/CategoriesConfig.java +++ b/Lobby/src/main/java/de/fanta/lobby/adventure/CategoriesConfig.java @@ -11,6 +11,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.logging.Level; public class CategoriesConfig { private final Lobby plugin; @@ -28,8 +29,9 @@ } private boolean fileExists() throws IOException { - if (!file.exists()) + if (!file.exists()) { return file.createNewFile(); + } return true; } @@ -47,7 +49,7 @@ }); } } catch (IOException | org.bukkit.configuration.InvalidConfigurationException e) { - e.printStackTrace(); + plugin.getLogger().log(Level.SEVERE, "Error while Loading categories Config", e); } } @@ -56,7 +58,7 @@ try { config.save(file); } catch (IOException e) { - e.printStackTrace(); + plugin.getLogger().log(Level.SEVERE, "Error while Saving categories Config", e); } } @@ -77,7 +79,7 @@ return this.categories.get(name); } - public Category getCategorybyMap(AdventureMap adventureMap) { + public Category getCategoryByMap(AdventureMap adventureMap) { for (Category category : plugin.getCategoriesConfig().getCategories().values()) { for (AdventureMap adventureMapTemp : category.getMaps()) { if (Objects.equals(adventureMap.getName(), adventureMapTemp.getName())) { diff --git a/Lobby/src/main/java/de/fanta/lobby/adventure/Category.java b/Lobby/src/main/java/de/fanta/lobby/adventure/Category.java index 19733cd..8877e8d 100644 --- a/Lobby/src/main/java/de/fanta/lobby/adventure/Category.java +++ b/Lobby/src/main/java/de/fanta/lobby/adventure/Category.java @@ -1,16 +1,16 @@ package de.fanta.lobby.adventure; +import de.fanta.challengeutils.Color; +import de.fanta.challengeutils.ItemUtils; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; -import net.md_5.bungee.api.ChatColor; +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.configuration.ConfigurationSection; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -40,14 +40,7 @@ public Category(String name, Material material, Set maps) { this.name = name; this.maps = maps; - this.item = new ItemStack((material != null) ? material : Material.STONE); - ItemMeta meta = this.item.getItemMeta(); - meta.setDisplayName("" + ChatUtil.ORANGE + ChatColor.BOLD + getName().replace("_", " ")); - List lore = new ArrayList<>(); - lore.add(""); - lore.add(ChatUtil.GREEN + "Maps: " + ChatUtil.BLUE + maps.size()); - meta.setLore(lore); - this.item.setItemMeta(meta); + this.item = ItemUtils.createGuiItem(material != null ? material : Material.STONE, Component.text(getName().replace("_", " "), Style.style(Color.ORANGE, TextDecoration.BOLD)), Component.empty(), Component.text("Maps: " + Color.BLUE + maps.size(), Color.ORANGE)); } public String getName() { diff --git a/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureMapsUI.java b/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureMapsUI.java index dade396..7bfd30b 100644 --- a/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureMapsUI.java +++ b/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureMapsUI.java @@ -1,7 +1,8 @@ package de.fanta.lobby.adventure.ui; +import de.fanta.challengeutils.Color; +import de.fanta.challengeutils.ItemUtils; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.Server; import de.fanta.lobby.adventure.AdventureMap; import de.fanta.lobby.adventure.Category; @@ -9,15 +10,11 @@ import de.iani.cubesideutils.bukkit.items.CustomHeads; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickEvent; -import net.kyori.adventure.text.format.TextColor; -import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; -import org.bukkit.Color; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; import java.util.ArrayList; import java.util.Comparator; @@ -38,7 +35,7 @@ private int scrollAmount; public AdventureMapsUI(Lobby plugin, Category category, Player player) { - super(player, Bukkit.createInventory(player, WINDOW_SIZE, ChatUtil.RED + category.getName().replace("_", " ") + " Map's")); + super(player, Bukkit.createInventory(player, WINDOW_SIZE, Component.text(category.getName().replace("_", " ") + " Map's", Color.RED))); this.category = category; this.plugin = plugin; @@ -52,18 +49,10 @@ protected void rebuildInventory() { ItemStack[] content = new ItemStack[WINDOW_SIZE]; - - // build scroll buttons - ItemStack scrollUpHead = this.scrollAmount <= 0 ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_UP.getHead(); - ItemMeta scrollUpMeta = scrollUpHead.getItemMeta(); - scrollUpMeta.setDisplayName((this.scrollAmount <= 0 ? ChatColor.GRAY : ChatColor.WHITE) + "Nach oben scrollen"); - scrollUpHead.setItemMeta(scrollUpMeta); + ItemStack scrollUpHead = ItemUtils.createGuiItem(this.scrollAmount <= 0 ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_UP.getHead(), Component.text("Nach oben scrollen", this.scrollAmount <= 0 ? Color.GRAY : Color.WHITE), false, false); content[NUM_OF_COLUMNS - 1] = scrollUpHead; - ItemStack scrollDownHead = this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_DOWN.getHead(); - ItemMeta scrollDownMeta = scrollDownHead.getItemMeta(); - scrollDownMeta.setDisplayName((this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? ChatColor.GRAY : ChatColor.WHITE) + "Nach unten scrollen"); - scrollDownHead.setItemMeta(scrollDownMeta); + ItemStack scrollDownHead = ItemUtils.createGuiItem(this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_DOWN.getHead(), Component.text("Nach unten scrollen", this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? Color.GRAY : Color.WHITE), false, false); content[WINDOW_SIZE - 1] = scrollDownHead; // build scrollbar @@ -100,17 +89,17 @@ int slot = event.getSlot(); if (slot == END_OF_FIRST_ROW_INDEX) { - attempScrollUp(); + attemptScrollUp(); return; } else if (slot == END_OF_LAST_ROW_INDEX) { - attempScrollDown(); + attemptScrollDown(); return; } if ((slot + 1) % NUM_OF_COLUMNS == 0) { int numOfScrollbarRows = NUM_OF_ROWS - 2; int selectedScrollBarRow = (slot + 1) / NUM_OF_COLUMNS - 2; - int targetScrollAmount = Math.round(selectedScrollBarRow * this.numOfItemRows / numOfScrollbarRows); + int targetScrollAmount = Math.round((float) (selectedScrollBarRow * this.numOfItemRows) / numOfScrollbarRows); this.scrollAmount = Math.min(targetScrollAmount, this.numOfItemRows - NUM_OF_ROWS); this.scrollAmount = Math.max(this.scrollAmount, 0); rebuildInventory(); @@ -127,18 +116,19 @@ if (map != null) { if (event.isRightClick()) { - getPlayer().sendMessage(Lobby.PREFIX_COMPONENT.append(Component.text("MapLink: klick mich :)", TextColor.color(Color.YELLOW.asRGB())).clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, map.getWebLink())))); + Component component = Component.text("MapLink: klick mich :)", Color.YELLOW).clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, map.getWebLink())); + plugin.getComponentUtil().sendMessage(p, component); } else if (!Server.serverPlayers.containsValue(p.getUniqueId())) { getPlayer().closeInventory(); - this.plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadNewAdventure(p, category.getName(), map.getName(), map.getVersion()), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + this.plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadNewAdventure(p, category.getName(), map.getName(), map.getVersion()), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } getPlayer().closeInventory(); } } - private void attempScrollUp() { + private void attemptScrollUp() { if (this.scrollAmount <= 0) { return; } @@ -146,7 +136,7 @@ rebuildInventory(); } - private void attempScrollDown() { + private void attemptScrollDown() { if (this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS) { return; } diff --git a/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureSearchGUI.java b/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureSearchGUI.java index 7a19dcf..5af1971 100644 --- a/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureSearchGUI.java +++ b/Lobby/src/main/java/de/fanta/lobby/adventure/ui/AdventureSearchGUI.java @@ -1,7 +1,8 @@ package de.fanta.lobby.adventure.ui; +import de.fanta.challengeutils.Color; +import de.fanta.challengeutils.ItemUtils; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.Server; import de.fanta.lobby.adventure.AdventureMap; import de.fanta.lobby.adventure.Category; @@ -9,10 +10,7 @@ import de.iani.cubesideutils.bukkit.items.CustomHeads; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickEvent; -import net.kyori.adventure.text.format.TextColor; -import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; -import org.bukkit.Color; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; @@ -41,7 +39,7 @@ private int scrollAmount; public AdventureSearchGUI(Lobby plugin, TreeMap mapList, String seachEntry, Player player) { - super(player, Bukkit.createInventory(player, WINDOW_SIZE, ChatUtil.GREEN + "Suche: " + ChatUtil.BLUE + seachEntry)); + super(player, Bukkit.createInventory(player, WINDOW_SIZE, Component.text("Suche: ", Color.GREEN).append(Component.text(seachEntry, Color.BLUE)))); this.plugin = plugin; HashMap maps = new HashMap<>(mapList); @@ -54,16 +52,10 @@ ItemStack[] content = new ItemStack[WINDOW_SIZE]; // build scroll buttons - ItemStack scrollUpHead = this.scrollAmount <= 0 ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_UP.getHead(); - ItemMeta scrollUpMeta = scrollUpHead.getItemMeta(); - scrollUpMeta.setDisplayName((this.scrollAmount <= 0 ? ChatColor.GRAY : ChatColor.WHITE) + "Nach oben scrollen"); - scrollUpHead.setItemMeta(scrollUpMeta); + ItemStack scrollUpHead = ItemUtils.createGuiItem(this.scrollAmount <= 0 ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_UP.getHead(), Component.text("Nach oben scrollen", this.scrollAmount <= 0 ? Color.GRAY : Color.WHITE), false, false); content[NUM_OF_COLUMNS - 1] = scrollUpHead; - ItemStack scrollDownHead = this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_DOWN.getHead(); - ItemMeta scrollDownMeta = scrollDownHead.getItemMeta(); - scrollDownMeta.setDisplayName((this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? ChatColor.GRAY : ChatColor.WHITE) + "Nach unten scrollen"); - scrollDownHead.setItemMeta(scrollDownMeta); + ItemStack scrollDownHead = ItemUtils.createGuiItem(this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? CustomHeads.RAINBOW_BLANK.getHead() : CustomHeads.RAINBOW_ARROW_DOWN.getHead(), Component.text("Nach unten scrollen", this.scrollAmount >= this.numOfItemRows - NUM_OF_ROWS ? Color.GRAY : Color.WHITE), false, false); content[WINDOW_SIZE - 1] = scrollDownHead; // build scrollbar @@ -83,15 +75,18 @@ AdventureMap adventureMap = new ArrayList<>(maps.values()).get(index++); ItemStack stack = adventureMap.getItem().clone(); ItemMeta meta = stack.getItemMeta(); - List lore = meta.getLore(); - lore.add(ChatUtil.GREEN + "Kategorie: " + ChatUtil.BLUE + plugin.getCategoriesConfig().getCategorybyMap(adventureMap).getName()); - meta.setLore(lore); + List lore = meta.lore(); + if (lore == null) { + lore = new ArrayList<>(); + } + lore.add(Component.text("Kategorie: ", Color.GREEN).append(Component.text(plugin.getCategoriesConfig().getCategoryByMap(adventureMap).getName(), Color.BLUE))); + meta.lore(lore); stack.setItemMeta(meta); - content[row * NUM_OF_COLUMNS + column] = adventureMap == null ? null : stack; + content[row * NUM_OF_COLUMNS + column] = stack; } } - content[BACK_INDEX] = CustomHeads.RAINBOW_ARROW_BACKWARD_II.getHead(ChatUtil.GREEN + "Zurück"); + content[BACK_INDEX] = CustomHeads.RAINBOW_ARROW_BACKWARD_II.getHead(Color.GREEN + "Zurück"); getInventory().setContents(content); } @@ -124,7 +119,7 @@ if ((slot + 1) % NUM_OF_COLUMNS == 0) { int numOfScrollbarRows = NUM_OF_ROWS - 2; int selectedScrollBarRow = (slot + 1) / NUM_OF_COLUMNS - 2; - int targetScrollAmount = Math.round(selectedScrollBarRow * this.numOfItemRows / numOfScrollbarRows); + int targetScrollAmount = Math.round((float) (selectedScrollBarRow * this.numOfItemRows) / numOfScrollbarRows); this.scrollAmount = Math.min(targetScrollAmount, this.numOfItemRows - NUM_OF_ROWS); this.scrollAmount = Math.max(this.scrollAmount, 0); rebuildInventory(); @@ -141,14 +136,15 @@ Player p = getPlayer(); if (map != null) { - Category category = plugin.getCategoriesConfig().getCategorybyMap(map); + Category category = plugin.getCategoriesConfig().getCategoryByMap(map); if (event.isRightClick()) { - getPlayer().sendMessage(Lobby.PREFIX_COMPONENT.append(Component.text("MapLink: klick mich :)", TextColor.color(Color.YELLOW.asRGB())).clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, map.getWebLink())))); + Component component = Component.text("MapLink: klick mich :)", Color.YELLOW).clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, map.getWebLink())); + plugin.getComponentUtil().sendMessage(p, component); } else if (!Server.serverPlayers.containsValue(p.getUniqueId())) { getPlayer().closeInventory(); - this.plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadNewAdventure(p, category.getName(), map.getName(), map.getVersion()), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + this.plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadNewAdventure(p, category.getName(), map.getName(), map.getVersion()), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } getPlayer().closeInventory(); } diff --git a/Lobby/src/main/java/de/fanta/lobby/adventure/ui/CategoryUI.java b/Lobby/src/main/java/de/fanta/lobby/adventure/ui/CategoryUI.java index 4ad3529..1a31017 100644 --- a/Lobby/src/main/java/de/fanta/lobby/adventure/ui/CategoryUI.java +++ b/Lobby/src/main/java/de/fanta/lobby/adventure/ui/CategoryUI.java @@ -1,19 +1,18 @@ package de.fanta.lobby.adventure.ui; +import de.fanta.challengeutils.Color; +import de.fanta.challengeutils.ItemUtils; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.adventure.CategoriesConfig; import de.fanta.lobby.adventure.Category; -import de.fanta.lobby.utils.ItemUtil; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -29,7 +28,7 @@ private final int SEARCH_INDEX = 0; public CategoryUI(Lobby plugin, CategoriesConfig config, Player player) { - super(player, Bukkit.createInventory(player, 9 * (config.getCategories().size() / 7 + ((config.getCategories().size() % 7 > 0) ? 1 : 0)) + 18, ChatUtil.BLUE + "Adventure Map Kategorien")); + super(player, Bukkit.createInventory(player, 9 * (config.getCategories().size() / 7 + ((config.getCategories().size() % 7 > 0) ? 1 : 0)) + 18, Component.text("Adventure Map Kategorien", Color.BLUE))); this.config = config; this.plugin = plugin; } @@ -50,20 +49,14 @@ row++; cat = 0; } - - ItemStack searchItem = new ItemStack(Material.DARK_OAK_SIGN); - ItemMeta itemMeta = searchItem.getItemMeta(); - itemMeta.setDisplayName(ChatUtil.GREEN + "Suche"); - String[] lore = {ChatUtil.GREEN + "Suche nach Adventure Maps"}; - itemMeta.setLore(Arrays.stream(lore).toList()); - searchItem.setItemMeta(itemMeta); + ItemStack searchItem = ItemUtils.createGuiItem(Material.DARK_OAK_SIGN, Component.text("Suche", Color.GREEN), Component.text("Suche nach Adventure Maps", Color.GREEN)); getInventory().setItem(SEARCH_INDEX, searchItem); for (int i1 = 0; i1 < getInventory().getSize(); i1++) { ItemStack item = getInventory().getItem(i1); if (item == null) { - getInventory().setItem(i1, ItemUtil.EMPTY_ICON); + getInventory().setItem(i1, ItemUtils.EMPTY_ICON); } } } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddCategoryCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddCategoryCommand.java index 1b2b235..6bb2c02 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddCategoryCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddCategoryCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.adventure.CategoriesConfig; import de.fanta.lobby.adventure.Category; import de.iani.cubesideutils.bukkit.commands.SubCommand; @@ -13,33 +12,35 @@ public class AdventureAddCategoryCommand extends SubCommand { private final CategoriesConfig config; + private final Lobby plugin; public AdventureAddCategoryCommand(Lobby plugin) { + this.plugin = plugin; this.config = plugin.getCategoriesConfig(); } public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } if (!p.hasPermission("challenges.createcategorie")) { - ChatUtil.sendErrorMessage(sender, "Keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Keine Rechte!"); return true; } Material item = p.getInventory().getItemInMainHand().getType(); if (item == Material.AIR) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Item in der Hand haben!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Item in der Hand haben!"); return true; } if (args.hasNext()) { String name = args.getNext(); Category category = new Category(name, item); if (!this.config.addCategory(category)) { - ChatUtil.sendErrorMessage(sender, "Die category " + name + " existiert bereits!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Die category " + name + " existiert bereits!"); return true; } - ChatUtil.sendNormalMessage(sender, "Die category " + name + " wurde erfolgreich hinzugefügt!"); + plugin.getComponentUtil().sendNormalMessage(sender, "Die category " + name + " wurde erfolgreich hinzugefügt!"); this.config.save(); return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddMapCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddMapCommand.java index 4c8c7e6..e5f9a75 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddMapCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureAddMapCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.adventure.AdventureMap; import de.fanta.lobby.adventure.AdventureMapsConfig; import de.fanta.lobby.adventure.Category; @@ -24,16 +23,16 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } if (!p.hasPermission("challenges.createadventuremap")) { - ChatUtil.sendErrorMessage(sender, "Keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Keine Rechte!"); return true; } Material item = p.getInventory().getItemInMainHand().getType(); if (item == Material.AIR) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Item in der Hand haben!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Item in der Hand haben!"); return true; } if (args.hasNext()) { @@ -42,7 +41,7 @@ String categoryName = args.getNext(); Category category = this.plugin.getCategoriesConfig().getCategory(categoryName); if (category == null) { - ChatUtil.sendErrorMessage(sender, "Die Kategorie " + categoryName + " existiert nicht!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Die Kategorie " + categoryName + " existiert nicht!"); return true; } if (args.hasNext()) { @@ -53,13 +52,13 @@ if (args.hasNext()) { String creator = args.getAll(null); if (creator != null) { - AdventureMap map = new AdventureMap(this.plugin, name, version, item, creator, webLink); + AdventureMap map = new AdventureMap(name, version, item, creator, webLink); if (!this.config.addMap(map)) { - ChatUtil.sendErrorMessage(sender, "Die map " + name + " existiert bereits!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Die map " + name + " existiert bereits!"); return true; } category.addMap(map); - ChatUtil.sendNormalMessage(sender, "Die map " + name + " wurde erfolgreich hinzugefügt!"); + plugin.getComponentUtil().sendNormalMessage(sender, "Die map " + name + " wurde erfolgreich hinzugefügt!"); return true; } } @@ -68,7 +67,7 @@ } } } - ChatUtil.sendWarningMessage(p, "/adventure addmap "); + plugin.getComponentUtil().sendWarningMessage(p, "/adventure addmap "); return true; } } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureClearSavesCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureClearSavesCommand.java index 359263f..89b7fe0 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureClearSavesCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureClearSavesCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -29,12 +28,12 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } - ChatUtil.sendNormalMessage(p, "Gespeicherte Adventure-Maps die älter als 120 Tage sind werden gelöscht. Dies kann einige Minuten dauern."); - plugin.getScheduler().runAsync(() -> { + plugin.getComponentUtil().sendNormalMessage(p, "Gespeicherte Adventure-Maps die älter als 120 Tage sind werden gelöscht. Dies kann einige Minuten dauern."); + plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> { File adventureSaveFolder = plugin.getAdventureSavePath().toFile(); //DELETE OLD AdventureMaps if (adventureSaveFolder.isDirectory()) { File[] playerFolders; @@ -53,18 +52,18 @@ if (10368000000L + fileTime.toMillis() <= System.currentTimeMillis()) { //120 Tage FileUtils.deleteDirectory(map); deletecounter++; - ChatUtil.sendNormalMessage(p, "Welt " + playerFolder.getName() + "/" + map.getName() + " gelöscht. (" + deletecounter + ")"); + plugin.getComponentUtil().sendNormalMessage(p, "Welt " + playerFolder.getName() + "/" + map.getName() + " gelöscht. (" + deletecounter + ")"); } } if (Objects.requireNonNull(playerFolder.listFiles()).length == 0) { FileUtils.deleteDirectory(playerFolder); } } catch (IOException ex) { - Bukkit.getLogger().log(Level.SEVERE, "Fehler beim löschen einer Map", ex); + plugin.getLogger().log(Level.SEVERE, "Fehler beim löschen einer Map", ex); } } } - ChatUtil.sendNormalMessage(p, "Es wurden: " + deletecounter + " maps in " + StringUtil.formatTimespan(System.currentTimeMillis() - starttime) + " gelöscht"); + plugin.getComponentUtil().sendNormalMessage(p, "Es wurden: " + deletecounter + " maps in " + StringUtil.formatTimespan(System.currentTimeMillis() - starttime) + " gelöscht"); } } }); diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureConvertMapCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureConvertMapCommand.java index 5fabbc8..fd7220c 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureConvertMapCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureConvertMapCommand.java @@ -1,11 +1,11 @@ package de.fanta.lobby.commands.AdventureCommand; +import de.fanta.challengeutils.Color; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.TextComponent; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.event.ClickEvent; import org.apache.commons.io.FileUtils; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -18,6 +18,8 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; @@ -33,7 +35,7 @@ private static Lobby plugin; public AdventureConvertMapCommand(Lobby plugin) { - this.plugin = plugin; + AdventureConvertMapCommand.plugin = plugin; } @Override @@ -42,12 +44,12 @@ String versioString; if (!(sender instanceof Player player)) { - ChatUtil.sendErrorMessage(sender, "You are not a Player"); + plugin.getComponentUtil().sendErrorMessage(sender, "You are not a Player"); return true; } if (!player.hasPermission("adventure.convertmap")) { - ChatUtil.sendErrorMessage(player, "Keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(player, "Keine Rechte!"); return true; } @@ -56,7 +58,7 @@ if (args.hasNext()) { versioString = args.getNext(); } else { - ChatUtil.sendErrorMessage(player, "/convertmap "); + plugin.getComponentUtil().sendErrorMessage(player, "/convertmap "); return true; } @@ -68,9 +70,9 @@ String finalUrlString = urlString; String finalVersioString = versioString; - plugin.getScheduler().runAsync(() -> downloadMap(finalUrlString, finalVersioString, folder, player)); + plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> downloadMap(finalUrlString, finalVersioString, folder, player)); } else { - ChatUtil.sendErrorMessage(sender, "/convertmap "); + plugin.getComponentUtil().sendErrorMessage(sender, "/convertmap "); return true; } return true; @@ -79,10 +81,10 @@ private static void downloadMap(String finalUrlString, String versioString, File folder, Player player) { Path zipPath = Path.of(folder + "/world.zip"); try { - InputStream in = new URL(finalUrlString).openStream(); + InputStream in = new URI(finalUrlString).toURL().openStream(); Files.copy(in, zipPath, StandardCopyOption.REPLACE_EXISTING); - ChatUtil.sendNormalMessage(player, "Map heruntergeladen."); - } catch (IOException e) { + plugin.getComponentUtil().sendNormalMessage(player, "Map heruntergeladen."); + } catch (IOException | URISyntaxException e) { throw new RuntimeException(e); } @@ -94,7 +96,7 @@ File worldFolder = new File(folder.getPath() + "/" + UUID.randomUUID()); try { unzipFolder(zipPath, worldFolder.toPath()); - ChatUtil.sendNormalMessage(player, "UnZip Done " + worldFolder.getName()); + plugin.getComponentUtil().sendNormalMessage(player, "UnZip Done " + worldFolder.getName()); } catch (IOException e) { throw new RuntimeException(e); } @@ -108,7 +110,7 @@ if (files != null) { for (File filefile : files) { if (filefile.getName().equals("region")) { - ChatUtil.sendNormalMessage(player, "region folder found"); + plugin.getComponentUtil().sendNormalMessage(player, "region folder found"); convertToSpigotMap(filefile.getAbsoluteFile(), versioString, player); return; } @@ -177,7 +179,7 @@ getServerConfig().set("serverversion", versioString); ServerConfig.save(ServerConfigFile); } catch (IOException e) { - Bukkit.getLogger().log(Level.SEVERE, "Can't Save Config", e); + plugin.getLogger().log(Level.SEVERE, "Can't Save Config", e); } String oldFolderName = mapFolder.getName(); @@ -186,7 +188,7 @@ mapFolder.renameTo(newFolderFile); - ChatUtil.sendNormalMessage(player, "Konvertierung fertig."); + plugin.getComponentUtil().sendNormalMessage(player, "Konvertierung fertig."); File destFolder = new File(plugin.getAdventureMapsPath().toFile(), "test/" + newFolderName); @@ -196,18 +198,15 @@ throw new RuntimeException(e); } - ChatUtil.sendNormalMessage(player, "Map wurde zum testen in das test Verzeichnis verschoben."); - - TextComponent component = new TextComponent(TextComponent.fromLegacyText(Lobby.PREFIX + ChatUtil.GREEN + " Klicke hier um die Map zu testen.")); - component.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/a testmap test " + newFolderName)); - player.sendMessage(component); + plugin.getComponentUtil().sendNormalMessage(player, "Map wurde zum testen in das test Verzeichnis verschoben."); + plugin.getComponentUtil().sendMessage(player, Component.text("Klicke hier um die Map zu testen.", Color.GREEN).clickEvent(ClickEvent.clickEvent(ClickEvent.Action.RUN_COMMAND, "/a testmap test " + newFolderName))); } else { - ChatUtil.sendErrorMessage(player, "Keine datei gefunden."); + plugin.getComponentUtil().sendErrorMessage(player, "Keine datei gefunden."); } } else { - ChatUtil.sendErrorMessage(player, "Keine datei gefunden."); + plugin.getComponentUtil().sendErrorMessage(player, "Keine datei gefunden."); } } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadCommand.java index b9bd278..5f0f64a 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.loadgui.AdventureLoadGUI; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -19,14 +18,14 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } CachedPlayer savePlayer; if (args.hasNext()) { if (!p.hasPermission("challenges.load.admin")) { - ChatUtil.sendErrorMessage(p, "Keine Rechte! (Du kannst nur eigene maps Laden)"); + plugin.getComponentUtil().sendErrorMessage(p, "Keine Rechte! (Du kannst nur eigene maps Laden)"); return true; } String savePlayerName = args.getNext(); @@ -38,7 +37,7 @@ if (savePlayer != null) { new AdventureLoadGUI(p, savePlayer).open(); } else { - ChatUtil.sendErrorMessage(p, "Spieler nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(p, "Spieler nicht gefunden!"); } return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadMapIconsCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadMapIconsCommand.java index 5be0cc8..ffd4caf 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadMapIconsCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureLoadMapIconsCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.adventure.AdventureMap; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -28,16 +27,16 @@ File[] categories = adventureCategories.listFiles(); if (categories != null) { for (File mapFolder : categories) { - ChatUtil.sendNormalMessage(sender, "- " + mapFolder.getName()); + plugin.getComponentUtil().sendNormalMessage(sender, "- " + mapFolder.getName()); File[] maps = mapFolder.listFiles(); if (maps != null) { for (File map : maps) { - ChatUtil.sendDebugMessage(sender, " - " + map.getName()); + plugin.getComponentUtil().sendDebugMessage(sender, " - " + map.getName()); AdventureMap adventureMap = plugin.getAdventureMapsConfig().getMap(map.getName()); if (adventureMap != null) { File mapConfig = new File(map, "/Challenges/serverconfig.yml"); ItemStack stack = adventureMap.getItem(); - ChatUtil.sendWarningMessage(sender, " " + adventureMap.getItem().getType()); + plugin.getComponentUtil().sendWarningMessage(sender, " " + adventureMap.getItem().getType()); try { YamlConfiguration serverConfig = new YamlConfiguration(); serverConfig.load(mapConfig); @@ -46,10 +45,10 @@ serverConfig.save(mapConfig); } catch (IOException | InvalidConfigurationException ex) { plugin.getLogger().log(Level.SEVERE, "Fehler beim ändern der Config", ex); - ChatUtil.sendErrorMessage(sender, " --- Map " + map.getName() + ": Fehler beim ändern der Config! ---"); + plugin.getComponentUtil().sendErrorMessage(sender, " --- Map " + map.getName() + ": Fehler beim ändern der Config! ---"); } } else { - ChatUtil.sendErrorMessage(sender, "Map " + map.getName() + " nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Map " + map.getName() + " nicht gefunden!"); } } } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureMapsCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureMapsCommand.java index adf0650..1181d37 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureMapsCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureMapsCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.adventure.ui.CategoryUI; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -18,7 +17,7 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } (new CategoryUI(this.plugin, this.plugin.getCategoriesConfig(), p)).open(); diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureStartEventServerCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureStartEventServerCommand.java index 8424301..99a5754 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureStartEventServerCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureStartEventServerCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -17,12 +16,12 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } plugin.getEventServerPlayerList().add(p.getUniqueId()); - ChatUtil.sendNormalMessage(p, "Der nächste Adventure Server, denn du startest, wird als Event Server gestartet und hat somit mehr Leistung."); + plugin.getComponentUtil().sendNormalMessage(p, "Der nächste Adventure Server, denn du startest, wird als Event Server gestartet und hat somit mehr Leistung."); return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTempCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTempCommand.java index c97bd0d..ca1293d 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTempCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTempCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import de.tr7zw.nbtapi.NBTCompound; @@ -62,23 +61,20 @@ }*/ - - - public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { File adventureSaves = plugin.getChallengeSavePath().toFile(); - Bukkit.getLogger().info(adventureSaves.getAbsolutePath()); + plugin.getLogger().info(adventureSaves.getAbsolutePath()); File[] players = adventureSaves.listFiles(); if (players != null) { - Bukkit.getLogger().info("Players"); + plugin.getLogger().info("Players"); for (File player : players) { - ChatUtil.sendNormalMessage(sender, "- " + player.getName()); + plugin.getComponentUtil().sendNormalMessage(sender, "- " + player.getName()); File[] maps = player.listFiles(); if (maps != null) { for (File map : maps) { - ChatUtil.sendDebugMessage(sender, " - " + map.getName()); + plugin.getComponentUtil().sendDebugMessage(sender, " - " + map.getName()); try { NBTFile file = new NBTFile(new File(map, "/world/level.dat")); NBTCompound data = file.getCompound("Data"); diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTestMapCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTestMapCommand.java index 9cb8114..00e2dc9 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTestMapCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/AdventureTestMapCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.Server; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -23,7 +22,7 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } if (sender.hasPermission("challenges.starttestmap")) { @@ -34,21 +33,21 @@ if (args.hasNext()) { String version = args.getNext(); if (!Server.serverPlayers.containsValue(p.getUniqueId())) { - this.plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadNewAdventure(p, category, map, version), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + this.plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadNewAdventure(p, category, map, version), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } else { - ChatUtil.sendWarningMessage(p, "/adventure testmap "); + plugin.getComponentUtil().sendWarningMessage(p, "/adventure testmap "); } } else { - ChatUtil.sendWarningMessage(p, "/adventure testmap "); + plugin.getComponentUtil().sendWarningMessage(p, "/adventure testmap "); } } else { - ChatUtil.sendWarningMessage(p, "/adventure testmap "); + plugin.getComponentUtil().sendWarningMessage(p, "/adventure testmap "); } } else { - ChatUtil.sendErrorMessage(p, "Keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(p, "Keine Rechte!"); } return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/ChallengesRemovePlayerServer.java b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/ChallengesRemovePlayerServer.java index d220023..0208884 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/ChallengesRemovePlayerServer.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/AdventureCommand/ChallengesRemovePlayerServer.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.AdventureCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.Server; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -18,11 +17,11 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } if (!p.hasPermission("challenges.overrite")) { - ChatUtil.sendErrorMessage(p, "Keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(p, "Keine Rechte!"); return true; } if (args.hasNext()) { @@ -31,7 +30,7 @@ Server.serverPlayers.clear(); plugin.getPluginConfig().getAdventureServers().removeIf(Server::isOnline); plugin.getPluginConfig().getChallengeServers().removeIf(Server::isOnline); - ChatUtil.sendNormalMessage(p, "Server liste geleert!"); + plugin.getComponentUtil().sendNormalMessage(p, "Server liste geleert!"); } else { Player serverplayer = Bukkit.getPlayer(next); if (serverplayer != null) { @@ -39,17 +38,17 @@ Server.serverPlayers.remove(Server.getServerfromPlayer(serverplayer)); plugin.getPluginConfig().getAdventureServers().removeIf(server -> server.getName().equals(next)); plugin.getPluginConfig().getChallengeServers().removeIf(server -> server.getName().equals(next)); - ChatUtil.sendNormalMessage(p, "Spieler " + next + " wurde aus der liste entfernt!"); + plugin.getComponentUtil().sendNormalMessage(p, "Spieler " + next + " wurde aus der liste entfernt!"); } else { - ChatUtil.sendNormalMessage(p, "Es ist kein Server von " + next + " Online!"); + plugin.getComponentUtil().sendNormalMessage(p, "Es ist kein Server von " + next + " Online!"); } } else { - ChatUtil.sendErrorMessage(p, "Spieler " + next + " ist nicht Online"); + plugin.getComponentUtil().sendErrorMessage(p, "Spieler " + next + " ist nicht Online"); } } return true; } - ChatUtil.sendWarningMessage(p, "/challenges removeplayerserver {Playername | all}"); + plugin.getComponentUtil().sendWarningMessage(p, "/challenges removeplayerserver {Playername | all}"); return true; } } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeClearSavesCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeClearSavesCommand.java index c66ca98..f03c2fe 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeClearSavesCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeClearSavesCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.ChallengesCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -29,12 +28,12 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } - ChatUtil.sendNormalMessage(p, "Gespeicherte Challenges die älter als 120 Tage sind werden gelöscht. Dies kann einige Minuten dauern."); - plugin.getScheduler().runAsync(() -> { + plugin.getComponentUtil().sendNormalMessage(p, "Gespeicherte Challenges die älter als 120 Tage sind werden gelöscht. Dies kann einige Minuten dauern."); + plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> { File challengeSaveFolder = plugin.getChallengeSavePath().toFile(); //DELETE OLD ChallengeMaps if (challengeSaveFolder.isDirectory()) { File[] playerFolders; @@ -53,18 +52,18 @@ if (10368000000L + fileTime.toMillis() <= System.currentTimeMillis()) { //120 Tage FileUtils.deleteDirectory(map); deletecounter++; - ChatUtil.sendNormalMessage(p, "Welt " + playerFolder.getName() + "/" + map.getName() + " gelöscht. (" + deletecounter + ")"); + plugin.getComponentUtil().sendNormalMessage(p, "Welt " + playerFolder.getName() + "/" + map.getName() + " gelöscht. (" + deletecounter + ")"); } } if (Objects.requireNonNull(playerFolder.listFiles()).length == 0) { FileUtils.deleteDirectory(playerFolder); } } catch (IOException ex) { - Bukkit.getLogger().log(Level.SEVERE, "Fehler beim löschen einer Map", ex); + plugin.getLogger().log(Level.SEVERE, "Fehler beim löschen einer Map", ex); } } } - ChatUtil.sendNormalMessage(p, "Es wurden: " + deletecounter + " maps in " + StringUtil.formatTimespan(System.currentTimeMillis() - starttime) + " gelöscht"); + plugin.getComponentUtil().sendNormalMessage(p, "Es wurden: " + deletecounter + " maps in " + StringUtil.formatTimespan(System.currentTimeMillis() - starttime) + " gelöscht"); } } }); diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeListUserStatsCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeListUserStatsCommand.java index ffbb6e9..9ec8c8d 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeListUserStatsCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeListUserStatsCommand.java @@ -1,7 +1,7 @@ package de.fanta.lobby.commands.ChallengesCommand; +import de.fanta.challengeutils.Color; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.utils.DurationCommandUtil; import de.iani.cubesidestats.api.Ordering; import de.iani.cubesidestats.api.PositionAlgorithm; @@ -11,6 +11,7 @@ import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import de.iani.playerUUIDCache.CachedPlayer; +import net.kyori.adventure.text.Component; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -26,7 +27,7 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } @@ -36,7 +37,7 @@ String statisticKeyString = args.getNext().toLowerCase(); if (!plugin.getCubesideStatistics().hasStatisticKey(statisticKeyString)) { - ChatUtil.sendErrorMessage(p, "StatsKey " + statisticKeyString + " nicht gefunden"); + plugin.getComponentUtil().sendErrorMessage(p, "StatsKey " + statisticKeyString + " nicht gefunden"); return true; } @@ -44,7 +45,7 @@ try { statisticKey = plugin.getCubesideStatistics().getStatisticKey(statisticKeyString, false); } catch (IllegalArgumentException ex) { - ChatUtil.sendErrorMessage(p, "StatsKey " + statisticKeyString + " konnte nicht geladen werden!"); + plugin.getComponentUtil().sendErrorMessage(p, "StatsKey " + statisticKeyString + " konnte nicht geladen werden!"); return true; } @@ -57,7 +58,7 @@ try { timeFrame = TimeFrame.valueOf(timeFrameString); } catch (IllegalArgumentException ex) { - ChatUtil.sendErrorMessage(p, "Diesen TimeFrame gibt es nicht! (DAY, MONTH, ALL_TIME)"); + plugin.getComponentUtil().sendErrorMessage(p, "Diesen TimeFrame gibt es nicht! (DAY, MONTH, ALL_TIME)"); return true; } @@ -71,13 +72,11 @@ if (playerWithScore.getScore() <= duration) { CachedPlayer cachedPlayer = plugin.getPlayerUUIDCache().getPlayer(playerWithScore.getPlayer().getOwner()); if (cachedPlayer != null) { - ChatUtil.sendNormalMessage(p, ChatUtil.ORANGE + "Position: " + playerWithScore.getPosition() + ChatUtil.BLUE + " Zeit: " + StringUtil.formatTimespan((playerWithScore.getScore() / 1000) * 1000, " Tag, ", ":", "", "", "", ":", false, true) + ChatUtil.GREEN + " " +cachedPlayer.getName()); + Component component = Component.text("Position: " + playerWithScore.getPosition(), Color.ORANGE).append(Component.text(" Zeit: " + StringUtil.formatTimespan((playerWithScore.getScore() / 1000) * 1000, " Tag, ", ":", "", "", "", ":", false, true), Color.BLUE).append(Component.text(cachedPlayer.getName(), Color.GREEN))); + plugin.getComponentUtil().sendMessage(p, component); } - } })); - - return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeLoadCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeLoadCommand.java index 570a587..f73cc68 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeLoadCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeLoadCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.ChallengesCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.loadgui.ChallengeLoadGUI; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -19,14 +18,14 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } CachedPlayer savePlayer; if (args.hasNext()) { if (!p.hasPermission("challenges.load.admin")) { - ChatUtil.sendErrorMessage(p, "Keine Rechte! (Du kannst nur eigene maps Laden)"); + plugin.getComponentUtil().sendErrorMessage(p, "Keine Rechte! (Du kannst nur eigene maps Laden)"); return true; } String savePlayerName = args.getNext(); @@ -38,7 +37,7 @@ if (savePlayer != null) { new ChallengeLoadGUI(p, savePlayer).open(); } else { - ChatUtil.sendErrorMessage(p, "Spieler nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(p, "Spieler nicht gefunden!"); } return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeSetStatsCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeSetStatsCommand.java index 3fc9165..bac47ab 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeSetStatsCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengeSetStatsCommand.java @@ -1,7 +1,7 @@ package de.fanta.lobby.commands.ChallengesCommand; +import de.fanta.challengeutils.Color; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesidestats.api.StatisticKey; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -23,7 +23,7 @@ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player player)) { - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); + plugin.getComponentUtil().sendErrorMessage(sender, "You are not a Player :>"); return true; } @@ -40,34 +40,34 @@ try { score = Integer.parseInt(args.getNext()); } catch (NumberFormatException ex) { - ChatUtil.sendErrorMessage(player, "/challenge setstats "); + plugin.getComponentUtil().sendErrorMessage(player, "/challenge setstats "); return true; } if (score > 0) { plugin.getStatistics().setScore(statsPlayer.getUUID(), statisticKey, score); - ChatUtil.sendNormalMessage(player, "Statistik " + ChatUtil.BLUE + statisticKey.getName() + ChatUtil.GREEN + " von " + ChatUtil.BLUE + statsPlayer.getName() + ChatUtil.GREEN + " wurde auf " + ChatUtil.BLUE + score + ChatUtil.GREEN + " gesetzt!"); + plugin.getComponentUtil().sendNormalMessage(player, "Statistik " + statisticKey.getName() + " von " + statsPlayer.getName() + " wurde auf " + score + " gesetzt!"); } else { plugin.getStatistics().deleteScore(statsPlayer.getUUID(), statisticKey); - ChatUtil.sendNormalMessage(player, "Statistik " + ChatUtil.BLUE + statisticKey.getName() + ChatUtil.GREEN + " von " + ChatUtil.BLUE + statsPlayer.getName() + ChatUtil.GREEN + " wurde gelöscht!"); + plugin.getComponentUtil().sendNormalMessage(player, "Statistik " + statisticKey.getName() + " von " + statsPlayer.getName() + " wurde gelöscht!"); } } else { - ChatUtil.sendErrorMessage(player, "/challenge setstats "); + plugin.getComponentUtil().sendErrorMessage(player, "/challenge setstats "); return true; } } else { - ChatUtil.sendErrorMessage(player, "StatisticKey nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(player, "StatisticKey nicht gefunden!"); return true; } } else { - ChatUtil.sendErrorMessage(player, "/challenge setstats "); + plugin.getComponentUtil().sendErrorMessage(player, "/challenge setstats "); return true; } } else { - ChatUtil.sendErrorMessage(player, ChatUtil.BLUE + playerString + ChatUtil.RED + " nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(player, Color.BLUE + playerString + Color.RED + " nicht gefunden!"); return true; } } else { - ChatUtil.sendErrorMessage(player, "/challenge setstats "); + plugin.getComponentUtil().sendErrorMessage(player, "/challenge setstats "); return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengesStatsCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengesStatsCommand.java index 1cc9dfd..da30b2c 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengesStatsCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/ChallengesCommand/ChallengesStatsCommand.java @@ -1,12 +1,13 @@ package de.fanta.lobby.commands.ChallengesCommand; -import de.fanta.lobby.ChatUtil; +import de.fanta.challengeutils.Color; +import de.fanta.lobby.Lobby; import de.fanta.lobby.utils.PlayerStatisticsData; import de.fanta.lobby.utils.Statistics; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; -import org.bukkit.ChatColor; +import net.kyori.adventure.text.Component; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -17,8 +18,10 @@ public class ChallengesStatsCommand extends SubCommand { private final Statistics statistics; + private final Lobby plugin; - public ChallengesStatsCommand(Statistics statistics) { + public ChallengesStatsCommand(Lobby plugin, Statistics statistics) { + this.plugin = plugin; this.statistics = statistics; } @@ -38,49 +41,49 @@ Statistics.StatType finalStatType = statType; Consumer callback = data -> { if (data == null) { - ChatUtil.sendErrorMessage(sender, "Für Spieler '" + playerName + "' existieren keine Daten."); + plugin.getComponentUtil().sendErrorMessage(sender, "Für Spieler '" + playerName + "' existieren keine Daten."); return; } if (playerName == null) { - ChatUtil.sendNormalMessage(sender, "Deine Speedrun-Statistik " + "(" + finalStatType.getPrefix() + ")"); + plugin.getComponentUtil().sendNormalMessage(sender, "Deine Speedrun-Statistik " + "(" + finalStatType.getPrefix() + ")"); } else { - ChatUtil.sendNormalMessage(sender, "Speedrun-Statistik von " + data.getPlayerName() + " (" + finalStatType.getPrefix() + ")"); + plugin.getComponentUtil().sendNormalMessage(sender, "Speedrun-Statistik von " + data.getPlayerName() + " (" + finalStatType.getPrefix() + ")"); } int bestTimeThisMonth = data.getBestTimeMonth(); if (bestTimeThisMonth < 0) { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Beste Zeit: " + ChatUtil.GREEN + formatTime(data.getBestTime())); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Beste Zeit: ", Color.ORANGE).append(Component.text(formatTime(data.getBestTime()), Color.GREEN))); } else { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Beste Zeit: " + ChatUtil.GREEN + (data.getBestTime() == 0 ? "--:--" : formatTime(data.getBestTime())) + " (Dieser Monat: " + (bestTimeThisMonth == 0 ? "--:--" : formatTime(bestTimeThisMonth)) + ")"); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Beste Zeit: ", Color.ORANGE).append(Component.text((data.getBestTime() == 0 ? "--:--" : formatTime(data.getBestTime())) + " (Dieser Monat: " + (bestTimeThisMonth == 0 ? "--:--" : formatTime(bestTimeThisMonth)) + ")", Color.GREEN))); } int runsPlayerThisMonth = data.getRunsPlayedMonth(); if (bestTimeThisMonth < 0) { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Speedruns gespielt: " + ChatUtil.GREEN + data.getRunsPlayed()); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Speedruns gespielt: ", Color.ORANGE).append(Component.text(data.getRunsPlayed(), Color.GREEN))); } else { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Speedruns gespielt: " + ChatUtil.GREEN + data.getRunsPlayed() + " (Dieser Monat: " + runsPlayerThisMonth + ")"); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Speedruns gespielt: ", Color.ORANGE).append(Component.text(data.getRunsPlayed() + " (Dieser Monat: " + runsPlayerThisMonth + ")", Color.GREEN))); } int runsWonThisMonth = data.getRunsWonMonth(); if (bestTimeThisMonth < 0) { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Speedruns gewonnen: " + ChatUtil.GREEN + data.getRunsWon()); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Speedruns gewonnen: ", Color.ORANGE).append(Component.text(data.getRunsWon(), Color.GREEN))); } else { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Speedruns gewonnen: " + ChatUtil.GREEN + data.getRunsWon() + " (Dieser Monat: " + runsWonThisMonth + ")"); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Speedruns gewonnen: ", Color.ORANGE).append(Component.text(data.getRunsWon() + " (Dieser Monat: " + runsWonThisMonth + ")", Color.GREEN))); } int positionThisMonth = data.getPositionMonth(); if (bestTimeThisMonth < 0) { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Position: " + ChatUtil.GREEN + data.getPosition()); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Position: ", Color.ORANGE).append(Component.text(data.getPosition(), Color.GREEN))); } else { - ChatUtil.sendNormalMessage(sender, ChatUtil.ORANGE + " Position: " + ChatUtil.GREEN + data.getPosition() + " (Dieser Monat: " + positionThisMonth + ")"); + plugin.getComponentUtil().sendMessage(sender, Component.text(" Position: ", Color.ORANGE).append(Component.text(data.getPosition() + " (Dieser Monat: " + positionThisMonth + ")", Color.GREEN))); } }; if (playerName == null) { if (sender instanceof Player player) { statistics.getDataForPlayer(player, statType, callback); } else { - sender.sendMessage(ChatColor.GREEN + "Für die Konsole existieren keine Daten."); + plugin.getComponentUtil().sendNormalMessage(sender, "Für die Konsole existieren keine Daten."); } } else { try { diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/AddEntityCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/AddEntityCommand.java index 22ad8b2..7a59a7f 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/AddEntityCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/AddEntityCommand.java @@ -2,7 +2,6 @@ import de.cubeside.connection.GlobalServer; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -25,12 +24,12 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } if (!sender.hasPermission("challenges.spawn.teleporter")) { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Keine Berechtigung!"); return true; } @@ -45,12 +44,12 @@ String locationName = args.getNext(); if (plugin.getGlobalDataHelper().getServer(serverName) != null) { - String serverDisplayName = StringUtil.convertColors(args.getAll(serverName)); + String serverDisplayName = StringUtil.stripColors(args.getAll(serverName)); plugin.spawnPiglin(((Player) sender).getLocation(), serverName, null, locationName, serverDisplayName); - ChatUtil.sendNormalMessage(sender, "Piglin hinzugefügt! *grunz*"); + plugin.getComponentUtil().sendNormalMessage(sender, "Piglin hinzugefügt! *grunz*"); } else { - ChatUtil.sendErrorMessage(sender, "Server nicht gefunden!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Server nicht gefunden!"); } return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/Entitytphere.java b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/Entitytphere.java index bd7936f..187c7b5 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/Entitytphere.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/Entitytphere.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.PiglinCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -23,12 +22,12 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } if (!sender.hasPermission("challenges.spawn.teleporter")) { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Keine Berechtigung!"); return true; } @@ -37,9 +36,9 @@ Piglin piglin = plugin.getPiglinForServerName(serverName); if (piglin != null) { piglin.teleport(p.getLocation()); - ChatUtil.sendNormalMessage(sender, "Piglin wurde zu dir Teleportiert."); + plugin.getComponentUtil().sendNormalMessage(sender, "Piglin wurde zu dir Teleportiert."); } else { - ChatUtil.sendErrorMessage(sender, "Kein Piglin für diesen Server gefunden!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Kein Piglin für diesen Server gefunden!"); } return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/InfoPiglinCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/InfoPiglinCommand.java new file mode 100644 index 0000000..51303c8 --- /dev/null +++ b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/InfoPiglinCommand.java @@ -0,0 +1,66 @@ +package de.fanta.lobby.commands.PiglinCommand; + +import de.cubeside.connection.GlobalPlayer; +import de.cubeside.connection.GlobalServer; +import de.fanta.challengeutils.Color; +import de.fanta.lobby.JoinEntityData; +import de.fanta.lobby.Lobby; +import de.iani.cubesideutils.StringUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.event.ClickEvent; +import net.kyori.adventure.text.event.HoverEvent; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import java.util.Collection; + +public class InfoPiglinCommand extends SubCommand { + + private final Lobby plugin; + + public InfoPiglinCommand(Lobby plugin) { + this.plugin = plugin; + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { + if (!(sender instanceof Player player)) { + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); + return true; + } + + if (args.hasNext()) { + String server = args.getNext(); + JoinEntityData entityData = plugin.getEntityData(server); + if (entityData == null) { + plugin.getComponentUtil().sendErrorMessage(player, "Server nicht gefunden!"); + return true; + } + + plugin.getComponentUtil().sendNormalMessage(player, "----- Server Info: " + StringUtil.capitalizeFirstLetter(entityData.getServerDisplayName(), true) + "-----"); + plugin.getComponentUtil().sendNormalMessage(player, "Status: " + entityData.getServerStatus().name()); + plugin.getComponentUtil().sendNormalMessage(player, "GlobalServer Name: " + server); + plugin.getComponentUtil().sendNormalMessage(player, "Port Punkt: " + entityData.getGlobalPortLocationName()); + plugin.getComponentUtil().sendNormalMessage(player, "Spielerzahl: " + entityData.getPlayerCount() + "/" + entityData.getMaxPlayers()); + GlobalServer globalServer = plugin.getGlobalDataHelper().getServer(server); + if (globalServer != null) { + Collection globalPlayers = globalServer.getPlayers(); + if (!globalPlayers.isEmpty()) { + plugin.getComponentUtil().sendNormalMessage(player, "Spieler:"); + globalPlayers.forEach(globalPlayer -> plugin.getComponentUtil().sendNormalMessage(player, " - " + globalPlayer.getName())); + } + } + + + } + return true; + } + + @Override + public String getRequiredPermission() { + return "lobby.piglin.info"; + } +} \ No newline at end of file diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ListPiglinCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ListPiglinCommand.java index 01140a9..8aae897 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ListPiglinCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ListPiglinCommand.java @@ -1,9 +1,12 @@ package de.fanta.lobby.commands.PiglinCommand; +import de.fanta.challengeutils.Color; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.event.ClickEvent; +import net.kyori.adventure.text.event.HoverEvent; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -19,17 +22,18 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player p)) { - ChatUtil.sendErrorMessage(sender, "Du musst ein Spieler sein!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Du musst ein Spieler sein!"); return true; } - if (!sender.hasPermission("challenges.spawn.teleporter")) { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); - return true; - } - ChatUtil.sendNormalMessage(p, "-------------------------------"); - plugin.getEntityData().keySet().forEach(server -> ChatUtil.sendNormalMessage(p, plugin.getPiglinForServerName(server).getName() + ": " + server)); - ChatUtil.sendNormalMessage(p, "-------------------------------"); + plugin.getComponentUtil().sendNormalMessage(p, "-------------------------------"); + plugin.getEntityData().keySet().forEach(server -> plugin.getComponentUtil().sendMessage(p, plugin.getEntityData(server).createCustomEntityName().clickEvent(ClickEvent.clickEvent(ClickEvent.Action.RUN_COMMAND, "/piglin info " + server)).hoverEvent(HoverEvent.showText(Component.text("Server Info", Color.GREEN))))); + plugin.getComponentUtil().sendNormalMessage(p, "-------------------------------"); return true; } + + @Override + public String getRequiredPermission() { + return "lobby.piglin.list"; + } } \ No newline at end of file diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/RemoveEntityCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/RemoveEntityCommand.java index d5b316b..538c85c 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/RemoveEntityCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/RemoveEntityCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.PiglinCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -22,7 +21,7 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!sender.hasPermission("challenges.spawn.teleporter")) { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Keine Berechtigung!"); return true; } @@ -31,9 +30,9 @@ Piglin piglin = plugin.getPiglinForServerName(serverName); if (piglin != null) { plugin.despawnPiglin(piglin.getUniqueId(), serverName); - ChatUtil.sendNormalMessage(sender, "Piglin entfernt."); + plugin.getComponentUtil().sendNormalMessage(sender, "Piglin entfernt."); } else { - ChatUtil.sendErrorMessage(sender, "Kein Piglin für diesen Server gefunden!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Kein Piglin für diesen Server gefunden!"); } return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/SetEntitySpawnLocationCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/SetEntitySpawnLocationCommand.java index 845f148..10ce00b 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/SetEntitySpawnLocationCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/SetEntitySpawnLocationCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.PiglinCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -26,12 +25,12 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!(sender instanceof Player player)) { - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); + plugin.getComponentUtil().sendErrorMessage(sender, "You are not a Player :>"); return true; } if (!sender.hasPermission("challenges.spawn.teleporter")) { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); + plugin.getComponentUtil().sendErrorMessage(sender, "Keine Berechtigung!"); return true; } @@ -41,28 +40,28 @@ String serverName = args.getNext(); if (serverType.equalsIgnoreCase("challenge")) { if (setServerLocation(serverType, serverName, player.getLocation())) { - ChatUtil.sendNormalMessage(sender, "Neue location für " + serverName + " gesetzt!"); + plugin.getComponentUtil().sendNormalMessage(sender, "Neue location für " + serverName + " gesetzt!"); } else { - ChatUtil.sendErrorMessage(sender, "Der server steht nicht in der Config."); + plugin.getComponentUtil().sendErrorMessage(sender, "Der server steht nicht in der Config."); return true; } } else if (serverType.equalsIgnoreCase("adventure")) { if (setServerLocation(serverType, serverName, player.getLocation())) { - ChatUtil.sendNormalMessage(sender, "Neue location für " + serverName + " gesetzt!"); + plugin.getComponentUtil().sendNormalMessage(sender, "Neue location für " + serverName + " gesetzt!"); } else { - ChatUtil.sendErrorMessage(sender, "Der server steht nicht in der Config."); + plugin.getComponentUtil().sendErrorMessage(sender, "Der server steht nicht in der Config."); return true; } } else { - ChatUtil.sendErrorMessage(sender, "Der Servertyp muss Challenge oder Adventure sein."); + plugin.getComponentUtil().sendErrorMessage(sender, "Der Servertyp muss Challenge oder Adventure sein."); return true; } } else { - ChatUtil.sendErrorMessage(sender, "/piglin setentityspawnlocation "); + plugin.getComponentUtil().sendErrorMessage(sender, "/piglin setentityspawnlocation "); return true; } } else { - ChatUtil.sendErrorMessage(sender, "/piglin setentityspawnlocation "); + plugin.getComponentUtil().sendErrorMessage(sender, "/piglin setentityspawnlocation "); return true; } return true; diff --git a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ToggleArenaCommand.java b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ToggleArenaCommand.java index ec8bb6d..ed1e5b7 100644 --- a/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ToggleArenaCommand.java +++ b/Lobby/src/main/java/de/fanta/lobby/commands/PiglinCommand/ToggleArenaCommand.java @@ -1,7 +1,6 @@ package de.fanta.lobby.commands.PiglinCommand; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.JoinEntityData; import de.fanta.lobby.JoinEntityData.ServerStatus; import de.iani.cubesideutils.bukkit.commands.SubCommand; @@ -25,7 +24,7 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { if (!sender.hasPermission("challenges.event")) { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung"); + plugin.getComponentUtil().sendErrorMessage(sender, "Keine Berechtigung"); return true; } @@ -35,11 +34,11 @@ String serverName = args.getNext(); JoinEntityData data = plugin.getEntityData(serverName); if (data == null) { - ChatUtil.sendErrorMessage(sender, "Server nicht gefunden."); + plugin.getComponentUtil().sendErrorMessage(sender, "Server nicht gefunden."); return true; } if (data.getServerStatus() == ServerStatus.RUNNING) { - ChatUtil.sendErrorMessage(sender, "Arena disablen nicht möglich, da gerade eine Runde läuft."); + plugin.getComponentUtil().sendErrorMessage(sender, "Arena disablen nicht möglich, da gerade eine Runde läuft."); return true; } diff --git a/Lobby/src/main/java/de/fanta/lobby/listeners/EntityListener.java b/Lobby/src/main/java/de/fanta/lobby/listeners/EntityListener.java index 0287450..e26c3c8 100644 --- a/Lobby/src/main/java/de/fanta/lobby/listeners/EntityListener.java +++ b/Lobby/src/main/java/de/fanta/lobby/listeners/EntityListener.java @@ -2,8 +2,8 @@ import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; +import de.fanta.challengeutils.Color; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.JoinEntityData; import de.speedy64.globalport.GlobalApi; import io.papermc.paper.event.entity.EntityMoveEvent; @@ -95,29 +95,29 @@ case ONLINE: if (data.getPlayerCount() < data.getMaxPlayers()) { if (data.getPlayerCount() == 0 && !player.hasPermission("Challenges.editor")) { - ChatUtil.sendWarningMessage(player, "Der erste Spieler muss VIP haben!"); - ChatUtil.sendWarningMessage(player, "Um VIP zu bekommen musst du im Freebuild (/tt) /voteshop eingeben!"); + plugin.getComponentUtil().sendWarningMessage(player, "Der erste Spieler muss VIP haben!"); + plugin.getComponentUtil().sendWarningMessage(player, "Um VIP zu bekommen musst du im Freebuild (/tt) /voteshop eingeben!"); } else { int playerVersion = Via.getAPI().getPlayerVersion(player.getUniqueId()); int mapProtocolVersion = data.getMapVersion(); if (playerVersion >= mapProtocolVersion) { GlobalApi.portOnlinePlayerToLocation(player.getName(), data.getGlobalPortLocationName()); } else { - ChatUtil.sendErrorMessage(player, "Du brauchst mindestens die Version " + ChatUtil.BLUE + ProtocolVersion.getProtocol(data.getMapVersion()).getName() + ChatUtil.RED + " um die Map zu betreten!"); + plugin.getComponentUtil().sendErrorMessage(player, "Du brauchst mindestens die Version " + Color.BLUE + ProtocolVersion.getProtocol(data.getMapVersion()).getName() + Color.RED + " um die Map zu betreten!"); } } } else { - ChatUtil.sendErrorMessage(player, "Der Server ist bereits voll!"); + plugin.getComponentUtil().sendErrorMessage(player, "Der Server ist bereits voll!"); } break; case OFFLINE: - ChatUtil.sendErrorMessage(player, "Der Server wird gerade resettet."); + plugin.getComponentUtil().sendErrorMessage(player, "Der Server wird gerade resettet."); break; case RUNNING: if (data.getEventStatus() == JoinEntityData.EventStatus.EVENT) { GlobalApi.portOnlinePlayerToLocation(player.getName(), data.getGlobalPortLocationName()); } else { - ChatUtil.sendWarningMessage(player, "Der Server ist bereits gestartet!!"); + plugin.getComponentUtil().sendWarningMessage(player, "Der Server ist bereits gestartet!!"); } break; } diff --git a/Lobby/src/main/java/de/fanta/lobby/loadgui/AdventureLoadGUI.java b/Lobby/src/main/java/de/fanta/lobby/loadgui/AdventureLoadGUI.java index 4bf3ea7..0f102b9 100644 --- a/Lobby/src/main/java/de/fanta/lobby/loadgui/AdventureLoadGUI.java +++ b/Lobby/src/main/java/de/fanta/lobby/loadgui/AdventureLoadGUI.java @@ -1,13 +1,14 @@ package de.fanta.lobby.loadgui; +import de.fanta.challengeutils.Color; +import de.fanta.challengeutils.ItemUtils; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.SaveSlot; import de.fanta.lobby.Server; -import de.fanta.lobby.utils.ItemUtil; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.playerUUIDCache.CachedPlayer; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.InvalidConfigurationException; @@ -40,7 +41,7 @@ private static final HashMap savePlayerList = new HashMap<>(); public AdventureLoadGUI(Player player, CachedPlayer savePlayer) { - super(player, Bukkit.createInventory(player, WINDOW_SIZE, Lobby.ADVENTUREGUIPREFIX + " >> Map laden")); + super(player, Bukkit.createInventory(player, WINDOW_SIZE, Lobby.getPlugin().getADVENTUREGUIPREFIX().append(Component.text(" >> Map laden")))); savePlayerList.put(player.getUniqueId(), savePlayer.getUniqueId()); } @@ -48,11 +49,6 @@ protected void rebuildInventory() { Player player = getPlayer(); UUID savePlayerID = savePlayerList.get(player.getUniqueId()); - /*File adventureSave1 = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/1"); - File adventureSave2 = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/2"); - File adventureSave3 = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/3"); - File adventureSaveAuto = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/autosave");*/ - File adventureSave1 = new File(plugin.getAdventureSavePath().toFile(), savePlayerID + "/1"); File adventureSave2 = new File(plugin.getAdventureSavePath().toFile(), savePlayerID + "/2"); File adventureSave3 = new File(plugin.getAdventureSavePath().toFile(), savePlayerID + "/3"); @@ -65,7 +61,7 @@ case SAVE_2_INDEX -> item = getDisplayItem(player, SaveSlot.SLOT_2, adventureSave2); case SAVE_3_INDEX -> item = getDisplayItem(player, SaveSlot.SLOT_3, adventureSave3); case SAVE_AUTO_INDEX -> item = getDisplayItem(player, SaveSlot.SLOT_AUTO, adventureSaveAuto); - default -> item = ItemUtil.EMPTY_ICON; + default -> item = ItemUtils.EMPTY_ICON; } this.getInventory().setItem(i, item); } @@ -85,11 +81,6 @@ Player p = getPlayer(); UUID savePlayerID = savePlayerList.get(p.getUniqueId()); - /*File adventureSave1 = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/1"); - File adventureSave2 = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/2"); - File adventureSave3 = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/3"); - File adventureSaveAuto = new File("/home/minecraft/Adventure-saves/" + savePlayerID + "/autosave");*/ - File adventureSave1 = new File(plugin.getAdventureSavePath().toFile(), savePlayerID + "/1"); File adventureSave2 = new File(plugin.getAdventureSavePath().toFile(), savePlayerID + "/2"); File adventureSave3 = new File(plugin.getAdventureSavePath().toFile(), savePlayerID + "/3"); @@ -100,7 +91,7 @@ switch (slot) { case SAVE_1_INDEX -> { if (!p.hasPermission("challenge.save.slot1")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); return; } if (!adventureSave1.isDirectory()) { @@ -108,15 +99,15 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "1"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "1"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } case SAVE_2_INDEX -> { if (!p.hasPermission("challenge.save.slot2")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); return; } if (!adventureSave2.isDirectory()) { @@ -124,15 +115,15 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "2"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "2"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } case SAVE_3_INDEX -> { if (!p.hasPermission("challenge.save.slot3")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); return; } if (!adventureSave3.isDirectory()) { @@ -140,15 +131,15 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "3"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "3"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } case SAVE_AUTO_INDEX -> { if (!p.hasPermission("challenge.save.slotauto")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); return; } if (!adventureSaveAuto.isDirectory()) { @@ -156,10 +147,10 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "autosave"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineAdventureServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "autosave"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } default -> { @@ -205,17 +196,17 @@ ItemStack stack = new ItemStack(displayItem != null ? displayItem : Material.MAP); ItemMeta meta = stack.getItemMeta(); - meta.setDisplayName(displayName != null ? displayName : ChatUtil.GREEN + "Save " + saveSlot.getSlot()); - meta.setLore(List.of(ChatUtil.GREEN + "Version: " + ChatUtil.BLUE + serverConfig.getString("serverversion"), ChatUtil.GREEN + "Gespeichert am: " + ChatUtil.BLUE + getFileDate(save))); + meta.setDisplayName(displayName != null ? displayName : Color.GREEN + "Save " + saveSlot.getSlot()); //TODO Use Component + meta.setLore(List.of(Color.GREEN + "Version: " + Color.BLUE + serverConfig.getString("serverversion"), Color.GREEN + "Gespeichert am: " + Color.BLUE + getFileDate(save))); //TODO Use Component stack.setItemMeta(meta); item = stack; } else { - item = ItemUtil.createGuiItem(Material.LIME_STAINED_GLASS_PANE, ChatUtil.GREEN + "Frei"); + item = ItemUtils.createGuiItem(Material.LIME_STAINED_GLASS_PANE, Component.text("Frei", Color.GREEN)); } } else { - item = ItemUtil.createGuiItem(Material.BARRIER, ChatUtil.RED + "Für diesen Slot brauchst du VIP"); + item = ItemUtils.createGuiItem(Material.BARRIER, Component.text("Für diesen Slot brauchst du VIP", Color.RED)); } return item; } diff --git a/Lobby/src/main/java/de/fanta/lobby/loadgui/ChallengeLoadGUI.java b/Lobby/src/main/java/de/fanta/lobby/loadgui/ChallengeLoadGUI.java index 5c14a53..f48ef61 100644 --- a/Lobby/src/main/java/de/fanta/lobby/loadgui/ChallengeLoadGUI.java +++ b/Lobby/src/main/java/de/fanta/lobby/loadgui/ChallengeLoadGUI.java @@ -1,12 +1,13 @@ package de.fanta.lobby.loadgui; +import de.fanta.challengeutils.Color; +import de.fanta.challengeutils.ItemUtils; import de.fanta.lobby.Lobby; -import de.fanta.lobby.ChatUtil; import de.fanta.lobby.Server; -import de.fanta.lobby.utils.ItemUtil; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.playerUUIDCache.CachedPlayer; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.file.YamlConfiguration; @@ -18,6 +19,7 @@ import java.io.IOException; import java.util.HashMap; import java.util.UUID; +import java.util.logging.Level; public class ChallengeLoadGUI extends AbstractWindow { @@ -32,7 +34,7 @@ private static final HashMap savePlayerList = new HashMap<>(); public ChallengeLoadGUI(Player player, CachedPlayer savePlayer) { - super(player, Bukkit.createInventory(player, WINDOW_SIZE, Lobby.CHALLENGEGUIPREFIX + " >> Map laden")); + super(player, Bukkit.createInventory(player, WINDOW_SIZE, Lobby.getPlugin().getCHALLENGEGUIPREFIX().append(Component.text(" >> Map laden")))); savePlayerList.put(player.getUniqueId(), savePlayer.getUniqueId()); } @@ -40,11 +42,6 @@ protected void rebuildInventory() { Player p = getPlayer(); UUID savePlayerID = savePlayerList.get(p.getUniqueId()); - /*File challengeSave1 = new File("/home/minecraft/saves/" + savePlayerID + "/1"); - File challengeSave2 = new File("/home/minecraft/saves/" + savePlayerID + "/2"); - File challengeSave3 = new File("/home/minecraft/saves/" + savePlayerID + "/3"); - File challengeSaveAuto = new File("/home/minecraft/saves/" + savePlayerID + "/autosave");*/ - File challengeSave1 = new File(plugin.getChallengeSavePath().toFile(), savePlayerID + "/1"); File challengeSave2 = new File(plugin.getChallengeSavePath().toFile(), savePlayerID + "/2"); File challengeSave3 = new File(plugin.getChallengeSavePath().toFile(), savePlayerID + "/3"); @@ -56,51 +53,52 @@ case SAVE_1_INDEX -> { if (p.hasPermission("challenge.save.slot1")) { if (challengeSave1.isDirectory()) { - item = ItemUtil.createGuiItem(Material.MAP, ChatUtil.GREEN + "Save 1", ChatUtil.GREEN + "Klicken zum laden.", ChatUtil.GREEN + "Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSave1), "/serverconfig.yml"))); + item = ItemUtils.createGuiItem(Material.MAP, Component.text("Save 1", Color.GREEN), Component.text("Klicken zum laden.", Color.GREEN), Component.text("Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSave1), "/serverconfig.yml")), Color.GREEN)); } else { - item = ItemUtil.createGuiItem(Material.LIME_STAINED_GLASS_PANE, ChatUtil.GREEN + "Frei"); + item = ItemUtils.createGuiItem(Material.LIME_STAINED_GLASS_PANE, Component.text("Frei", Color.GREEN)); } } else { - item = ItemUtil.createGuiItem(Material.BARRIER, ChatUtil.RED + "Für diesen Slot hast du keine Rechte"); + item = ItemUtils.createGuiItem(Material.BARRIER, Component.text("Für diesen Slot brauchst du VIP", Color.RED)); } } case SAVE_2_INDEX -> { if (p.hasPermission("challenge.save.slot2")) { if (challengeSave2.isDirectory()) { - item = ItemUtil.createGuiItem(Material.MAP, ChatUtil.GREEN + "Save 2", ChatUtil.GREEN + "Klicken zum laden.", ChatUtil.GREEN + "Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSave2), "/serverconfig.yml"))); + item = ItemUtils.createGuiItem(Material.MAP, Component.text("Save 2", Color.GREEN), Component.text("Klicken zum laden.", Color.GREEN), Component.text("Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSave2), "/serverconfig.yml")), Color.GREEN)); } else { - item = ItemUtil.createGuiItem(Material.LIME_STAINED_GLASS_PANE, ChatUtil.GREEN + "Frei"); + item = ItemUtils.createGuiItem(Material.LIME_STAINED_GLASS_PANE, Component.text("Frei", Color.GREEN)); } } else { - item = ItemUtil.createGuiItem(Material.BARRIER, ChatUtil.RED + "Für diesen Slot brauchst du VIP"); + item = ItemUtils.createGuiItem(Material.BARRIER, Component.text("Für diesen Slot brauchst du VIP", Color.RED)); } } case SAVE_3_INDEX -> { if (p.hasPermission("challenge.save.slot3")) { if (challengeSave3.isDirectory()) { - item = ItemUtil.createGuiItem(Material.MAP, ChatUtil.GREEN + "Save 3", ChatUtil.GREEN + "Klicken zum laden.", ChatUtil.GREEN + "Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSave3), "/serverconfig.yml"))); + item = ItemUtils.createGuiItem(Material.MAP, Component.text("Save 3", Color.GREEN), Component.text("Klicken zum laden.", Color.GREEN), Component.text("Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSave3), "/serverconfig.yml")), Color.GREEN)); } else { - item = ItemUtil.createGuiItem(Material.LIME_STAINED_GLASS_PANE, ChatUtil.GREEN + "Frei"); + item = ItemUtils.createGuiItem(Material.LIME_STAINED_GLASS_PANE, Component.text("Frei", Color.GREEN)); + ; } } else { - item = ItemUtil.createGuiItem(Material.BARRIER, ChatUtil.RED + "Für diesen Slot brauchst du VIP"); + item = ItemUtils.createGuiItem(Material.BARRIER, Component.text("Für diesen Slot brauchst du VIP", Color.RED)); } } case SAVE_AUTO_INDEX -> { if (p.hasPermission("challenge.save.slotauto")) { if (challengeSaveAuto.isDirectory()) { - item = ItemUtil.createGuiItem(Material.CLOCK, ChatUtil.GREEN + "AutoSave", ChatUtil.GREEN + "Klicken zum laden.", ChatUtil.GREEN + "Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSaveAuto), "/serverconfig.yml"))); + item = ItemUtils.createGuiItem(Material.MAP, Component.text("Auto Save", Color.GREEN), Component.text("Klicken zum laden.", Color.GREEN), Component.text("Gespeichert am " + getFileDate(new File(getPluginFolder(challengeSaveAuto), "/serverconfig.yml")), Color.GREEN)); } else { - item = ItemUtil.createGuiItem(Material.LIME_STAINED_GLASS_PANE, ChatUtil.GREEN + "AutoSave"); + item = ItemUtils.createGuiItem(Material.LIME_STAINED_GLASS_PANE, Component.text("AutoSave", Color.GREEN)); } } else { - item = ItemUtil.createGuiItem(Material.BARRIER, ChatUtil.RED + "Für diesen Slot hast du keine Rechte"); + item = ItemUtils.createGuiItem(Material.BARRIER, Component.text("Für diesen Slot hast du keine Rechte", Color.RED)); } } - default -> item = ItemUtil.EMPTY_ICON; + default -> item = ItemUtils.EMPTY_ICON; } this.getInventory().setItem(i, item); } @@ -120,11 +118,6 @@ Player p = getPlayer(); UUID savePlayerID = savePlayerList.get(p.getUniqueId()); - /*File challengeSave1 = new File("/home/minecraft/saves/" + savePlayerID + "/1"); - File challengeSave2 = new File("/home/minecraft/saves/" + savePlayerID + "/2"); - File challengeSave3 = new File("/home/minecraft/saves/" + savePlayerID + "/3"); - File challengeSaveAuto = new File("/home/minecraft/saves/" + savePlayerID + "/autosave");*/ - File challengeSave1 = new File(plugin.getChallengeSavePath().toFile(), savePlayerID + "/1"); File challengeSave2 = new File(plugin.getChallengeSavePath().toFile(), savePlayerID + "/2"); File challengeSave3 = new File(plugin.getChallengeSavePath().toFile(), savePlayerID + "/3"); @@ -135,7 +128,7 @@ switch (slot) { case SAVE_1_INDEX -> { if (!p.hasPermission("challenge.save.slot1")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); return; } if (!challengeSave1.isDirectory()) { @@ -143,15 +136,15 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "1"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "1"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } case SAVE_2_INDEX -> { if (!p.hasPermission("challenge.save.slot2")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); return; } if (!challengeSave2.isDirectory()) { @@ -159,15 +152,15 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "2"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "2"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } case SAVE_3_INDEX -> { if (!p.hasPermission("challenge.save.slot3")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot brauchst du VIP!"); return; } if (!challengeSave3.isDirectory()) { @@ -175,15 +168,15 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "3"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "3"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } case SAVE_AUTO_INDEX -> { if (!p.hasPermission("challenge.save.slotauto")) { - ChatUtil.sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); + plugin.getComponentUtil().sendErrorMessage(p, "Für diesen Slot hast du keine Rechte!"); return; } if (!challengeSaveAuto.isDirectory()) { @@ -191,10 +184,10 @@ } if (!Server.serverPlayers.containsValue(p.getUniqueId())) { p.closeInventory(); - plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "autosave"), () -> ChatUtil.sendErrorMessage(p, "Aktuell ist kein Server Frei!")); + plugin.getPluginConfig().getOnlineChanllengeServer().ifPresentOrElse(server -> server.loadSaved(p, savePlayerID, "autosave"), () -> plugin.getComponentUtil().sendErrorMessage(p, "Aktuell ist kein Server Frei!")); } else { p.closeInventory(); - ChatUtil.sendErrorMessage(p, "Du kannst nur einen Server starten!"); + plugin.getComponentUtil().sendErrorMessage(p, "Du kannst nur einen Server starten!"); } } default -> { @@ -211,7 +204,7 @@ try { serverConfiguration.load(serverConfigFile); } catch (IOException | org.bukkit.configuration.InvalidConfigurationException e) { - e.printStackTrace(); + plugin.getLogger().log(Level.SEVERE, "Error while loading Server Config", e); } saveTime = serverConfiguration.getLong("saveTime", 0); return StringUtil.formatDate(saveTime); diff --git a/Lobby/src/main/java/de/fanta/lobby/schedular/BukkitScheduler.java b/Lobby/src/main/java/de/fanta/lobby/schedular/BukkitScheduler.java deleted file mode 100644 index 0344021..0000000 --- a/Lobby/src/main/java/de/fanta/lobby/schedular/BukkitScheduler.java +++ /dev/null @@ -1,72 +0,0 @@ -package de.fanta.lobby.schedular; - -import de.fanta.lobby.Lobby; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.entity.Entity; - -import java.util.function.Consumer; - -public class BukkitScheduler implements Scheduler { - - private final Lobby plugin; - - public BukkitScheduler(Lobby plugin) { - this.plugin = plugin; - } - - @Override - public void runAsync(Runnable task) { - Bukkit.getScheduler().runTaskAsynchronously(this.plugin, task); - } - - @Override - public void run(Runnable task) { - Bukkit.getScheduler().runTask(this.plugin, task); - } - - @Override - public CancellableTask runGlobalDelayed(Runnable task, long delay) { - return Bukkit.getScheduler().runTaskLater(this.plugin, task, delay)::cancel; - } - - @Override - public void runLocalDelayed(Location location, Runnable task, long delay) { - runGlobalDelayed(task, delay); - } - - @Override - public CancellableTask runLocalAtFixedRate(Location location, Runnable task, long delay, long period) { - return runGlobalAtFixedRate(task, delay, period); - } - - @Override - public void runLocalAtFixedRate(Location location, Consumer taskConsumer, long delay, long period) { - runGlobalAtFixedRate(taskConsumer, delay, period); - } - - @Override - public CancellableTask runGlobalAtFixedRate(Runnable task, long delay, long period) { - return Bukkit.getScheduler().runTaskTimer(this.plugin, task, delay, period)::cancel; - } - - @Override - public void runGlobalAtFixedRate(Consumer taskConsumer, long delay, long period) { - Bukkit.getScheduler().runTaskTimer(this.plugin, bukkitTask -> taskConsumer.accept(bukkitTask::cancel), delay, period); - } - - @Override - public CancellableTask runOnEntityAtFixedRate(Entity entity, Runnable task, long delay, long period) { - return runGlobalAtFixedRate(task, delay, period); - } - - @Override - public void runOnEntityAtFixedRate(Entity entity, Consumer taskConsumer, long delay, long period) { - runLocalAtFixedRate(null, taskConsumer, delay, period); - } - - @Override - public void runDelayedOnEntity(Entity entity, Runnable task, long delay) { - Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, task, delay); - } -} diff --git a/Lobby/src/main/java/de/fanta/lobby/schedular/CancellableTask.java b/Lobby/src/main/java/de/fanta/lobby/schedular/CancellableTask.java deleted file mode 100644 index 95fb4f3..0000000 --- a/Lobby/src/main/java/de/fanta/lobby/schedular/CancellableTask.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.fanta.lobby.schedular; - -public interface CancellableTask { - void cancel(); -} diff --git a/Lobby/src/main/java/de/fanta/lobby/schedular/FoliaScheduler.java b/Lobby/src/main/java/de/fanta/lobby/schedular/FoliaScheduler.java deleted file mode 100644 index 685e394..0000000 --- a/Lobby/src/main/java/de/fanta/lobby/schedular/FoliaScheduler.java +++ /dev/null @@ -1,74 +0,0 @@ -package de.fanta.lobby.schedular; - -import de.fanta.lobby.Lobby; -import io.papermc.paper.threadedregions.scheduler.ScheduledTask; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.entity.Entity; - -import java.util.function.Consumer; - -public class FoliaScheduler implements Scheduler { - - private final Lobby plugin; - - public FoliaScheduler(Lobby plugin) { - this.plugin = plugin; - } - - @Override - public void runAsync(Runnable task) { - Bukkit.getServer().getAsyncScheduler().runNow(this.plugin, scheduledTask -> task.run()); - } - - @Override - public void run(Runnable task) { - Bukkit.getServer().getGlobalRegionScheduler().run(this.plugin, scheduledTask -> task.run()); - } - - @Override - public CancellableTask runGlobalDelayed(Runnable task, long delay) { - return Bukkit.getServer().getGlobalRegionScheduler().runDelayed(this.plugin, scheduledTask -> task.run(), delay)::cancel; - } - - @Override - public void runLocalDelayed(Location location, Runnable task, long delay) { - Bukkit.getServer().getRegionScheduler().runDelayed(this.plugin, location, scheduledTask -> task.run(), delay); - } - - @Override - public CancellableTask runLocalAtFixedRate(Location location, Runnable task, long delay, long period) { - return Bukkit.getServer().getRegionScheduler().runAtFixedRate(this.plugin, location, scheduledTask -> task.run(), delay, period)::cancel; - } - - @Override - public void runLocalAtFixedRate(Location location, Consumer taskConsumer, long delay, long period) { - Bukkit.getServer().getRegionScheduler().runAtFixedRate(this.plugin, location, scheduledTask -> taskConsumer.accept(scheduledTask::cancel), delay, period); - } - - @Override - public CancellableTask runGlobalAtFixedRate(Runnable task, long delay, long period) { - return Bukkit.getServer().getGlobalRegionScheduler().runAtFixedRate(this.plugin, scheduledTask -> task.run(), delay, period)::cancel; - } - - @Override - public void runGlobalAtFixedRate(Consumer taskConsumer, long delay, long period) { - Bukkit.getServer().getGlobalRegionScheduler().runAtFixedRate(this.plugin, scheduledTask -> taskConsumer.accept(scheduledTask::cancel), delay, period); - } - - @Override - public CancellableTask runOnEntityAtFixedRate(Entity entity, Runnable task, long delay, long period) { - ScheduledTask createdTask = entity.getScheduler().runAtFixedRate(this.plugin, scheduledTask -> task.run(), null, delay, period); - return createdTask == null ? null : createdTask::cancel; - } - - @Override - public void runOnEntityAtFixedRate(Entity entity, Consumer taskConsumer, long delay, long period) { - entity.getScheduler().runAtFixedRate(this.plugin, scheduledTask -> taskConsumer.accept(scheduledTask::cancel), null, delay, period); - } - - @Override - public void runDelayedOnEntity(Entity entity, Runnable task, long delay) { - entity.getScheduler().runDelayed(this.plugin, scheduledTask -> task.run(), null, delay); - } -} diff --git a/Lobby/src/main/java/de/fanta/lobby/schedular/Scheduler.java b/Lobby/src/main/java/de/fanta/lobby/schedular/Scheduler.java deleted file mode 100644 index fa8d0c4..0000000 --- a/Lobby/src/main/java/de/fanta/lobby/schedular/Scheduler.java +++ /dev/null @@ -1,39 +0,0 @@ -package de.fanta.lobby.schedular; - -import org.bukkit.Location; -import org.bukkit.entity.Entity; - -import java.util.function.Consumer; - -public interface Scheduler { - - void runAsync(Runnable task); - - void run(Runnable task); - - CancellableTask runGlobalDelayed(Runnable task, long delay); - - default void runGlobalDelayed(Runnable task) { - runGlobalDelayed(task, 1); - } - - void runLocalDelayed(Location location, Runnable task, long delay); - - default void runLocalDelayed(Runnable task) { - runGlobalDelayed(task, 1); - } - - CancellableTask runLocalAtFixedRate(Location location, Runnable task, long delay, long period); - - void runLocalAtFixedRate(Location location, Consumer taskConsumer, long delay, long period); - - CancellableTask runGlobalAtFixedRate(Runnable task, long delay, long period); - - void runGlobalAtFixedRate(Consumer taskConsumer, long delay, long period); - - CancellableTask runOnEntityAtFixedRate(Entity entity, Runnable task, long delay, long period); - - void runOnEntityAtFixedRate(Entity entity, Consumer taskConsumer, long delay, long period); - - void runDelayedOnEntity(Entity entity, Runnable task, long delay); -} diff --git a/Lobby/src/main/java/de/fanta/lobby/utils/ComponentUtil.java b/Lobby/src/main/java/de/fanta/lobby/utils/ComponentUtil.java new file mode 100644 index 0000000..e0afee7 --- /dev/null +++ b/Lobby/src/main/java/de/fanta/lobby/utils/ComponentUtil.java @@ -0,0 +1,17 @@ +package de.fanta.lobby.utils; + +import de.fanta.challengeutils.ComponentUtilImpl; +import de.fanta.lobby.Lobby; +import net.kyori.adventure.text.Component; + +public class ComponentUtil implements ComponentUtilImpl { + + public ComponentUtil() { + } + + @Override + public Component getPrefix() { + return Lobby.getPlugin().getPrefixComponent(); + } +} + diff --git a/Lobby/src/main/java/de/fanta/lobby/utils/DurationCommandUtil.java b/Lobby/src/main/java/de/fanta/lobby/utils/DurationCommandUtil.java index b97af35..5a089d9 100644 --- a/Lobby/src/main/java/de/fanta/lobby/utils/DurationCommandUtil.java +++ b/Lobby/src/main/java/de/fanta/lobby/utils/DurationCommandUtil.java @@ -1,6 +1,6 @@ package de.fanta.lobby.utils; -import de.fanta.lobby.ChatUtil; +import de.fanta.lobby.Lobby; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.CommandSender; @@ -31,7 +31,7 @@ public static long parseDuration(CommandSender sender, ArgsParser args, boolean allowPermanent) { if (!args.hasNext()) { - ChatUtil.sendWarningMessage(sender, "Bitte gib die Dauer im Format \"7d12h15m30s\" (eine Einheit genügt)", allowPermanent ? " oder als \"perm\"" : "", " an."); + Lobby.getPlugin().getComponentUtil().sendWarningMessage(sender, "Bitte gib die Dauer im Format \"7d12h15m30s\" (eine Einheit genügt) " + (allowPermanent ? " oder als \"perm\" " : " " + " an.")); return 0; } @@ -47,7 +47,7 @@ throw new NumberFormatException(); } } catch (IllegalArgumentException e) { - ChatUtil.sendWarningMessage(sender, "Bitte gib die Dauer im Format \"7d12h15m30s\" (eine Einheit genügt)", allowPermanent ? " oder als \"perm\"" : "", " an."); + Lobby.getPlugin().getComponentUtil().sendWarningMessage(sender, "Bitte gib die Dauer im Format \"7d12h15m30s\" (eine Einheit genügt) " + (allowPermanent ? " oder als \"perm\" " : " " + " an.")); return 0; } diff --git a/Lobby/src/main/java/de/fanta/lobby/utils/ItemUtil.java b/Lobby/src/main/java/de/fanta/lobby/utils/ItemUtil.java deleted file mode 100644 index cb1c20a..0000000 --- a/Lobby/src/main/java/de/fanta/lobby/utils/ItemUtil.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.fanta.lobby.utils; - -import de.iani.cubesideutils.bukkit.items.ItemBuilder; -import org.bukkit.Material; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.inventory.ItemFlag; -import org.bukkit.inventory.ItemStack; - -public class ItemUtil { - public static final ItemStack EMPTY_ICON = createGuiItem(Material.GRAY_STAINED_GLASS_PANE, " ", true, false); - - public static ItemStack createGuiItem(Material material, String name, String... lore) { - return createGuiItem(material, name, false, lore); - } - - public static ItemStack createGuiItem(Material material, String name, boolean glowing, boolean showTooltip, String... lore) { - ItemBuilder builder = ItemBuilder.fromMaterial(material).displayName(name).lore(lore); - if (glowing) { - builder.enchantment(Enchantment.UNBREAKING, 1, true).flag(ItemFlag.HIDE_ENCHANTS); - } - if (!showTooltip) { - builder.flag(ItemFlag.HIDE_ADDITIONAL_TOOLTIP); - } - return builder.build(); - - } - - public static ItemStack createGuiItem(Material material, String name, boolean glowing, String... lore) { - return createGuiItem(material, name, glowing, true, lore); - } -} diff --git a/Lobby/src/main/resources/plugin.yml b/Lobby/src/main/resources/plugin.yml index c01d91a..a6da946 100644 --- a/Lobby/src/main/resources/plugin.yml +++ b/Lobby/src/main/resources/plugin.yml @@ -3,7 +3,7 @@ main: de.fanta.lobby.Lobby api-version: '1.20' -depend: [GlobalClient, CubesideUtils, GlobalPort, CubesideNMSUtils] +depend: [GlobalClient, CubesideUtils, GlobalPort, CubesideNMSUtils, ChallengeUtils] softdepend: [Challenge, CubesideNPCs, SignGUI, ViaVersion, CubesideStatistics] commands: diff --git a/pom.xml b/pom.xml index 1462d2e..3ca9599 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ io.papermc.paper paper-api - 1.20.6-R0.1-SNAPSHOT + 1.21-R0.1-SNAPSHOT provided