diff --git a/pom.xml b/pom.xml index f04881d..45105d2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.solexgames.practice + land.battle.practice practice LATEST diff --git a/src/main/java/com/solexgames/practice/state/impl/SpawnBoardAdapter.java b/src/main/java/com/solexgames/practice/state/impl/SpawnBoardAdapter.java deleted file mode 100644 index 0436263..0000000 --- a/src/main/java/com/solexgames/practice/state/impl/SpawnBoardAdapter.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.solexgames.practice.state.impl; - -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.runnable.cache.StatusCache; -import com.solexgames.practice.state.PlayerStateAdapter; -import com.solexgames.practice.util.CC; -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author GrowlyX - * @since 8/14/2021 - */ - -public class SpawnBoardAdapter implements PlayerStateAdapter { - - @Override - public List handleBoard(Player player, PlayerData playerData, Party party) { - final List stringList = new ArrayList<>(); - - stringList.add(CC.WHITE + "Online: " + CC.GOLD + Bukkit.getOnlinePlayers().size()); - stringList.add(CC.WHITE + "Fighting: " + CC.GOLD + StatusCache.getInstance().getFighting()); - - return stringList; - } -} diff --git a/src/main/java/com/solexgames/practice/util/DivisionPrizes.java b/src/main/java/com/solexgames/practice/util/DivisionPrizes.java deleted file mode 100644 index 5d1af51..0000000 --- a/src/main/java/com/solexgames/practice/util/DivisionPrizes.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.solexgames.practice.util; - -import com.solexgames.practice.completion.AbstractDivisionPrizeHandler; -import com.solexgames.practice.completion.impl.*; -import com.solexgames.practice.util.division.RankedDivision; -import lombok.experimental.UtilityClass; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author GrowlyX - * @since 8/12/2021 - */ - -@UtilityClass -public class DivisionPrizes { - - public static final Map REACHED_PRIZE_MAP = new HashMap<>(); - - static { - REACHED_PRIZE_MAP.put(RankedDivision.UNRATED, null); - REACHED_PRIZE_MAP.put(RankedDivision.IRON, new IronDivisionPrizeHandler()); - REACHED_PRIZE_MAP.put(RankedDivision.BRONZE, new BronzeDivisionPrizeHandler()); - REACHED_PRIZE_MAP.put(RankedDivision.SILVER, new SilverDivisionPrizeHandler()); - REACHED_PRIZE_MAP.put(RankedDivision.GOLD, new GoldDivisionPrizeHandler()); - REACHED_PRIZE_MAP.put(RankedDivision.DIAMOND, new DiamondDivisionPrizeHandler()); - } - -} diff --git a/src/main/java/com/solexgames/practice/Practice.java b/src/main/java/land/battle/practice/Practice.java similarity index 100% rename from src/main/java/com/solexgames/practice/Practice.java rename to src/main/java/land/battle/practice/Practice.java diff --git a/src/main/java/com/solexgames/practice/PracticeConstants.java b/src/main/java/land/battle/practice/PracticeConstants.java similarity index 89% rename from src/main/java/com/solexgames/practice/PracticeConstants.java rename to src/main/java/land/battle/practice/PracticeConstants.java index 82f339d..6510f4e 100644 --- a/src/main/java/com/solexgames/practice/PracticeConstants.java +++ b/src/main/java/land/battle/practice/PracticeConstants.java @@ -1,11 +1,11 @@ -package com.solexgames.practice; +package land.battle.practice; import com.google.gson.reflect.TypeToken; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.state.PlayerStateAdapter; -import com.solexgames.practice.state.impl.*; -import com.solexgames.practice.util.CC; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.state.PlayerStateAdapter; +import land.battle.practice.state.impl.*; +import land.battle.practice.util.CC; import io.github.nosequel.scoreboard.element.ScoreboardElement; import lombok.experimental.UtilityClass; import org.bukkit.ChatColor; @@ -18,7 +18,7 @@ import java.util.List; import java.util.Map; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/29/2021 */ @@ -36,7 +36,7 @@ public class PracticeConstants { public static final String JEDIS_PRACTICE_SETTING_CATEGORY = "practice_settings"; public static final String JEDIS_DISCORD_REWARD_CATEGORY = "discord_rewards"; - public static final int DEFAULT_ELO = 750; + public static final int DEFAULT_ELO = 1000; public static final List CHANGELOG = Arrays.asList( CC.GRAY + "Leaderboards " + CC.AQUA + "(/leaderboards)", diff --git a/src/main/java/com/solexgames/practice/PracticeServerType.java b/src/main/java/land/battle/practice/PracticeServerType.java similarity index 71% rename from src/main/java/com/solexgames/practice/PracticeServerType.java rename to src/main/java/land/battle/practice/PracticeServerType.java index 5b269b2..898a676 100644 --- a/src/main/java/com/solexgames/practice/PracticeServerType.java +++ b/src/main/java/land/battle/practice/PracticeServerType.java @@ -1,7 +1,7 @@ -package com.solexgames.practice; +package land.battle.practice; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/2/2021 */ diff --git a/src/main/java/com/solexgames/practice/arena/Arena.java b/src/main/java/land/battle/practice/arena/Arena.java similarity index 86% rename from src/main/java/com/solexgames/practice/arena/Arena.java rename to src/main/java/land/battle/practice/arena/Arena.java index a2e9c7a..36c8bb0 100644 --- a/src/main/java/com/solexgames/practice/arena/Arena.java +++ b/src/main/java/land/battle/practice/arena/Arena.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.arena; +package land.battle.practice.arena; -import com.solexgames.practice.arena.type.StandaloneArena; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.arena.type.StandaloneArena; +import land.battle.practice.flags.Flag; +import land.battle.practice.location.impl.impl.AsyncLocation; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/arena/type/StandaloneArena.java b/src/main/java/land/battle/practice/arena/type/StandaloneArena.java similarity index 76% rename from src/main/java/com/solexgames/practice/arena/type/StandaloneArena.java rename to src/main/java/land/battle/practice/arena/type/StandaloneArena.java index afdd3ff..48a33d7 100644 --- a/src/main/java/com/solexgames/practice/arena/type/StandaloneArena.java +++ b/src/main/java/land/battle/practice/arena/type/StandaloneArena.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.arena.type; +package land.battle.practice.arena.type; -import com.solexgames.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.location.impl.impl.AsyncLocation; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/board/BoardAdapter.java b/src/main/java/land/battle/practice/board/BoardAdapter.java similarity index 84% rename from src/main/java/com/solexgames/practice/board/BoardAdapter.java rename to src/main/java/land/battle/practice/board/BoardAdapter.java index 4939782..41b2f78 100644 --- a/src/main/java/com/solexgames/practice/board/BoardAdapter.java +++ b/src/main/java/land/battle/practice/board/BoardAdapter.java @@ -1,20 +1,20 @@ -package com.solexgames.practice.board; +package land.battle.practice.board; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; import io.github.nosequel.scoreboard.element.ScoreboardElement; import io.github.nosequel.scoreboard.element.ScoreboardElementHandler; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ @@ -27,7 +27,7 @@ public class BoardAdapter implements ScoreboardElementHandler { final PlayerData playerData = Practice.getInstance().getPlayerManager() .getPlayerData(player.getUniqueId()); - element.setTitle(CC.GOLD + CC.BOLD + "Practice"); + element.setTitle(CC.GOLD + CC.BOLD + "Battle " + CC.GRAY + "⏐" + CC.WHITE + " Practice"); if (playerData == null || !playerData.getOptions().isScoreboardEnabled()) { return element; diff --git a/src/main/java/com/solexgames/practice/challenges/TenRankedWinsChallenge.java b/src/main/java/land/battle/practice/challenges/TenRankedWinsChallenge.java similarity index 50% rename from src/main/java/com/solexgames/practice/challenges/TenRankedWinsChallenge.java rename to src/main/java/land/battle/practice/challenges/TenRankedWinsChallenge.java index 49b9668..7aef652 100644 --- a/src/main/java/com/solexgames/practice/challenges/TenRankedWinsChallenge.java +++ b/src/main/java/land/battle/practice/challenges/TenRankedWinsChallenge.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.challenges; +package land.battle.practice.challenges; /** - * @author GrowlyX + * @author BattleLand Team * @since 6/25/2021 */ diff --git a/src/main/java/com/solexgames/practice/challenges/TwentyFiveKillsChallenge.java b/src/main/java/land/battle/practice/challenges/TwentyFiveKillsChallenge.java similarity index 94% rename from src/main/java/com/solexgames/practice/challenges/TwentyFiveKillsChallenge.java rename to src/main/java/land/battle/practice/challenges/TwentyFiveKillsChallenge.java index c196298..7dd6101 100644 --- a/src/main/java/com/solexgames/practice/challenges/TwentyFiveKillsChallenge.java +++ b/src/main/java/land/battle/practice/challenges/TwentyFiveKillsChallenge.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.challenges; +package land.battle.practice.challenges; import org.bukkit.ChatColor; @@ -6,7 +6,7 @@ import java.util.Collections; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 6/25/2021 */ diff --git a/src/main/java/com/solexgames/practice/challenges/tracker/KillStreakDataTracker.java b/src/main/java/land/battle/practice/challenges/tracker/KillStreakDataTracker.java similarity index 87% rename from src/main/java/com/solexgames/practice/challenges/tracker/KillStreakDataTracker.java rename to src/main/java/land/battle/practice/challenges/tracker/KillStreakDataTracker.java index 755737f..c86eedf 100644 --- a/src/main/java/com/solexgames/practice/challenges/tracker/KillStreakDataTracker.java +++ b/src/main/java/land/battle/practice/challenges/tracker/KillStreakDataTracker.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.challenges.tracker; +package land.battle.practice.challenges.tracker; -import com.solexgames.practice.Practice; +import land.battle.practice.Practice; import lombok.Getter; import lombok.NoArgsConstructor; @@ -8,7 +8,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/30/2021 */ diff --git a/src/main/java/land/battle/practice/commands/DivisionCommand.java b/src/main/java/land/battle/practice/commands/DivisionCommand.java new file mode 100644 index 0000000..5d6c384 --- /dev/null +++ b/src/main/java/land/battle/practice/commands/DivisionCommand.java @@ -0,0 +1,54 @@ +package land.battle.practice.commands; + +import com.solexgames.lib.acf.BaseCommand; +import com.solexgames.lib.acf.annotation.CommandAlias; +import com.solexgames.lib.acf.annotation.CommandPermission; +import com.solexgames.lib.acf.annotation.Default; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; + +/** + * @author BattleLand Team + * @since 5/17/2021 + */ + +@CommandAlias("division") +public class DivisionCommand extends BaseCommand { + + @Default + public void onDefault(Player player) { + + player.sendMessage(ChatColor.BLUE + ChatColor.BOLD.toString() + "Divisions"); + player.sendMessage(""); + player.sendMessage(ChatColor.BLUE + "Bronze Division"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.RED + "Bronze IV" + ChatColor.GRAY + " 0 - 649"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.RED + "Bronze III" + ChatColor.GRAY + " 650 - 724"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.RED + "Bronze II" + ChatColor.GRAY + " 725 - 799"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.RED + "Bronze I" + ChatColor.GRAY + " 800 - 874"); + player.sendMessage(""); + player.sendMessage(ChatColor.BLUE + "Silver Division"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GRAY + "Silver IV" + ChatColor.GRAY + " 875 - 939"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GRAY + "Silver III" + ChatColor.GRAY + " 940 - 999"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GRAY + "Silver II" + ChatColor.GRAY + " 1000 - 1059"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GRAY + "Silver I" + ChatColor.GRAY + " 1060 - 1119"); + player.sendMessage(""); + player.sendMessage(ChatColor.BLUE + "Gold Division"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GOLD + "Gold IV" + ChatColor.GRAY + " 1120 - 1179"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GOLD + "Gold III" + ChatColor.GRAY + " 1180 - 1239"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GOLD + "Gold II" + ChatColor.GRAY + " 1240 - 1299"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.GOLD + "Gold I" + ChatColor.GRAY + " 1300 - 1359"); + player.sendMessage(""); + player.sendMessage(ChatColor.BLUE + "Diamond Division"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.AQUA + "Diamond IV" + ChatColor.GRAY + " 1360 - 1419"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.AQUA + "Diamond III" + ChatColor.GRAY + " 1420 - 1489"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.AQUA + "Diamond II" + ChatColor.GRAY + " 1490 - 1539"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.AQUA + "Diamond I" + ChatColor.GRAY + " 1540 - 1599"); + player.sendMessage(""); + player.sendMessage(ChatColor.BLUE + "Legendary Division"); + player.sendMessage(ChatColor.GRAY + "* " + ChatColor.DARK_PURPLE + "Legendary" + ChatColor.GRAY + " 1600+"); + } +} diff --git a/src/main/java/com/solexgames/practice/commands/FollowCommand.java b/src/main/java/land/battle/practice/commands/FollowCommand.java similarity index 88% rename from src/main/java/com/solexgames/practice/commands/FollowCommand.java rename to src/main/java/land/battle/practice/commands/FollowCommand.java index dad5425..a6ed7b5 100644 --- a/src/main/java/com/solexgames/practice/commands/FollowCommand.java +++ b/src/main/java/land/battle/practice/commands/FollowCommand.java @@ -1,14 +1,14 @@ -package com.solexgames.practice.commands; +package land.battle.practice.commands; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.annotation.*; import com.solexgames.lib.acf.bukkit.contexts.OnlinePlayer; import com.solexgames.lib.commons.command.context.CommonsPlayer; -import com.solexgames.practice.Practice; +import land.battle.practice.Practice; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/10/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/InventoryCommand.java b/src/main/java/land/battle/practice/commands/InventoryCommand.java similarity index 83% rename from src/main/java/com/solexgames/practice/commands/InventoryCommand.java rename to src/main/java/land/battle/practice/commands/InventoryCommand.java index d94f32b..88ea450 100644 --- a/src/main/java/com/solexgames/practice/commands/InventoryCommand.java +++ b/src/main/java/land/battle/practice/commands/InventoryCommand.java @@ -1,18 +1,18 @@ -package com.solexgames.practice.commands; +package land.battle.practice.commands; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.ConditionFailedException; import com.solexgames.lib.acf.annotation.CommandAlias; import com.solexgames.lib.acf.annotation.Default; import com.solexgames.lib.acf.annotation.Syntax; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.snapshot.InventorySnapshot; +import land.battle.practice.Practice; +import land.battle.practice.match.snapshot.InventorySnapshot; import org.bukkit.entity.Player; import java.util.UUID; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/LeaveFFACommand.java b/src/main/java/land/battle/practice/commands/LeaveFFACommand.java similarity index 79% rename from src/main/java/com/solexgames/practice/commands/LeaveFFACommand.java rename to src/main/java/land/battle/practice/commands/LeaveFFACommand.java index 15db899..271b7c1 100644 --- a/src/main/java/com/solexgames/practice/commands/LeaveFFACommand.java +++ b/src/main/java/land/battle/practice/commands/LeaveFFACommand.java @@ -1,18 +1,18 @@ -package com.solexgames.practice.commands; +package land.battle.practice.commands; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.ConditionFailedException; import com.solexgames.lib.acf.annotation.CommandAlias; import com.solexgames.lib.acf.annotation.Default; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; import org.bukkit.entity.Player; import java.util.UUID; /** - * @author GrowlyX + * @author BattleLand Team * @since 6/9/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/PartyCommand.java b/src/main/java/land/battle/practice/commands/PartyCommand.java similarity index 97% rename from src/main/java/com/solexgames/practice/commands/PartyCommand.java rename to src/main/java/land/battle/practice/commands/PartyCommand.java index 7ce5aa4..19a15e9 100644 --- a/src/main/java/com/solexgames/practice/commands/PartyCommand.java +++ b/src/main/java/land/battle/practice/commands/PartyCommand.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.commands; +package land.battle.practice.commands; import com.solexgames.core.util.Color; import com.solexgames.core.util.clickable.Clickable; @@ -8,12 +8,12 @@ import com.solexgames.lib.acf.ConditionFailedException; import com.solexgames.lib.acf.annotation.*; import com.solexgames.lib.acf.bukkit.contexts.OnlinePlayer; import com.solexgames.lib.commons.command.context.CommonsPlayer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; import net.md_5.bungee.api.chat.ClickEvent; import org.apache.commons.lang3.time.DurationFormatUtils; import org.bukkit.Bukkit; diff --git a/src/main/java/com/solexgames/practice/commands/StatisticCommands.java b/src/main/java/land/battle/practice/commands/StatisticCommands.java similarity index 84% rename from src/main/java/com/solexgames/practice/commands/StatisticCommands.java rename to src/main/java/land/battle/practice/commands/StatisticCommands.java index b54778a..e609757 100644 --- a/src/main/java/com/solexgames/practice/commands/StatisticCommands.java +++ b/src/main/java/land/battle/practice/commands/StatisticCommands.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.commands; +package land.battle.practice.commands; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.annotation.CommandAlias; @@ -7,12 +7,12 @@ import com.solexgames.lib.acf.annotation.Optional; import com.solexgames.lib.acf.annotation.Syntax; import com.solexgames.lib.acf.bukkit.contexts.OnlinePlayer; import com.solexgames.lib.commons.command.context.CommonsPlayer; -import com.solexgames.practice.menu.LeaderboardsMenu; -import com.solexgames.practice.menu.StatisticsMenu; +import land.battle.practice.menu.LeaderboardsMenu; +import land.battle.practice.menu.StatisticsMenu; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/22/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/administration/ArenaCommand.java b/src/main/java/land/battle/practice/commands/administration/ArenaCommand.java similarity index 95% rename from src/main/java/com/solexgames/practice/commands/administration/ArenaCommand.java rename to src/main/java/land/battle/practice/commands/administration/ArenaCommand.java index 64e769b..535f4c6 100644 --- a/src/main/java/com/solexgames/practice/commands/administration/ArenaCommand.java +++ b/src/main/java/land/battle/practice/commands/administration/ArenaCommand.java @@ -1,16 +1,16 @@ -package com.solexgames.practice.commands.administration; +package land.battle.practice.commands.administration; import com.solexgames.core.command.BaseCommand; import com.solexgames.core.command.annotation.Command; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.PageListBuilder; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.menu.management.ArenaManagementMainMenu; -import com.solexgames.practice.runnable.ArenaCommandRunnable; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.flags.Flag; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.menu.management.ArenaManagementMainMenu; +import land.battle.practice.runnable.ArenaCommandRunnable; +import land.battle.practice.util.CC; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/com/solexgames/practice/commands/administration/KitCommand.java b/src/main/java/land/battle/practice/commands/administration/KitCommand.java similarity index 97% rename from src/main/java/com/solexgames/practice/commands/administration/KitCommand.java rename to src/main/java/land/battle/practice/commands/administration/KitCommand.java index 11f04ba..dda2c2e 100644 --- a/src/main/java/com/solexgames/practice/commands/administration/KitCommand.java +++ b/src/main/java/land/battle/practice/commands/administration/KitCommand.java @@ -1,14 +1,14 @@ -package com.solexgames.practice.commands.administration; +package land.battle.practice.commands.administration; import com.solexgames.core.command.BaseCommand; import com.solexgames.core.command.annotation.Command; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.PageListBuilder; -import com.solexgames.practice.Practice; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.ItemUtil; +import land.battle.practice.Practice; +import land.battle.practice.flags.Flag; +import land.battle.practice.kit.Kit; +import land.battle.practice.util.CC; +import land.battle.practice.util.ItemUtil; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Material; diff --git a/src/main/java/com/solexgames/practice/commands/administration/ResetStatsCommand.java b/src/main/java/land/battle/practice/commands/administration/ResetStatsCommand.java similarity index 83% rename from src/main/java/com/solexgames/practice/commands/administration/ResetStatsCommand.java rename to src/main/java/land/battle/practice/commands/administration/ResetStatsCommand.java index 9b8159a..1bf84ca 100644 --- a/src/main/java/com/solexgames/practice/commands/administration/ResetStatsCommand.java +++ b/src/main/java/land/battle/practice/commands/administration/ResetStatsCommand.java @@ -1,20 +1,20 @@ -package com.solexgames.practice.commands.administration; +package land.battle.practice.commands.administration; import com.solexgames.core.util.Color; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.annotation.*; import com.solexgames.lib.acf.bukkit.contexts.OnlinePlayer; import com.solexgames.lib.commons.command.context.CommonsPlayer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.kit.Kit; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/administration/ServerSettingsCommand.java b/src/main/java/land/battle/practice/commands/administration/ServerSettingsCommand.java similarity index 91% rename from src/main/java/com/solexgames/practice/commands/administration/ServerSettingsCommand.java rename to src/main/java/land/battle/practice/commands/administration/ServerSettingsCommand.java index 843c0f0..293265f 100644 --- a/src/main/java/com/solexgames/practice/commands/administration/ServerSettingsCommand.java +++ b/src/main/java/land/battle/practice/commands/administration/ServerSettingsCommand.java @@ -1,19 +1,19 @@ -package com.solexgames.practice.commands.administration; +package land.battle.practice.commands.administration; import com.solexgames.core.CorePlugin; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.annotation.CommandAlias; import com.solexgames.lib.acf.annotation.CommandPermission; import com.solexgames.lib.acf.annotation.Syntax; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.PracticeServerType; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.PracticeServerType; +import land.battle.practice.util.CC; import org.bukkit.ChatColor; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/administration/SetSpawnCommand.java b/src/main/java/land/battle/practice/commands/administration/SetSpawnCommand.java similarity index 94% rename from src/main/java/com/solexgames/practice/commands/administration/SetSpawnCommand.java rename to src/main/java/land/battle/practice/commands/administration/SetSpawnCommand.java index 3784bac..4f73e59 100644 --- a/src/main/java/com/solexgames/practice/commands/administration/SetSpawnCommand.java +++ b/src/main/java/land/battle/practice/commands/administration/SetSpawnCommand.java @@ -1,14 +1,14 @@ -package com.solexgames.practice.commands.administration; +package land.battle.practice.commands.administration; import com.solexgames.core.util.clickable.Clickable; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.CommandHelp; import com.solexgames.lib.acf.ConditionFailedException; import com.solexgames.lib.acf.annotation.*; -import com.solexgames.practice.Practice; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.managers.SpawnManager; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.managers.SpawnManager; +import land.battle.practice.util.CC; import io.papermc.lib.PaperLib; import net.md_5.bungee.api.chat.ClickEvent; import org.bukkit.Location; @@ -20,7 +20,7 @@ import java.util.Collections; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/6/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/administration/TournamentCommand.java b/src/main/java/land/battle/practice/commands/administration/TournamentCommand.java similarity index 94% rename from src/main/java/com/solexgames/practice/commands/administration/TournamentCommand.java rename to src/main/java/land/battle/practice/commands/administration/TournamentCommand.java index abde8e7..3fd7358 100644 --- a/src/main/java/com/solexgames/practice/commands/administration/TournamentCommand.java +++ b/src/main/java/land/battle/practice/commands/administration/TournamentCommand.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.commands.administration; +package land.battle.practice.commands.administration; import com.solexgames.core.util.Color; import com.solexgames.core.util.clickable.Clickable; @@ -6,12 +6,12 @@ import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.CommandHelp; import com.solexgames.lib.acf.ConditionFailedException; import com.solexgames.lib.acf.annotation.*; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.tournament.Tournament; -import com.solexgames.practice.tournament.TournamentState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.kit.Kit; +import land.battle.practice.tournament.Tournament; +import land.battle.practice.tournament.TournamentState; +import land.battle.practice.util.CC; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/comphenix/EntityHider.java b/src/main/java/land/battle/practice/commands/comphenix/EntityHider.java similarity index 99% rename from src/main/java/com/solexgames/practice/comphenix/EntityHider.java rename to src/main/java/land/battle/practice/commands/comphenix/EntityHider.java index 15f11fe..3058aca 100644 --- a/src/main/java/com/solexgames/practice/comphenix/EntityHider.java +++ b/src/main/java/land/battle/practice/commands/comphenix/EntityHider.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.comphenix; +package land.battle.practice.comphenix; import static com.comphenix.protocol.PacketType.Play.Server.*; diff --git a/src/main/java/com/solexgames/practice/commands/duel/AcceptCommand.java b/src/main/java/land/battle/practice/commands/duel/AcceptCommand.java similarity index 88% rename from src/main/java/com/solexgames/practice/commands/duel/AcceptCommand.java rename to src/main/java/land/battle/practice/commands/duel/AcceptCommand.java index 97821c8..628e017 100644 --- a/src/main/java/com/solexgames/practice/commands/duel/AcceptCommand.java +++ b/src/main/java/land/battle/practice/commands/duel/AcceptCommand.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.commands.duel; +package land.battle.practice.commands.duel; import com.solexgames.core.util.Color; import com.solexgames.lib.acf.BaseCommand; @@ -6,17 +6,17 @@ import com.solexgames.lib.acf.ConditionFailedException; import com.solexgames.lib.acf.annotation.*; import com.solexgames.lib.acf.bukkit.contexts.OnlinePlayer; import com.solexgames.lib.commons.command.context.CommonsPlayer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.managers.PartyManager; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchRequest; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.managers.PartyManager; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchRequest; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.queue.QueueType; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.ArrayList; diff --git a/src/main/java/com/solexgames/practice/commands/duel/DuelCommand.java b/src/main/java/land/battle/practice/commands/duel/DuelCommand.java similarity index 90% rename from src/main/java/com/solexgames/practice/commands/duel/DuelCommand.java rename to src/main/java/land/battle/practice/commands/duel/DuelCommand.java index b8ab665..76b671f 100644 --- a/src/main/java/com/solexgames/practice/commands/duel/DuelCommand.java +++ b/src/main/java/land/battle/practice/commands/duel/DuelCommand.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.commands.duel; +package land.battle.practice.commands.duel; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.ConditionFailedException; @@ -8,12 +8,12 @@ import com.solexgames.lib.acf.annotation.Default; import com.solexgames.lib.acf.annotation.Syntax; import com.solexgames.lib.acf.bukkit.contexts.OnlinePlayer; import com.solexgames.lib.commons.command.context.CommonsPlayer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.menu.duel.DuelMenu; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.menu.duel.DuelMenu; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; @CommandAlias("duel|fight") diff --git a/src/main/java/com/solexgames/practice/commands/duel/SpectateCommand.java b/src/main/java/land/battle/practice/commands/duel/SpectateCommand.java similarity index 89% rename from src/main/java/com/solexgames/practice/commands/duel/SpectateCommand.java rename to src/main/java/land/battle/practice/commands/duel/SpectateCommand.java index a98f5e8..3f75c29 100644 --- a/src/main/java/com/solexgames/practice/commands/duel/SpectateCommand.java +++ b/src/main/java/land/battle/practice/commands/duel/SpectateCommand.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.commands.duel; +package land.battle.practice.commands.duel; import com.solexgames.core.util.Color; import com.solexgames.lib.acf.BaseCommand; @@ -9,14 +9,14 @@ import com.solexgames.lib.acf.annotation.Default; import com.solexgames.lib.acf.annotation.Syntax; import com.solexgames.lib.acf.bukkit.contexts.OnlinePlayer; import com.solexgames.lib.commons.command.context.CommonsPlayer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.menu.SpectateMenu; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.menu.SpectateMenu; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; @CommandAlias("spectate|spec") diff --git a/src/main/java/com/solexgames/practice/commands/spawn/SpawnCommand.java b/src/main/java/land/battle/practice/commands/spawn/SpawnCommand.java similarity index 79% rename from src/main/java/com/solexgames/practice/commands/spawn/SpawnCommand.java rename to src/main/java/land/battle/practice/commands/spawn/SpawnCommand.java index 28555bd..b58fb6d 100644 --- a/src/main/java/com/solexgames/practice/commands/spawn/SpawnCommand.java +++ b/src/main/java/land/battle/practice/commands/spawn/SpawnCommand.java @@ -1,17 +1,17 @@ -package com.solexgames.practice.commands.spawn; +package land.battle.practice.commands.spawn; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.annotation.CommandAlias; import com.solexgames.lib.acf.annotation.CommandPermission; import com.solexgames.lib.acf.annotation.Default; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/com/solexgames/practice/commands/time/TimeCommand.java b/src/main/java/land/battle/practice/commands/time/TimeCommand.java similarity index 90% rename from src/main/java/com/solexgames/practice/commands/time/TimeCommand.java rename to src/main/java/land/battle/practice/commands/time/TimeCommand.java index 22e41b0..0fb7238 100644 --- a/src/main/java/com/solexgames/practice/commands/time/TimeCommand.java +++ b/src/main/java/land/battle/practice/commands/time/TimeCommand.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.commands.time; +package land.battle.practice.commands.time; import com.solexgames.lib.acf.BaseCommand; import com.solexgames.lib.acf.annotation.CommandAlias; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; public class TimeCommand extends BaseCommand { diff --git a/src/main/java/com/solexgames/practice/completion/AbstractDivisionPrizeHandler.java b/src/main/java/land/battle/practice/completion/AbstractDivisionPrizeHandler.java similarity index 65% rename from src/main/java/com/solexgames/practice/completion/AbstractDivisionPrizeHandler.java rename to src/main/java/land/battle/practice/completion/AbstractDivisionPrizeHandler.java index 52b43bc..bc04159 100644 --- a/src/main/java/com/solexgames/practice/completion/AbstractDivisionPrizeHandler.java +++ b/src/main/java/land/battle/practice/completion/AbstractDivisionPrizeHandler.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.completion; +package land.battle.practice.completion; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.player.PlayerData; import org.bukkit.entity.Player; import java.util.function.BiConsumer; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/12/2021 */ diff --git a/src/main/java/com/solexgames/practice/completion/impl/BronzeDivisionPrizeHandler.java b/src/main/java/land/battle/practice/completion/impl/BronzeDivisionPrizeHandler.java similarity index 62% rename from src/main/java/com/solexgames/practice/completion/impl/BronzeDivisionPrizeHandler.java rename to src/main/java/land/battle/practice/completion/impl/BronzeDivisionPrizeHandler.java index 9a6ea51..688234a 100644 --- a/src/main/java/com/solexgames/practice/completion/impl/BronzeDivisionPrizeHandler.java +++ b/src/main/java/land/battle/practice/completion/impl/BronzeDivisionPrizeHandler.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.completion.impl; +package land.battle.practice.completion.impl; -import com.solexgames.practice.completion.AbstractDivisionPrizeHandler; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.completion.AbstractDivisionPrizeHandler; +import land.battle.practice.player.PlayerData; import org.bukkit.entity.Player; import java.util.function.BiConsumer; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/12/2021 */ diff --git a/src/main/java/com/solexgames/practice/completion/impl/DiamondDivisionPrizeHandler.java b/src/main/java/land/battle/practice/completion/impl/DiamondDivisionPrizeHandler.java similarity index 62% rename from src/main/java/com/solexgames/practice/completion/impl/DiamondDivisionPrizeHandler.java rename to src/main/java/land/battle/practice/completion/impl/DiamondDivisionPrizeHandler.java index 2c4fc52..1beb2ad 100644 --- a/src/main/java/com/solexgames/practice/completion/impl/DiamondDivisionPrizeHandler.java +++ b/src/main/java/land/battle/practice/completion/impl/DiamondDivisionPrizeHandler.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.completion.impl; +package land.battle.practice.completion.impl; -import com.solexgames.practice.completion.AbstractDivisionPrizeHandler; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.completion.AbstractDivisionPrizeHandler; +import land.battle.practice.player.PlayerData; import org.bukkit.entity.Player; import java.util.function.BiConsumer; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/12/2021 */ diff --git a/src/main/java/com/solexgames/practice/completion/impl/GoldDivisionPrizeHandler.java b/src/main/java/land/battle/practice/completion/impl/GoldDivisionPrizeHandler.java similarity index 62% rename from src/main/java/com/solexgames/practice/completion/impl/GoldDivisionPrizeHandler.java rename to src/main/java/land/battle/practice/completion/impl/GoldDivisionPrizeHandler.java index a41f0fd..a6b81b5 100644 --- a/src/main/java/com/solexgames/practice/completion/impl/GoldDivisionPrizeHandler.java +++ b/src/main/java/land/battle/practice/completion/impl/GoldDivisionPrizeHandler.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.completion.impl; +package land.battle.practice.completion.impl; -import com.solexgames.practice.completion.AbstractDivisionPrizeHandler; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.completion.AbstractDivisionPrizeHandler; +import land.battle.practice.player.PlayerData; import org.bukkit.entity.Player; import java.util.function.BiConsumer; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/12/2021 */ diff --git a/src/main/java/com/solexgames/practice/completion/impl/IronDivisionPrizeHandler.java b/src/main/java/land/battle/practice/completion/impl/IronDivisionPrizeHandler.java similarity index 62% rename from src/main/java/com/solexgames/practice/completion/impl/IronDivisionPrizeHandler.java rename to src/main/java/land/battle/practice/completion/impl/IronDivisionPrizeHandler.java index 0ad856c..25c427e 100644 --- a/src/main/java/com/solexgames/practice/completion/impl/IronDivisionPrizeHandler.java +++ b/src/main/java/land/battle/practice/completion/impl/IronDivisionPrizeHandler.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.completion.impl; +package land.battle.practice.completion.impl; -import com.solexgames.practice.completion.AbstractDivisionPrizeHandler; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.completion.AbstractDivisionPrizeHandler; +import land.battle.practice.player.PlayerData; import org.bukkit.entity.Player; import java.util.function.BiConsumer; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/12/2021 */ diff --git a/src/main/java/com/solexgames/practice/completion/impl/SilverDivisionPrizeHandler.java b/src/main/java/land/battle/practice/completion/impl/SilverDivisionPrizeHandler.java similarity index 62% rename from src/main/java/com/solexgames/practice/completion/impl/SilverDivisionPrizeHandler.java rename to src/main/java/land/battle/practice/completion/impl/SilverDivisionPrizeHandler.java index 7295198..956c89e 100644 --- a/src/main/java/com/solexgames/practice/completion/impl/SilverDivisionPrizeHandler.java +++ b/src/main/java/land/battle/practice/completion/impl/SilverDivisionPrizeHandler.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.completion.impl; +package land.battle.practice.completion.impl; -import com.solexgames.practice.completion.AbstractDivisionPrizeHandler; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.completion.AbstractDivisionPrizeHandler; +import land.battle.practice.player.PlayerData; import org.bukkit.entity.Player; import java.util.function.BiConsumer; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/12/2021 */ diff --git a/src/main/java/com/solexgames/practice/effects/DeathEffect.java b/src/main/java/land/battle/practice/effects/DeathEffect.java similarity index 79% rename from src/main/java/com/solexgames/practice/effects/DeathEffect.java rename to src/main/java/land/battle/practice/effects/DeathEffect.java index d13ea32..bd9c4a8 100644 --- a/src/main/java/com/solexgames/practice/effects/DeathEffect.java +++ b/src/main/java/land/battle/practice/effects/DeathEffect.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.effects; +package land.battle.practice.effects; import org.bukkit.Material; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/23/2021 */ diff --git a/src/main/java/com/solexgames/practice/effects/DeathEffects.java b/src/main/java/land/battle/practice/effects/DeathEffects.java similarity index 51% rename from src/main/java/com/solexgames/practice/effects/DeathEffects.java rename to src/main/java/land/battle/practice/effects/DeathEffects.java index aeb9f61..cfc2118 100644 --- a/src/main/java/com/solexgames/practice/effects/DeathEffects.java +++ b/src/main/java/land/battle/practice/effects/DeathEffects.java @@ -1,9 +1,9 @@ -package com.solexgames.practice.effects; +package land.battle.practice.effects; -import com.solexgames.practice.effects.impl.LightningDeathEffect; +import land.battle.practice.effects.impl.LightningDeathEffect; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/7/2021 */ diff --git a/src/main/java/com/solexgames/practice/effects/impl/BloodDeathEffect.java b/src/main/java/land/battle/practice/effects/impl/BloodDeathEffect.java similarity index 89% rename from src/main/java/com/solexgames/practice/effects/impl/BloodDeathEffect.java rename to src/main/java/land/battle/practice/effects/impl/BloodDeathEffect.java index 4f6b0fd..82f29ca 100644 --- a/src/main/java/com/solexgames/practice/effects/impl/BloodDeathEffect.java +++ b/src/main/java/land/battle/practice/effects/impl/BloodDeathEffect.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.effects.impl; +package land.battle.practice.effects.impl; -import com.solexgames.practice.Practice; -import com.solexgames.practice.effects.DeathEffect; +import land.battle.practice.Practice; +import land.battle.practice.effects.DeathEffect; import lombok.RequiredArgsConstructor; import org.bukkit.Effect; import org.bukkit.Location; @@ -12,7 +12,7 @@ import org.bukkit.scheduler.BukkitRunnable; import java.util.Arrays; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/9/2021 */ diff --git a/src/main/java/com/solexgames/practice/effects/impl/ExplosionDeathEffect.java b/src/main/java/land/battle/practice/effects/impl/ExplosionDeathEffect.java similarity index 86% rename from src/main/java/com/solexgames/practice/effects/impl/ExplosionDeathEffect.java rename to src/main/java/land/battle/practice/effects/impl/ExplosionDeathEffect.java index a10c5c2..8b1b6c3 100644 --- a/src/main/java/com/solexgames/practice/effects/impl/ExplosionDeathEffect.java +++ b/src/main/java/land/battle/practice/effects/impl/ExplosionDeathEffect.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.effects.impl; +package land.battle.practice.effects.impl; -import com.solexgames.practice.effects.DeathEffect; +import land.battle.practice.effects.DeathEffect; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.util.Vector; import xyz.xenondevs.particle.ParticleEffect; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/26/2021 */ diff --git a/src/main/java/com/solexgames/practice/effects/impl/LightningDeathEffect.java b/src/main/java/land/battle/practice/effects/impl/LightningDeathEffect.java similarity index 90% rename from src/main/java/com/solexgames/practice/effects/impl/LightningDeathEffect.java rename to src/main/java/land/battle/practice/effects/impl/LightningDeathEffect.java index 2b4989c..c6c2a84 100644 --- a/src/main/java/com/solexgames/practice/effects/impl/LightningDeathEffect.java +++ b/src/main/java/land/battle/practice/effects/impl/LightningDeathEffect.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.effects.impl; +package land.battle.practice.effects.impl; -import com.solexgames.practice.effects.DeathEffect; +import land.battle.practice.effects.DeathEffect; import net.minecraft.server.v1_8_R3.EntityLightning; import net.minecraft.server.v1_8_R3.Packet; import net.minecraft.server.v1_8_R3.PacketPlayOutSpawnEntityWeather; @@ -9,7 +9,7 @@ import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/23/2021 */ diff --git a/src/main/java/com/solexgames/practice/event/BaseEvent.java b/src/main/java/land/battle/practice/event/BaseEvent.java similarity index 93% rename from src/main/java/com/solexgames/practice/event/BaseEvent.java rename to src/main/java/land/battle/practice/event/BaseEvent.java index 75d20a8..946cf13 100644 --- a/src/main/java/com/solexgames/practice/event/BaseEvent.java +++ b/src/main/java/land/battle/practice/event/BaseEvent.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.event; +package land.battle.practice.event; import org.bukkit.Bukkit; import org.bukkit.event.Cancellable; diff --git a/src/main/java/com/solexgames/practice/event/match/MatchEndEvent.java b/src/main/java/land/battle/practice/event/match/MatchEndEvent.java similarity index 70% rename from src/main/java/com/solexgames/practice/event/match/MatchEndEvent.java rename to src/main/java/land/battle/practice/event/match/MatchEndEvent.java index 03d49e4..67c5d1d 100644 --- a/src/main/java/com/solexgames/practice/event/match/MatchEndEvent.java +++ b/src/main/java/land/battle/practice/event/match/MatchEndEvent.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.event.match; +package land.battle.practice.event.match; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; import lombok.Getter; @Getter diff --git a/src/main/java/com/solexgames/practice/event/match/MatchEvent.java b/src/main/java/land/battle/practice/event/match/MatchEvent.java similarity index 84% rename from src/main/java/com/solexgames/practice/event/match/MatchEvent.java rename to src/main/java/land/battle/practice/event/match/MatchEvent.java index 2541650..4fbb0f2 100644 --- a/src/main/java/com/solexgames/practice/event/match/MatchEvent.java +++ b/src/main/java/land/battle/practice/event/match/MatchEvent.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.event.match; +package land.battle.practice.event.match; -import com.solexgames.practice.match.Match; +import land.battle.practice.match.Match; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.bukkit.event.Event; diff --git a/src/main/java/com/solexgames/practice/event/match/MatchStartEvent.java b/src/main/java/land/battle/practice/event/match/MatchStartEvent.java similarity index 58% rename from src/main/java/com/solexgames/practice/event/match/MatchStartEvent.java rename to src/main/java/land/battle/practice/event/match/MatchStartEvent.java index 54c409f..49e9c33 100644 --- a/src/main/java/com/solexgames/practice/event/match/MatchStartEvent.java +++ b/src/main/java/land/battle/practice/event/match/MatchStartEvent.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.event.match; +package land.battle.practice.event.match; -import com.solexgames.practice.match.Match; +import land.battle.practice.match.Match; public class MatchStartEvent extends MatchEvent { public MatchStartEvent(Match match) { diff --git a/src/main/java/com/solexgames/practice/events/Event.java b/src/main/java/land/battle/practice/events/Event.java similarity index 94% rename from src/main/java/com/solexgames/practice/events/Event.java rename to src/main/java/land/battle/practice/events/Event.java index 1ed1062..ae2ccf6 100644 --- a/src/main/java/com/solexgames/practice/events/Event.java +++ b/src/main/java/land/battle/practice/events/Event.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.events; +package land.battle.practice.events; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.PlayerUtil; +import land.battle.practice.Practice; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; +import land.battle.practice.util.PlayerUtil; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; @@ -19,7 +19,7 @@ import java.util.function.Consumer; import java.util.stream.Collectors; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ diff --git a/src/main/java/com/solexgames/practice/events/EventCountdownTask.java b/src/main/java/land/battle/practice/events/EventCountdownTask.java similarity index 95% rename from src/main/java/com/solexgames/practice/events/EventCountdownTask.java rename to src/main/java/land/battle/practice/events/EventCountdownTask.java index 95b2db4..83f55ae 100644 --- a/src/main/java/com/solexgames/practice/events/EventCountdownTask.java +++ b/src/main/java/land/battle/practice/events/EventCountdownTask.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.events; +package land.battle.practice.events; import com.solexgames.core.util.clickable.Clickable; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import lombok.Getter; import lombok.Setter; import net.md_5.bungee.api.chat.ClickEvent; diff --git a/src/main/java/com/solexgames/practice/events/EventPlayer.java b/src/main/java/land/battle/practice/events/EventPlayer.java similarity index 84% rename from src/main/java/com/solexgames/practice/events/EventPlayer.java rename to src/main/java/land/battle/practice/events/EventPlayer.java index bfb2f03..9efad46 100644 --- a/src/main/java/com/solexgames/practice/events/EventPlayer.java +++ b/src/main/java/land/battle/practice/events/EventPlayer.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.events; +package land.battle.practice.events; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/events/EventState.java b/src/main/java/land/battle/practice/events/EventState.java similarity index 85% rename from src/main/java/com/solexgames/practice/events/EventState.java rename to src/main/java/land/battle/practice/events/EventState.java index 7ec16a2..9ece167 100644 --- a/src/main/java/com/solexgames/practice/events/EventState.java +++ b/src/main/java/land/battle/practice/events/EventState.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.events; +package land.battle.practice.events; public enum EventState { diff --git a/src/main/java/com/solexgames/practice/ffa/FFAManager.java b/src/main/java/land/battle/practice/ffa/FFAManager.java similarity index 87% rename from src/main/java/com/solexgames/practice/ffa/FFAManager.java rename to src/main/java/land/battle/practice/ffa/FFAManager.java index 8a42e3f..25f0c7a 100644 --- a/src/main/java/com/solexgames/practice/ffa/FFAManager.java +++ b/src/main/java/land/battle/practice/ffa/FFAManager.java @@ -1,18 +1,18 @@ -package com.solexgames.practice.ffa; +package land.battle.practice.ffa; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.comphenix.EntityHider; -import com.solexgames.practice.ffa.killstreak.KillStreak; -import com.solexgames.practice.ffa.killstreak.impl.DebuffKillStreak; -import com.solexgames.practice.ffa.killstreak.impl.GappleKillStreak; -import com.solexgames.practice.ffa.killstreak.impl.GodAppleKillStreak; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.PlayerUtil; +import land.battle.practice.Practice; +import land.battle.practice.comphenix.EntityHider; +import land.battle.practice.ffa.killstreak.KillStreak; +import land.battle.practice.ffa.killstreak.impl.DebuffKillStreak; +import land.battle.practice.ffa.killstreak.impl.GappleKillStreak; +import land.battle.practice.ffa.killstreak.impl.GodAppleKillStreak; +import land.battle.practice.kit.Kit; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; +import land.battle.practice.util.PlayerUtil; import io.papermc.lib.PaperLib; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/ffa/killstreak/KillStreak.java b/src/main/java/land/battle/practice/ffa/killstreak/KillStreak.java similarity index 77% rename from src/main/java/com/solexgames/practice/ffa/killstreak/KillStreak.java rename to src/main/java/land/battle/practice/ffa/killstreak/KillStreak.java index c7b6588..5f5f8c7 100644 --- a/src/main/java/com/solexgames/practice/ffa/killstreak/KillStreak.java +++ b/src/main/java/land/battle/practice/ffa/killstreak/KillStreak.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.ffa.killstreak; +package land.battle.practice.ffa.killstreak; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/ffa/killstreak/impl/DebuffKillStreak.java b/src/main/java/land/battle/practice/ffa/killstreak/impl/DebuffKillStreak.java similarity index 80% rename from src/main/java/com/solexgames/practice/ffa/killstreak/impl/DebuffKillStreak.java rename to src/main/java/land/battle/practice/ffa/killstreak/impl/DebuffKillStreak.java index 397667d..8ee98f1 100644 --- a/src/main/java/com/solexgames/practice/ffa/killstreak/impl/DebuffKillStreak.java +++ b/src/main/java/land/battle/practice/ffa/killstreak/impl/DebuffKillStreak.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.ffa.killstreak.impl; +package land.battle.practice.ffa.killstreak.impl; -import com.solexgames.practice.ffa.killstreak.KillStreak; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.PlayerUtil; +import land.battle.practice.ffa.killstreak.KillStreak; +import land.battle.practice.util.CC; +import land.battle.practice.util.PlayerUtil; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/solexgames/practice/ffa/killstreak/impl/GappleKillStreak.java b/src/main/java/land/battle/practice/ffa/killstreak/impl/GappleKillStreak.java similarity index 74% rename from src/main/java/com/solexgames/practice/ffa/killstreak/impl/GappleKillStreak.java rename to src/main/java/land/battle/practice/ffa/killstreak/impl/GappleKillStreak.java index 18790b5..f093798 100644 --- a/src/main/java/com/solexgames/practice/ffa/killstreak/impl/GappleKillStreak.java +++ b/src/main/java/land/battle/practice/ffa/killstreak/impl/GappleKillStreak.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.ffa.killstreak.impl; +package land.battle.practice.ffa.killstreak.impl; -import com.solexgames.practice.ffa.killstreak.KillStreak; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.PlayerUtil; +import land.battle.practice.ffa.killstreak.KillStreak; +import land.battle.practice.util.CC; +import land.battle.practice.util.PlayerUtil; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/solexgames/practice/ffa/killstreak/impl/GodAppleKillStreak.java b/src/main/java/land/battle/practice/ffa/killstreak/impl/GodAppleKillStreak.java similarity index 75% rename from src/main/java/com/solexgames/practice/ffa/killstreak/impl/GodAppleKillStreak.java rename to src/main/java/land/battle/practice/ffa/killstreak/impl/GodAppleKillStreak.java index 1aa5619..3ec2955 100644 --- a/src/main/java/com/solexgames/practice/ffa/killstreak/impl/GodAppleKillStreak.java +++ b/src/main/java/land/battle/practice/ffa/killstreak/impl/GodAppleKillStreak.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.ffa.killstreak.impl; +package land.battle.practice.ffa.killstreak.impl; -import com.solexgames.practice.ffa.killstreak.KillStreak; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.PlayerUtil; +import land.battle.practice.ffa.killstreak.KillStreak; +import land.battle.practice.util.CC; +import land.battle.practice.util.PlayerUtil; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/solexgames/practice/flags/Flag.java b/src/main/java/land/battle/practice/flags/Flag.java similarity index 63% rename from src/main/java/com/solexgames/practice/flags/Flag.java rename to src/main/java/land/battle/practice/flags/Flag.java index 2e0d5a2..4acebaf 100644 --- a/src/main/java/com/solexgames/practice/flags/Flag.java +++ b/src/main/java/land/battle/practice/flags/Flag.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.flags; +package land.battle.practice.flags; /** - * @author GrowlyX + * @author BattleLand Team * @since 6/9/2021 */ @@ -9,13 +9,14 @@ public enum Flag { DEFAULT, HCF, - SUMO, BUILD, SPLEEF, PARKOUR, BEDWARS, BRIDGES, + SIMULATOR, + GLADIATOR, STICK_FIGHT, } diff --git a/src/main/java/com/solexgames/practice/kit/Kit.java b/src/main/java/land/battle/practice/kit/Kit.java similarity index 92% rename from src/main/java/com/solexgames/practice/kit/Kit.java rename to src/main/java/land/battle/practice/kit/Kit.java index 0fed4ad..a15a916 100644 --- a/src/main/java/com/solexgames/practice/kit/Kit.java +++ b/src/main/java/land/battle/practice/kit/Kit.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.kit; +package land.battle.practice.kit; -import com.solexgames.practice.flags.Flag; +import land.battle.practice.flags.Flag; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/kit/PlayerKit.java b/src/main/java/land/battle/practice/kit/PlayerKit.java similarity index 91% rename from src/main/java/com/solexgames/practice/kit/PlayerKit.java rename to src/main/java/land/battle/practice/kit/PlayerKit.java index 576f543..8091eb0 100644 --- a/src/main/java/com/solexgames/practice/kit/PlayerKit.java +++ b/src/main/java/land/battle/practice/kit/PlayerKit.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.kit; +package land.battle.practice.kit; -import com.solexgames.practice.Practice; +import land.battle.practice.Practice; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/com/solexgames/practice/listeners/EntityListener.java b/src/main/java/land/battle/practice/listeners/EntityListener.java similarity index 84% rename from src/main/java/com/solexgames/practice/listeners/EntityListener.java rename to src/main/java/land/battle/practice/listeners/EntityListener.java index de99c9b..c050539 100644 --- a/src/main/java/com/solexgames/practice/listeners/EntityListener.java +++ b/src/main/java/land/battle/practice/listeners/EntityListener.java @@ -1,18 +1,19 @@ -package com.solexgames.practice.listeners; +package land.battle.practice.listeners; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchState; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.runnable.NewRoundRunnable; -import com.solexgames.practice.tournament.Tournament; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.flags.Flag; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchState; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.runnable.NewRoundRunnable; +import land.battle.practice.tournament.Tournament; +import land.battle.practice.util.CC; import io.papermc.lib.PaperLib; import org.bukkit.GameMode; +import org.bukkit.Material; import org.bukkit.entity.Arrow; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; @@ -78,6 +79,9 @@ public class EntityListener implements Listener { @EventHandler public void onEntityDamageByEntity(EntityDamageByEntityEvent event) { + Player whoWasHit = (Player)event.getEntity(); + Player whoHit = (Player)event.getDamager(); + if (!(event.getEntity() instanceof Player)) { event.setCancelled(true); return; @@ -159,6 +163,14 @@ public class EntityListener implements Listener { entityData.setCombo(0); + if (this.isCritical(whoHit)) { + damagerData.incrementCriticalHits(); + } + + if (whoWasHit.isBlocking()) { + entityData.incrementBlockedHits(); + } + if (match.getKit().getName().contains("Boxing")) { if (damagerData.getHits() >= 100) { this.plugin.getMatchManager().removeFighter(entity, entityData, false); @@ -187,6 +199,16 @@ public class EntityListener implements Listener { } } + + private boolean isCritical(Player attacker) { + return attacker.getFallDistance() > 0.0F + && !attacker.isOnGround() + && !attacker.isInsideVehicle() + && !attacker.hasPotionEffect(PotionEffectType.BLINDNESS) + && attacker.getLocation().getBlock().getType() != Material.LADDER + && attacker.getLocation().getBlock().getType() != Material.VINE; + } + @EventHandler public void onPotionSplash(PotionSplashEvent e) { if (!(e.getEntity().getShooter() instanceof Player)) { diff --git a/src/main/java/com/solexgames/practice/listeners/InventoryListener.java b/src/main/java/land/battle/practice/listeners/InventoryListener.java similarity index 83% rename from src/main/java/com/solexgames/practice/listeners/InventoryListener.java rename to src/main/java/land/battle/practice/listeners/InventoryListener.java index b1747eb..0fdcd91 100644 --- a/src/main/java/com/solexgames/practice/listeners/InventoryListener.java +++ b/src/main/java/land/battle/practice/listeners/InventoryListener.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.listeners; +package land.battle.practice.listeners; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/listeners/KillStreakDataTrackerListener.java b/src/main/java/land/battle/practice/listeners/KillStreakDataTrackerListener.java similarity index 91% rename from src/main/java/com/solexgames/practice/listeners/KillStreakDataTrackerListener.java rename to src/main/java/land/battle/practice/listeners/KillStreakDataTrackerListener.java index 54ac2cd..5c95efa 100644 --- a/src/main/java/com/solexgames/practice/listeners/KillStreakDataTrackerListener.java +++ b/src/main/java/land/battle/practice/listeners/KillStreakDataTrackerListener.java @@ -1,15 +1,15 @@ -package com.solexgames.practice.listeners; +package land.battle.practice.listeners; -import com.solexgames.practice.Practice; -import com.solexgames.practice.event.match.MatchEndEvent; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.Practice; +import land.battle.practice.event.match.MatchEndEvent; +import land.battle.practice.player.PlayerData; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/30/2021 */ diff --git a/src/main/java/com/solexgames/practice/listeners/MatchListener.java b/src/main/java/land/battle/practice/listeners/MatchListener.java similarity index 90% rename from src/main/java/com/solexgames/practice/listeners/MatchListener.java rename to src/main/java/land/battle/practice/listeners/MatchListener.java index ef36a82..606e5ac 100644 --- a/src/main/java/com/solexgames/practice/listeners/MatchListener.java +++ b/src/main/java/land/battle/practice/listeners/MatchListener.java @@ -1,24 +1,24 @@ -package com.solexgames.practice.listeners; +package land.battle.practice.listeners; import com.solexgames.core.listener.custom.PlayerFreezeEvent; import com.solexgames.core.menu.impl.player.PlayerInfoMenu; import com.solexgames.core.util.Color; import com.solexgames.core.util.clickable.Clickable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.type.StandaloneArena; -import com.solexgames.practice.event.match.MatchEndEvent; -import com.solexgames.practice.event.match.MatchStartEvent; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchState; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.runnable.MatchRunnable; -import com.solexgames.practice.util.*; -import com.solexgames.practice.util.calc.EloCalculator; +import land.battle.practice.Practice; +import land.battle.practice.arena.type.StandaloneArena; +import land.battle.practice.event.match.MatchEndEvent; +import land.battle.practice.event.match.MatchStartEvent; +import land.battle.practice.flags.Flag; +import land.battle.practice.kit.Kit; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchState; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.queue.QueueType; +import land.battle.practice.runnable.MatchRunnable; +import land.battle.practice.util.*; +import land.battle.practice.util.calc.EloCalculator; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.HoverEvent; @@ -114,7 +114,7 @@ public class MatchListener implements Listener { return; } - if (match.getKit().getFlag().equals(Flag.BUILD) || match.getKit().getFlag().equals(Flag.SPLEEF)) { + if (match.getKit().getFlag().equals(Flag.BUILD) || match.getKit().getFlag().equals(Flag.SPLEEF) || (match.getKit().getFlag().equals(Flag.GLADIATOR) || (match.getKit().getFlag().equals(Flag.SIMULATOR)))) { final StandaloneArena arena = match.getArena().getAvailableArena(); if (arena != null) { @@ -207,8 +207,8 @@ public class MatchListener implements Listener { return; } - match.broadcast(CC.GRAY + CC.STRIKE_THROUGH + "-----------------------------------------------------"); - match.broadcast(Color.MAIN_COLOR + "Match Results" + CC.GRAY + " (Click names to view inventories)"); + match.broadcast(CC.GRAY + " "); + match.broadcast(Color.MAIN_COLOR + "Match Overview" + CC.GRAY + " (click to view inventories)"); final ChatComponentBuilder wInventories = new ChatComponentBuilder(""); final ChatComponentBuilder lInventories = new ChatComponentBuilder(""); @@ -319,10 +319,13 @@ public class MatchListener implements Listener { final int[] rankings = EloCalculator.getNewRankings(winnerElo, loserElo, true); - eloMessage = Color.SECONDARY_COLOR + "Elo updates: " + CC.GREEN + winnerLeader.getName() + " +" + (rankings[0] - winnerElo) + - " (" + rankings[0] + ")" + Color.SECONDARY_COLOR + ", " + - CC.RED + loserLeader.getName() + " -" + (loserElo - rankings[1]) + " (" + - rankings[1] + ")"; + + eloMessage = String.join("\n", + CC.PINK + "ELO Updates:", + CC.GRAY + Constants.THIN_VERTICAL_LINE + " " + CC.GREEN + winnerLeader.getName() + ":" + CC.WHITE + " " + (rankings[0]) + " " + CC.GRAY + "(" + CC.GREEN + "+" + (rankings[0] - winnerElo) + CC.GRAY + ")", + CC.GRAY + Constants.THIN_VERTICAL_LINE + " " + CC.RED + loserLeader.getName() + ":" + CC.WHITE + " " + (rankings[1]) + " " + CC.GRAY + "(" + CC.RED + (rankings[1] - loserElo) + CC.GRAY + ")", + ("") + ); if (match.getType() == QueueType.RANKED) { winnerLeaderData.setElo(kitName, rankings[0]); @@ -379,7 +382,7 @@ public class MatchListener implements Listener { } } - match.broadcast(CC.GRAY + CC.STRIKE_THROUGH + "-----------------------------------------------------"); + match.broadcast(CC.GRAY + " "); match.getTeams().forEach(team -> team.getPlayers().forEach(uuid -> { final Player player = Bukkit.getPlayer(uuid); @@ -413,7 +416,8 @@ public class MatchListener implements Listener { } } - playerData.setLastPlayedArena(match.getArena()); + TaskUtil.runAsync(() -> this.plugin.getVoteManager().sendVoteMessage(player, match.getArena())); + if (!playerData.canPlayRanked() && !player.hasPermission("practice.ranked.bypass")) { player.sendMessage(Color.SECONDARY_COLOR + "You need to win " + Color.MAIN_COLOR + playerData.winsUntilRankedUnlocked() + Color.SECONDARY_COLOR + " more matches to play ranked."); diff --git a/src/main/java/com/solexgames/practice/listeners/MovementListener.java b/src/main/java/land/battle/practice/listeners/MovementListener.java similarity index 86% rename from src/main/java/com/solexgames/practice/listeners/MovementListener.java rename to src/main/java/land/battle/practice/listeners/MovementListener.java index c23764e..06c8cba 100644 --- a/src/main/java/com/solexgames/practice/listeners/MovementListener.java +++ b/src/main/java/land/battle/practice/listeners/MovementListener.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.listeners; +package land.battle.practice.listeners; -import com.solexgames.practice.Practice; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchState; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.BlockUtil; +import land.battle.practice.Practice; +import land.battle.practice.flags.Flag; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchState; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.BlockUtil; import io.papermc.lib.PaperLib; import org.bukkit.Location; import org.bukkit.Material; @@ -16,7 +16,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerMoveEvent; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/20/2021 */ diff --git a/src/main/java/com/solexgames/practice/listeners/PlayerListener.java b/src/main/java/land/battle/practice/listeners/PlayerListener.java similarity index 100% rename from src/main/java/com/solexgames/practice/listeners/PlayerListener.java rename to src/main/java/land/battle/practice/listeners/PlayerListener.java diff --git a/src/main/java/com/solexgames/practice/listeners/WorldListener.java b/src/main/java/land/battle/practice/listeners/WorldListener.java similarity index 91% rename from src/main/java/com/solexgames/practice/listeners/WorldListener.java rename to src/main/java/land/battle/practice/listeners/WorldListener.java index ebffecb..711aacc 100644 --- a/src/main/java/com/solexgames/practice/listeners/WorldListener.java +++ b/src/main/java/land/battle/practice/listeners/WorldListener.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.listeners; +package land.battle.practice.listeners; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.type.StandaloneArena; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchState; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.runnable.BlockRemoveRunnable; +import land.battle.practice.Practice; +import land.battle.practice.arena.type.StandaloneArena; +import land.battle.practice.flags.Flag; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchState; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.runnable.BlockRemoveRunnable; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; @@ -43,7 +43,7 @@ public class WorldListener implements Listener { if (playerData.getPlayerState() == PlayerState.FIGHTING) { Match match = this.plugin.getMatchManager().getMatch(player.getUniqueId()); - if (match.getKit().getFlag().equals(Flag.BUILD)) { + if (match.getKit().getFlag().equals(Flag.BUILD) || match.getKit().getFlag().equals(Flag.SIMULATOR) || match.getKit().getFlag().equals(Flag.GLADIATOR)) { if (!match.getPlacedBlockLocations().contains(event.getBlock().getLocation())) { event.setCancelled(true); } @@ -111,7 +111,7 @@ public class WorldListener implements Listener { return; } - if (!match.getKit().getFlag().equals(Flag.BUILD)) { + if (!match.getKit().getFlag().equals(Flag.BUILD) || !match.getKit().getFlag().equals(Flag.GLADIATOR) || !match.getKit().getFlag().equals(Flag.SIMULATOR)) { if (match.getKit().getFlag().equals(Flag.STICK_FIGHT)) { event.setCancelled(false); @@ -167,7 +167,7 @@ public class WorldListener implements Listener { } if (playerData.getPlayerState() == PlayerState.FIGHTING) { Match match = this.plugin.getMatchManager().getMatch(player.getUniqueId()); - if (!match.getKit().getFlag().equals(Flag.BUILD)) { + if (!match.getKit().getFlag().equals(Flag.BUILD) || !match.getKit().getFlag().equals(Flag.GLADIATOR) || !match.getKit().getFlag().equals(Flag.SIMULATOR)) { event.setCancelled(true); } else { double minX = match.getStandaloneArena().getMin().getX(); diff --git a/src/main/java/com/solexgames/practice/location/WrappedLocation.java b/src/main/java/land/battle/practice/location/WrappedLocation.java similarity index 90% rename from src/main/java/com/solexgames/practice/location/WrappedLocation.java rename to src/main/java/land/battle/practice/location/WrappedLocation.java index f44cc26..06324ea 100644 --- a/src/main/java/com/solexgames/practice/location/WrappedLocation.java +++ b/src/main/java/land/battle/practice/location/WrappedLocation.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.location; +package land.battle.practice.location; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -8,7 +8,7 @@ import org.bukkit.entity.Player; import java.util.concurrent.CompletableFuture; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/6/2021 */ diff --git a/src/main/java/com/solexgames/practice/location/impl/LocationImpl.java b/src/main/java/land/battle/practice/location/impl/LocationImpl.java similarity index 64% rename from src/main/java/com/solexgames/practice/location/impl/LocationImpl.java rename to src/main/java/land/battle/practice/location/impl/LocationImpl.java index 7bc9a43..c6d254b 100644 --- a/src/main/java/com/solexgames/practice/location/impl/LocationImpl.java +++ b/src/main/java/land/battle/practice/location/impl/LocationImpl.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.location.impl; +package land.battle.practice.location.impl; -import com.solexgames.practice.location.WrappedLocation; +import land.battle.practice.location.WrappedLocation; import lombok.Data; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/6/2021 */ diff --git a/src/main/java/com/solexgames/practice/location/impl/impl/AsyncLocation.java b/src/main/java/land/battle/practice/location/impl/impl/AsyncLocation.java similarity index 90% rename from src/main/java/com/solexgames/practice/location/impl/impl/AsyncLocation.java rename to src/main/java/land/battle/practice/location/impl/impl/AsyncLocation.java index 2ace8d1..4503511 100644 --- a/src/main/java/com/solexgames/practice/location/impl/impl/AsyncLocation.java +++ b/src/main/java/land/battle/practice/location/impl/impl/AsyncLocation.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.location.impl.impl; +package land.battle.practice.location.impl.impl; import com.solexgames.core.CorePlugin; -import com.solexgames.practice.location.impl.LocationImpl; -import com.solexgames.practice.util.old.DeprecatedLocation; +import land.battle.practice.location.impl.LocationImpl; +import land.battle.practice.util.old.DeprecatedLocation; import io.papermc.lib.PaperLib; import org.bukkit.Location; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/managers/ArenaManager.java b/src/main/java/land/battle/practice/managers/ArenaManager.java similarity index 94% rename from src/main/java/com/solexgames/practice/managers/ArenaManager.java rename to src/main/java/land/battle/practice/managers/ArenaManager.java index b5f9151..896abd4 100644 --- a/src/main/java/com/solexgames/practice/managers/ArenaManager.java +++ b/src/main/java/land/battle/practice/managers/ArenaManager.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.arena.type.StandaloneArena; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.util.FlatFile; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.arena.type.StandaloneArena; +import land.battle.practice.flags.Flag; +import land.battle.practice.kit.Kit; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.util.FlatFile; import lombok.Getter; import lombok.Setter; import org.bukkit.Material; diff --git a/src/main/java/com/solexgames/practice/managers/ChunkManager.java b/src/main/java/land/battle/practice/managers/ChunkManager.java similarity index 91% rename from src/main/java/com/solexgames/practice/managers/ChunkManager.java rename to src/main/java/land/battle/practice/managers/ChunkManager.java index 5e4c6a9..b3dd4d4 100644 --- a/src/main/java/com/solexgames/practice/managers/ChunkManager.java +++ b/src/main/java/land/battle/practice/managers/ChunkManager.java @@ -1,9 +1,9 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.arena.type.StandaloneArena; -import com.solexgames.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.arena.type.StandaloneArena; +import land.battle.practice.location.impl.impl.AsyncLocation; import io.papermc.lib.PaperLib; import lombok.Getter; diff --git a/src/main/java/com/solexgames/practice/managers/EditorManager.java b/src/main/java/land/battle/practice/managers/EditorManager.java similarity index 83% rename from src/main/java/com/solexgames/practice/managers/EditorManager.java rename to src/main/java/land/battle/practice/managers/EditorManager.java index 6b5b571..77dddd4 100644 --- a/src/main/java/com/solexgames/practice/managers/EditorManager.java +++ b/src/main/java/land/battle/practice/managers/EditorManager.java @@ -1,11 +1,11 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.PlayerUtil; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.util.CC; +import land.battle.practice.util.PlayerUtil; import io.papermc.lib.PaperLib; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/managers/EventManager.java b/src/main/java/land/battle/practice/managers/EventManager.java similarity index 89% rename from src/main/java/com/solexgames/practice/managers/EventManager.java rename to src/main/java/land/battle/practice/managers/EventManager.java index defebd5..b8d3659 100644 --- a/src/main/java/com/solexgames/practice/managers/EventManager.java +++ b/src/main/java/land/battle/practice/managers/EventManager.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; -import com.solexgames.practice.Practice; -import com.solexgames.practice.events.Event; -import com.solexgames.practice.events.EventState; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; +import land.battle.practice.Practice; +import land.battle.practice.events.Event; +import land.battle.practice.events.EventState; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; import lombok.Setter; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -14,7 +14,7 @@ import java.util.*; import java.util.concurrent.ThreadLocalRandom; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ diff --git a/src/main/java/com/solexgames/practice/managers/FollowManager.java b/src/main/java/land/battle/practice/managers/FollowManager.java similarity index 93% rename from src/main/java/com/solexgames/practice/managers/FollowManager.java rename to src/main/java/land/battle/practice/managers/FollowManager.java index 730a623..a238a92 100644 --- a/src/main/java/com/solexgames/practice/managers/FollowManager.java +++ b/src/main/java/land/battle/practice/managers/FollowManager.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; import io.papermc.lib.PaperLib; import org.bukkit.entity.Player; @@ -12,7 +12,7 @@ import java.util.List; import java.util.stream.Collectors; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/10/2021 */ diff --git a/src/main/java/com/solexgames/practice/managers/FunManager.java b/src/main/java/land/battle/practice/managers/FunManager.java similarity index 68% rename from src/main/java/com/solexgames/practice/managers/FunManager.java rename to src/main/java/land/battle/practice/managers/FunManager.java index 2b5e610..5d96b67 100644 --- a/src/main/java/com/solexgames/practice/managers/FunManager.java +++ b/src/main/java/land/battle/practice/managers/FunManager.java @@ -1,21 +1,21 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; -import com.solexgames.practice.effects.DeathEffect; -import com.solexgames.practice.effects.impl.BloodDeathEffect; -import com.solexgames.practice.effects.impl.ExplosionDeathEffect; -import com.solexgames.practice.effects.impl.LightningDeathEffect; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.message.impl.DefaultDeathMessage; -import com.solexgames.practice.message.impl.GamerKillMessages; -import com.solexgames.practice.message.impl.KitchenKillMessages; -import com.solexgames.practice.message.impl.NerdyKillMessages; +import land.battle.practice.effects.DeathEffect; +import land.battle.practice.effects.impl.BloodDeathEffect; +import land.battle.practice.effects.impl.ExplosionDeathEffect; +import land.battle.practice.effects.impl.LightningDeathEffect; +import land.battle.practice.message.KillMessage; +import land.battle.practice.message.impl.DefaultDeathMessage; +import land.battle.practice.message.impl.GamerKillMessages; +import land.battle.practice.message.impl.KitchenKillMessages; +import land.battle.practice.message.impl.NerdyKillMessages; import lombok.Getter; import java.util.ArrayList; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/26/2021 */ diff --git a/src/main/java/com/solexgames/practice/managers/ItemManager.java b/src/main/java/land/battle/practice/managers/ItemManager.java similarity index 100% rename from src/main/java/com/solexgames/practice/managers/ItemManager.java rename to src/main/java/land/battle/practice/managers/ItemManager.java diff --git a/src/main/java/com/solexgames/practice/managers/KitManager.java b/src/main/java/land/battle/practice/managers/KitManager.java similarity index 94% rename from src/main/java/com/solexgames/practice/managers/KitManager.java rename to src/main/java/land/battle/practice/managers/KitManager.java index fdded6f..00e5de7 100644 --- a/src/main/java/com/solexgames/practice/managers/KitManager.java +++ b/src/main/java/land/battle/practice/managers/KitManager.java @@ -1,9 +1,9 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; -import com.solexgames.practice.Practice; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.util.FlatFile; +import land.battle.practice.Practice; +import land.battle.practice.flags.Flag; +import land.battle.practice.kit.Kit; +import land.battle.practice.util.FlatFile; import lombok.Getter; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/com/solexgames/practice/managers/MatchManager.java b/src/main/java/land/battle/practice/managers/MatchManager.java similarity index 95% rename from src/main/java/com/solexgames/practice/managers/MatchManager.java rename to src/main/java/land/battle/practice/managers/MatchManager.java index 14d950b..86c0067 100644 --- a/src/main/java/com/solexgames/practice/managers/MatchManager.java +++ b/src/main/java/land/battle/practice/managers/MatchManager.java @@ -1,30 +1,30 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.event.match.MatchEndEvent; -import com.solexgames.practice.event.match.MatchStartEvent; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.kit.PlayerKit; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchRequest; -import com.solexgames.practice.match.MatchState; -import com.solexgames.practice.match.snapshot.InventorySnapshot; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.runnable.RematchRunnable; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.ItemUtil; -import com.solexgames.practice.util.PlayerUtil; -import com.solexgames.practice.util.TtlHashMap; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.event.match.MatchEndEvent; +import land.battle.practice.event.match.MatchStartEvent; +import land.battle.practice.kit.Kit; +import land.battle.practice.kit.PlayerKit; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchRequest; +import land.battle.practice.match.MatchState; +import land.battle.practice.match.snapshot.InventorySnapshot; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.message.KillMessage; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.queue.QueueType; +import land.battle.practice.runnable.RematchRunnable; +import land.battle.practice.util.CC; +import land.battle.practice.util.ItemUtil; +import land.battle.practice.util.PlayerUtil; +import land.battle.practice.util.TtlHashMap; import io.papermc.lib.PaperLib; import lombok.Getter; import net.minecraft.server.v1_8_R3.EntityPlayer; diff --git a/src/main/java/com/solexgames/practice/managers/MongoManager.java b/src/main/java/land/battle/practice/managers/MongoManager.java similarity index 90% rename from src/main/java/com/solexgames/practice/managers/MongoManager.java rename to src/main/java/land/battle/practice/managers/MongoManager.java index 9577a3e..a38fffc 100644 --- a/src/main/java/com/solexgames/practice/managers/MongoManager.java +++ b/src/main/java/land/battle/practice/managers/MongoManager.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; @@ -28,7 +28,7 @@ public class MongoManager { instance = this; this.client = CorePlugin.getInstance().getCoreDatabase().getClient(); - this.database = this.client.getDatabase("SGSoftware"); + this.database = this.client.getDatabase("Practice"); this.players = this.database.getCollection("practice_profiles"); this.matchOverviews = this.database.getCollection("practice_matches"); diff --git a/src/main/java/com/solexgames/practice/managers/PartyManager.java b/src/main/java/land/battle/practice/managers/PartyManager.java similarity index 93% rename from src/main/java/com/solexgames/practice/managers/PartyManager.java rename to src/main/java/land/battle/practice/managers/PartyManager.java index 5c08a5a..863bbd3 100644 --- a/src/main/java/com/solexgames/practice/managers/PartyManager.java +++ b/src/main/java/land/battle/practice/managers/PartyManager.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.TtlHashMap; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; +import land.battle.practice.util.TtlHashMap; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/managers/PlayerManager.java b/src/main/java/land/battle/practice/managers/PlayerManager.java similarity index 94% rename from src/main/java/com/solexgames/practice/managers/PlayerManager.java rename to src/main/java/land/battle/practice/managers/PlayerManager.java index a9d511c..7739e2f 100644 --- a/src/main/java/com/solexgames/practice/managers/PlayerManager.java +++ b/src/main/java/land/battle/practice/managers/PlayerManager.java @@ -1,23 +1,24 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.mongodb.client.model.Filters; import com.mongodb.client.model.ReplaceOptions; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; import com.solexgames.core.util.builder.ItemBuilder; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.kit.PlayerKit; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.settings.item.ProfileOptionsItemState; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.ItemUtil; -import com.solexgames.practice.util.PlayerUtil; -import com.solexgames.practice.util.division.RankedDivision; -import com.solexgames.practice.util.timer.impl.EnderpearlTimer; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.arena.Arena; +import land.battle.practice.kit.Kit; +import land.battle.practice.kit.PlayerKit; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.settings.item.ProfileOptionsItemState; +import land.battle.practice.util.CC; +import land.battle.practice.util.ItemUtil; +import land.battle.practice.util.PlayerUtil; +import land.battle.practice.util.division.RankedDivision; +import land.battle.practice.util.timer.impl.EnderpearlTimer; import lombok.Getter; import me.lucko.helper.Schedulers; import org.bson.Document; @@ -34,6 +35,8 @@ import java.util.concurrent.ConcurrentHashMap; @Getter public class PlayerManager { + private Arena lastArenaPlayed; + private static final ItemStack REMATCH_ITEM = new ItemBuilder(Material.BLAZE_POWDER) .setDisplayName(CC.AQUA + "Rematch " + CC.GRAY + "(Right Click)") .addLore( diff --git a/src/main/java/com/solexgames/practice/managers/QueueManager.java b/src/main/java/land/battle/practice/managers/QueueManager.java similarity index 96% rename from src/main/java/com/solexgames/practice/managers/QueueManager.java rename to src/main/java/land/battle/practice/managers/QueueManager.java index fdd1cae..3fa9785 100644 --- a/src/main/java/com/solexgames/practice/managers/QueueManager.java +++ b/src/main/java/land/battle/practice/managers/QueueManager.java @@ -1,18 +1,18 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.solexgames.core.util.Color; import com.solexgames.core.util.PlayerUtil; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.queue.QueueEntry; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.kit.Kit; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.queue.QueueEntry; +import land.battle.practice.queue.QueueType; +import land.battle.practice.util.CC; import lombok.Getter; import lombok.Setter; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/managers/SnapshotManager.java b/src/main/java/land/battle/practice/managers/SnapshotManager.java similarity index 82% rename from src/main/java/com/solexgames/practice/managers/SnapshotManager.java rename to src/main/java/land/battle/practice/managers/SnapshotManager.java index 9b2d297..180bc0d 100644 --- a/src/main/java/com/solexgames/practice/managers/SnapshotManager.java +++ b/src/main/java/land/battle/practice/managers/SnapshotManager.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; -import com.solexgames.practice.match.snapshot.InventorySnapshot; -import com.solexgames.practice.util.TtlHashMap; +import land.battle.practice.match.snapshot.InventorySnapshot; +import land.battle.practice.util.TtlHashMap; import lombok.Getter; import java.util.Map; diff --git a/src/main/java/com/solexgames/practice/managers/SpawnManager.java b/src/main/java/land/battle/practice/managers/SpawnManager.java similarity index 93% rename from src/main/java/com/solexgames/practice/managers/SpawnManager.java rename to src/main/java/land/battle/practice/managers/SpawnManager.java index 0497ac7..792ad97 100644 --- a/src/main/java/com/solexgames/practice/managers/SpawnManager.java +++ b/src/main/java/land/battle/practice/managers/SpawnManager.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; -import com.solexgames.practice.Practice; -import com.solexgames.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.Practice; +import land.battle.practice.location.impl.impl.AsyncLocation; import lombok.Getter; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/com/solexgames/practice/managers/TournamentManager.java b/src/main/java/land/battle/practice/managers/TournamentManager.java similarity index 94% rename from src/main/java/com/solexgames/practice/managers/TournamentManager.java rename to src/main/java/land/battle/practice/managers/TournamentManager.java index 3a19409..7148d28 100644 --- a/src/main/java/com/solexgames/practice/managers/TournamentManager.java +++ b/src/main/java/land/battle/practice/managers/TournamentManager.java @@ -1,19 +1,19 @@ -package com.solexgames.practice.managers; +package land.battle.practice.managers; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.runnable.TournamentBroadcastRunnable; -import com.solexgames.practice.runnable.TournamentRunnable; -import com.solexgames.practice.tournament.Tournament; -import com.solexgames.practice.tournament.TournamentState; -import com.solexgames.practice.tournament.TournamentTeam; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.EXPUtil; -import com.solexgames.practice.util.TeamUtil; +import land.battle.practice.Practice; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.runnable.TournamentBroadcastRunnable; +import land.battle.practice.runnable.TournamentRunnable; +import land.battle.practice.tournament.Tournament; +import land.battle.practice.tournament.TournamentState; +import land.battle.practice.tournament.TournamentTeam; +import land.battle.practice.util.CC; +import land.battle.practice.util.EXPUtil; +import land.battle.practice.util.TeamUtil; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/solexgames/practice/match/Match.java b/src/main/java/land/battle/practice/match/Match.java similarity index 94% rename from src/main/java/com/solexgames/practice/match/Match.java rename to src/main/java/land/battle/practice/match/Match.java index 981b2d9..7b6c138 100644 --- a/src/main/java/com/solexgames/practice/match/Match.java +++ b/src/main/java/land/battle/practice/match/Match.java @@ -1,15 +1,15 @@ -package com.solexgames.practice.match; +package land.battle.practice.match; import com.google.common.collect.Sets; import com.solexgames.core.util.SaltUtil; import com.solexgames.core.util.clickable.Clickable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.arena.type.StandaloneArena; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.match.snapshot.InventorySnapshot; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.queue.QueueType; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.arena.type.StandaloneArena; +import land.battle.practice.kit.Kit; +import land.battle.practice.match.snapshot.InventorySnapshot; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.queue.QueueType; import io.netty.util.internal.ConcurrentSet; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/com/solexgames/practice/match/MatchRequest.java b/src/main/java/land/battle/practice/match/MatchRequest.java similarity index 79% rename from src/main/java/com/solexgames/practice/match/MatchRequest.java rename to src/main/java/land/battle/practice/match/MatchRequest.java index 08884a4..1180cc6 100644 --- a/src/main/java/com/solexgames/practice/match/MatchRequest.java +++ b/src/main/java/land/battle/practice/match/MatchRequest.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.match; +package land.battle.practice.match; -import com.solexgames.practice.arena.Arena; +import land.battle.practice.arena.Arena; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/match/MatchState.java b/src/main/java/land/battle/practice/match/MatchState.java similarity index 68% rename from src/main/java/com/solexgames/practice/match/MatchState.java rename to src/main/java/land/battle/practice/match/MatchState.java index d0c43d5..2d83956 100644 --- a/src/main/java/com/solexgames/practice/match/MatchState.java +++ b/src/main/java/land/battle/practice/match/MatchState.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.match; +package land.battle.practice.match; public enum MatchState { diff --git a/src/main/java/com/solexgames/practice/match/snapshot/InventorySnapshot.java b/src/main/java/land/battle/practice/match/snapshot/InventorySnapshot.java similarity index 73% rename from src/main/java/com/solexgames/practice/match/snapshot/InventorySnapshot.java rename to src/main/java/land/battle/practice/match/snapshot/InventorySnapshot.java index 5c80dbb..76c4273 100644 --- a/src/main/java/com/solexgames/practice/match/snapshot/InventorySnapshot.java +++ b/src/main/java/land/battle/practice/match/snapshot/InventorySnapshot.java @@ -1,16 +1,16 @@ -package com.solexgames.practice.match.snapshot; +package land.battle.practice.match.snapshot; import com.solexgames.core.util.Color; import com.solexgames.core.util.PlayerUtil; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.MathUtil; -import com.solexgames.practice.util.StringUtil; +import land.battle.practice.Practice; +import land.battle.practice.match.Match; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; +import land.battle.practice.util.MathUtil; +import land.battle.practice.util.StringUtil; import lombok.Getter; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -103,7 +103,7 @@ public class InventorySnapshot extends Menu { if (potionMatch) { this.potCount = (int) Arrays.stream(contents).filter(Objects::nonNull).map(ItemStack::getDurability).filter(d -> d == 16421).count(); - this.buttonMap.put(48, new ItemBuilder(Material.POTION) + this.buttonMap.put(49, new ItemBuilder(Material.POTION) .setDisplayName(CC.AQUA + "Potion Statistics") .setDurability(16421) .setAmount(this.potCount) @@ -116,7 +116,7 @@ public class InventorySnapshot extends Menu { } else if (soupMatch) { this.soupCount = (int) Arrays.stream(contents).filter(Objects::nonNull).map(ItemStack::getType).filter(d -> d == Material.MUSHROOM_SOUP).count(); - this.buttonMap.put(48, new ItemBuilder(Material.MUSHROOM_SOUP) + this.buttonMap.put(49, new ItemBuilder(Material.MUSHROOM_SOUP) .setDisplayName(CC.GRAY + "Soups Left: " + CC.WHITE + this.soupCount) .setAmount(this.soupCount) .toButton() @@ -125,7 +125,7 @@ public class InventorySnapshot extends Menu { final double roundedHealth = Math.round(health / 2.0 * 2.0) / 2.0; - this.buttonMap.put(45, new ItemBuilder(Material.SPECKLED_MELON) + this.buttonMap.put(47, new ItemBuilder(Material.SPECKLED_MELON) .setDisplayName(CC.GRAY + "Health: " + CC.AQUA + roundedHealth) .setAmount((int) roundedHealth) .toButton() @@ -133,61 +133,56 @@ public class InventorySnapshot extends Menu { final double roundedFood = Math.round(health / 2.0 * 2.0) / 2.0; - this.buttonMap.put(46, new ItemBuilder(Material.COOKED_BEEF) + this.buttonMap.put(48, new ItemBuilder(Material.COOKED_BEEF) .setDisplayName(CC.GRAY + "Hunger: " + CC.AQUA + roundedFood) .setAmount((int) roundedFood) .toButton() ); - this.buttonMap.put(47, new ItemBuilder(Material.POTION) - .setDisplayName(CC.AQUA + "Potion Effects") - .setAmount(potionEffectStrings.size()) - .addLore( - potionEffectStrings.isEmpty() ? InventorySnapshot.NO_EFFECT_LIST : potionEffectStrings - ) - .toButton() - ); - this.longestCombo = playerData.getLongestCombo(); this.totalHits = playerData.getHits(); final int ping = PlayerUtil.getPing(player); - this.buttonMap.put(49, new ItemBuilder(Material.PAPER) + this.buttonMap.put(50, new ItemBuilder(Material.PAPER) .setDisplayName(CC.AQUA + "Match Statistics") .addLore( CC.GRAY + "Longest Combo: " + CC.WHITE + playerData.getLongestCombo() + " hit" + (playerData.getLongestCombo() > 1 ? "s" : ""), CC.GRAY + "Total Hits: " + CC.WHITE + playerData.getHits() + " hit" + (playerData.getHits() > 1 ? "s" : ""), + CC.GRAY + "Blocked Hits: " + CC.WHITE + playerData.getBlockedHits() + " hit" + (playerData.getBlockedHits() > 1 ? "s" : ""), + CC.GRAY + "Critical Hits: " + CC.WHITE + playerData.getCriticalHits() + " hit" + (playerData.getCriticalHits() > 1 ? "s" : ""), CC.GRAY + "Average Ping: " + CC.WHITE + (ping == 1 ? "Unknown" : ping + " ms") ) .toButton() ); if (!match.isParty()) { - this.buttonMap.put(53, new ItemBuilder(Material.LEVER) - .setDisplayName(Color.MAIN_COLOR + "Opponent's Inventory") - .addLore( - CC.GRAY + "See your opponent's inventory", - CC.GRAY + "and combat details." - ) - .toButton((player1, clickType) -> { - final UUID uuid = Practice.getInstance().getMatchManager().getRematcherInventory(player.getUniqueId()); + for (int i = 0; i < 2; i++) { + this.buttonMap.put(i == 0 ? 53 : 45, new ItemBuilder(Material.PAPER) + .setDisplayName(Color.MAIN_COLOR + "Opponent's Inventory") + .addLore( + CC.GRAY + "See your opponent's inventory", + CC.GRAY + "and combat details." + ) + .toButton((player1, clickType) -> { + final UUID uuid = Practice.getInstance().getMatchManager().getRematcherInventory(player.getUniqueId()); - if (uuid == null) { - player1.sendMessage(CC.RED + "The inventory you're currently viewing has expired."); - player1.closeInventory(); - return; - } + if (uuid == null) { + player1.sendMessage(CC.RED + "The inventory you're currently viewing has expired."); + player1.closeInventory(); + return; + } - player1.performCommand("inventory " + uuid); - }) - ); - } + player1.performCommand("inventory " + uuid); + }) + ); + } - for (int i = 36; i < 40; i++) { - this.buttonMap.put(i, new ItemBuilder(armor[39 - i] == null ? InventorySnapshot.AIR : armor[39 - i]) - .toButton() - ); + for (int i = 36; i < 40; i++) { + this.buttonMap.put(i, new ItemBuilder(armor[39 - i] == null ? InventorySnapshot.AIR : armor[39 - i]) + .toButton() + ); + } } } diff --git a/src/main/java/com/solexgames/practice/match/team/KillableTeam.java b/src/main/java/land/battle/practice/match/team/KillableTeam.java similarity index 92% rename from src/main/java/com/solexgames/practice/match/team/KillableTeam.java rename to src/main/java/land/battle/practice/match/team/KillableTeam.java index 830a980..ff9eb00 100644 --- a/src/main/java/com/solexgames/practice/match/team/KillableTeam.java +++ b/src/main/java/land/battle/practice/match/team/KillableTeam.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.match.team; +package land.battle.practice.match.team; -import com.solexgames.practice.Practice; +import land.battle.practice.Practice; import lombok.Getter; import lombok.Setter; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/match/team/impl/MatchTeam.java b/src/main/java/land/battle/practice/match/team/impl/MatchTeam.java similarity index 73% rename from src/main/java/com/solexgames/practice/match/team/impl/MatchTeam.java rename to src/main/java/land/battle/practice/match/team/impl/MatchTeam.java index b352d50..cf16cb5 100644 --- a/src/main/java/com/solexgames/practice/match/team/impl/MatchTeam.java +++ b/src/main/java/land/battle/practice/match/team/impl/MatchTeam.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.match.team.impl; +package land.battle.practice.match.team.impl; -import com.solexgames.practice.match.team.KillableTeam; +import land.battle.practice.match.team.KillableTeam; import lombok.Getter; import java.util.List; diff --git a/src/main/java/com/solexgames/practice/menu/DeathEffectMenu.java b/src/main/java/land/battle/practice/menu/DeathEffectMenu.java similarity index 92% rename from src/main/java/com/solexgames/practice/menu/DeathEffectMenu.java rename to src/main/java/land/battle/practice/menu/DeathEffectMenu.java index 3727a32..46b8219 100644 --- a/src/main/java/com/solexgames/practice/menu/DeathEffectMenu.java +++ b/src/main/java/land/battle/practice/menu/DeathEffectMenu.java @@ -1,11 +1,11 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.HashMap; @@ -13,7 +13,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/7/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/DivisionViewMenu.java b/src/main/java/land/battle/practice/menu/DivisionViewMenu.java similarity index 92% rename from src/main/java/com/solexgames/practice/menu/DivisionViewMenu.java rename to src/main/java/land/battle/practice/menu/DivisionViewMenu.java index f0b1d5e..a4c6649 100644 --- a/src/main/java/com/solexgames/practice/menu/DivisionViewMenu.java +++ b/src/main/java/land/battle/practice/menu/DivisionViewMenu.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.pagination.PaginatedMenu; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.division.RankedDivision; +import land.battle.practice.util.CC; +import land.battle.practice.util.division.RankedDivision; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -13,7 +13,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/12/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/EventHostMenu.java b/src/main/java/land/battle/practice/menu/EventHostMenu.java similarity index 98% rename from src/main/java/com/solexgames/practice/menu/EventHostMenu.java rename to src/main/java/land/battle/practice/menu/EventHostMenu.java index 24d9d53..77f8a70 100644 --- a/src/main/java/com/solexgames/practice/menu/EventHostMenu.java +++ b/src/main/java/land/battle/practice/menu/EventHostMenu.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -13,7 +13,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/JoinQueueMenu.java b/src/main/java/land/battle/practice/menu/JoinQueueMenu.java similarity index 89% rename from src/main/java/com/solexgames/practice/menu/JoinQueueMenu.java rename to src/main/java/land/battle/practice/menu/JoinQueueMenu.java index 72a7526..e4247a3 100644 --- a/src/main/java/com/solexgames/practice/menu/JoinQueueMenu.java +++ b/src/main/java/land/battle/practice/menu/JoinQueueMenu.java @@ -1,18 +1,18 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.runnable.LeaderboardUpdateRunnable; -import com.solexgames.practice.runnable.cache.StatusCache; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.queue.QueueType; +import land.battle.practice.runnable.LeaderboardUpdateRunnable; +import land.battle.practice.runnable.cache.StatusCache; +import land.battle.practice.util.CC; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.bukkit.ChatColor; @@ -25,7 +25,7 @@ import org.bukkit.inventory.ItemStack; import java.util.*; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/KillMessageMenu.java b/src/main/java/land/battle/practice/menu/KillMessageMenu.java similarity index 92% rename from src/main/java/com/solexgames/practice/menu/KillMessageMenu.java rename to src/main/java/land/battle/practice/menu/KillMessageMenu.java index 8a6dd09..608dee9 100644 --- a/src/main/java/com/solexgames/practice/menu/KillMessageMenu.java +++ b/src/main/java/land/battle/practice/menu/KillMessageMenu.java @@ -1,11 +1,11 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -14,7 +14,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/7/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/KyroJoinQueueMenu.java b/src/main/java/land/battle/practice/menu/KyroJoinQueueMenu.java similarity index 96% rename from src/main/java/com/solexgames/practice/menu/KyroJoinQueueMenu.java rename to src/main/java/land/battle/practice/menu/KyroJoinQueueMenu.java index 7d4aac9..46be4eb 100644 --- a/src/main/java/com/solexgames/practice/menu/KyroJoinQueueMenu.java +++ b/src/main/java/land/battle/practice/menu/KyroJoinQueueMenu.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.cryptomorin.xseries.XMaterial; import com.solexgames.core.menu.impl.SettingsMenu; @@ -6,13 +6,13 @@ import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.queue.QueueType; +import land.battle.practice.util.CC; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; @@ -27,7 +27,7 @@ import java.util.*; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/LeaderboardsMenu.java b/src/main/java/land/battle/practice/menu/LeaderboardsMenu.java similarity index 92% rename from src/main/java/com/solexgames/practice/menu/LeaderboardsMenu.java rename to src/main/java/land/battle/practice/menu/LeaderboardsMenu.java index 9175b5c..480fcfe 100644 --- a/src/main/java/com/solexgames/practice/menu/LeaderboardsMenu.java +++ b/src/main/java/land/battle/practice/menu/LeaderboardsMenu.java @@ -1,15 +1,15 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.player.ranks.Rank; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.runnable.LeaderboardUpdateRunnable; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.division.RankedDivision; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.player.PlayerData; +import land.battle.practice.runnable.LeaderboardUpdateRunnable; +import land.battle.practice.util.CC; +import land.battle.practice.util.division.RankedDivision; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.bukkit.ChatColor; @@ -21,7 +21,7 @@ import org.bukkit.inventory.ItemStack; import java.util.*; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/MatchmakingSettingsMenu.java b/src/main/java/land/battle/practice/menu/MatchmakingSettingsMenu.java similarity index 91% rename from src/main/java/com/solexgames/practice/menu/MatchmakingSettingsMenu.java rename to src/main/java/land/battle/practice/menu/MatchmakingSettingsMenu.java index 65ffe65..7298b84 100644 --- a/src/main/java/com/solexgames/practice/menu/MatchmakingSettingsMenu.java +++ b/src/main/java/land/battle/practice/menu/MatchmakingSettingsMenu.java @@ -1,11 +1,11 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -13,7 +13,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/29/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/OtherPartiesMenu.java b/src/main/java/land/battle/practice/menu/OtherPartiesMenu.java similarity index 93% rename from src/main/java/com/solexgames/practice/menu/OtherPartiesMenu.java rename to src/main/java/land/battle/practice/menu/OtherPartiesMenu.java index 6e2f290..eca58f8 100644 --- a/src/main/java/com/solexgames/practice/menu/OtherPartiesMenu.java +++ b/src/main/java/land/battle/practice/menu/OtherPartiesMenu.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.pagination.PaginatedMenu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.party.Party; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -18,7 +18,7 @@ import java.util.*; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/SpectateMenu.java b/src/main/java/land/battle/practice/menu/SpectateMenu.java similarity index 94% rename from src/main/java/com/solexgames/practice/menu/SpectateMenu.java rename to src/main/java/land/battle/practice/menu/SpectateMenu.java index 7a6f066..f2ed602 100644 --- a/src/main/java/com/solexgames/practice/menu/SpectateMenu.java +++ b/src/main/java/land/battle/practice/menu/SpectateMenu.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.pagination.PaginatedMenu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.util.CC; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -14,7 +14,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/16/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/StatisticsMenu.java b/src/main/java/land/battle/practice/menu/StatisticsMenu.java similarity index 94% rename from src/main/java/com/solexgames/practice/menu/StatisticsMenu.java rename to src/main/java/land/battle/practice/menu/StatisticsMenu.java index 0a87bd1..3beadc1 100644 --- a/src/main/java/com/solexgames/practice/menu/StatisticsMenu.java +++ b/src/main/java/land/battle/practice/menu/StatisticsMenu.java @@ -1,14 +1,14 @@ -package com.solexgames.practice.menu; +package land.battle.practice.menu; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.challenges.tracker.KillStreakDataTracker; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.division.RankedDivision; +import land.battle.practice.Practice; +import land.battle.practice.challenges.tracker.KillStreakDataTracker; +import land.battle.practice.kit.Kit; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; +import land.battle.practice.util.division.RankedDivision; import lombok.RequiredArgsConstructor; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -18,7 +18,7 @@ import org.bukkit.inventory.ItemStack; import java.util.*; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/duel/DuelMenu.java b/src/main/java/land/battle/practice/menu/duel/DuelMenu.java similarity index 96% rename from src/main/java/com/solexgames/practice/menu/duel/DuelMenu.java rename to src/main/java/land/battle/practice/menu/duel/DuelMenu.java index e1cb6e4..fa36fe8 100644 --- a/src/main/java/com/solexgames/practice/menu/duel/DuelMenu.java +++ b/src/main/java/land/battle/practice/menu/duel/DuelMenu.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.menu.duel; +package land.battle.practice.menu.duel; import com.solexgames.core.util.Color; import com.solexgames.core.util.PlayerUtil; @@ -6,14 +6,14 @@ import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.clickable.Clickable; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.StringUtil; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.kit.Kit; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; +import land.battle.practice.util.StringUtil; import lombok.RequiredArgsConstructor; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -30,7 +30,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/29/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/editor/KitEditorMainMenu.java b/src/main/java/land/battle/practice/menu/editor/KitEditorMainMenu.java similarity index 91% rename from src/main/java/com/solexgames/practice/menu/editor/KitEditorMainMenu.java rename to src/main/java/land/battle/practice/menu/editor/KitEditorMainMenu.java index 36c14f8..d9859de 100644 --- a/src/main/java/com/solexgames/practice/menu/editor/KitEditorMainMenu.java +++ b/src/main/java/land/battle/practice/menu/editor/KitEditorMainMenu.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.menu.editor; +package land.battle.practice.menu.editor; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.pagination.PaginatedMenu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -19,7 +19,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/editor/KitEditorMenu.java b/src/main/java/land/battle/practice/menu/editor/KitEditorMenu.java similarity index 94% rename from src/main/java/com/solexgames/practice/menu/editor/KitEditorMenu.java rename to src/main/java/land/battle/practice/menu/editor/KitEditorMenu.java index 5fecc28..a9249ad 100644 --- a/src/main/java/com/solexgames/practice/menu/editor/KitEditorMenu.java +++ b/src/main/java/land/battle/practice/menu/editor/KitEditorMenu.java @@ -1,15 +1,15 @@ -package com.solexgames.practice.menu.editor; +package land.battle.practice.menu.editor; import com.solexgames.core.CorePlugin; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.kit.PlayerKit; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.prompt.RenameKitLoadoutPrompt; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.kit.PlayerKit; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; +import land.battle.practice.util.prompt.RenameKitLoadoutPrompt; import lombok.RequiredArgsConstructor; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -21,7 +21,7 @@ import java.util.Map; import java.util.stream.IntStream; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/management/ArenaManagementMainMenu.java b/src/main/java/land/battle/practice/menu/management/ArenaManagementMainMenu.java similarity index 88% rename from src/main/java/com/solexgames/practice/menu/management/ArenaManagementMainMenu.java rename to src/main/java/land/battle/practice/menu/management/ArenaManagementMainMenu.java index f131fe2..4115189 100644 --- a/src/main/java/com/solexgames/practice/menu/management/ArenaManagementMainMenu.java +++ b/src/main/java/land/battle/practice/menu/management/ArenaManagementMainMenu.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.menu.management; +package land.battle.practice.menu.management; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.pagination.PaginatedMenu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.menu.management.generation.ArenaManagementGenerationMenu; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.menu.management.generation.ArenaManagementGenerationMenu; +import land.battle.practice.util.CC; import io.papermc.lib.PaperLib; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -16,7 +16,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/8/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/management/generation/ArenaManagementGenerationMenu.java b/src/main/java/land/battle/practice/menu/management/generation/ArenaManagementGenerationMenu.java similarity index 93% rename from src/main/java/com/solexgames/practice/menu/management/generation/ArenaManagementGenerationMenu.java rename to src/main/java/land/battle/practice/menu/management/generation/ArenaManagementGenerationMenu.java index c1709df..fba5d0e 100644 --- a/src/main/java/com/solexgames/practice/menu/management/generation/ArenaManagementGenerationMenu.java +++ b/src/main/java/land/battle/practice/menu/management/generation/ArenaManagementGenerationMenu.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.menu.management.generation; +package land.battle.practice.menu.management.generation; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.pagination.PaginatedMenu; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.util.CC; +import land.battle.practice.arena.Arena; +import land.battle.practice.util.CC; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -13,7 +13,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/8/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/party/PartyEventsMenu.java b/src/main/java/land/battle/practice/menu/party/PartyEventsMenu.java similarity index 89% rename from src/main/java/com/solexgames/practice/menu/party/PartyEventsMenu.java rename to src/main/java/land/battle/practice/menu/party/PartyEventsMenu.java index 49d35e3..244c523 100644 --- a/src/main/java/com/solexgames/practice/menu/party/PartyEventsMenu.java +++ b/src/main/java/land/battle/practice/menu/party/PartyEventsMenu.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.menu.party; +package land.battle.practice.menu.party; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.menu.OtherPartiesMenu; -import com.solexgames.practice.menu.party.events.PartyFFAMenu; -import com.solexgames.practice.menu.party.events.PartySplitMenu; -import com.solexgames.practice.util.CC; +import land.battle.practice.menu.OtherPartiesMenu; +import land.battle.practice.menu.party.events.PartyFFAMenu; +import land.battle.practice.menu.party.events.PartySplitMenu; +import land.battle.practice.util.CC; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -15,7 +15,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/22/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/party/PartyQueueMenu.java b/src/main/java/land/battle/practice/menu/party/PartyQueueMenu.java similarity index 90% rename from src/main/java/com/solexgames/practice/menu/party/PartyQueueMenu.java rename to src/main/java/land/battle/practice/menu/party/PartyQueueMenu.java index bc8a9e4..fcf7163 100644 --- a/src/main/java/com/solexgames/practice/menu/party/PartyQueueMenu.java +++ b/src/main/java/land/battle/practice/menu/party/PartyQueueMenu.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.menu.party; +package land.battle.practice.menu.party; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.menu.JoinQueueMenu; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.util.CC; +import land.battle.practice.menu.JoinQueueMenu; +import land.battle.practice.queue.QueueType; +import land.battle.practice.util.CC; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -14,7 +14,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author GrowlyX + * @author BattleLand Team * @since 6/30/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/party/events/PartyFFAMenu.java b/src/main/java/land/battle/practice/menu/party/events/PartyFFAMenu.java similarity index 88% rename from src/main/java/com/solexgames/practice/menu/party/events/PartyFFAMenu.java rename to src/main/java/land/battle/practice/menu/party/events/PartyFFAMenu.java index d4318ec..dadf112 100644 --- a/src/main/java/com/solexgames/practice/menu/party/events/PartyFFAMenu.java +++ b/src/main/java/land/battle/practice/menu/party/events/PartyFFAMenu.java @@ -1,15 +1,15 @@ -package com.solexgames.practice.menu.party.events; +package land.battle.practice.menu.party.events; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.menu.party.events.arena.PartyFFAArenaMenu; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.menu.party.events.arena.PartyFFAArenaMenu; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -23,7 +23,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/22/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/party/events/PartySplitMenu.java b/src/main/java/land/battle/practice/menu/party/events/PartySplitMenu.java similarity index 86% rename from src/main/java/com/solexgames/practice/menu/party/events/PartySplitMenu.java rename to src/main/java/land/battle/practice/menu/party/events/PartySplitMenu.java index 713504a..620416c 100644 --- a/src/main/java/com/solexgames/practice/menu/party/events/PartySplitMenu.java +++ b/src/main/java/land/battle/practice/menu/party/events/PartySplitMenu.java @@ -1,16 +1,16 @@ -package com.solexgames.practice.menu.party.events; +package land.battle.practice.menu.party.events; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.menu.party.events.arena.PartyFFAArenaMenu; -import com.solexgames.practice.menu.party.events.arena.PartySplitArenaMenu; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.menu.party.events.arena.PartyFFAArenaMenu; +import land.battle.practice.menu.party.events.arena.PartySplitArenaMenu; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -24,7 +24,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/22/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/party/events/arena/PartyFFAArenaMenu.java b/src/main/java/land/battle/practice/menu/party/events/arena/PartyFFAArenaMenu.java similarity index 88% rename from src/main/java/com/solexgames/practice/menu/party/events/arena/PartyFFAArenaMenu.java rename to src/main/java/land/battle/practice/menu/party/events/arena/PartyFFAArenaMenu.java index 058dfe5..899fa5f 100644 --- a/src/main/java/com/solexgames/practice/menu/party/events/arena/PartyFFAArenaMenu.java +++ b/src/main/java/land/battle/practice/menu/party/events/arena/PartyFFAArenaMenu.java @@ -1,18 +1,18 @@ -package com.solexgames.practice.menu.party.events.arena; +package land.battle.practice.menu.party.events.arena; import com.google.common.collect.Lists; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.kit.Kit; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.queue.QueueType; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -27,7 +27,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/22/2021 */ diff --git a/src/main/java/com/solexgames/practice/menu/party/events/arena/PartySplitArenaMenu.java b/src/main/java/land/battle/practice/menu/party/events/arena/PartySplitArenaMenu.java similarity index 88% rename from src/main/java/com/solexgames/practice/menu/party/events/arena/PartySplitArenaMenu.java rename to src/main/java/land/battle/practice/menu/party/events/arena/PartySplitArenaMenu.java index d3da172..af1824e 100644 --- a/src/main/java/com/solexgames/practice/menu/party/events/arena/PartySplitArenaMenu.java +++ b/src/main/java/land/battle/practice/menu/party/events/arena/PartySplitArenaMenu.java @@ -1,17 +1,17 @@ -package com.solexgames.practice.menu.party.events.arena; +package land.battle.practice.menu.party.events.arena; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.kit.Kit; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.queue.QueueType; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -26,7 +26,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/22/2021 */ diff --git a/src/main/java/com/solexgames/practice/message/KillMessage.java b/src/main/java/land/battle/practice/message/KillMessage.java similarity index 62% rename from src/main/java/com/solexgames/practice/message/KillMessage.java rename to src/main/java/land/battle/practice/message/KillMessage.java index 3319a54..5e83ded 100644 --- a/src/main/java/com/solexgames/practice/message/KillMessage.java +++ b/src/main/java/land/battle/practice/message/KillMessage.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.message; +package land.battle.practice.message; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/4/2021 */ @@ -27,12 +27,12 @@ public interface KillMessage { stringList.add(" "); this.getMessages().forEach(message -> { - stringList.add(CC.GRAY + "... was " + CC.YELLOW + message + CC.GRAY + " by ..."); + stringList.add(CC.GRAY + "... foi " + CC.YELLOW + message + CC.GRAY + " por ..."); }); stringList.add(" "); - stringList.add(CC.WHITE + CC.ITALIC + "One of these messages will"); - stringList.add(CC.WHITE + CC.ITALIC + "appear when you kill someone."); + stringList.add(CC.WHITE + CC.ITALIC + "Uma dessas mensagens vai"); + stringList.add(CC.WHITE + CC.ITALIC + "aparecer quando voce mata alguem."); return stringList; } diff --git a/src/main/java/com/solexgames/practice/message/impl/DefaultDeathMessage.java b/src/main/java/land/battle/practice/message/impl/DefaultDeathMessage.java similarity index 65% rename from src/main/java/com/solexgames/practice/message/impl/DefaultDeathMessage.java rename to src/main/java/land/battle/practice/message/impl/DefaultDeathMessage.java index f4b6527..0d9edc9 100644 --- a/src/main/java/com/solexgames/practice/message/impl/DefaultDeathMessage.java +++ b/src/main/java/land/battle/practice/message/impl/DefaultDeathMessage.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.message.impl; +package land.battle.practice.message.impl; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.util.CC; +import land.battle.practice.message.KillMessage; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.ArrayList; @@ -10,7 +10,7 @@ import java.util.Collections; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/4/2021 */ @@ -24,10 +24,10 @@ public class DefaultDeathMessage implements KillMessage { @Override public String getFormatted(Player player, Player other, boolean otherPlayerExists) { if (!otherPlayerExists) { - return CC.RED + player.getName() + CC.GRAY + " was killed."; + return CC.RED + player.getName() + CC.GRAY + " foi morto."; } - return CC.RED + player.getName() + CC.GRAY + " was killed by " + CC.GREEN + other.getName() + CC.GRAY + "."; + return CC.RED + player.getName() + CC.GRAY + " foi morto por " + CC.GREEN + other.getName() + CC.GRAY + "."; } @Override diff --git a/src/main/java/com/solexgames/practice/message/impl/GamerKillMessages.java b/src/main/java/land/battle/practice/message/impl/GamerKillMessages.java similarity index 59% rename from src/main/java/com/solexgames/practice/message/impl/GamerKillMessages.java rename to src/main/java/land/battle/practice/message/impl/GamerKillMessages.java index ae211b5..675c8a5 100644 --- a/src/main/java/com/solexgames/practice/message/impl/GamerKillMessages.java +++ b/src/main/java/land/battle/practice/message/impl/GamerKillMessages.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.message.impl; +package land.battle.practice.message.impl; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.util.CC; +import land.battle.practice.message.KillMessage; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.Arrays; @@ -9,7 +9,7 @@ import java.util.List; import java.util.concurrent.ThreadLocalRandom; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/4/2021 */ @@ -25,25 +25,25 @@ public class GamerKillMessages implements KillMessage { final String randomMessage = CC.YELLOW + this.getMessages().get(ThreadLocalRandom.current().nextInt(this.getMessages().size())) + CC.GRAY; if (!otherPlayerExists) { - return CC.RED + player.getName() + CC.GRAY + " was " + randomMessage + "."; + return CC.RED + player.getName() + CC.GRAY + " foi " + randomMessage + "."; } - return CC.RED + player.getName() + CC.GRAY + " was " + randomMessage + " by " + CC.GREEN + other.getName() + CC.GRAY + "."; + return CC.RED + player.getName() + CC.GRAY + " foi " + randomMessage + " por " + CC.GREEN + other.getName() + CC.GRAY + "."; } @Override public List getMessages() { return Arrays.asList( - "destroyed", "rolled", - "shoved into a locker", "clapped" + "destruido", "enrolado", + "enfiado em um armario", "espancado" ); } @Override public List getDescription() { return Arrays.asList( - CC.GRAY + "Trigger your opponents", - CC.GRAY + "using slightly toxic phrases." + CC.GRAY + "Irrite seus oponentes", + CC.GRAY + "usando frases levemente toxicas." ); } } diff --git a/src/main/java/com/solexgames/practice/message/impl/KitchenKillMessages.java b/src/main/java/land/battle/practice/message/impl/KitchenKillMessages.java similarity index 60% rename from src/main/java/com/solexgames/practice/message/impl/KitchenKillMessages.java rename to src/main/java/land/battle/practice/message/impl/KitchenKillMessages.java index bf8535e..1232569 100644 --- a/src/main/java/com/solexgames/practice/message/impl/KitchenKillMessages.java +++ b/src/main/java/land/battle/practice/message/impl/KitchenKillMessages.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.message.impl; +package land.battle.practice.message.impl; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.util.CC; +import land.battle.practice.message.KillMessage; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.Arrays; @@ -9,7 +9,7 @@ import java.util.List; import java.util.concurrent.ThreadLocalRandom; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/4/2021 */ @@ -25,25 +25,25 @@ public class KitchenKillMessages implements KillMessage { final String randomMessage = CC.YELLOW + this.getMessages().get(ThreadLocalRandom.current().nextInt(this.getMessages().size())) + CC.GRAY; if (!otherPlayerExists) { - return CC.RED + player.getName() + CC.GRAY + " was " + randomMessage + "."; + return CC.RED + player.getName() + CC.GRAY + " foi " + randomMessage + "."; } - return CC.RED + player.getName() + CC.GRAY + " was " + randomMessage + " by " + CC.GREEN + other.getName() + CC.GRAY + "."; + return CC.RED + player.getName() + CC.GRAY + " foi " + randomMessage + " por " + CC.GREEN + other.getName() + CC.GRAY + "."; } @Override public List getMessages() { return Arrays.asList( - "slow roasted", "marinated", - "steamed", "deep fried" + "assado lentamente", "marinado", + "cozido no vapor", "frito" ); } @Override public List getDescription() { return Arrays.asList( - CC.GRAY + "Common phrases and terms", - CC.GRAY + "used in the kitchen." + CC.GRAY + "frases e termos comuns", + CC.GRAY + "usados na cozinha." ); } } diff --git a/src/main/java/com/solexgames/practice/message/impl/NerdyKillMessages.java b/src/main/java/land/battle/practice/message/impl/NerdyKillMessages.java similarity index 57% rename from src/main/java/com/solexgames/practice/message/impl/NerdyKillMessages.java rename to src/main/java/land/battle/practice/message/impl/NerdyKillMessages.java index 45deaeb..fae7cf3 100644 --- a/src/main/java/com/solexgames/practice/message/impl/NerdyKillMessages.java +++ b/src/main/java/land/battle/practice/message/impl/NerdyKillMessages.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.message.impl; +package land.battle.practice.message.impl; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.util.CC; +import land.battle.practice.message.KillMessage; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.Arrays; @@ -10,7 +10,7 @@ import java.util.List; import java.util.concurrent.ThreadLocalRandom; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/4/2021 */ @@ -26,29 +26,28 @@ public class NerdyKillMessages implements KillMessage { final String randomMessage = CC.YELLOW + this.getMessages().get(ThreadLocalRandom.current().nextInt(this.getMessages().size())) + CC.GRAY; if (!otherPlayerExists) { - return CC.RED + player.getName() + CC.GRAY + " was " + randomMessage + "."; + return CC.RED + player.getName() + CC.GRAY + " foi " + randomMessage + "."; } - return CC.RED + player.getName() + CC.GRAY + " was " + randomMessage + " by " + CC.GREEN + other.getName() + CC.GRAY + "."; + return CC.RED + player.getName() + CC.GRAY + " foi " + randomMessage + " por " + CC.GREEN + other.getName() + CC.GRAY + "."; } @Override public List getMessages() { return Arrays.asList( - "ALT+F4'd", - "deleted", - "crashed", - "ratted", - "hacked", - "over-heated" + "deletado", + "crashado", + "dedurado", + "hackeado", + "superaquecido" ); } @Override public List getDescription() { return Arrays.asList( - CC.GRAY + "Nerdy computer terms", - CC.GRAY + "to trigger your opponents." + CC.GRAY + "termos nerds de informatica", + CC.GRAY + "para irritar seu oponente." ); } } diff --git a/src/main/java/com/solexgames/practice/party/Party.java b/src/main/java/land/battle/practice/party/Party.java similarity index 92% rename from src/main/java/com/solexgames/practice/party/Party.java rename to src/main/java/land/battle/practice/party/Party.java index c474cbf..43058f8 100644 --- a/src/main/java/com/solexgames/practice/party/Party.java +++ b/src/main/java/land/battle/practice/party/Party.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.party; +package land.battle.practice.party; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.team.impl.MatchTeam; +import land.battle.practice.Practice; +import land.battle.practice.match.team.impl.MatchTeam; import lombok.Getter; import lombok.Setter; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/player/PlayerData.java b/src/main/java/land/battle/practice/player/PlayerData.java similarity index 89% rename from src/main/java/com/solexgames/practice/player/PlayerData.java rename to src/main/java/land/battle/practice/player/PlayerData.java index 33148a8..dd1af73 100644 --- a/src/main/java/com/solexgames/practice/player/PlayerData.java +++ b/src/main/java/land/battle/practice/player/PlayerData.java @@ -1,17 +1,17 @@ -package com.solexgames.practice.player; +package land.battle.practice.player; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.completion.AbstractDivisionPrizeHandler; -import com.solexgames.practice.util.DivisionPrizes; -import com.solexgames.practice.effects.DeathEffect; -import com.solexgames.practice.effects.DeathEffects; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.kit.PlayerKit; -import com.solexgames.practice.settings.ProfileOptions; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.division.RankedDivision; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.arena.Arena; +import land.battle.practice.completion.AbstractDivisionPrizeHandler; +import land.battle.practice.util.DivisionPrizes; +import land.battle.practice.effects.DeathEffect; +import land.battle.practice.effects.DeathEffects; +import land.battle.practice.kit.Kit; +import land.battle.practice.kit.PlayerKit; +import land.battle.practice.settings.ProfileOptions; +import land.battle.practice.util.CC; +import land.battle.practice.util.division.RankedDivision; import io.papermc.lib.PaperLib; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -59,6 +59,8 @@ public class PlayerData { private int rematchID = -1; private int missedPots; private int longestCombo; + private int criticalHits; + private int blockedHits; private int combo; private int hits; private int globalElo = 750; @@ -72,7 +74,7 @@ public class PlayerData { private Player following; private Arena lastPlayedArena; - private RankedDivision rankedDivision = RankedDivision.UNRATED; + private RankedDivision rankedDivision = RankedDivision.SilverII; private DeathEffect effect = DeathEffects.LIGHTNING; { @@ -112,6 +114,15 @@ public class PlayerData { return this.unrankedWinCount >= 10; } + public void incrementCriticalHits() { + criticalHits++; + } + + public void incrementBlockedHits() { + blockedHits++; + } + + public int winsUntilRankedUnlocked() { if (this.canPlayRanked()) { return 0; @@ -223,7 +234,7 @@ public class PlayerData { if (nextDivision.isLowerThan(currentDivision)) { this.getBukkitPlayer().sendMessage(CC.YELLOW + "You've de-ranked from " + currentDivision.getFancyName() + CC.YELLOW + " to " + CC.AQUA + nextDivision.getFancyName() + CC.YELLOW + "."); } else if (nextDivision.isHigherThan(currentDivision)) { - if (!this.rankedDivisionBooleanMap.get(nextDivision.name()) && !nextDivision.equals(RankedDivision.UNRATED)) { + if (!this.rankedDivisionBooleanMap.get(nextDivision.name()) && !nextDivision.equals(RankedDivision.SilverII)) { final AbstractDivisionPrizeHandler prizeHandler = DivisionPrizes.REACHED_PRIZE_MAP.get(nextDivision); if (prizeHandler != null) { diff --git a/src/main/java/com/solexgames/practice/player/PlayerState.java b/src/main/java/land/battle/practice/player/PlayerState.java similarity index 76% rename from src/main/java/com/solexgames/practice/player/PlayerState.java rename to src/main/java/land/battle/practice/player/PlayerState.java index 18994ea..d0d4d74 100644 --- a/src/main/java/com/solexgames/practice/player/PlayerState.java +++ b/src/main/java/land/battle/practice/player/PlayerState.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.player; +package land.battle.practice.player; public enum PlayerState { diff --git a/src/main/java/com/solexgames/practice/queue/QueueEntry.java b/src/main/java/land/battle/practice/queue/QueueEntry.java similarity index 88% rename from src/main/java/com/solexgames/practice/queue/QueueEntry.java rename to src/main/java/land/battle/practice/queue/QueueEntry.java index ad9a17e..fc15551 100644 --- a/src/main/java/com/solexgames/practice/queue/QueueEntry.java +++ b/src/main/java/land/battle/practice/queue/QueueEntry.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.queue; +package land.battle.practice.queue; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/queue/QueueType.java b/src/main/java/land/battle/practice/queue/QueueType.java similarity index 87% rename from src/main/java/com/solexgames/practice/queue/QueueType.java rename to src/main/java/land/battle/practice/queue/QueueType.java index 1d785c9..d726a2c 100644 --- a/src/main/java/com/solexgames/practice/queue/QueueType.java +++ b/src/main/java/land/battle/practice/queue/QueueType.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.queue; +package land.battle.practice.queue; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/runnable/ArenaCommandRunnable.java b/src/main/java/land/battle/practice/runnable/ArenaCommandRunnable.java similarity index 91% rename from src/main/java/com/solexgames/practice/runnable/ArenaCommandRunnable.java rename to src/main/java/land/battle/practice/runnable/ArenaCommandRunnable.java index 0828fcd..acd816e 100644 --- a/src/main/java/com/solexgames/practice/runnable/ArenaCommandRunnable.java +++ b/src/main/java/land/battle/practice/runnable/ArenaCommandRunnable.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; -import com.solexgames.practice.arena.type.StandaloneArena; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.util.old.DeprecatedLocation; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.arena.type.StandaloneArena; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.util.old.DeprecatedLocation; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/com/solexgames/practice/runnable/AttackableRunnable.java b/src/main/java/land/battle/practice/runnable/AttackableRunnable.java similarity index 91% rename from src/main/java/com/solexgames/practice/runnable/AttackableRunnable.java rename to src/main/java/land/battle/practice/runnable/AttackableRunnable.java index 463e3f2..4e21333 100644 --- a/src/main/java/com/solexgames/practice/runnable/AttackableRunnable.java +++ b/src/main/java/land/battle/practice/runnable/AttackableRunnable.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; -import com.solexgames.practice.Practice; +import land.battle.practice.Practice; import org.bukkit.entity.Player; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.scheduler.BukkitRunnable; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/25/2021 */ diff --git a/src/main/java/com/solexgames/practice/runnable/BlockPlaceRunnable.java b/src/main/java/land/battle/practice/runnable/BlockPlaceRunnable.java similarity index 98% rename from src/main/java/com/solexgames/practice/runnable/BlockPlaceRunnable.java rename to src/main/java/land/battle/practice/runnable/BlockPlaceRunnable.java index bd7eab0..b783d92 100644 --- a/src/main/java/com/solexgames/practice/runnable/BlockPlaceRunnable.java +++ b/src/main/java/land/battle/practice/runnable/BlockPlaceRunnable.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; import com.boydti.fawe.util.EditSessionBuilder; import com.boydti.fawe.util.TaskManager; diff --git a/src/main/java/com/solexgames/practice/runnable/BlockRemoveRunnable.java b/src/main/java/land/battle/practice/runnable/BlockRemoveRunnable.java similarity index 88% rename from src/main/java/com/solexgames/practice/runnable/BlockRemoveRunnable.java rename to src/main/java/land/battle/practice/runnable/BlockRemoveRunnable.java index 87c3779..71d272a 100644 --- a/src/main/java/com/solexgames/practice/runnable/BlockRemoveRunnable.java +++ b/src/main/java/land/battle/practice/runnable/BlockRemoveRunnable.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; -import com.solexgames.practice.Practice; +import land.battle.practice.Practice; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.scheduler.BukkitRunnable; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/25/2021 */ diff --git a/src/main/java/com/solexgames/practice/runnable/DuplicateArenaRunnable.java b/src/main/java/land/battle/practice/runnable/DuplicateArenaRunnable.java similarity index 96% rename from src/main/java/com/solexgames/practice/runnable/DuplicateArenaRunnable.java rename to src/main/java/land/battle/practice/runnable/DuplicateArenaRunnable.java index 6eb296b..a9d3057 100644 --- a/src/main/java/com/solexgames/practice/runnable/DuplicateArenaRunnable.java +++ b/src/main/java/land/battle/practice/runnable/DuplicateArenaRunnable.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.arena.Arena; +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; import lombok.Getter; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/com/solexgames/practice/runnable/ExpBarRunnable.java b/src/main/java/land/battle/practice/runnable/ExpBarRunnable.java similarity index 84% rename from src/main/java/com/solexgames/practice/runnable/ExpBarRunnable.java rename to src/main/java/land/battle/practice/runnable/ExpBarRunnable.java index d23b282..a10f56c 100644 --- a/src/main/java/com/solexgames/practice/runnable/ExpBarRunnable.java +++ b/src/main/java/land/battle/practice/runnable/ExpBarRunnable.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.util.timer.impl.EnderpearlTimer; +import land.battle.practice.Practice; +import land.battle.practice.util.timer.impl.EnderpearlTimer; import lombok.RequiredArgsConstructor; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/runnable/LeaderboardUpdateRunnable.java b/src/main/java/land/battle/practice/runnable/LeaderboardUpdateRunnable.java similarity index 93% rename from src/main/java/com/solexgames/practice/runnable/LeaderboardUpdateRunnable.java rename to src/main/java/land/battle/practice/runnable/LeaderboardUpdateRunnable.java index bf71d47..4e8456e 100644 --- a/src/main/java/com/solexgames/practice/runnable/LeaderboardUpdateRunnable.java +++ b/src/main/java/land/battle/practice/runnable/LeaderboardUpdateRunnable.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -6,14 +6,14 @@ import com.mongodb.Block; import com.mongodb.client.model.Filters; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.ranks.Rank; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.challenges.tracker.KillStreakDataTracker; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.managers.MongoManager; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.division.RankedDivision; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.challenges.tracker.KillStreakDataTracker; +import land.battle.practice.kit.Kit; +import land.battle.practice.managers.MongoManager; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; +import land.battle.practice.util.division.RankedDivision; import org.bson.Document; import java.util.*; @@ -24,7 +24,7 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/29/2021 */ diff --git a/src/main/java/com/solexgames/practice/runnable/MatchResetRunnable.java b/src/main/java/land/battle/practice/runnable/MatchResetRunnable.java similarity index 87% rename from src/main/java/com/solexgames/practice/runnable/MatchResetRunnable.java rename to src/main/java/land/battle/practice/runnable/MatchResetRunnable.java index a7cca35..08e2608 100644 --- a/src/main/java/com/solexgames/practice/runnable/MatchResetRunnable.java +++ b/src/main/java/land/battle/practice/runnable/MatchResetRunnable.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; import com.boydti.fawe.util.EditSessionBuilder; import com.boydti.fawe.util.TaskManager; import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.blocks.BaseBlock; -import com.solexgames.practice.Practice; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.match.Match; +import land.battle.practice.Practice; +import land.battle.practice.flags.Flag; +import land.battle.practice.match.Match; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import org.bukkit.Location; @@ -23,7 +23,7 @@ public class MatchResetRunnable extends BukkitRunnable { @Override @SneakyThrows public void run() { - if (this.match.getKit().getFlag().equals(Flag.BUILD) && this.match.getPlacedBlockLocations().size() > 0) { + if (this.match.getKit().getFlag().equals(Flag.BUILD) || this.match.getKit().getFlag().equals(Flag.SIMULATOR) || this.match.getKit().getFlag().equals(Flag.GLADIATOR) && this.match.getPlacedBlockLocations().size() > 0) { final EditSession editSession = new EditSessionBuilder(this.match.getArena().getPositionOne().getWorldName()) .fastmode(true).allowedRegionsEverywhere().autoQueue(false).limitUnlimited().build(); diff --git a/src/main/java/com/solexgames/practice/runnable/MatchRunnable.java b/src/main/java/land/battle/practice/runnable/MatchRunnable.java similarity index 93% rename from src/main/java/com/solexgames/practice/runnable/MatchRunnable.java rename to src/main/java/land/battle/practice/runnable/MatchRunnable.java index a749e5f..87ef784 100644 --- a/src/main/java/com/solexgames/practice/runnable/MatchRunnable.java +++ b/src/main/java/land/battle/practice/runnable/MatchRunnable.java @@ -1,11 +1,11 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.flags.Flag; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.flags.Flag; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchState; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -97,7 +97,7 @@ public class MatchRunnable extends BukkitRunnable { this.match.getPlacedBlockLocations().forEach(location -> location.getBlock().setType(Material.AIR)); this.match.getOriginalBlockChanges().forEach(blockState -> blockState.getLocation().getBlock().setType(blockState.getType())); - if (this.match.getKit().getFlag().equals(Flag.BUILD) || this.match.getKit().getFlag().equals(Flag.SPLEEF)) { + if (this.match.getKit().getFlag().equals(Flag.BUILD) || this.match.getKit().getFlag().equals(Flag.SIMULATOR) || this.match.getKit().getFlag().equals(Flag.GLADIATOR) || this.match.getKit().getFlag().equals(Flag.SPLEEF)) { this.match.getArena().addAvailableArena(this.match.getStandaloneArena()); this.plugin.getArenaManager().removeArenaMatchUUID(this.match.getStandaloneArena()); } diff --git a/src/main/java/com/solexgames/practice/runnable/NewRoundRunnable.java b/src/main/java/land/battle/practice/runnable/NewRoundRunnable.java similarity index 89% rename from src/main/java/com/solexgames/practice/runnable/NewRoundRunnable.java rename to src/main/java/land/battle/practice/runnable/NewRoundRunnable.java index 35a8078..e170652 100644 --- a/src/main/java/com/solexgames/practice/runnable/NewRoundRunnable.java +++ b/src/main/java/land/battle/practice/runnable/NewRoundRunnable.java @@ -1,17 +1,17 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.location.impl.impl.AsyncLocation; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.util.PlayerUtil; +import land.battle.practice.Practice; +import land.battle.practice.location.impl.impl.AsyncLocation; +import land.battle.practice.match.Match; +import land.battle.practice.util.PlayerUtil; import io.papermc.lib.PaperLib; import org.bukkit.entity.Player; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.scheduler.BukkitRunnable; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/25/2021 */ diff --git a/src/main/java/com/solexgames/practice/runnable/RematchRunnable.java b/src/main/java/land/battle/practice/runnable/RematchRunnable.java similarity index 81% rename from src/main/java/com/solexgames/practice/runnable/RematchRunnable.java rename to src/main/java/land/battle/practice/runnable/RematchRunnable.java index 54753b1..2b398bb 100644 --- a/src/main/java/com/solexgames/practice/runnable/RematchRunnable.java +++ b/src/main/java/land/battle/practice/runnable/RematchRunnable.java @@ -1,9 +1,9 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.managers.ItemManager; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; +import land.battle.practice.Practice; +import land.battle.practice.managers.ItemManager; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; import lombok.RequiredArgsConstructor; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/runnable/SaveDataRunnable.java b/src/main/java/land/battle/practice/runnable/SaveDataRunnable.java similarity index 74% rename from src/main/java/com/solexgames/practice/runnable/SaveDataRunnable.java rename to src/main/java/land/battle/practice/runnable/SaveDataRunnable.java index 81380c8..9abab4d 100644 --- a/src/main/java/com/solexgames/practice/runnable/SaveDataRunnable.java +++ b/src/main/java/land/battle/practice/runnable/SaveDataRunnable.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor diff --git a/src/main/java/com/solexgames/practice/runnable/TournamentBroadcastRunnable.java b/src/main/java/land/battle/practice/runnable/TournamentBroadcastRunnable.java similarity index 80% rename from src/main/java/com/solexgames/practice/runnable/TournamentBroadcastRunnable.java rename to src/main/java/land/battle/practice/runnable/TournamentBroadcastRunnable.java index e55342e..d2e028b 100644 --- a/src/main/java/com/solexgames/practice/runnable/TournamentBroadcastRunnable.java +++ b/src/main/java/land/battle/practice/runnable/TournamentBroadcastRunnable.java @@ -1,17 +1,17 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; import com.solexgames.core.util.clickable.Clickable; -import com.solexgames.practice.Practice; -import com.solexgames.practice.PracticeConstants; -import com.solexgames.practice.tournament.Tournament; -import com.solexgames.practice.tournament.TournamentState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.PracticeConstants; +import land.battle.practice.tournament.Tournament; +import land.battle.practice.tournament.TournamentState; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.Bukkit; import org.bukkit.scheduler.BukkitRunnable; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/8/2021 */ diff --git a/src/main/java/com/solexgames/practice/runnable/TournamentRunnable.java b/src/main/java/land/battle/practice/runnable/TournamentRunnable.java similarity index 90% rename from src/main/java/com/solexgames/practice/runnable/TournamentRunnable.java rename to src/main/java/land/battle/practice/runnable/TournamentRunnable.java index 70eb0db..bb2b7fc 100644 --- a/src/main/java/com/solexgames/practice/runnable/TournamentRunnable.java +++ b/src/main/java/land/battle/practice/runnable/TournamentRunnable.java @@ -1,20 +1,20 @@ -package com.solexgames.practice.runnable; +package land.battle.practice.runnable; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.solexgames.core.util.Color; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.tournament.Tournament; -import com.solexgames.practice.tournament.TournamentState; -import com.solexgames.practice.tournament.TournamentTeam; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.queue.QueueType; +import land.battle.practice.tournament.Tournament; +import land.battle.practice.tournament.TournamentState; +import land.battle.practice.tournament.TournamentTeam; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; diff --git a/src/main/java/com/solexgames/practice/runnable/cache/StatusCache.java b/src/main/java/land/battle/practice/runnable/cache/StatusCache.java similarity index 90% rename from src/main/java/com/solexgames/practice/runnable/cache/StatusCache.java rename to src/main/java/land/battle/practice/runnable/cache/StatusCache.java index fa175f9..6d6508b 100644 --- a/src/main/java/com/solexgames/practice/runnable/cache/StatusCache.java +++ b/src/main/java/land/battle/practice/runnable/cache/StatusCache.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.runnable.cache; +package land.battle.practice.runnable.cache; import com.solexgames.core.util.external.Menu; -import com.solexgames.practice.Practice; -import com.solexgames.practice.kit.Kit; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; +import land.battle.practice.Practice; +import land.battle.practice.kit.Kit; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.Getter; diff --git a/src/main/java/com/solexgames/practice/settings/PracticeSettingsImpl.java b/src/main/java/land/battle/practice/settings/PracticeSettingsImpl.java similarity index 86% rename from src/main/java/com/solexgames/practice/settings/PracticeSettingsImpl.java rename to src/main/java/land/battle/practice/settings/PracticeSettingsImpl.java index 41d7288..0c4eead 100644 --- a/src/main/java/com/solexgames/practice/settings/PracticeSettingsImpl.java +++ b/src/main/java/land/battle/practice/settings/PracticeSettingsImpl.java @@ -1,16 +1,16 @@ -package com.solexgames.practice.settings; +package land.battle.practice.settings; import com.solexgames.core.settings.player.ISettings; import com.solexgames.core.util.Color; import com.solexgames.core.util.builder.ItemBuilder; import com.solexgames.core.util.external.Button; -import com.solexgames.practice.Practice; -import com.solexgames.practice.menu.DeathEffectMenu; -import com.solexgames.practice.menu.KillMessageMenu; -import com.solexgames.practice.menu.MatchmakingSettingsMenu; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.settings.item.ProfileOptionsItemState; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.menu.DeathEffectMenu; +import land.battle.practice.menu.KillMessageMenu; +import land.battle.practice.menu.MatchmakingSettingsMenu; +import land.battle.practice.player.PlayerData; +import land.battle.practice.settings.item.ProfileOptionsItemState; +import land.battle.practice.util.CC; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -18,7 +18,7 @@ import java.util.ArrayList; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/22/2021 */ @@ -113,6 +113,19 @@ public class PracticeSettingsImpl implements ISettings { .toUpdatingButton((player1, clickType) -> data.getOptions().setSpectators(!data.getOptions().isSpectators())) ); + buttonList.add(new ItemBuilder(Material.SKULL_ITEM) + .setDisplayName(Color.MAIN_COLOR + CC.BOLD + "Death Animation") + .addLore( + "", + CC.GRAY + "Would you like a different", + CC.GRAY + "death animation?", + " ", + (data.getOptions().isNoneAnimation() ? CC.GREEN + CC.BOLD + "■ " : CC.DARK_GRAY + CC.BOLD + "■ ") + "&fAnimated", + (!data.getOptions().isNoneAnimation() ? CC.GREEN + CC.BOLD + "■ " : CC.DARK_GRAY + CC.BOLD + "■ ") + "&fStatic" + ) + .toUpdatingButton((player1, clickType) -> data.getOptions().setNoneAnimation(!data.getOptions().isNoneAnimation())) + ); + buttonList.add(new ItemBuilder(Material.BLAZE_ROD) .setDisplayName(Color.MAIN_COLOR + CC.BOLD + "Kill Effects") .addLore( diff --git a/src/main/java/com/solexgames/practice/settings/ProfileOptions.java b/src/main/java/land/battle/practice/settings/ProfileOptions.java similarity index 75% rename from src/main/java/com/solexgames/practice/settings/ProfileOptions.java rename to src/main/java/land/battle/practice/settings/ProfileOptions.java index eb404a4..bf8ea3a 100644 --- a/src/main/java/com/solexgames/practice/settings/ProfileOptions.java +++ b/src/main/java/land/battle/practice/settings/ProfileOptions.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.settings; +package land.battle.practice.settings; -import com.solexgames.practice.settings.item.ProfileOptionsItemState; +import land.battle.practice.settings.item.ProfileOptionsItemState; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; @@ -13,6 +13,7 @@ public class ProfileOptions { private boolean scoreboardEnabled = true; private boolean duelRequests = true; private boolean partyInvites = true; + private boolean noneAnimation = true; private boolean spectators = true; private boolean autoGg = true; diff --git a/src/main/java/com/solexgames/practice/settings/item/ProfileOptionsItemState.java b/src/main/java/land/battle/practice/settings/item/ProfileOptionsItemState.java similarity index 65% rename from src/main/java/com/solexgames/practice/settings/item/ProfileOptionsItemState.java rename to src/main/java/land/battle/practice/settings/item/ProfileOptionsItemState.java index 6c6c3d6..711714a 100644 --- a/src/main/java/com/solexgames/practice/settings/item/ProfileOptionsItemState.java +++ b/src/main/java/land/battle/practice/settings/item/ProfileOptionsItemState.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.settings.item; +package land.battle.practice.settings.item; public enum ProfileOptionsItemState { diff --git a/src/main/java/com/solexgames/practice/shop/category/KillMessageShopCategory.java b/src/main/java/land/battle/practice/shop/category/KillMessageShopCategory.java similarity index 86% rename from src/main/java/com/solexgames/practice/shop/category/KillMessageShopCategory.java rename to src/main/java/land/battle/practice/shop/category/KillMessageShopCategory.java index d866a99..d06548d 100644 --- a/src/main/java/com/solexgames/practice/shop/category/KillMessageShopCategory.java +++ b/src/main/java/land/battle/practice/shop/category/KillMessageShopCategory.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.shop.category; +package land.battle.practice.shop.category; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import com.solexgames.shop.category.ShopCategory; import org.bukkit.Material; @@ -8,7 +8,7 @@ import java.util.Arrays; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/11/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/category/MiscellaneousShopCategory.java b/src/main/java/land/battle/practice/shop/category/MiscellaneousShopCategory.java similarity index 86% rename from src/main/java/com/solexgames/practice/shop/category/MiscellaneousShopCategory.java rename to src/main/java/land/battle/practice/shop/category/MiscellaneousShopCategory.java index 771beff..bda1ac9 100644 --- a/src/main/java/com/solexgames/practice/shop/category/MiscellaneousShopCategory.java +++ b/src/main/java/land/battle/practice/shop/category/MiscellaneousShopCategory.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.shop.category; +package land.battle.practice.shop.category; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import com.solexgames.shop.category.ShopCategory; import org.bukkit.Material; @@ -8,7 +8,7 @@ import java.util.Arrays; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/11/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/data/EffectDataType.java b/src/main/java/land/battle/practice/shop/data/EffectDataType.java similarity index 93% rename from src/main/java/com/solexgames/practice/shop/data/EffectDataType.java rename to src/main/java/land/battle/practice/shop/data/EffectDataType.java index 112d662..67b55b6 100644 --- a/src/main/java/com/solexgames/practice/shop/data/EffectDataType.java +++ b/src/main/java/land/battle/practice/shop/data/EffectDataType.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.shop.data; +package land.battle.practice.shop.data; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; @@ -9,7 +9,7 @@ import org.bukkit.entity.Player; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/9/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/data/KillMessageDataType.java b/src/main/java/land/battle/practice/shop/data/KillMessageDataType.java similarity index 93% rename from src/main/java/com/solexgames/practice/shop/data/KillMessageDataType.java rename to src/main/java/land/battle/practice/shop/data/KillMessageDataType.java index 4a7451c..d8dc510 100644 --- a/src/main/java/com/solexgames/practice/shop/data/KillMessageDataType.java +++ b/src/main/java/land/battle/practice/shop/data/KillMessageDataType.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.shop.data; +package land.battle.practice.shop.data; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; @@ -9,7 +9,7 @@ import org.bukkit.entity.Player; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/9/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/data/NameColorDataType.java b/src/main/java/land/battle/practice/shop/data/NameColorDataType.java similarity index 93% rename from src/main/java/com/solexgames/practice/shop/data/NameColorDataType.java rename to src/main/java/land/battle/practice/shop/data/NameColorDataType.java index d1d92b9..f23a3e5 100644 --- a/src/main/java/com/solexgames/practice/shop/data/NameColorDataType.java +++ b/src/main/java/land/battle/practice/shop/data/NameColorDataType.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.shop.data; +package land.battle.practice.shop.data; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; @@ -9,7 +9,7 @@ import org.bukkit.entity.Player; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/9/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/data/StatsResetDataType.java b/src/main/java/land/battle/practice/shop/data/StatsResetDataType.java similarity index 89% rename from src/main/java/com/solexgames/practice/shop/data/StatsResetDataType.java rename to src/main/java/land/battle/practice/shop/data/StatsResetDataType.java index 2fc852e..fc77385 100644 --- a/src/main/java/com/solexgames/practice/shop/data/StatsResetDataType.java +++ b/src/main/java/land/battle/practice/shop/data/StatsResetDataType.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.shop.data; +package land.battle.practice.shop.data; import com.solexgames.shop.purchasable.data.PurchasableDataType; import org.bukkit.Bukkit; @@ -7,7 +7,7 @@ import org.bukkit.entity.Player; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/9/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/item/EffectShopItem.java b/src/main/java/land/battle/practice/shop/item/EffectShopItem.java similarity index 79% rename from src/main/java/com/solexgames/practice/shop/item/EffectShopItem.java rename to src/main/java/land/battle/practice/shop/item/EffectShopItem.java index 23b21ff..0bc5cb8 100644 --- a/src/main/java/com/solexgames/practice/shop/item/EffectShopItem.java +++ b/src/main/java/land/battle/practice/shop/item/EffectShopItem.java @@ -1,14 +1,14 @@ -package com.solexgames.practice.shop.item; +package land.battle.practice.shop.item; -import com.solexgames.practice.effects.DeathEffect; -import com.solexgames.practice.util.CC; +import land.battle.practice.effects.DeathEffect; +import land.battle.practice.util.CC; import com.solexgames.shop.purchasable.ShopPurchasableItem; import java.util.Arrays; import java.util.Collections; /** - * @author GrowlyX + * @author BattleLand Team * @since 7/9/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/item/message/KillMessageItem.java b/src/main/java/land/battle/practice/shop/item/message/KillMessageItem.java similarity index 76% rename from src/main/java/com/solexgames/practice/shop/item/message/KillMessageItem.java rename to src/main/java/land/battle/practice/shop/item/message/KillMessageItem.java index e024980..e82e15d 100644 --- a/src/main/java/com/solexgames/practice/shop/item/message/KillMessageItem.java +++ b/src/main/java/land/battle/practice/shop/item/message/KillMessageItem.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.shop.item.message; +package land.battle.practice.shop.item.message; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.util.CC; +import land.battle.practice.message.KillMessage; +import land.battle.practice.util.CC; import com.solexgames.shop.purchasable.ShopPurchasableItem; import java.util.Collections; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/11/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/item/statreset/NameColorItem.java b/src/main/java/land/battle/practice/shop/item/statreset/NameColorItem.java similarity index 83% rename from src/main/java/com/solexgames/practice/shop/item/statreset/NameColorItem.java rename to src/main/java/land/battle/practice/shop/item/statreset/NameColorItem.java index 2c363be..3ed2e1e 100644 --- a/src/main/java/com/solexgames/practice/shop/item/statreset/NameColorItem.java +++ b/src/main/java/land/battle/practice/shop/item/statreset/NameColorItem.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.shop.item.statreset; +package land.battle.practice.shop.item.statreset; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import com.solexgames.shop.purchasable.ShopPurchasableItem; import java.util.Arrays; import java.util.Collections; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/11/2021 */ diff --git a/src/main/java/com/solexgames/practice/shop/item/statreset/StatisticResetItem.java b/src/main/java/land/battle/practice/shop/item/statreset/StatisticResetItem.java similarity index 78% rename from src/main/java/com/solexgames/practice/shop/item/statreset/StatisticResetItem.java rename to src/main/java/land/battle/practice/shop/item/statreset/StatisticResetItem.java index b915b7a..9cc7a09 100644 --- a/src/main/java/com/solexgames/practice/shop/item/statreset/StatisticResetItem.java +++ b/src/main/java/land/battle/practice/shop/item/statreset/StatisticResetItem.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.shop.item.statreset; +package land.battle.practice.shop.item.statreset; -import com.solexgames.practice.message.KillMessage; -import com.solexgames.practice.util.CC; +import land.battle.practice.message.KillMessage; +import land.battle.practice.util.CC; import com.solexgames.shop.purchasable.ShopPurchasableItem; import java.util.ArrayList; @@ -9,7 +9,7 @@ import java.util.Arrays; import java.util.Collections; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/11/2021 */ diff --git a/src/main/java/com/solexgames/practice/state/PlayerStateAdapter.java b/src/main/java/land/battle/practice/state/PlayerStateAdapter.java similarity index 62% rename from src/main/java/com/solexgames/practice/state/PlayerStateAdapter.java rename to src/main/java/land/battle/practice/state/PlayerStateAdapter.java index c254ffc..983b639 100644 --- a/src/main/java/com/solexgames/practice/state/PlayerStateAdapter.java +++ b/src/main/java/land/battle/practice/state/PlayerStateAdapter.java @@ -1,14 +1,14 @@ -package com.solexgames.practice.state; +package land.battle.practice.state; import com.solexgames.core.player.PotPlayer; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; import org.bukkit.entity.Player; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ diff --git a/src/main/java/com/solexgames/practice/state/impl/EditorBoardAdapter.java b/src/main/java/land/battle/practice/state/impl/EditorBoardAdapter.java similarity index 70% rename from src/main/java/com/solexgames/practice/state/impl/EditorBoardAdapter.java rename to src/main/java/land/battle/practice/state/impl/EditorBoardAdapter.java index 5652ffc..715d921 100644 --- a/src/main/java/com/solexgames/practice/state/impl/EditorBoardAdapter.java +++ b/src/main/java/land/battle/practice/state/impl/EditorBoardAdapter.java @@ -1,9 +1,9 @@ -package com.solexgames.practice.state.impl; +package land.battle.practice.state.impl; -import com.solexgames.practice.Practice; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.state.PlayerStateAdapter; +import land.battle.practice.Practice; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.state.PlayerStateAdapter; import org.bukkit.entity.Player; import java.util.ArrayList; diff --git a/src/main/java/com/solexgames/practice/state/impl/MatchBoardAdapter.java b/src/main/java/land/battle/practice/state/impl/MatchBoardAdapter.java similarity index 90% rename from src/main/java/com/solexgames/practice/state/impl/MatchBoardAdapter.java rename to src/main/java/land/battle/practice/state/impl/MatchBoardAdapter.java index abcb4c8..7332521 100644 --- a/src/main/java/com/solexgames/practice/state/impl/MatchBoardAdapter.java +++ b/src/main/java/land/battle/practice/state/impl/MatchBoardAdapter.java @@ -1,14 +1,14 @@ -package com.solexgames.practice.state.impl; +package land.battle.practice.state.impl; import com.solexgames.core.util.PlayerUtil; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.MatchState; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.state.PlayerStateAdapter; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.match.Match; +import land.battle.practice.match.MatchState; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.state.PlayerStateAdapter; +import land.battle.practice.util.CC; import org.apache.commons.lang3.time.DurationFormatUtils; import org.bukkit.entity.Player; @@ -17,7 +17,7 @@ import java.util.List; import java.util.UUID; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ @@ -29,29 +29,16 @@ public class MatchBoardAdapter implements PlayerStateAdapter { public List handleBoard(Player player, PlayerData playerData, Party party) { final List stringList = new ArrayList<>(); + + final Match match = this.plugin.getMatchManager().getMatch(player.getUniqueId()); + + if (match == null) { return stringList; } - if (match.getMatchState().equals(MatchState.STARTING)) { - stringList.add(CC.GOLD + "Match starting" + Practice.getInstance().getLoadingString()); - stringList.add(" "); - stringList.add("Arena: " + CC.GOLD + match.getArena().getName()); - stringList.add("Ladder: " + CC.GOLD + match.getKit().getName()); - - return stringList; - } - - if (match.getMatchState().equals(MatchState.ENDING)) { - stringList.add(CC.GOLD + "Match ended."); - stringList.add(" "); - stringList.add("Duration: " + CC.GOLD + DurationFormatUtils.formatDuration(System.currentTimeMillis() - match.getStart(), "mm:ss")); - - return stringList; - } - Player opponentPlayer = null; if (!match.isPartyMatch() && !match.isFFA()) { @@ -63,6 +50,23 @@ public class MatchBoardAdapter implements PlayerStateAdapter { return stringList; } + if (match.getMatchState().equals(MatchState.STARTING)) { + stringList.add(CC.GOLD + "Match starting" + Practice.getInstance().getLoadingString()); + stringList.add(" "); + stringList.add("Opponent: " + CC.GOLD + opponentPlayer.getName()); + stringList.add("Arena: " + CC.GOLD + match.getArena().getName()); + + return stringList; + } + + if (match.getMatchState().equals(MatchState.ENDING)) { + stringList.add(CC.GOLD + "Match ended."); + stringList.add(" "); + stringList.add("Duration: " + CC.GOLD + DurationFormatUtils.formatDuration(System.currentTimeMillis() - match.getStart(), "mm:ss")); + + return stringList; + } + stringList.add("Opponent: " + CC.GOLD + opponentPlayer.getName()); stringList.add("Duration: " + CC.GOLD + DurationFormatUtils.formatDuration(System.currentTimeMillis() - match.getStart(), "mm:ss")); } else if (match.isPartyMatch() && !match.isFFA()) { diff --git a/src/main/java/com/solexgames/practice/state/impl/PartyBoardAdapter.java b/src/main/java/land/battle/practice/state/impl/PartyBoardAdapter.java similarity index 75% rename from src/main/java/com/solexgames/practice/state/impl/PartyBoardAdapter.java rename to src/main/java/land/battle/practice/state/impl/PartyBoardAdapter.java index 3819f5e..eedec5e 100644 --- a/src/main/java/com/solexgames/practice/state/impl/PartyBoardAdapter.java +++ b/src/main/java/land/battle/practice/state/impl/PartyBoardAdapter.java @@ -1,9 +1,9 @@ -package com.solexgames.practice.state.impl; +package land.battle.practice.state.impl; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.state.PlayerStateAdapter; -import com.solexgames.practice.util.CC; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.state.PlayerStateAdapter; +import land.battle.practice.util.CC; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -11,7 +11,7 @@ import java.util.ArrayList; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ diff --git a/src/main/java/com/solexgames/practice/state/impl/QueueBoardAdapter.java b/src/main/java/land/battle/practice/state/impl/QueueBoardAdapter.java similarity index 82% rename from src/main/java/com/solexgames/practice/state/impl/QueueBoardAdapter.java rename to src/main/java/land/battle/practice/state/impl/QueueBoardAdapter.java index f4b2ce3..3795bed 100644 --- a/src/main/java/com/solexgames/practice/state/impl/QueueBoardAdapter.java +++ b/src/main/java/land/battle/practice/state/impl/QueueBoardAdapter.java @@ -1,19 +1,19 @@ -package com.solexgames.practice.state.impl; +package land.battle.practice.state.impl; -import com.solexgames.practice.Practice; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.queue.QueueEntry; -import com.solexgames.practice.queue.QueueType; -import com.solexgames.practice.state.PlayerStateAdapter; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.queue.QueueEntry; +import land.battle.practice.queue.QueueType; +import land.battle.practice.state.PlayerStateAdapter; +import land.battle.practice.util.CC; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.List; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ diff --git a/src/main/java/land/battle/practice/state/impl/SpawnBoardAdapter.java b/src/main/java/land/battle/practice/state/impl/SpawnBoardAdapter.java new file mode 100644 index 0000000..3ec5618 --- /dev/null +++ b/src/main/java/land/battle/practice/state/impl/SpawnBoardAdapter.java @@ -0,0 +1,37 @@ +package land.battle.practice.state.impl; + +import com.solexgames.core.CorePlugin; +import com.solexgames.core.player.PotPlayer; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.runnable.cache.StatusCache; +import land.battle.practice.state.PlayerStateAdapter; +import land.battle.practice.util.CC; +import land.battle.practice.util.division.RankedDivision; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author BattleLand Team + * @since 8/14/2021 + */ + +public class SpawnBoardAdapter implements PlayerStateAdapter { + + @Override + public List handleBoard(Player player, PlayerData playerData, Party party) { + final List stringList = new ArrayList<>(); + final PotPlayer potPlayer = CorePlugin.getInstance().getPlayerManager().getPlayer(player); + final RankedDivision rankedDivision = RankedDivision.getByGlobalElo(playerData.getGlobalElo()); + + stringList.add(CC.GRAY + "Online: " + CC.AQUA + Bukkit.getOnlinePlayers().size()); + stringList.add(CC.GRAY + "In Fights: " + CC.AQUA + StatusCache.getInstance().getFighting()); + stringList.add(CC.GRAY + "Division: " + CC.BLUE + rankedDivision.getFancyName()); + + + return stringList; + } +} diff --git a/src/main/java/com/solexgames/practice/state/impl/SpectatorBoardAdapter.java b/src/main/java/land/battle/practice/state/impl/SpectatorBoardAdapter.java similarity index 82% rename from src/main/java/com/solexgames/practice/state/impl/SpectatorBoardAdapter.java rename to src/main/java/land/battle/practice/state/impl/SpectatorBoardAdapter.java index 79ddc82..f87ee15 100644 --- a/src/main/java/com/solexgames/practice/state/impl/SpectatorBoardAdapter.java +++ b/src/main/java/land/battle/practice/state/impl/SpectatorBoardAdapter.java @@ -1,13 +1,13 @@ -package com.solexgames.practice.state.impl; +package land.battle.practice.state.impl; import com.solexgames.core.util.PlayerUtil; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.party.Party; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.state.PlayerStateAdapter; -import com.solexgames.practice.util.CC; +import land.battle.practice.Practice; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.party.Party; +import land.battle.practice.player.PlayerData; +import land.battle.practice.state.PlayerStateAdapter; +import land.battle.practice.util.CC; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -16,7 +16,7 @@ import java.util.List; import java.util.UUID; /** - * @author GrowlyX + * @author BattleLand Team * @since 8/14/2021 */ diff --git a/src/main/java/com/solexgames/practice/tournament/Tournament.java b/src/main/java/land/battle/practice/tournament/Tournament.java similarity index 96% rename from src/main/java/com/solexgames/practice/tournament/Tournament.java rename to src/main/java/land/battle/practice/tournament/Tournament.java index 50c8810..36564fe 100644 --- a/src/main/java/com/solexgames/practice/tournament/Tournament.java +++ b/src/main/java/land/battle/practice/tournament/Tournament.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.tournament; +package land.battle.practice.tournament; -import com.solexgames.practice.Practice; +import land.battle.practice.Practice; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; diff --git a/src/main/java/com/solexgames/practice/tournament/TournamentState.java b/src/main/java/land/battle/practice/tournament/TournamentState.java similarity index 63% rename from src/main/java/com/solexgames/practice/tournament/TournamentState.java rename to src/main/java/land/battle/practice/tournament/TournamentState.java index 0d1db0c..19cb6ac 100644 --- a/src/main/java/com/solexgames/practice/tournament/TournamentState.java +++ b/src/main/java/land/battle/practice/tournament/TournamentState.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.tournament; +package land.battle.practice.tournament; public enum TournamentState { diff --git a/src/main/java/com/solexgames/practice/tournament/TournamentTeam.java b/src/main/java/land/battle/practice/tournament/TournamentTeam.java similarity index 88% rename from src/main/java/com/solexgames/practice/tournament/TournamentTeam.java rename to src/main/java/land/battle/practice/tournament/TournamentTeam.java index 5d141a4..76667a4 100644 --- a/src/main/java/com/solexgames/practice/tournament/TournamentTeam.java +++ b/src/main/java/land/battle/practice/tournament/TournamentTeam.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.tournament; +package land.battle.practice.tournament; -import com.solexgames.practice.match.team.KillableTeam; +import land.battle.practice.match.team.KillableTeam; import lombok.Getter; import java.util.HashMap; diff --git a/src/main/java/com/solexgames/practice/util/BlockUtil.java b/src/main/java/land/battle/practice/util/BlockUtil.java similarity index 99% rename from src/main/java/com/solexgames/practice/util/BlockUtil.java rename to src/main/java/land/battle/practice/util/BlockUtil.java index b27cf91..8ceda43 100644 --- a/src/main/java/com/solexgames/practice/util/BlockUtil.java +++ b/src/main/java/land/battle/practice/util/BlockUtil.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/com/solexgames/practice/util/CC.java b/src/main/java/land/battle/practice/util/CC.java similarity index 97% rename from src/main/java/com/solexgames/practice/util/CC.java rename to src/main/java/land/battle/practice/util/CC.java index b90bb77..38c1968 100644 --- a/src/main/java/com/solexgames/practice/util/CC.java +++ b/src/main/java/land/battle/practice/util/CC.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import lombok.experimental.UtilityClass; import org.bukkit.ChatColor; diff --git a/src/main/java/land/battle/practice/util/CCI.java b/src/main/java/land/battle/practice/util/CCI.java new file mode 100644 index 0000000..69e58b0 --- /dev/null +++ b/src/main/java/land/battle/practice/util/CCI.java @@ -0,0 +1,186 @@ +package land.battle.practice.util; + +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.entity.Player; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; + +/** + * Copyright 05/08/2019 Kevin Acaymo + * Use and or redistribution of compiled JAR file and or source code is permitted only if given + * explicit permission from original author: Kevin Acaymo + */ +public final class CCI { + + public static final String BLUE = ChatColor.BLUE.toString(); + public static final String AQUA = ChatColor.AQUA.toString(); + public static final String YELLOW = ChatColor.YELLOW.toString(); + public static final String RED = ChatColor.RED.toString(); + public static final String GRAY = ChatColor.GRAY.toString(); + public static final String GOLD = ChatColor.GOLD.toString(); + public static final String GREEN = ChatColor.GREEN.toString(); + public static final String WHITE = ChatColor.WHITE.toString(); + public static final String BLACK = ChatColor.BLACK.toString(); + public static final String BOLD = ChatColor.BOLD.toString(); + public static final String ITALIC = ChatColor.ITALIC.toString(); + public static final String UNDERLINE = ChatColor.UNDERLINE.toString(); + public static final String STRIKETHROUGH = ChatColor.STRIKETHROUGH.toString(); + public static final String RESET = ChatColor.RESET.toString(); + public static final String MAGIC = ChatColor.MAGIC.toString(); + public static final String OBFUSCATED = MAGIC; + public static final String B = BOLD; + public static final String M = MAGIC; + public static final String O = MAGIC; + public static final String I = ITALIC; + public static final String S = STRIKETHROUGH; + public static final String R = RESET; + public static final String DARK_BLUE = ChatColor.DARK_BLUE.toString(); + public static final String DARK_AQUA = ChatColor.DARK_AQUA.toString(); + public static final String DARK_GRAY = ChatColor.DARK_GRAY.toString(); + public static final String DARK_GREEN = ChatColor.DARK_GREEN.toString(); + public static final String DARK_PURPLE = ChatColor.DARK_PURPLE.toString(); + public static final String DARK_RED = ChatColor.DARK_RED.toString(); + public static final String D_BLUE = DARK_BLUE; + public static final String D_AQUA = DARK_AQUA; + public static final String D_GRAY = DARK_GRAY; + public static final String D_GREEN = DARK_GREEN; + public static final String D_PURPLE = DARK_PURPLE; + public static final String D_RED = DARK_RED; + public static final String LIGHT_PURPLE = ChatColor.LIGHT_PURPLE.toString(); + public static final String L_PURPLE = LIGHT_PURPLE; + public static final String PINK = L_PURPLE; + public static final String SCOREBAORD_SEPARATOR = CC.GRAY + CC.SB_LINE + "----------------------"; + public static final String MENU_BAR = ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH.toString() + "------------------------"; + public static final String CHAT_BAR = ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH.toString() + "------------------------------------------------"; + public static final String SB_BAR = ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH.toString() + "----------------------"; + + public static short translateToWool(ChatColor color) { + switch (color) { + case WHITE: + return 0; + case GOLD: + return 1; + case AQUA: + return 3; + case YELLOW: + return 4; + case GREEN: + return 5; + case LIGHT_PURPLE: + return 6; + case DARK_GRAY: + return 7; + case GRAY: + return 8; + case DARK_AQUA: + return 9; + case DARK_PURPLE: + return 10; + case DARK_BLUE: + case BLUE: + return 11; + case DARK_GREEN: + return 13; + case DARK_RED: + case RED: + return 14; + default: + return 0; + } + } + + /** + * Returns a coloured version of a string. + * + * @param string the string to be coloured. + * @return coloured string. + */ + public static String translate(String string) { + return ChatColor.translateAlternateColorCodes('&', string); + } + + /** + * Returns a coloured version of a list. + * + * @param iterable the list to be coloured. + * @return coloured list. + */ + public static List translate(Iterable iterable) { + return StreamSupport.stream(iterable.spliterator(), false).filter(Objects::nonNull).map(CC::translate).collect(Collectors.toList()); + } + + /** + * Returns a coloured version of a list. + * + * @param list the list to be coloured. + * @return coloured list. + * */ + public static List translate(List list) { + List buffered = new ArrayList(); + for (String string : list) buffered.add(translate(string)); + return buffered; + } + + /** + * Returns a coloured version of string list. + * + * @param strings the strings list to be coloured. + * @return coloured strings list. + * */ + public static String[] translate(String... strings) { + return translate(Arrays.asList(strings)).stream().toArray(String[]::new); + } + + /** + * Convert strings to colors that are sent to the {@link Player}. + * + * @param receiver who is receiving the message. + * @return strings what you're sending. + * */ + public static void sendMessage(Player receiver, String... strings) { + receiver.sendMessage(translate(strings)); + } + + /** + * Convert strings to colors that are sent to the {@link CommandSender}. + * + * @param commandSender who is receiving the message. + * @return strings what you're sending. + * */ + public static void sendMessage(CommandSender commandSender, String... strings) { + commandSender.sendMessage(translate(strings)); + } + + /** + * Convert strings to colors that are sent to the {@link CommandSender}. + * + * @param commandSender who is receiving the message. + * @return component text what you're sending. + * */ + public static void sendMessage(CommandSender commandSender, BaseComponent[] value) { + if(commandSender instanceof Player) { + ((Player) commandSender).spigot().sendMessage(value); + } else { + commandSender.sendMessage(TextComponent.toLegacyText(value)); + } + } + + /** + * Convert strings to colors that are sent to the {@link ConsoleCommandSender}. + * + * @return strings what you're sending to the console. + * */ + public static void logger(String... strings) { + Bukkit.getConsoleSender().sendMessage(translate(strings)); + } +} diff --git a/src/main/java/com/solexgames/practice/util/ChatComponentBuilder.java b/src/main/java/land/battle/practice/util/ChatComponentBuilder.java similarity index 98% rename from src/main/java/com/solexgames/practice/util/ChatComponentBuilder.java rename to src/main/java/land/battle/practice/util/ChatComponentBuilder.java index 76d2596..034ccbc 100644 --- a/src/main/java/com/solexgames/practice/util/ChatComponentBuilder.java +++ b/src/main/java/land/battle/practice/util/ChatComponentBuilder.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.*; @@ -8,7 +8,7 @@ import java.util.List; import java.util.regex.Pattern; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/land/battle/practice/util/CommandArgs.java b/src/main/java/land/battle/practice/util/CommandArgs.java new file mode 100644 index 0000000..676b8b6 --- /dev/null +++ b/src/main/java/land/battle/practice/util/CommandArgs.java @@ -0,0 +1,72 @@ +package land.battle.practice.util; + +import lombok.Getter; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +/** + * Command Framework - CommandArgs
+ * This class is passed to the command methods and contains various utilities as + * well as the command info. + * + * @author minnymin3 + * + */ +@Getter +public class CommandArgs { + + private CommandSender sender; + private org.bukkit.command.Command command; + private String label; + private String[] args; + + protected CommandArgs(CommandSender sender, org.bukkit.command.Command command, String label, String[] args, + int subCommand) { + String[] modArgs = new String[args.length - subCommand]; + for (int i = 0; i < args.length - subCommand; i++) { + modArgs[i] = args[i + subCommand]; + } + + StringBuffer buffer = new StringBuffer(); + buffer.append(label); + for (int x = 0; x < subCommand; x++) { + buffer.append("." + args[x]); + } + String cmdLabel = buffer.toString(); + this.sender = sender; + this.command = command; + this.label = cmdLabel; + this.args = modArgs; + } + + public CommandSender getSender() { + return sender; + } + public org.bukkit.command.Command getCommand() { + return command; + } + public String getLabel() { + return label; + } + public String[] getArgs() { + return args; + } + public String getArgs(int index) { + return args[index]; + } + public int length() { + return args.length; + } + + public boolean isPlayer() { + return sender instanceof Player; + } + + public Player getPlayer() { + if (sender instanceof Player) { + return (Player) sender; + } else { + return null; + } + } +} diff --git a/src/main/java/land/battle/practice/util/Constants.java b/src/main/java/land/battle/practice/util/Constants.java new file mode 100644 index 0000000..46414e9 --- /dev/null +++ b/src/main/java/land/battle/practice/util/Constants.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2020. Joel Evans + * + * Use and or redistribution of compiled JAR file and or source code is permitted only if given + * explicit permission from original author: Joel Evans + */ + +package land.battle.practice.util; + +import org.apache.commons.lang3.StringUtils; +import org.bukkit.ChatColor; +import org.bukkit.Material; + +import java.util.Arrays; +import java.util.List; +import java.util.regex.Pattern; + +public class Constants { + + + + public static final Pattern USERNAME_REGEX = Pattern.compile("[a-zA-Z0-9_]{1,16}"); + public static final Pattern EMAIL_REGEX = Pattern.compile("[^@]+@[^@]+\\.[^@]+"); + + public static final List CONTAINER_TYPES = Arrays.asList( + Material.CHEST, + Material.TRAPPED_CHEST, + Material.ENDER_CHEST, + Material.FURNACE, + Material.BURNING_FURNACE, + Material.DISPENSER, + Material.HOPPER, + Material.DROPPER, + Material.BREWING_STAND + ); + + public static final List INTERACTIVE_TYPES = Arrays.asList( + Material.REDSTONE_COMPARATOR, + Material.REDSTONE_COMPARATOR_OFF, + Material.REDSTONE_COMPARATOR_ON, + Material.DIODE, + Material.DIODE_BLOCK_OFF, + Material.DIODE_BLOCK_ON, + Material.LEVER, + Material.WOOD_BUTTON, + Material.STONE_BUTTON, + Material.WOOD_PLATE, + Material.STONE_PLATE, + Material.IRON_PLATE, + Material.GOLD_PLATE, + Material.NOTE_BLOCK, + Material.TRAP_DOOR, + Material.IRON_DOOR, + Material.WOODEN_DOOR + ); + + public static final List LOG_TYPES = Arrays.asList( + Material.LOG, + Material.LOG_2 + ); + + public static final String HEART_SYMBOL = "❤"; + public static final String CROSSED_SWORDS_SYMBOL = ChatColor.BOLD + "⚔"; + public static final String CHECK_SYMBOL = ChatColor.BOLD + "✔"; + public static final String X_SYMBOL = ChatColor.BOLD + "✗"; + public static final String PRESTIGE_SYMBOL = ChatColor.BOLD + "⭑"; + public static final String MONEY_SYMBOL = ChatColor.BOLD + "$"; + public static final String TOKENS_SYMBOL = "⛃"; + public static final String ALT_TOKENS_SYMBOL = "۞"; + public static final String ARROW_UP = ChatColor.BOLD + "⬆"; + public static final String ARROW_DOWN = ChatColor.BOLD + "⬇"; + public static final String ARROW_LEFT = ChatColor.BOLD + "⬅"; + public static final String ARROW_RIGHT = ChatColor.BOLD + "➡"; + public static final String CURVED_ARROW_RIGHT = "➥"; + public static final String TRIANGLE_ARROW_LEFT = "◀"; + public static final String TRIANGLE_ARROW_RIGHT = "▶"; + public static final String ARROW_HEAD_RIGHT = "➤"; + public static final String ARROW_HEAD_RIGHT_3D = "➣"; + public static final String DOUBLE_ARROW_LEFT = "«"; + public static final String DOUBLE_ARROW_RIGHT = "»"; + public static final String THIN_VERTICAL_LINE = "┃"; + public static final String THICK_VERTICAL_LINE = "❙"; + public static final String DOT_SYMBOL = "●"; + public static final String SMALL_DOT_SYMBOL = "•"; + public static final String EXP_SYMBOL = "✪"; + public static final String REFRESH_SYMBOL = ChatColor.BOLD + "⟲"; + public static final String FLAG_SYMBOL = ChatColor.BOLD + "⚑"; + public static final String ANCHOR_SYMBOL = ChatColor.BOLD + "⚓"; + + public static final String LONG_LINE = ChatColor.STRIKETHROUGH + StringUtils.repeat("-", 53); + + public static final String ADMIN_PREFIX = ChatColor.GRAY + "[" + ChatColor.DARK_RED + ChatColor.BOLD + "ADMIN" + ChatColor.GRAY + "] "; +} \ No newline at end of file diff --git a/src/main/java/land/battle/practice/util/DivisionPrizes.java b/src/main/java/land/battle/practice/util/DivisionPrizes.java new file mode 100644 index 0000000..a405328 --- /dev/null +++ b/src/main/java/land/battle/practice/util/DivisionPrizes.java @@ -0,0 +1,27 @@ +package land.battle.practice.util; + +import land.battle.practice.completion.AbstractDivisionPrizeHandler; +import land.battle.practice.completion.impl.*; +import land.battle.practice.util.division.RankedDivision; +import lombok.experimental.UtilityClass; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author BattleLand Team + * @since 8/12/2021 + */ + +@UtilityClass +public class DivisionPrizes { + + public static final Map REACHED_PRIZE_MAP = new HashMap<>(); + + static { + REACHED_PRIZE_MAP.put(RankedDivision.SilverII, null); + REACHED_PRIZE_MAP.put(RankedDivision.SilverI, new SilverDivisionPrizeHandler()); + REACHED_PRIZE_MAP.put(RankedDivision.GoldIV, new GoldDivisionPrizeHandler()); + REACHED_PRIZE_MAP.put(RankedDivision.DiamondIV, new DiamondDivisionPrizeHandler()); + } +} diff --git a/src/main/java/com/solexgames/practice/util/EXPUtil.java b/src/main/java/land/battle/practice/util/EXPUtil.java similarity index 80% rename from src/main/java/com/solexgames/practice/util/EXPUtil.java rename to src/main/java/land/battle/practice/util/EXPUtil.java index 60551a0..afe4e02 100644 --- a/src/main/java/com/solexgames/practice/util/EXPUtil.java +++ b/src/main/java/land/battle/practice/util/EXPUtil.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import com.solexgames.core.CorePlugin; import com.solexgames.core.player.PotPlayer; @@ -6,7 +6,7 @@ import com.solexgames.core.util.Color; import org.bukkit.entity.Player; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ @@ -17,7 +17,7 @@ public class EXPUtil { return; } - player.sendMessage(CC.AQUA + "+" + amount + " experience (" + message + ")"); + player.sendMessage(CC.GOLD + "+" + amount + " coins (" + message + ")"); final PotPlayer potPlayer = CorePlugin.getInstance().getPlayerManager().getPlayer(player); diff --git a/src/main/java/com/solexgames/practice/util/EntityUtils.java b/src/main/java/land/battle/practice/util/EntityUtils.java similarity index 99% rename from src/main/java/com/solexgames/practice/util/EntityUtils.java rename to src/main/java/land/battle/practice/util/EntityUtils.java index 333b8d2..740fd7a 100644 --- a/src/main/java/com/solexgames/practice/util/EntityUtils.java +++ b/src/main/java/land/battle/practice/util/EntityUtils.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import lombok.experimental.UtilityClass; import org.bukkit.entity.EntityType; diff --git a/src/main/java/com/solexgames/practice/util/FlatFile.java b/src/main/java/land/battle/practice/util/FlatFile.java similarity index 94% rename from src/main/java/com/solexgames/practice/util/FlatFile.java rename to src/main/java/land/battle/practice/util/FlatFile.java index 066938c..2f4112a 100644 --- a/src/main/java/com/solexgames/practice/util/FlatFile.java +++ b/src/main/java/land/battle/practice/util/FlatFile.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import lombok.Getter; import org.bukkit.configuration.file.FileConfiguration; @@ -9,7 +9,7 @@ import java.io.File; import java.io.IOException; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/land/battle/practice/util/InventoryUI.java b/src/main/java/land/battle/practice/util/InventoryUI.java new file mode 100644 index 0000000..2c530fc --- /dev/null +++ b/src/main/java/land/battle/practice/util/InventoryUI.java @@ -0,0 +1,374 @@ +package land.battle.practice.util; + +import java.util.LinkedList; +import java.util.List; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryHolder; +import org.bukkit.inventory.ItemStack; + +public class InventoryUI { + private final List inventories = new LinkedList<>(); + private final String title; + private final int rowOffset; + private final int rows; + private int offset; + private int page; + + public InventoryUI(String title, int rows) { + this(title, rows, 0); + } + + public InventoryUI(String title, boolean bool, int rows) { + this(title, rows, 0); + } + + public InventoryUI(String title, int rows, int rowOffset) { + this.title = title; + this.rows = rows; + this.rowOffset = rowOffset; + } + + public InventoryUI.Inventory2D getCurrentUI() { + return this.inventories.get(this.page); + } + + public Inventory getCurrentPage() { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + return this.inventories.get(this.page).toInventory(); + } + + public InventoryUI.ClickableItem getItem(int slot) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + InventoryUI.Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + return lastInventory.getItem(slot); + } + + public int getSize() { + return this.rows * 9; + } + + private void createNewInventory() { + InventoryUI.Inventory2D inventory = new InventoryUI.Inventory2D(this.title, this.rows, this.rowOffset); + if (this.inventories.size() > 0) { + inventory.setItem( + 0, + this.rows - 1, + new InventoryUI.AbstractClickableItem(ItemUtil.createItem(Material.ARROW, ChatColor.RED + "Page #" + this.inventories.size())) { + @Override + public void onClick(InventoryClickEvent event) { + InventoryUI.this.page--; + + try { + InventoryUI.Inventory2D inventory2D = InventoryUI.this.inventories.get(InventoryUI.this.page); + if (inventory2D == null) { + InventoryUI.this.page++; + } else { + event.getWhoClicked().openInventory(InventoryUI.this.getCurrentPage()); + } + } catch (IndexOutOfBoundsException var3) { + InventoryUI.this.page++; + } + } + } + ); + if (inventory.currentY == this.rows - 1 && inventory.currentX == -1) { + inventory.currentX++; + } + } + + this.inventories.add(inventory); + } + + public void setItem(int x, int y, InventoryUI.ClickableItem item) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + InventoryUI.Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + lastInventory.setItem(x - 1, y - 1, item); + } + + public void setItem(int slot, InventoryUI.ClickableItem item) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + InventoryUI.Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + lastInventory.setItem(slot, item); + } + + public void addItem(InventoryUI.ClickableItem item) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + InventoryUI.Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + if (lastInventory.currentY == this.rows - 1 && lastInventory.currentX >= 7 - this.offset) { + lastInventory.setItem( + 8, + this.rows - 1, + new InventoryUI.AbstractClickableItem(ItemUtil.createItem(Material.ARROW, ChatColor.RED + "Page #" + (this.inventories.size() + 1))) { + @Override + public void onClick(InventoryClickEvent event) { + InventoryUI.this.page++; + + try { + InventoryUI.Inventory2D inventory2D = InventoryUI.this.inventories.get(InventoryUI.this.page); + if (inventory2D == null) { + InventoryUI.this.page--; + } else { + event.getWhoClicked().openInventory(InventoryUI.this.getCurrentPage()); + } + } catch (IndexOutOfBoundsException var3) { + InventoryUI.this.page--; + } + } + } + ); + this.createNewInventory(); + this.addItem(item); + } else { + lastInventory.setItem(++lastInventory.currentX + this.offset, lastInventory.currentY, item); + } + + if (lastInventory.currentX >= 8 - this.offset) { + lastInventory.currentX = this.offset - 1; + lastInventory.currentY++; + } + } + + public void removeItem(int slot) { + InventoryUI.Inventory2D inventory2D = this.inventories.get(this.page); + this.setItem(slot, null); + + for (int i = slot + 1; i < this.getSize(); i++) { + InventoryUI.ClickableItem item = this.getItem(i); + this.setItem(i - 1, item); + this.setItem(i, null); + } + + if (inventory2D.currentX >= 0) { + inventory2D.currentX--; + } else if (inventory2D.currentY > 0) { + inventory2D.currentY--; + inventory2D.currentX = 7; + } + } + + public String getTitle() { + return this.title; + } + + public int getRowOffset() { + return this.rowOffset; + } + + public int getRows() { + return this.rows; + } + + public int getOffset() { + return this.offset; + } + + public int getPage() { + return this.page; + } + + public List getInventories() { + return this.inventories; + } + + public void setOffset(int offset) { + this.offset = offset; + } + + public abstract static class AbstractClickableItem implements InventoryUI.ClickableItem { + private final ItemStack defaultItemStack; + private ItemStack itemStack; + + public AbstractClickableItem(ItemStack itemStack) { + this.itemStack = itemStack; + this.defaultItemStack = itemStack; + } + + @Override + public ItemStack getDefaultItemStack() { + return this.defaultItemStack; + } + + @Override + public ItemStack getItemStack() { + return this.itemStack; + } + + @Override + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + } + + public interface ClickableItem { + void onClick(InventoryClickEvent var1); + + ItemStack getItemStack(); + + void setItemStack(ItemStack var1); + + ItemStack getDefaultItemStack(); + } + + public static class EmptyClickableItem implements InventoryUI.ClickableItem { + private final ItemStack defaultItemStack; + private ItemStack itemStack; + + public EmptyClickableItem(ItemStack itemStack) { + this.itemStack = itemStack; + this.defaultItemStack = itemStack; + } + + @Override + public void onClick(InventoryClickEvent event) { + } + + @Override + public ItemStack getDefaultItemStack() { + return this.defaultItemStack; + } + + @Override + public ItemStack getItemStack() { + return this.itemStack; + } + + @Override + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + } + + public class Inventory2D { + private final InventoryUI.ClickableItem[][] items; + private final String title; + private final int rows; + private Inventory cachedInventory; + private int currentX = -1; + private int currentY; + + public Inventory2D(String title, int rows, int rowOffset) { + this.currentY = rowOffset; + this.title = title; + this.rows = rows; + this.items = new InventoryUI.ClickableItem[9][this.rows]; + } + + public void setItem(int x, int y, InventoryUI.ClickableItem clickableItem) { + this.items[x][y] = clickableItem; + if (this.cachedInventory != null) { + int slot = y * 9 + x; + this.cachedInventory.setItem(slot, clickableItem != null ? clickableItem.getItemStack() : null); + } + } + + public void setItem(int slot, InventoryUI.ClickableItem clickableItem) { + int y = Math.abs(slot / 9); + int x = -(y * 9 - slot); + this.setItem(x, y, clickableItem); + } + + public InventoryUI.ClickableItem getItem(int slot) { + int y = Math.abs(slot / 9); + int x = -(y * 9 - slot); + if (this.items.length <= x) { + return null; + } else { + InventoryUI.ClickableItem[] items = this.items[x]; + return items.length <= y ? null : items[y]; + } + } + + public Inventory toInventory() { + if (this.cachedInventory != null) { + return this.cachedInventory; + } else { + Inventory inventory = Bukkit.getServer() + .createInventory(new InventoryUI.InventoryUIHolder(InventoryUI.this, this.title, this.rows * 9), this.rows * 9, this.title); + + for (int y = 0; y < this.rows; y++) { + for (int x = 0; x < 9; x++) { + int slot = y * 9 + x; + InventoryUI.ClickableItem item = this.items[x][y]; + if (item != null) { + inventory.setItem(slot, item.getItemStack()); + } + } + } + + this.cachedInventory = inventory; + return inventory; + } + } + + public InventoryUI.ClickableItem[][] getItems() { + return this.items; + } + + public String getTitle() { + return this.title; + } + + public int getRows() { + return this.rows; + } + + public Inventory getCachedInventory() { + return this.cachedInventory; + } + + public int getCurrentX() { + return this.currentX; + } + + public int getCurrentY() { + return this.currentY; + } + } + + public static class InventoryUIHolder implements InventoryHolder { + private InventoryUI inventoryUI; + private String title; + private int slots; + + private InventoryUIHolder(InventoryUI inventoryUI, String title, int slots) { + this.inventoryUI = inventoryUI; + this.title = title; + this.slots = slots; + } + + public Inventory getInventory() { + return this.inventoryUI.getCurrentPage(); + } + + public InventoryUI getInventoryUI() { + return this.inventoryUI; + } + + public String getTitle() { + return this.title; + } + + public int getSlots() { + return this.slots; + } + } +} \ No newline at end of file diff --git a/src/main/java/com/solexgames/practice/util/ItemBuilder.java b/src/main/java/land/battle/practice/util/ItemBuilder.java similarity index 98% rename from src/main/java/com/solexgames/practice/util/ItemBuilder.java rename to src/main/java/land/battle/practice/util/ItemBuilder.java index 631aa44..5dc9541 100644 --- a/src/main/java/com/solexgames/practice/util/ItemBuilder.java +++ b/src/main/java/land/battle/practice/util/ItemBuilder.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import org.bukkit.ChatColor; import org.bukkit.Color; diff --git a/src/main/java/com/solexgames/practice/util/ItemUtil.java b/src/main/java/land/battle/practice/util/ItemUtil.java similarity index 99% rename from src/main/java/com/solexgames/practice/util/ItemUtil.java rename to src/main/java/land/battle/practice/util/ItemUtil.java index a52c2e0..03c698b 100644 --- a/src/main/java/com/solexgames/practice/util/ItemUtil.java +++ b/src/main/java/land/battle/practice/util/ItemUtil.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import lombok.RequiredArgsConstructor; import org.bukkit.Material; diff --git a/src/main/java/com/solexgames/practice/util/KFactor.java b/src/main/java/land/battle/practice/util/KFactor.java similarity index 85% rename from src/main/java/com/solexgames/practice/util/KFactor.java rename to src/main/java/land/battle/practice/util/KFactor.java index 728bdbd..e0720dc 100644 --- a/src/main/java/com/solexgames/practice/util/KFactor.java +++ b/src/main/java/land/battle/practice/util/KFactor.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/util/MathUtil.java b/src/main/java/land/battle/practice/util/MathUtil.java similarity index 83% rename from src/main/java/com/solexgames/practice/util/MathUtil.java rename to src/main/java/land/battle/practice/util/MathUtil.java index 6688bef..8f5a2bc 100644 --- a/src/main/java/com/solexgames/practice/util/MathUtil.java +++ b/src/main/java/land/battle/practice/util/MathUtil.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; public final class MathUtil { @@ -31,4 +31,8 @@ public final class MathUtil { return null; } + public static double roundToHalves(double d) { + return (double)Math.round(d * 2.0) / 2.0; + } + } diff --git a/src/main/java/com/solexgames/practice/util/PlayerUtil.java b/src/main/java/land/battle/practice/util/PlayerUtil.java similarity index 82% rename from src/main/java/com/solexgames/practice/util/PlayerUtil.java rename to src/main/java/land/battle/practice/util/PlayerUtil.java index c00bc15..a2a6eaa 100644 --- a/src/main/java/com/solexgames/practice/util/PlayerUtil.java +++ b/src/main/java/land/battle/practice/util/PlayerUtil.java @@ -1,12 +1,12 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import com.mojang.authlib.GameProfile; import com.mojang.authlib.properties.Property; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.Match; -import com.solexgames.practice.match.team.impl.MatchTeam; -import com.solexgames.practice.player.PlayerData; -import com.solexgames.practice.player.PlayerState; +import land.battle.practice.Practice; +import land.battle.practice.match.Match; +import land.battle.practice.match.team.impl.MatchTeam; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; import lombok.SneakyThrows; import net.minecraft.server.v1_8_R3.*; import org.bukkit.Bukkit; @@ -244,6 +244,61 @@ public final class PlayerUtil { } } + @SneakyThrows + public static void staticDeath(Player player) { + int entityId = EntityUtils.getFakeEntityId(); + PacketPlayOutNamedEntitySpawn spawnPacket = new PacketPlayOutNamedEntitySpawn(((CraftPlayer) player).getHandle()); + PacketPlayOutEntityStatus statusPacket = new PacketPlayOutEntityStatus(); + + Field STATUS_PACKET_ID_FIELD; + Field STATUS_PACKET_STATUS_FIELD; + Field SPAWN_PACKET_ID_FIELD; + + STATUS_PACKET_ID_FIELD = PacketPlayOutEntityStatus.class.getDeclaredField("a"); + STATUS_PACKET_ID_FIELD.setAccessible(true); + STATUS_PACKET_STATUS_FIELD = PacketPlayOutEntityStatus.class.getDeclaredField("b"); + STATUS_PACKET_STATUS_FIELD.setAccessible(true); + SPAWN_PACKET_ID_FIELD = PacketPlayOutNamedEntitySpawn.class.getDeclaredField("a"); + SPAWN_PACKET_ID_FIELD.setAccessible(true); + + + SPAWN_PACKET_ID_FIELD.set(spawnPacket, entityId); + STATUS_PACKET_ID_FIELD.set(statusPacket, entityId); + STATUS_PACKET_STATUS_FIELD.set(statusPacket, (byte) 3); + + final int radius = MinecraftServer.getServer().getPlayerList().d(); //Furthest viewable block + final Set sentTo = new HashSet<>(); + + for ( Entity entity : player.getNearbyEntities(radius, radius, radius) ) { + + if (!(entity instanceof Player)) continue; + + final Player watcher = (Player) entity; + + if (watcher.getUniqueId().equals(player.getUniqueId())) { + continue; + } + + ((CraftPlayer) watcher).getHandle().playerConnection.sendPacket(spawnPacket); + ((CraftPlayer) watcher).getHandle().playerConnection.sendPacket(statusPacket); + + sentTo.add(watcher); + } + + + TaskUtil.runLater(() -> { + for ( Player watcher : sentTo ) { + ((CraftPlayer) watcher).getHandle().playerConnection.sendPacket(new PacketPlayOutEntityDestroy(entityId)); + } + + }, 40L); + Bukkit.getScheduler().runTaskLater(Practice.getInstance(), () -> { + for (Player player1 : Bukkit.getOnlinePlayers()) { + player1.showPlayer(player); + } + }, 60L); + } + public static void clearWithEnableFly(Player player) { clearPlayer(player); diff --git a/src/main/java/com/solexgames/practice/util/StringUtil.java b/src/main/java/land/battle/practice/util/StringUtil.java similarity index 96% rename from src/main/java/com/solexgames/practice/util/StringUtil.java rename to src/main/java/land/battle/practice/util/StringUtil.java index 693d49f..8316d37 100644 --- a/src/main/java/com/solexgames/practice/util/StringUtil.java +++ b/src/main/java/land/battle/practice/util/StringUtil.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import org.bukkit.ChatColor; diff --git a/src/main/java/land/battle/practice/util/TaskUtil.java b/src/main/java/land/battle/practice/util/TaskUtil.java new file mode 100644 index 0000000..8ef1ad0 --- /dev/null +++ b/src/main/java/land/battle/practice/util/TaskUtil.java @@ -0,0 +1,28 @@ +package land.battle.practice.util; + + +import land.battle.practice.Practice; + +/** + * Copyright 15/08/2020 Kevin Acaymo + * Use and or redistribution of compiled JAR file and or source code is permitted only if given + * explicit permission from original author: Kevin Acaymo + */ +public class TaskUtil { + + public static void run(Runnable runnable) { + Practice.getInstance().getServer().getScheduler().runTask(Practice.getInstance(), runnable); + } + + public static void runTimer(Runnable runnable, long delay, long timer) { + Practice.getInstance().getServer().getScheduler().runTaskTimer(Practice.getInstance(), runnable, delay, timer); + } + + public static void runLater(Runnable runnable, long delay) { + Practice.getInstance().getServer().getScheduler().runTaskLater(Practice.getInstance(), runnable, delay); + } + + public static void runAsync(Runnable runnable) { + Practice.getInstance().getServer().getScheduler().runTaskAsynchronously(Practice.getInstance(), runnable); + } +} \ No newline at end of file diff --git a/src/main/java/com/solexgames/practice/util/TeamUtil.java b/src/main/java/land/battle/practice/util/TeamUtil.java similarity index 83% rename from src/main/java/com/solexgames/practice/util/TeamUtil.java rename to src/main/java/land/battle/practice/util/TeamUtil.java index 905b5c8..be42a06 100644 --- a/src/main/java/com/solexgames/practice/util/TeamUtil.java +++ b/src/main/java/land/battle/practice/util/TeamUtil.java @@ -1,8 +1,8 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; -import com.solexgames.practice.Practice; -import com.solexgames.practice.match.team.KillableTeam; -import com.solexgames.practice.tournament.TournamentTeam; +import land.battle.practice.Practice; +import land.battle.practice.match.team.KillableTeam; +import land.battle.practice.tournament.TournamentTeam; import org.bukkit.entity.Player; import java.util.UUID; diff --git a/src/main/java/com/solexgames/practice/util/TimeUtil.java b/src/main/java/land/battle/practice/util/TimeUtil.java similarity index 94% rename from src/main/java/com/solexgames/practice/util/TimeUtil.java rename to src/main/java/land/battle/practice/util/TimeUtil.java index 9f30c50..766f6df 100644 --- a/src/main/java/com/solexgames/practice/util/TimeUtil.java +++ b/src/main/java/land/battle/practice/util/TimeUtil.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import lombok.experimental.UtilityClass; diff --git a/src/main/java/com/solexgames/practice/util/TtlHandler.java b/src/main/java/land/battle/practice/util/TtlHandler.java similarity index 73% rename from src/main/java/com/solexgames/practice/util/TtlHandler.java rename to src/main/java/land/battle/practice/util/TtlHandler.java index 65776a1..310adf9 100644 --- a/src/main/java/com/solexgames/practice/util/TtlHandler.java +++ b/src/main/java/land/battle/practice/util/TtlHandler.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; public interface TtlHandler { diff --git a/src/main/java/com/solexgames/practice/util/TtlHashMap.java b/src/main/java/land/battle/practice/util/TtlHashMap.java similarity index 98% rename from src/main/java/com/solexgames/practice/util/TtlHashMap.java rename to src/main/java/land/battle/practice/util/TtlHashMap.java index d276015..4c6bc48 100644 --- a/src/main/java/com/solexgames/practice/util/TtlHashMap.java +++ b/src/main/java/land/battle/practice/util/TtlHashMap.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util; +package land.battle.practice.util; import java.util.Collection; import java.util.HashMap; diff --git a/src/main/java/com/solexgames/practice/util/calc/EloCalculator.java b/src/main/java/land/battle/practice/util/calc/EloCalculator.java similarity index 93% rename from src/main/java/com/solexgames/practice/util/calc/EloCalculator.java rename to src/main/java/land/battle/practice/util/calc/EloCalculator.java index 4ece482..64823c6 100644 --- a/src/main/java/com/solexgames/practice/util/calc/EloCalculator.java +++ b/src/main/java/land/battle/practice/util/calc/EloCalculator.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.util.calc; +package land.battle.practice.util.calc; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/17/2021 */ diff --git a/src/main/java/com/solexgames/practice/util/cuboid/Cuboid.java b/src/main/java/land/battle/practice/util/cuboid/Cuboid.java similarity index 99% rename from src/main/java/com/solexgames/practice/util/cuboid/Cuboid.java rename to src/main/java/land/battle/practice/util/cuboid/Cuboid.java index 183b33a..906859d 100644 --- a/src/main/java/com/solexgames/practice/util/cuboid/Cuboid.java +++ b/src/main/java/land/battle/practice/util/cuboid/Cuboid.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util.cuboid; +package land.battle.practice.util.cuboid; import com.google.common.base.Preconditions; import org.bukkit.*; @@ -10,7 +10,7 @@ import org.bukkit.util.Vector; import java.util.*; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/util/cuboid/CuboidBlockIterator.java b/src/main/java/land/battle/practice/util/cuboid/CuboidBlockIterator.java similarity index 96% rename from src/main/java/com/solexgames/practice/util/cuboid/CuboidBlockIterator.java rename to src/main/java/land/battle/practice/util/cuboid/CuboidBlockIterator.java index 3349e2e..4c5f74b 100644 --- a/src/main/java/com/solexgames/practice/util/cuboid/CuboidBlockIterator.java +++ b/src/main/java/land/battle/practice/util/cuboid/CuboidBlockIterator.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util.cuboid; +package land.battle.practice.util.cuboid; import org.bukkit.World; import org.bukkit.block.Block; @@ -6,7 +6,7 @@ import org.bukkit.block.Block; import java.util.Iterator; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/util/cuboid/CuboidDirection.java b/src/main/java/land/battle/practice/util/cuboid/CuboidDirection.java similarity index 92% rename from src/main/java/com/solexgames/practice/util/cuboid/CuboidDirection.java rename to src/main/java/land/battle/practice/util/cuboid/CuboidDirection.java index f5a1919..eae3525 100644 --- a/src/main/java/com/solexgames/practice/util/cuboid/CuboidDirection.java +++ b/src/main/java/land/battle/practice/util/cuboid/CuboidDirection.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.util.cuboid; +package land.battle.practice.util.cuboid; /** - * @author GrowlyX + * @author BattleLand Team * @since 5/15/2021 */ diff --git a/src/main/java/com/solexgames/practice/util/division/RankedDivision.java b/src/main/java/land/battle/practice/util/division/RankedDivision.java similarity index 50% rename from src/main/java/com/solexgames/practice/util/division/RankedDivision.java rename to src/main/java/land/battle/practice/util/division/RankedDivision.java index 0cefadd..3287e9e 100644 --- a/src/main/java/com/solexgames/practice/util/division/RankedDivision.java +++ b/src/main/java/land/battle/practice/util/division/RankedDivision.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.util.division; +package land.battle.practice.util.division; -import com.solexgames.practice.util.CC; +import land.battle.practice.util.CC; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -16,12 +16,23 @@ import java.util.List; @RequiredArgsConstructor public enum RankedDivision { - UNRATED(CC.DARK_GRAY + "Unrated", 750, 1000), - IRON(CC.GRAY + "Iron", 1000, 1200), - BRONZE(CC.YELLOW + "Bronze", 1200, 1300), - SILVER(CC.WHITE + "Silver", 1300, 1400), - GOLD(CC.AQUA + "Gold", 1400, 1500), - DIAMOND(CC.AQUA + "Diamond", 1500, 1600); + BronzeIV(CC.RED + "Bronze IV", 0, 649), + BronzeIII(CC.RED + "Bronze III", 650, 724), + BronzeII(CC.RED + "Bronze II", 725 , 799), + BronzeI(CC.RED + "Bronze I", 800, 874), + SilverIV(CC.GRAY + "Silver IV", 875, 939), + SilverIII(CC.GRAY + "Silver III", 940, 999), + SilverII(CC.GRAY + "Silver II", 1000, 1059), + SilverI(CC.GRAY + "Silver I", 1060 , 1119), + GoldIV(CC.GOLD + "Gold IV", 1120, 1179), + GoldIII(CC.GOLD + "Gold III", 1180, 1239), + GoldII(CC.GOLD + "Gold II", 1240, 1299), + GoldI(CC.GOLD + "Gold I", 1300, 1359), + DiamondIV(CC.AQUA + "Diamond IV", 1360, 1419), + DiamondIII(CC.AQUA + "Diamond III", 1420, 1489), + DiamondII(CC.AQUA + "Diamond II", 1490, 1539), + DiamondI(CC.AQUA + "Diamond I", 1540, 1599), + Legendary(CC.PURPLE + "Legendary", 1600, 100000000); private final String fancyName; @@ -48,8 +59,8 @@ public enum RankedDivision { public static RankedDivision getByGlobalElo(int globalElo) { return RankedDivision.DIVISIONS.stream() - .filter(rankedDivision -> globalElo >= rankedDivision.getMinimum() && (rankedDivision.equals(RankedDivision.DIAMOND) || globalElo <= rankedDivision.getMaximum())) - .findFirst().orElse(RankedDivision.UNRATED); + .filter(rankedDivision -> globalElo >= rankedDivision.getMinimum() && (rankedDivision.equals(RankedDivision.Legendary) || globalElo <= rankedDivision.getMaximum())) + .findFirst().orElse(RankedDivision.SilverII); } } diff --git a/src/main/java/land/battle/practice/util/menu/Button.java b/src/main/java/land/battle/practice/util/menu/Button.java new file mode 100644 index 0000000..788c1e4 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/Button.java @@ -0,0 +1,39 @@ +package land.battle.practice.util.menu; + +import org.apache.commons.lang.StringUtils; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; + +public abstract class Button { + public static Button placeholder(final Material material, final byte data, final String... title) { + return new Button() { + @Override + public ItemStack getButtonItem(Player player) { + ItemStack it = new ItemStack(material, 1, (short)data); + ItemMeta meta = it.getItemMeta(); + meta.setDisplayName(StringUtils.join(title)); + it.setItemMeta(meta); + return it; + } + }; + } + + public abstract ItemStack getButtonItem(Player var1); + + public void clicked(Player player, ClickType clickType) { + } + + public void clicked(Player player, int slot, ClickType clickType, int hotbarSlot) { + } + + public boolean shouldCancel(Player player, ClickType clickType) { + return true; + } + + public boolean shouldUpdate(Player player, ClickType clickType) { + return false; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/InvListener.java b/src/main/java/land/battle/practice/util/menu/InvListener.java new file mode 100644 index 0000000..27892d5 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/InvListener.java @@ -0,0 +1,26 @@ +package land.battle.practice.util.menu; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; + +public class InvListener implements Listener { + @EventHandler + public void onClick(InventoryClickEvent event) { + if (event.getInventory() != null) { + if (event.getInventory().getHolder() instanceof InventoryUI.InventoryUIHolder) { + if (event.getCurrentItem() != null) { + InventoryUI.InventoryUIHolder inventoryUIHolder = (InventoryUI.InventoryUIHolder)event.getInventory().getHolder(); + event.setCancelled(true); + if (event.getClickedInventory() != null && event.getInventory().equals(event.getClickedInventory())) { + InventoryUI ui = inventoryUIHolder.getInventoryUI(); + InventoryUI.ClickableItem item = ui.getCurrentUI().getItem(event.getSlot()); + if (item != null) { + item.onClick(event); + } + } + } + } + } + } +} diff --git a/src/main/java/land/battle/practice/util/menu/InventoryUI.java b/src/main/java/land/battle/practice/util/menu/InventoryUI.java new file mode 100644 index 0000000..d66e25e --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/InventoryUI.java @@ -0,0 +1,376 @@ +package land.battle.practice.util.menu; + +import land.battle.practice.util.ItemUtil; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryHolder; +import org.bukkit.inventory.ItemStack; + +import java.util.LinkedList; +import java.util.List; + +public class InventoryUI { + private final List inventories = new LinkedList<>(); + private final String title; + private final int rowOffset; + private final int rows; + private int offset; + private int page; + + public InventoryUI(String title, int rows) { + this(title, rows, 0); + } + + public InventoryUI(String title, boolean bool, int rows) { + this(title, rows, 0); + } + + public InventoryUI(String title, int rows, int rowOffset) { + this.title = title; + this.rows = rows; + this.rowOffset = rowOffset; + } + + public Inventory2D getCurrentUI() { + return this.inventories.get(this.page); + } + + public Inventory getCurrentPage() { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + return this.inventories.get(this.page).toInventory(); + } + + public ClickableItem getItem(int slot) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + return lastInventory.getItem(slot); + } + + public int getSize() { + return this.rows * 9; + } + + private void createNewInventory() { + Inventory2D inventory = new Inventory2D(this.title, this.rows, this.rowOffset); + if (this.inventories.size() > 0) { + inventory.setItem( + 0, + this.rows - 1, + new AbstractClickableItem(ItemUtil.createItem(Material.ARROW, ChatColor.RED + "Page #" + this.inventories.size())) { + @Override + public void onClick(InventoryClickEvent event) { + InventoryUI.this.page--; + + try { + Inventory2D inventory2D = InventoryUI.this.inventories.get(InventoryUI.this.page); + if (inventory2D == null) { + InventoryUI.this.page++; + } else { + event.getWhoClicked().openInventory(InventoryUI.this.getCurrentPage()); + } + } catch (IndexOutOfBoundsException var3) { + InventoryUI.this.page++; + } + } + } + ); + if (inventory.currentY == this.rows - 1 && inventory.currentX == -1) { + inventory.currentX++; + } + } + + this.inventories.add(inventory); + } + + public void setItem(int x, int y, ClickableItem item) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + lastInventory.setItem(x - 1, y - 1, item); + } + + public void setItem(int slot, ClickableItem item) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + lastInventory.setItem(slot, item); + } + + public void addItem(ClickableItem item) { + if (this.inventories.size() == 0) { + this.createNewInventory(); + } + + Inventory2D lastInventory = this.inventories.get(this.inventories.size() - 1); + if (lastInventory.currentY == this.rows - 1 && lastInventory.currentX >= 7 - this.offset) { + lastInventory.setItem( + 8, + this.rows - 1, + new AbstractClickableItem(ItemUtil.createItem(Material.PAPER, ChatColor.RED + "Page #" + (this.inventories.size() + 1))) { + @Override + public void onClick(InventoryClickEvent event) { + InventoryUI.this.page++; + + try { + Inventory2D inventory2D = InventoryUI.this.inventories.get(InventoryUI.this.page); + if (inventory2D == null) { + InventoryUI.this.page--; + } else { + event.getWhoClicked().openInventory(InventoryUI.this.getCurrentPage()); + } + } catch (IndexOutOfBoundsException var3) { + InventoryUI.this.page--; + } + } + } + ); + this.createNewInventory(); + this.addItem(item); + } else { + lastInventory.setItem(++lastInventory.currentX + this.offset, lastInventory.currentY, item); + } + + if (lastInventory.currentX >= 8 - this.offset) { + lastInventory.currentX = this.offset - 1; + lastInventory.currentY++; + } + } + + public void removeItem(int slot) { + Inventory2D inventory2D = this.inventories.get(this.page); + this.setItem(slot, null); + + for (int i = slot + 1; i < this.getSize(); i++) { + ClickableItem item = this.getItem(i); + this.setItem(i - 1, item); + this.setItem(i, null); + } + + if (inventory2D.currentX >= 0) { + inventory2D.currentX--; + } else if (inventory2D.currentY > 0) { + inventory2D.currentY--; + inventory2D.currentX = 7; + } + } + + public String getTitle() { + return this.title; + } + + public int getRowOffset() { + return this.rowOffset; + } + + public int getRows() { + return this.rows; + } + + public int getOffset() { + return this.offset; + } + + public int getPage() { + return this.page; + } + + public List getInventories() { + return this.inventories; + } + + public void setOffset(int offset) { + this.offset = offset; + } + + public abstract static class AbstractClickableItem implements ClickableItem { + private final ItemStack defaultItemStack; + private ItemStack itemStack; + + public AbstractClickableItem(ItemStack itemStack) { + this.itemStack = itemStack; + this.defaultItemStack = itemStack; + } + + @Override + public ItemStack getDefaultItemStack() { + return this.defaultItemStack; + } + + @Override + public ItemStack getItemStack() { + return this.itemStack; + } + + @Override + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + } + + public interface ClickableItem { + void onClick(InventoryClickEvent var1); + + ItemStack getItemStack(); + + void setItemStack(ItemStack var1); + + ItemStack getDefaultItemStack(); + } + + public static class EmptyClickableItem implements ClickableItem { + private final ItemStack defaultItemStack; + private ItemStack itemStack; + + public EmptyClickableItem(ItemStack itemStack) { + this.itemStack = itemStack; + this.defaultItemStack = itemStack; + } + + @Override + public void onClick(InventoryClickEvent event) { + } + + @Override + public ItemStack getDefaultItemStack() { + return this.defaultItemStack; + } + + @Override + public ItemStack getItemStack() { + return this.itemStack; + } + + @Override + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + } + + public class Inventory2D { + private final ClickableItem[][] items; + private final String title; + private final int rows; + private Inventory cachedInventory; + private int currentX = -1; + private int currentY; + + public Inventory2D(String title, int rows, int rowOffset) { + this.currentY = rowOffset; + this.title = title; + this.rows = rows; + this.items = new ClickableItem[9][this.rows]; + } + + public void setItem(int x, int y, ClickableItem clickableItem) { + this.items[x][y] = clickableItem; + if (this.cachedInventory != null) { + int slot = y * 9 + x; + this.cachedInventory.setItem(slot, clickableItem != null ? clickableItem.getItemStack() : null); + } + } + + public void setItem(int slot, ClickableItem clickableItem) { + int y = Math.abs(slot / 9); + int x = -(y * 9 - slot); + this.setItem(x, y, clickableItem); + } + + public ClickableItem getItem(int slot) { + int y = Math.abs(slot / 9); + int x = -(y * 9 - slot); + if (this.items.length <= x) { + return null; + } else { + ClickableItem[] items = this.items[x]; + return items.length <= y ? null : items[y]; + } + } + + public Inventory toInventory() { + if (this.cachedInventory != null) { + return this.cachedInventory; + } else { + Inventory inventory = Bukkit.getServer() + .createInventory(new InventoryUIHolder(InventoryUI.this, this.title, this.rows * 9), this.rows * 9, this.title); + + for (int y = 0; y < this.rows; y++) { + for (int x = 0; x < 9; x++) { + int slot = y * 9 + x; + ClickableItem item = this.items[x][y]; + if (item != null) { + inventory.setItem(slot, item.getItemStack()); + } + } + } + + this.cachedInventory = inventory; + return inventory; + } + } + + public ClickableItem[][] getItems() { + return this.items; + } + + public String getTitle() { + return this.title; + } + + public int getRows() { + return this.rows; + } + + public Inventory getCachedInventory() { + return this.cachedInventory; + } + + public int getCurrentX() { + return this.currentX; + } + + public int getCurrentY() { + return this.currentY; + } + } + + public static class InventoryUIHolder implements InventoryHolder { + private InventoryUI inventoryUI; + private String title; + private int slots; + + private InventoryUIHolder(InventoryUI inventoryUI, String title, int slots) { + this.inventoryUI = inventoryUI; + this.title = title; + this.slots = slots; + } + + public Inventory getInventory() { + return this.inventoryUI.getCurrentPage(); + } + + public InventoryUI getInventoryUI() { + return this.inventoryUI; + } + + public String getTitle() { + return this.title; + } + + public int getSlots() { + return this.slots; + } + } +} diff --git a/src/main/java/land/battle/practice/util/menu/Menu.java b/src/main/java/land/battle/practice/util/menu/Menu.java new file mode 100644 index 0000000..de34caf --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/Menu.java @@ -0,0 +1,203 @@ +package land.battle.practice.util.menu; + +import com.google.common.collect.Maps; +import land.battle.practice.util.CC; +import land.battle.practice.Practice; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.scheduler.BukkitRunnable; + +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; + +public abstract class Menu { + public static Map currentlyOpenedMenus = new HashMap<>(); + private Map buttons = new HashMap<>(); + private boolean autoUpdate = false; + private boolean updateAfterClick = true; + private boolean closedByMenu = false; + private boolean placeholder = false; + private Button placeholderButton = Button.placeholder(Material.STAINED_GLASS_PANE, (byte)15, " "); + public static Map checkTasks = Maps.newHashMap(); + private boolean async = false; + private Inventory inventory = null; + + private ItemStack createItemStack(Player player, Button button) { + ItemStack item = button.getButtonItem(player); + if (item.getType() != Material.SKULL_ITEM) { + ItemMeta meta = item.getItemMeta(); + if (meta != null && meta.hasDisplayName()) { + meta.setDisplayName(meta.getDisplayName() + "&b&c&e&e"); + } + + item.setItemMeta(meta); + } + + return item; + } + + private Inventory createInventory(Player player) { + Map invButtons = this.getButtons(player); + this.inventory = Bukkit.createInventory(player, this.size(invButtons), CC.translate(this.getTitle(player))); + + for (Entry buttonEntry : invButtons.entrySet()) { + this.buttons.put(buttonEntry.getKey(), buttonEntry.getValue()); + this.inventory.setItem(buttonEntry.getKey(), buttonEntry.getValue().getButtonItem(player)); + } + + if (this.isPlaceholder()) { + Button placeholder = Button.placeholder(Material.STAINED_GLASS_PANE, (byte)15); + + for (int index = 0; index < this.size(invButtons); index++) { + if (invButtons.get(index) == null) { + this.buttons.put(index, placeholder); + this.inventory.setItem(index, placeholder.getButtonItem(player)); + } + } + } + + return this.inventory; + } + + public void openMenu(Player player) { + Inventory inventory = this.createInventory(player); + player.openInventory(inventory); + this.update(player); + } + + private void update(final Player player) { + cancelCheck(player); + currentlyOpenedMenus.put(player.getName(), this); + this.onOpen(player); + BukkitRunnable runnable = new BukkitRunnable() { + public void run() { + if (!player.isOnline()) { + Menu.cancelCheck(player); + Menu.currentlyOpenedMenus.remove(player.getName()); + } + + if (Menu.this.isAutoUpdate()) { + player.getOpenInventory().getTopInventory().setContents(Menu.this.createInventory(player).getContents()); + } + } + }; + runnable.runTaskTimerAsynchronously(Practice.getInstance(), 0L, 0L); + checkTasks.put(player.getName(), runnable); + } + + public static void cancelCheck(Player player) { + if (checkTasks.containsKey(player.getName())) { + checkTasks.get(player.getName()).cancel(); + checkTasks.remove(player.getName()).cancel(); + } + } + + public int size(Map buttons) { + int highest = 0; + + for (int buttonValue : buttons.keySet()) { + if (buttonValue > highest) { + highest = buttonValue; + } + } + + return (int)(Math.ceil((double)(highest + 1) / 9.0) * 9.0); + } + + public int getSize() { + return -1; + } + + public int getSlot(int x, int y) { + return 9 * y + x; + } + + public abstract String getTitle(Player var1); + + public abstract Map getButtons(Player var1); + + public void onOpen(Player player) { + } + + public void onClose(Player player) { + } + + private int getSlot(Button button) { + for (int entry : this.buttons.keySet()) { + if (this.buttons.get(entry).equals(button)) { + return entry; + } + } + + return 100; + } + + public Map getButtons() { + return this.buttons; + } + + public boolean isAutoUpdate() { + return this.autoUpdate; + } + + public boolean isUpdateAfterClick() { + return this.updateAfterClick; + } + + public boolean isClosedByMenu() { + return this.closedByMenu; + } + + public boolean isPlaceholder() { + return this.placeholder; + } + + public Button getPlaceholderButton() { + return this.placeholderButton; + } + + public boolean isAsync() { + return this.async; + } + + public Inventory getInventory() { + return this.inventory; + } + + public void setButtons(Map buttons) { + this.buttons = buttons; + } + + public void setAutoUpdate(boolean autoUpdate) { + this.autoUpdate = autoUpdate; + } + + public void setUpdateAfterClick(boolean updateAfterClick) { + this.updateAfterClick = updateAfterClick; + } + + public void setClosedByMenu(boolean closedByMenu) { + this.closedByMenu = closedByMenu; + } + + public void setPlaceholder(boolean placeholder) { + this.placeholder = placeholder; + } + + public void setPlaceholderButton(Button placeholderButton) { + this.placeholderButton = placeholderButton; + } + + public void setAsync(boolean async) { + this.async = async; + } + + public void setInventory(Inventory inventory) { + this.inventory = inventory; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/MenuListener.java b/src/main/java/land/battle/practice/util/menu/MenuListener.java new file mode 100644 index 0000000..64987b7 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/MenuListener.java @@ -0,0 +1,84 @@ +package land.battle.practice.util.menu; + +import land.battle.practice.Practice; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.inventory.InventoryCloseEvent; +import org.bukkit.inventory.ItemStack; + +public class MenuListener implements Listener { + @EventHandler( + ignoreCancelled = true, + priority = EventPriority.LOWEST + ) + public void onButtonPress(InventoryClickEvent event) { + Player player = (Player)event.getWhoClicked(); + Menu openMenu = Menu.currentlyOpenedMenus.get(player.getName()); + if (openMenu != null) { + if (event.getSlot() != event.getRawSlot()) { + if (event.getClick() == ClickType.SHIFT_LEFT || event.getClick() == ClickType.SHIFT_RIGHT) { + event.setCancelled(true); + } + + return; + } + + if (openMenu.getButtons().containsKey(event.getSlot())) { + Button button = openMenu.getButtons().get(event.getSlot()); + boolean cancel = button.shouldCancel(player, event.getClick()); + if (!cancel && (event.getClick() == ClickType.SHIFT_LEFT || event.getClick() == ClickType.SHIFT_RIGHT)) { + event.setCancelled(true); + if (event.getCurrentItem() != null) { + player.getInventory().addItem(new ItemStack[]{event.getCurrentItem()}); + } + } else { + event.setCancelled(cancel); + } + + button.clicked(player, event.getClick()); + button.clicked(player, event.getSlot(), event.getClick(), event.getHotbarButton()); + if (Menu.currentlyOpenedMenus.containsKey(player.getName())) { + Menu newMenu = Menu.currentlyOpenedMenus.get(player.getName()); + if (newMenu == openMenu) { + boolean buttonUpdate = button.shouldUpdate(player, event.getClick()); + if (buttonUpdate) { + openMenu.setClosedByMenu(true); + newMenu.openMenu(player); + } + } + } else if (button.shouldUpdate(player, event.getClick())) { + openMenu.setClosedByMenu(true); + openMenu.openMenu(player); + } + + if (event.isCancelled()) { + Bukkit.getScheduler().runTaskLater(Practice.getInstance(), player::updateInventory, 1L); + } + } else { + if (event.getCurrentItem() != null) { + event.setCancelled(true); + } + + if (event.getClick() == ClickType.SHIFT_LEFT || event.getClick() == ClickType.SHIFT_RIGHT) { + event.setCancelled(true); + } + } + } + } + + @EventHandler + public void onInventoryClose(InventoryCloseEvent event) { + Player player = (Player)event.getPlayer(); + Menu openMenu = Menu.currentlyOpenedMenus.get(player.getName()); + if (openMenu != null) { + openMenu.onClose(player); + Menu.cancelCheck(player); + Menu.currentlyOpenedMenus.remove(player.getName()); + } + } +} diff --git a/src/main/java/land/battle/practice/util/menu/button/BackButton.java b/src/main/java/land/battle/practice/util/menu/button/BackButton.java new file mode 100644 index 0000000..bccaa4e --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/button/BackButton.java @@ -0,0 +1,36 @@ +package land.battle.practice.util.menu.button; + +import land.battle.practice.util.ItemBuilder; +import land.battle.practice.util.menu.Button; +import land.battle.practice.util.menu.Menu; +import org.bukkit.Material; +import org.bukkit.Sound; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class BackButton extends Button { + private Menu back; + + @Override + public ItemStack getButtonItem(Player player) { + return new ItemBuilder(Material.REDSTONE).name("&e&lBack").lore(Arrays.asList("&7&oClick to return to", "&7&othe previous menu.")).build(); + } + + @Override + public void clicked(Player player, ClickType clickType) { + this.back.openMenu(player); + player.playSound(player.getLocation(), Sound.CLICK, 20.0F, 1.0F); + } + + @Override + public boolean shouldUpdate(Player player, ClickType clickType) { + return true; + } + + public BackButton(Menu back) { + this.back = back; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/button/DisplayButton.java b/src/main/java/land/battle/practice/util/menu/button/DisplayButton.java new file mode 100644 index 0000000..78ca575 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/button/DisplayButton.java @@ -0,0 +1,43 @@ +package land.battle.practice.util.menu.button; + +import land.battle.practice.util.menu.Button; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; + +public class DisplayButton extends Button { + private ItemStack itemStack; + private boolean cancel; + + @Override + public ItemStack getButtonItem(Player player) { + return this.itemStack == null ? new ItemStack(Material.AIR) : this.itemStack; + } + + @Override + public boolean shouldCancel(Player player, ClickType clickType) { + return this.cancel; + } + + public DisplayButton(ItemStack itemStack, boolean cancel) { + this.itemStack = itemStack; + this.cancel = cancel; + } + + public ItemStack getItemStack() { + return this.itemStack; + } + + public boolean isCancel() { + return this.cancel; + } + + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + + public void setCancel(boolean cancel) { + this.cancel = cancel; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/button/JumpToMenuButton.java b/src/main/java/land/battle/practice/util/menu/button/JumpToMenuButton.java new file mode 100644 index 0000000..7ede715 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/button/JumpToMenuButton.java @@ -0,0 +1,27 @@ +package land.battle.practice.util.menu.button; + +import land.battle.practice.util.menu.Button; +import land.battle.practice.util.menu.Menu; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; + +public class JumpToMenuButton extends Button { + private Menu menu; + private ItemStack itemStack; + + public JumpToMenuButton(Menu menu, ItemStack itemStack) { + this.menu = menu; + this.itemStack = itemStack; + } + + @Override + public ItemStack getButtonItem(Player player) { + return this.itemStack; + } + + @Override + public void clicked(Player player, ClickType clickType) { + this.menu.openMenu(player); + } +} diff --git a/src/main/java/land/battle/practice/util/menu/pagination/JumpToPageButton.java b/src/main/java/land/battle/practice/util/menu/pagination/JumpToPageButton.java new file mode 100644 index 0000000..11b3076 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/pagination/JumpToPageButton.java @@ -0,0 +1,41 @@ +package land.battle.practice.util.menu.pagination; + +import land.battle.practice.util.menu.Button; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; + +import java.util.Arrays; + +public class JumpToPageButton extends Button { + private int page; + private PaginatedMenu menu; + private boolean current; + + @Override + public ItemStack getButtonItem(Player player) { + ItemStack itemStack = new ItemStack(this.current ? Material.ENCHANTED_BOOK : Material.BOOK, this.page); + ItemMeta itemMeta = itemStack.getItemMeta(); + itemMeta.setDisplayName(ChatColor.YELLOW + "Page " + this.page); + if (this.current) { + itemMeta.setLore(Arrays.asList("", ChatColor.GREEN + "Current page")); + } + + itemStack.setItemMeta(itemMeta); + return itemStack; + } + + @Override + public void clicked(Player player, ClickType clickType) { + this.menu.modPage(player, this.page - this.menu.getPage()); + } + + public JumpToPageButton(int page, PaginatedMenu menu, boolean current) { + this.page = page; + this.menu = menu; + this.current = current; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/pagination/PageButton.java b/src/main/java/land/battle/practice/util/menu/pagination/PageButton.java new file mode 100644 index 0000000..4764c2f --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/pagination/PageButton.java @@ -0,0 +1,54 @@ +package land.battle.practice.util.menu.pagination; + +import land.battle.practice.util.ItemBuilder; +import land.battle.practice.util.menu.Button; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class PageButton extends Button { + private int mod; + private PaginatedMenu menu; + + @Override + public ItemStack getButtonItem(Player player) { + if (this.mod > 0) { + return this.hasNext(player) + ? new ItemBuilder(Material.PAPER).name("&c&lNext Page").lore(Arrays.asList("&7Click here to switch to", "&7the next page.")).build() + : new ItemBuilder(Material.STAINED_GLASS_PANE).durability(15).name("&f").build(); + } else { + return this.hasPrevious(player) + ? new ItemBuilder(Material.PAPER).name("&c&lPrevious Page").lore(Arrays.asList("&7Click here to switch to", "&7the previous page.")).build() + : new ItemBuilder(Material.STAINED_GLASS_PANE).durability(15).name("&f").build(); + } + } + + @Override + public void clicked(Player player, ClickType clickType) { + if (this.mod > 0) { + if (this.hasNext(player)) { + this.menu.modPage(player, this.mod); + } + } else if (this.hasPrevious(player)) { + this.menu.modPage(player, this.mod); + } + } + + private boolean hasNext(Player player) { + int pg = this.menu.getPage() + this.mod; + return this.menu.getPages(player) >= pg; + } + + private boolean hasPrevious(Player player) { + int pg = this.menu.getPage() + this.mod; + return pg > 0; + } + + public PageButton(int mod, PaginatedMenu menu) { + this.mod = mod; + this.menu = menu; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/pagination/PageInfoButton.java b/src/main/java/land/battle/practice/util/menu/pagination/PageInfoButton.java new file mode 100644 index 0000000..d4e62d2 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/pagination/PageInfoButton.java @@ -0,0 +1,43 @@ +package land.battle.practice.util.menu.pagination; + +import land.battle.practice.util.ItemBuilder; +import land.battle.practice.util.menu.Button; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class PageInfoButton extends Button { + private PaginatedMenu menu; + + @Override + public ItemStack getButtonItem(Player player) { + int pages = this.menu.getPages(player); + return new ItemBuilder(Material.PAPER) + .name(ChatColor.GOLD + "Page Info") + .lore( + Arrays.asList( + ChatColor.YELLOW + "You are viewing page #" + this.menu.getPage() + ".", + ChatColor.YELLOW + (pages == 1 ? "There is 1 page." : "There are " + pages + " pages."), + "", + ChatColor.YELLOW + "Middle click here to", + ChatColor.YELLOW + "view all pages." + ) + ) + .build(); + } + + @Override + public void clicked(Player player, ClickType clickType) { + if (clickType == ClickType.RIGHT) { + new ViewAllPagesMenu(this.menu).openMenu(player); + } + } + + public PageInfoButton(PaginatedMenu menu) { + this.menu = menu; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/pagination/PaginatedMenu.java b/src/main/java/land/battle/practice/util/menu/pagination/PaginatedMenu.java new file mode 100644 index 0000000..12afedd --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/pagination/PaginatedMenu.java @@ -0,0 +1,96 @@ +package land.battle.practice.util.menu.pagination; + +import land.battle.practice.util.menu.Button; +import land.battle.practice.util.menu.Menu; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.stream.IntStream; + +public abstract class PaginatedMenu extends Menu { + private int page = 1; + + public PaginatedMenu() { + this.setUpdateAfterClick(false); + } + + @Override + public String getTitle(Player player) { + return this.getPrePaginatedTitle(player); + } + + public final void modPage(Player player, int mod) { + this.page += mod; + this.getButtons().clear(); + this.openMenu(player); + } + + public final int getPages(Player player) { + int buttonAmount = this.getAllPagesButtons(player).size(); + return buttonAmount == 0 ? 1 : (int)Math.ceil((double)buttonAmount / (double)this.getMaxItemsPerPage(player)); + } + + @Override + public final Map getButtons(Player player) { + int minIndex = (int)((double)(this.page - 1) * (double)this.getMaxItemsPerPage(player)); + int maxIndex = (int)((double)this.page * (double)this.getMaxItemsPerPage(player)); + Button BLACK_PANE = Button.placeholder(Material.STAINED_GLASS_PANE, (byte)15, " "); + HashMap buttons = new HashMap<>(); + buttons.put(0, new PageButton(-1, this)); + buttons.put(8, new PageButton(1, this)); + + for (Entry entry : this.getAllPagesButtons(player).entrySet()) { + int ind = entry.getKey(); + if (ind >= minIndex && ind < maxIndex) { + ind -= (int)((double)this.getMaxItemsPerPage(player) * (double)(this.page - 1)) - 9; + buttons.put(ind, entry.getValue()); + } + } + + Map global = this.getGlobalButtons(player); + if (global != null) { + for (Entry gent : global.entrySet()) { + buttons.put(gent.getKey(), gent.getValue()); + } + + for (int i = 0; i < 45; i++) { + buttons.putIfAbsent(i, BLACK_PANE); + } + } + + return buttons; + } + + public int getMaxItemsPerPage(Player player) { + return 18; + } + + protected void bottomTopButtons(boolean full, Map buttons, ItemStack itemStack) { + IntStream.range(0, this.getSize()).filter(slot -> buttons.get(slot) == null).forEach(slot -> { + if (slot < 9 || slot > this.getSize() - 10 || full && (slot % 9 == 0 || (slot + 1) % 9 == 0)) { + buttons.put(slot, new Button() { + @Override + public ItemStack getButtonItem(Player player) { + return itemStack; + } + }); + } + }); + } + + public Map getGlobalButtons(Player player) { + return null; + } + + public abstract String getPrePaginatedTitle(Player var1); + + public abstract Map getAllPagesButtons(Player var1); + + public int getPage() { + return this.page; + } +} diff --git a/src/main/java/land/battle/practice/util/menu/pagination/ViewAllPagesMenu.java b/src/main/java/land/battle/practice/util/menu/pagination/ViewAllPagesMenu.java new file mode 100644 index 0000000..5a9bb27 --- /dev/null +++ b/src/main/java/land/battle/practice/util/menu/pagination/ViewAllPagesMenu.java @@ -0,0 +1,54 @@ +package land.battle.practice.util.menu.pagination; + +import land.battle.practice.util.menu.Button; +import land.battle.practice.util.menu.Menu; +import land.battle.practice.util.menu.button.BackButton; +import lombok.NonNull; +import org.bukkit.entity.Player; + +import java.util.HashMap; +import java.util.Map; + +public class ViewAllPagesMenu extends Menu { + @NonNull + PaginatedMenu menu; + + @Override + public String getTitle(Player player) { + return "Jump to page"; + } + + @Override + public Map getButtons(Player player) { + HashMap buttons = new HashMap<>(); + buttons.put(0, new BackButton(this.menu)); + int index = 10; + + for (int i = 1; i <= this.menu.getPages(player); i++) { + buttons.put(index++, new JumpToPageButton(i, this.menu, this.menu.getPage() == i)); + if ((index - 8) % 9 == 0) { + index += 2; + } + } + + return buttons; + } + + @Override + public boolean isAutoUpdate() { + return true; + } + + public ViewAllPagesMenu(@NonNull PaginatedMenu menu) { + if (menu == null) { + throw new NullPointerException("menu is marked non-null but is null"); + } else { + this.menu = menu; + } + } + + @NonNull + public PaginatedMenu getMenu() { + return this.menu; + } +} diff --git a/src/main/java/com/solexgames/practice/util/old/DeprecatedLocation.java b/src/main/java/land/battle/practice/util/old/DeprecatedLocation.java similarity index 97% rename from src/main/java/com/solexgames/practice/util/old/DeprecatedLocation.java rename to src/main/java/land/battle/practice/util/old/DeprecatedLocation.java index eb6ac1b..390deab 100644 --- a/src/main/java/com/solexgames/practice/util/old/DeprecatedLocation.java +++ b/src/main/java/land/battle/practice/util/old/DeprecatedLocation.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util.old; +package land.battle.practice.util.old; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/com/solexgames/practice/util/prompt/RenameKitLoadoutPrompt.java b/src/main/java/land/battle/practice/util/prompt/RenameKitLoadoutPrompt.java similarity index 87% rename from src/main/java/com/solexgames/practice/util/prompt/RenameKitLoadoutPrompt.java rename to src/main/java/land/battle/practice/util/prompt/RenameKitLoadoutPrompt.java index 4b61e86..b9462ac 100644 --- a/src/main/java/com/solexgames/practice/util/prompt/RenameKitLoadoutPrompt.java +++ b/src/main/java/land/battle/practice/util/prompt/RenameKitLoadoutPrompt.java @@ -1,15 +1,15 @@ -package com.solexgames.practice.util.prompt; +package land.battle.practice.util.prompt; import com.solexgames.core.util.Color; -import com.solexgames.practice.kit.PlayerKit; -import com.solexgames.practice.util.CC; +import land.battle.practice.kit.PlayerKit; +import land.battle.practice.util.CC; import lombok.RequiredArgsConstructor; import org.bukkit.conversations.ConversationContext; import org.bukkit.conversations.Prompt; import org.bukkit.conversations.StringPrompt; /** - * @author GrowlyX + * @author BattleLand Team * @since 6/3/2021 */ diff --git a/src/main/java/com/solexgames/practice/util/timer/PlayerTimer.java b/src/main/java/land/battle/practice/util/timer/PlayerTimer.java similarity index 92% rename from src/main/java/com/solexgames/practice/util/timer/PlayerTimer.java rename to src/main/java/land/battle/practice/util/timer/PlayerTimer.java index b23c098..e338cb3 100644 --- a/src/main/java/com/solexgames/practice/util/timer/PlayerTimer.java +++ b/src/main/java/land/battle/practice/util/timer/PlayerTimer.java @@ -1,10 +1,10 @@ -package com.solexgames.practice.util.timer; +package land.battle.practice.util.timer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.util.timer.event.TimerClearEvent; -import com.solexgames.practice.util.timer.event.TimerExtendEvent; -import com.solexgames.practice.util.timer.event.TimerPauseEvent; -import com.solexgames.practice.util.timer.event.TimerStartEvent; +import land.battle.practice.Practice; +import land.battle.practice.util.timer.event.TimerClearEvent; +import land.battle.practice.util.timer.event.TimerExtendEvent; +import land.battle.practice.util.timer.event.TimerPauseEvent; +import land.battle.practice.util.timer.event.TimerStartEvent; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.entity.Player; diff --git a/src/main/java/com/solexgames/practice/util/timer/Timer.java b/src/main/java/land/battle/practice/util/timer/Timer.java similarity index 87% rename from src/main/java/com/solexgames/practice/util/timer/Timer.java rename to src/main/java/land/battle/practice/util/timer/Timer.java index 2f1986a..57eae57 100644 --- a/src/main/java/com/solexgames/practice/util/timer/Timer.java +++ b/src/main/java/land/battle/practice/util/timer/Timer.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util.timer; +package land.battle.practice.util.timer; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/solexgames/practice/util/timer/TimerCooldown.java b/src/main/java/land/battle/practice/util/timer/TimerCooldown.java similarity index 95% rename from src/main/java/com/solexgames/practice/util/timer/TimerCooldown.java rename to src/main/java/land/battle/practice/util/timer/TimerCooldown.java index 7d572a0..ff5d460 100644 --- a/src/main/java/com/solexgames/practice/util/timer/TimerCooldown.java +++ b/src/main/java/land/battle/practice/util/timer/TimerCooldown.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.util.timer; +package land.battle.practice.util.timer; -import com.solexgames.practice.Practice; -import com.solexgames.practice.util.timer.event.TimerExpireEvent; +import land.battle.practice.Practice; +import land.battle.practice.util.timer.event.TimerExpireEvent; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/com/solexgames/practice/util/timer/TimerManager.java b/src/main/java/land/battle/practice/util/timer/TimerManager.java similarity index 95% rename from src/main/java/com/solexgames/practice/util/timer/TimerManager.java rename to src/main/java/land/battle/practice/util/timer/TimerManager.java index 0e1d89a..643b6b3 100644 --- a/src/main/java/com/solexgames/practice/util/timer/TimerManager.java +++ b/src/main/java/land/battle/practice/util/timer/TimerManager.java @@ -1,4 +1,4 @@ -package com.solexgames.practice.util.timer; +package land.battle.practice.util.timer; import lombok.Data; import lombok.Getter; diff --git a/src/main/java/com/solexgames/practice/util/timer/event/TimerClearEvent.java b/src/main/java/land/battle/practice/util/timer/event/TimerClearEvent.java similarity index 91% rename from src/main/java/com/solexgames/practice/util/timer/event/TimerClearEvent.java rename to src/main/java/land/battle/practice/util/timer/event/TimerClearEvent.java index f151db9..786a319 100644 --- a/src/main/java/com/solexgames/practice/util/timer/event/TimerClearEvent.java +++ b/src/main/java/land/battle/practice/util/timer/event/TimerClearEvent.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.util.timer.event; +package land.battle.practice.util.timer.event; -import com.solexgames.practice.Practice; -import com.solexgames.practice.util.timer.Timer; +import land.battle.practice.Practice; +import land.battle.practice.util.timer.Timer; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; diff --git a/src/main/java/com/solexgames/practice/util/timer/event/TimerExpireEvent.java b/src/main/java/land/battle/practice/util/timer/event/TimerExpireEvent.java similarity index 91% rename from src/main/java/com/solexgames/practice/util/timer/event/TimerExpireEvent.java rename to src/main/java/land/battle/practice/util/timer/event/TimerExpireEvent.java index 4863703..5b326d5 100644 --- a/src/main/java/com/solexgames/practice/util/timer/event/TimerExpireEvent.java +++ b/src/main/java/land/battle/practice/util/timer/event/TimerExpireEvent.java @@ -1,7 +1,7 @@ -package com.solexgames.practice.util.timer.event; +package land.battle.practice.util.timer.event; -import com.solexgames.practice.Practice; -import com.solexgames.practice.util.timer.Timer; +import land.battle.practice.Practice; +import land.battle.practice.util.timer.Timer; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; diff --git a/src/main/java/com/solexgames/practice/util/timer/event/TimerExtendEvent.java b/src/main/java/land/battle/practice/util/timer/event/TimerExtendEvent.java similarity index 95% rename from src/main/java/com/solexgames/practice/util/timer/event/TimerExtendEvent.java rename to src/main/java/land/battle/practice/util/timer/event/TimerExtendEvent.java index 968ecb6..766ab81 100644 --- a/src/main/java/com/solexgames/practice/util/timer/event/TimerExtendEvent.java +++ b/src/main/java/land/battle/practice/util/timer/event/TimerExtendEvent.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.util.timer.event; +package land.battle.practice.util.timer.event; -import com.solexgames.practice.util.timer.Timer; +import land.battle.practice.util.timer.Timer; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; diff --git a/src/main/java/com/solexgames/practice/util/timer/event/TimerPauseEvent.java b/src/main/java/land/battle/practice/util/timer/event/TimerPauseEvent.java similarity index 93% rename from src/main/java/com/solexgames/practice/util/timer/event/TimerPauseEvent.java rename to src/main/java/land/battle/practice/util/timer/event/TimerPauseEvent.java index aec7527..8047703 100644 --- a/src/main/java/com/solexgames/practice/util/timer/event/TimerPauseEvent.java +++ b/src/main/java/land/battle/practice/util/timer/event/TimerPauseEvent.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.util.timer.event; +package land.battle.practice.util.timer.event; -import com.solexgames.practice.util.timer.Timer; +import land.battle.practice.util.timer.Timer; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; diff --git a/src/main/java/com/solexgames/practice/util/timer/event/TimerStartEvent.java b/src/main/java/land/battle/practice/util/timer/event/TimerStartEvent.java similarity index 93% rename from src/main/java/com/solexgames/practice/util/timer/event/TimerStartEvent.java rename to src/main/java/land/battle/practice/util/timer/event/TimerStartEvent.java index 1697203..0f5070a 100644 --- a/src/main/java/com/solexgames/practice/util/timer/event/TimerStartEvent.java +++ b/src/main/java/land/battle/practice/util/timer/event/TimerStartEvent.java @@ -1,6 +1,6 @@ -package com.solexgames.practice.util.timer.event; +package land.battle.practice.util.timer.event; -import com.solexgames.practice.util.timer.Timer; +import land.battle.practice.util.timer.Timer; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; diff --git a/src/main/java/com/solexgames/practice/util/timer/impl/EnderpearlTimer.java b/src/main/java/land/battle/practice/util/timer/impl/EnderpearlTimer.java similarity index 94% rename from src/main/java/com/solexgames/practice/util/timer/impl/EnderpearlTimer.java rename to src/main/java/land/battle/practice/util/timer/impl/EnderpearlTimer.java index 5733141..907f9b3 100644 --- a/src/main/java/com/solexgames/practice/util/timer/impl/EnderpearlTimer.java +++ b/src/main/java/land/battle/practice/util/timer/impl/EnderpearlTimer.java @@ -1,9 +1,9 @@ -package com.solexgames.practice.util.timer.impl; +package land.battle.practice.util.timer.impl; import com.lunarbreaker.api.LunarBreakerAPI; import com.lunarbreaker.api.object.CBCooldown; -import com.solexgames.practice.util.CC; -import com.solexgames.practice.util.timer.PlayerTimer; +import land.battle.practice.util.CC; +import land.battle.practice.util.timer.PlayerTimer; import org.apache.commons.lang.time.DurationFormatUtils; import org.bukkit.Material; import org.bukkit.entity.EnderPearl; diff --git a/src/main/java/land/battle/practice/vote/Vote.java b/src/main/java/land/battle/practice/vote/Vote.java new file mode 100644 index 0000000..1f84a97 --- /dev/null +++ b/src/main/java/land/battle/practice/vote/Vote.java @@ -0,0 +1,27 @@ +package land.battle.practice.vote; + +import land.battle.practice.util.CCI; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * @author DevKevin (devkevinggg@gmail.com) + * 24/01/2023 @ 16:35 + * vote / me.devkevin.practice.match / Practice + */ +@Getter +@RequiredArgsConstructor +public enum Vote { + ONE_STAR(CCI.RED, 1), + TWO_STARS(CCI.YELLOW, 2), + THREE_STARS(CCI.YELLOW, 3), + FOUR_STARS(CCI.YELLOW, 4), + FIVE_STARS(CCI.GREEN, 5); + + private final String color; + private final int vote; + + public String getDisplayName() { + return this.color + "[" + this.vote + "\u272e]"; + } +} diff --git a/src/main/java/land/battle/practice/vote/VoteManager.java b/src/main/java/land/battle/practice/vote/VoteManager.java new file mode 100644 index 0000000..04b9b18 --- /dev/null +++ b/src/main/java/land/battle/practice/vote/VoteManager.java @@ -0,0 +1,60 @@ +package land.battle.practice.vote; + +import land.battle.practice.Practice; +import land.battle.practice.arena.Arena; +import land.battle.practice.player.PlayerData; +import land.battle.practice.util.CC; +import land.battle.practice.util.ChatComponentBuilder; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.HoverEvent; +import net.minecraft.server.v1_8_R3.MinecraftServer; +import org.bukkit.entity.Player; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; + +/** + * @author DevKevin (devkevinggg@gmail.com) + * 24/01/2023 @ 16:38 + * VoteManager / me.devkevin.practice.match.vote / Practice + */ +@Getter +@RequiredArgsConstructor +public class VoteManager { + private final Practice plugin; + private final List pendingVotes = new ArrayList<>(); + + + public void sendVoteMessage(Player player, Arena arena) { + + ChatComponentBuilder builder = new ChatComponentBuilder(""); + builder.append(CC.AQUA + "Give us some feedback about "); + builder.append(CC.GOLD + arena.getName()); + builder.append(CC.PINK + " by clicking one of the stars: "); + + Arrays.stream(Vote.values()).forEach(rating -> builder.append(rating.getDisplayName() + " ") + .event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/rate " + rating.name())) + .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ChatComponentBuilder(CC.GREEN + "Click to rate " + rating.getDisplayName() + CC.GREEN + ".").create()))); + + player.sendMessage(builder.create()); + } + + public void attemptVote(Player player, Vote vote) { + final PlayerData playerData = Practice.getInstance().getPlayerManager() + .getPlayerData(player.getUniqueId()); + + if (this.pendingVotes.contains(player.getUniqueId())) { + return; + } + + + this.pendingVotes.add(player.getUniqueId()); + //this.plugin.getPracticeDatabase().getVotesCollection().insertOne(new Document("uuid", player.getUniqueId().toString()).append("arena", arena.getName()).append("vote", vote.name())); + player.sendMessage(CC.YELLOW + "You rated " + vote.getDisplayName() + CC.YELLOW + " thank you for your feedback."); + this.pendingVotes.remove(player.getUniqueId()); + } +} diff --git a/src/main/java/land/battle/practice/vote/commands/RateCommand.java b/src/main/java/land/battle/practice/vote/commands/RateCommand.java new file mode 100644 index 0000000..50e2f10 --- /dev/null +++ b/src/main/java/land/battle/practice/vote/commands/RateCommand.java @@ -0,0 +1,50 @@ +package land.battle.practice.vote.commands; + +import com.solexgames.lib.acf.BaseCommand; +import com.solexgames.lib.acf.annotation.CommandAlias; +import com.solexgames.lib.acf.annotation.CommandPermission; +import com.solexgames.lib.acf.annotation.Default; +import land.battle.practice.Practice; +import land.battle.practice.player.PlayerData; +import land.battle.practice.player.PlayerState; +import land.battle.practice.util.CC; +import land.battle.practice.util.CommandArgs; +import land.battle.practice.util.TaskUtil; + +import land.battle.practice.vote.Vote; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; + +/** + * @author BattleLand Team + * @since 5/17/2021 + */ + +@CommandAlias("rate") +public class RateCommand extends BaseCommand { + + @Default + public void onDefault(CommandArgs command) { + + Player player = command.getPlayer(); + String[] args = command.getArgs(); + + if (args.length != 1) { + return; + } + + final PlayerData playerData = Practice.getInstance().getPlayerManager() + .getPlayerData(player.getUniqueId()); + + + Vote vote; + try { + vote = Vote.valueOf(args[0]); + } + catch (Exception unused) { + return; + } + + TaskUtil.runAsync(() -> Practice.getInstance().getVoteManager().attemptVote(player, vote)); + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index ab186e0..0919a7f 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: Practice -main: com.solexgames.practice.Practice +main: land.battle.practice.Practice version: ${git.commit.id.abbrev} author: SolexGames