Skip to content

Commit

Permalink
Merge pull request #77 from teakivy/Transition-To-Adventure-API
Browse files Browse the repository at this point in the history
Transition to adventure api
  • Loading branch information
teakivy committed Nov 6, 2023
2 parents 087ba43 + cdffdae commit 3ca24e2
Show file tree
Hide file tree
Showing 88 changed files with 2,557 additions and 3,271 deletions.
17 changes: 0 additions & 17 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,28 +113,11 @@
<version>1.20-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.20-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.mojang</groupId>
<artifactId>authlib</artifactId>
<version>1.5.25</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
20 changes: 13 additions & 7 deletions src/main/java/me/teakivy/teakstweaks/TeaksTweaks.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import me.teakivy.teakstweaks.utils.metrics.Metrics;
import me.teakivy.teakstweaks.utils.update.UpdateChecker;
import me.teakivy.teakstweaks.utils.update.UpdateJoinAlert;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.event.Listener;
Expand Down Expand Up @@ -71,9 +74,9 @@ public void onEnable() {
tagListener = new Tag();

// Plugin startup logic
Logger.info("");
Logger.info(Translatable.get("startup.plugin.started").replace("%version%", this.getDescription().getVersion()));
Logger.info("");
Logger.info(newText(" "));
Logger.info(Translatable.get("startup.plugin.started", Placeholder.parsed("version", this.getDescription().getVersion())));
Logger.info(newText(" "));

// Packs
register = new Register();
Expand All @@ -100,7 +103,7 @@ public void clearPacks() {

/**
* Add a pack to the active packs list
* @param name
* @param name Pack name
*/
public void addPack(String name) {
activePacks.add(name);
Expand Down Expand Up @@ -161,8 +164,7 @@ public static ConfigurationSection getPackConfig(String pack) {
private void createCredits() {
try {
new Credits().createCredits();
} catch (IOException e) {
e.printStackTrace();
} catch (IOException ignored) {
}
}

Expand All @@ -181,7 +183,7 @@ private void updateConfig() {
e.printStackTrace();
}

Logger.info("Updated Plugin Config");
Logger.info(newText("Updated Plugin Config"));
}

/**
Expand Down Expand Up @@ -210,4 +212,8 @@ public static boolean isDevMode() {
return devMode;
}

public static Component newText(String text) {
return MiniMessage.miniMessage().deserialize(text);
}

}
25 changes: 9 additions & 16 deletions src/main/java/me/teakivy/teakstweaks/commands/AFKCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,30 @@

import me.teakivy.teakstweaks.packs.survival.afkdisplay.AFK;
import me.teakivy.teakstweaks.utils.ErrorType;
import me.teakivy.teakstweaks.utils.command.*;
import org.bukkit.entity.Player;

import java.util.List;

public class AFKCommand extends AbstractCommand {

public AFKCommand() {
super("afk-display", "afk", "/afk [uninstall]", CommandType.PLAYER_ONLY);
super(CommandType.PLAYER_ONLY, "afk-display", "afk", Arg.optional("uninstall"));
}

@Override
public void playerCommand(Player player, String[] args) {
if (args.length == 1 && args[0].equals("uninstall")) {
if (!checkPermission(player, "uninstall")) return;
public void playerCommand(PlayerCommandEvent event) {
Player player = event.getPlayer();
if (event.isArgsSize(1) && event.isArg(0, "uninstall")) {
if (!checkPermission("uninstall")) return;

AFK.uninstall();
}

if (!getConfig().getBoolean("packs.afk-display.allow-afk-command")) {
player.sendMessage(ErrorType.COMMAND_DISABLED.m());
if (!getPackConfig().getBoolean("allow-afk-command")) {
sendError(ErrorType.COMMAND_DISABLED);
return;
}

if (!checkPermission(player, "toggle")) return;
if (!checkPermission("toggle")) return;

if (AFK.afk.containsKey(player.getUniqueId())) {
if (AFK.afk.get(player.getUniqueId())) {
Expand All @@ -36,11 +36,4 @@ public void playerCommand(Player player, String[] args) {
AFK.afk(player, true);
}
}

@Override
public List<String> tabComplete(String[] args) {
if (args.length == 1) return List.of("uninstall");

return null;
}
}
84 changes: 39 additions & 45 deletions src/main/java/me/teakivy/teakstweaks/commands/AltsCommand.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package me.teakivy.teakstweaks.commands;

import me.teakivy.teakstweaks.TeaksTweaks;
import me.teakivy.teakstweaks.packs.teakstweaks.spectatoralts.SpectatorAlts;
import me.teakivy.teakstweaks.utils.ErrorType;
import me.teakivy.teakstweaks.utils.command.*;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import java.util.List;
Expand All @@ -14,111 +13,108 @@
public class AltsCommand extends AbstractCommand {

public AltsCommand() {
super("spectator-alts", "alts", "/alts <add|remove|list> <alt> [player]", CommandType.PLAYER_ONLY);
super(CommandType.PLAYER_ONLY, "spectator-alts", "alts", Arg.required("add", "remove", "list"), Arg.optional("alt"), Arg.optional("player"));
}

@Override
public void playerCommand(Player player, String[] args) {
if (args.length < 1) {
sendUsage(player);
return;
}

String action = args[0];
public void playerCommand(PlayerCommandEvent event) {
Player player = event.getPlayer();
UUID main = player.getUniqueId();
UUID secondary = null;

if (args.length > 1) {
secondary = Bukkit.getPlayerUniqueId(args[1]);
String action = event.getArg(0);

if (event.hasArgs(2)) {
secondary = Bukkit.getPlayerUniqueId(event.getArg(1));

if (secondary == null) {
player.sendMessage(ErrorType.PLAYER_DNE.m());
sendError(ErrorType.PLAYER_DNE);
return;
}
}

if (args.length > 2) {
if (event.hasArgs(3)) {
if (!player.isOp()) {
player.sendMessage(getError("no_permission_modify_others"));
sendError("no_permission_modify_others");
return;
}

main = Bukkit.getPlayerUniqueId(args[2]);
main = Bukkit.getPlayerUniqueId(event.getArg(2));

if (main == null) {
player.sendMessage(ErrorType.PLAYER_DNE.m());
sendError(ErrorType.PLAYER_DNE);
return;
}
}

if (action.equals("list")) {
if (secondary != null) main = secondary;

sendList(main, player);
sendList(main);
return;
}

if (args.length < 2) {
sendUsage(player);
if (!event.hasArgs(3)) {
sendUsage();
return;
}

if (action.equals("add")) {
if (!canAddAlt(player)) {
player.sendMessage(getError("max_alts"));
sendError("max_alts");
return;
}

if (main.equals(secondary)) {
player.sendMessage(getError("self"));
sendError("self");
return;
}

for (OfflinePlayer whitelisted : Bukkit.getWhitelistedPlayers()) {
if (whitelisted.getUniqueId().equals(secondary)) {
player.sendMessage(getError("whitelisted"));
sendError("whitelisted");
return;
}
}

if (SpectatorAlts.isAlt(secondary)) {
player.sendMessage(getError("already_alt").replace("%alt%", getName(secondary)));
sendError("already_alt", insert("alt", getName(secondary)));
return;
}

SpectatorAlts.addAlt(main, secondary);
player.sendMessage(getString("added_alt").replace("%alt%", getName(secondary)).replace("%player%", getName(main)));
sendMessage("added_alt", insert("alt", getName(secondary)), insert("player", getName(main)));
return;
}

if (action.equals("remove")) {
if (!SpectatorAlts.isAlt(secondary)) {
player.sendMessage(getError("not_alt").replace("%alt%", getName(secondary)));
sendError("not_alt", insert("alt", getName(secondary)));
return;
}

SpectatorAlts.removeAlt(secondary);
player.sendMessage(getString("removed_alt").replace("%alt%", getName(secondary)).replace("%player%", getName(main)));
sendMessage("removed_alt", insert("alt", getName(secondary)), insert("player", getName(main)));
return;
}

sendUsage(player);
sendUsage();
}

@Override
public List<String> tabComplete(String[] args) {
if (args.length == 1) return List.of("add", "remove", "list");
public List<String> tabComplete(TabCompleteEvent event) {
if (event.isArg(1)) return List.of("add", "remove", "list");

if (args.length == 2) {
if (args[0].equals("list")) {
return List.of("<player>");
if (event.isArg(2)) {
if (event.isArg(0, "list")) {
return List.of("[player]");
}
return List.of("<alt>");
}

if (args.length == 3) {
if (args[0].equals("add") || args[0].equals("remove")) {
return List.of("<player>");
if (event.isArg(3)) {
if (event.isArg(0, "add") || event.isArg(0, "remove")) {
return List.of("[player]");
}
}

Expand All @@ -139,30 +135,28 @@ private String getName(UUID uuid) {
/**
* Sends a list of alts for the given account to the given sender
* @param account The account to list the alts of
* @param sender The sender to send the list to
*/
private void sendList(UUID account, CommandSender sender) {
private void sendList(UUID account) {
List<UUID> alts = SpectatorAlts.getAlts(account);

if (alts.size() == 0) {
sender.sendMessage(getError("no_alts").replace("%player%", getName(account)));
if (alts.isEmpty()) {
sendError("no_alts", insert("player", getName(account)));
return;
}

sender.sendMessage(getString("list_alts").replace("%player%", getName(account)));
sendMessage("list_alts", insert("player", getName(account)));
for (UUID altAcc : alts) {
sender.sendMessage(getString("listed_alt").replace("%alt%", getName(altAcc)));
sendMessage("listed_alt", insert("alt", getName(altAcc)));
}
}

/**
* Checks if the given player can add another alt
* @param player The player to check
* @return Whether or not the player can add another alt
*/
public boolean canAddAlt(Player player) {
if (player.isOp()) return true;
if (TeaksTweaks.getInstance().getConfig().getInt("packs.spectator-alts.max-alts") == -1) return true;
return SpectatorAlts.getAlts(player.getUniqueId()).size() < TeaksTweaks.getInstance().getConfig().getInt("packs.spectator-alts.max-alts");
if (getPackConfig().getInt("max-alts") == -1) return true;
return SpectatorAlts.getAlts(player.getUniqueId()).size() < getPackConfig().getInt("max-alts");
}
}
37 changes: 12 additions & 25 deletions src/main/java/me/teakivy/teakstweaks/commands/BackCommand.java
Original file line number Diff line number Diff line change
@@ -1,47 +1,34 @@
package me.teakivy.teakstweaks.commands;

import me.teakivy.teakstweaks.TeaksTweaks;
import me.teakivy.teakstweaks.packs.teleportation.back.Back;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import me.teakivy.teakstweaks.utils.command.AbstractCommand;
import me.teakivy.teakstweaks.utils.command.CommandType;
import me.teakivy.teakstweaks.utils.command.PlayerCommandEvent;
import org.bukkit.entity.Player;

public class BackCommand extends AbstractCommand {

public BackCommand() {
super("back", "back", "/back", CommandType.PLAYER_ONLY);
super(CommandType.PLAYER_ONLY, "back", "back");

setCooldownTime(getConfig().getInt("packs.back.teleport-cooldown"));
setCooldownTime(getPackConfig().getInt("teleport-cooldown"));
}

@Override
public void playerCommand(Player player, String[] args) {
if (isOnCooldown(player)) {
player.sendMessage(getError("on_cooldown").replace("%cooldown_seconds%", getCooldownTime() + ""));
public void playerCommand(PlayerCommandEvent event) {
Player player = event.getPlayer();
if (isOnCooldown()) {
sendError("on_cooldown", insert("cooldown_seconds", getCooldownTime()));
return;
}

if (!Back.backLoc.containsKey(player.getUniqueId())) {
player.sendMessage(getError("no_back_location"));
return;
}

setCooldown(player);
player.sendMessage(getString("teleporting"));

if (getConfig().getInt("packs.back.teleport-delay") > 0) {
Location loc = player.getLocation();
Bukkit.getScheduler().scheduleSyncDelayedTask(TeaksTweaks.getInstance(), () -> {
if (!player.getLocation().equals(loc)) {
player.sendMessage(getError("moved"));
return;
}
Back.tpBack(player);
}, getConfig().getInt("packs.back.teleport-delay") * 20L);

sendError("no_back_location");
return;
}

setCooldown();
Back.tpBack(player);
sendMessage("teleporting");
}
}
Loading

0 comments on commit 3ca24e2

Please sign in to comment.