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 extends String> 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