From b80b443de329998cb166a0c62c9d864b3658a739 Mon Sep 17 00:00:00 2001
From: Chip <65827213+ChipmunkMC@users.noreply.github.com>
Date: Thu, 3 Nov 2022 10:27:46 +0000
Subject: [PATCH] Update Paper API & Use adventure for messages (#9)
* Update Paper API & Use adventure for messages
* Compile with Java 17
i almost forgor
* Remove the unused `ChatColor` import
(which i probably should have removed before)
* oops i messed up the usage
---
.github/workflows/main.yml | 2 +-
pom.xml | 9 +--
.../pw/kaboom/icontrolu/ControlPlayer.java | 8 ++-
src/main/java/pw/kaboom/icontrolu/Main.java | 9 ++-
.../kaboom/icontrolu/commands/CommandIcu.java | 62 +++++++++++++------
5 files changed, 62 insertions(+), 28 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index e26a4a0..56f22a2 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -15,7 +15,7 @@ jobs:
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
- java-version: 8
+ java-version: 17
- name: Cache maven packages to speed up build
uses: actions/cache@v1
diff --git a/pom.xml b/pom.xml
index 5647926..38679b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,17 +5,18 @@
master
- 1.8
- 1.8
+ 17
+ 17
true
UTF-8
- com.destroystokyo.paper
+ io.papermc.paper
paper-api
- 1.15.2-R0.1-SNAPSHOT
+ 1.18.2-R0.1-SNAPSHOT
+ provided
diff --git a/src/main/java/pw/kaboom/icontrolu/ControlPlayer.java b/src/main/java/pw/kaboom/icontrolu/ControlPlayer.java
index 3022ac2..2b8d5f4 100644
--- a/src/main/java/pw/kaboom/icontrolu/ControlPlayer.java
+++ b/src/main/java/pw/kaboom/icontrolu/ControlPlayer.java
@@ -23,6 +23,8 @@ import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
+import net.kyori.adventure.text.Component;
+
import pw.kaboom.icontrolu.utilities.PlayerList;
class Tick extends BukkitRunnable {
@@ -228,12 +230,12 @@ class ControlPlayer implements Listener {
}
controller.removePotionEffect(PotionEffectType.INVISIBILITY);
- controller.sendMessage("You are now visible");
+ controller.sendMessage(Component.text("You are now visible"));
}
}.runTaskLater(JavaPlugin.getPlugin(Main.class), tickDelay);
- otherPlayer.sendMessage("The player you were controlling has disconnected. "
- + "You are invisible for 10 seconds.");
+ otherPlayer.sendMessage(Component.text("The player you were controlling has "
+ + "disconnected. You are invisible for 10 seconds."));
} else if (PlayerList.getTarget(player.getUniqueId()) != null
&& PlayerList.getTarget(player.getUniqueId()).equals(otherPlayer)) {
diff --git a/src/main/java/pw/kaboom/icontrolu/Main.java b/src/main/java/pw/kaboom/icontrolu/Main.java
index 6a707e8..041ad2b 100644
--- a/src/main/java/pw/kaboom/icontrolu/Main.java
+++ b/src/main/java/pw/kaboom/icontrolu/Main.java
@@ -7,6 +7,8 @@ import org.bukkit.potion.PotionEffectType;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
+import net.kyori.adventure.text.Component;
+
import pw.kaboom.icontrolu.commands.CommandIcu;
import pw.kaboom.icontrolu.utilities.PlayerList;
@@ -45,8 +47,11 @@ public final class Main extends JavaPlugin {
}
controller.removePotionEffect(PotionEffectType.INVISIBILITY);
- controller.sendMessage("You are no longer controlling \"" + target.getName()
- + "\" due to server reload");
+ controller.sendMessage(
+ Component.text("You are no longer controlling \"")
+ .append(Component.text(target.getName()))
+ .append(Component.text("\" due to server reload"))
+ );
}
}
}
diff --git a/src/main/java/pw/kaboom/icontrolu/commands/CommandIcu.java b/src/main/java/pw/kaboom/icontrolu/commands/CommandIcu.java
index 3262f92..f34788e 100644
--- a/src/main/java/pw/kaboom/icontrolu/commands/CommandIcu.java
+++ b/src/main/java/pw/kaboom/icontrolu/commands/CommandIcu.java
@@ -3,7 +3,6 @@ package pw.kaboom.icontrolu.commands;
import java.util.UUID;
import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
@@ -15,13 +14,17 @@ import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+
import pw.kaboom.icontrolu.Main;
import pw.kaboom.icontrolu.utilities.PlayerList;
public final class CommandIcu implements CommandExecutor {
private void controlCommand(final Player controller, final String label, final String[] args) {
if (args.length == 1) {
- controller.sendMessage(ChatColor.RED + "Usage: /" + label + " control ");
+ controller.sendMessage(Component
+ .text("Usage: /" + label + " control ", NamedTextColor.RED));
} else {
Player target = Bukkit.getPlayer(args[1]);
@@ -31,18 +34,27 @@ public final class CommandIcu implements CommandExecutor {
if (target != null) {
if (target == controller) {
- controller.sendMessage("You are already controlling yourself");
+ controller.sendMessage(Component.text("You are already controlling yourself"));
} else if (PlayerList.getTarget(controller.getUniqueId()) != null) {
- controller.sendMessage("You are already controlling \""
- + target.getName() + "\"");
+ controller.sendMessage(
+ Component.text("You are already controlling \"")
+ .append(Component.text(target.getName()))
+ .append(Component.text("\""))
+ );
} else if (PlayerList.getController(target.getUniqueId()) != null) {
- controller.sendMessage("Player \"" + target.getName()
- + "\" is already being controlled");
+ controller.sendMessage(
+ Component.text("Player \"")
+ .append(Component.text(target.getName()))
+ .append(Component.text("\" is already being controlled"))
+ );
} else if (PlayerList.getTarget(target.getUniqueId()) != null) {
- controller.sendMessage("Player \"" + target.getName()
- + "\" is already controlling another player");
+ controller.sendMessage(
+ Component.text("Player \"")
+ .append(Component.text(target.getName()))
+ .append(Component.text("\" is already controlling another player"))
+ );
} else if (!controller.canSee(target)) {
- controller.sendMessage("You may not control this player");
+ controller.sendMessage(Component.text("You may not control this player"));
} else {
controller.teleportAsync(target.getLocation());
@@ -51,10 +63,18 @@ public final class CommandIcu implements CommandExecutor {
PlayerList.setTarget(controller.getUniqueId(), target);
PlayerList.setController(target.getUniqueId(), controller);
- controller.sendMessage("You are now controlling \"" + target.getName() + "\"");
+ controller.sendMessage(
+ Component.text("You are now controlling \"")
+ .append(Component.text(target.getName()))
+ .append(Component.text("\""))
+ );
}
} else {
- controller.sendMessage("Player \"" + args[1] + "\" not found");
+ controller.sendMessage(
+ Component.text("Player \"")
+ .append(Component.text(args[1]))
+ .append(Component.text("\" not found"))
+ );
}
}
}
@@ -82,16 +102,21 @@ public final class CommandIcu implements CommandExecutor {
}
controller.removePotionEffect(PotionEffectType.INVISIBILITY);
- controller.sendMessage("You are now visible");
+ controller.sendMessage(Component.text("You are now visible"));
}
}.runTaskLater(JavaPlugin.getPlugin(Main.class), tickDelay);
final int seconds = tickDelay / 20;
- controller.sendMessage("You are no longer controlling \"" + target.getName()
- + "\". You are invisible for " + seconds + " seconds.");
+ controller.sendMessage(
+ Component.text("You are no longer controlling \"")
+ .append(Component.text(target.getName()))
+ .append(Component.text("\". You are invisible for "))
+ .append(Component.text(seconds))
+ .append(Component.text(" seconds."))
+ );
} else {
- controller.sendMessage("You are not controlling anyone at the moment");
+ controller.sendMessage(Component.text("You are not controlling anyone at the moment"));
}
}
@@ -99,14 +124,15 @@ public final class CommandIcu implements CommandExecutor {
public boolean onCommand(final CommandSender sender, final Command command, final String label,
final String[] args) {
if (sender instanceof ConsoleCommandSender) {
- sender.sendMessage("Command has to be run by a player");
+ sender.sendMessage(Component.text("Command has to be run by a player"));
return true;
}
final Player controller = (Player) sender;
if (args.length == 0) {
- controller.sendMessage(ChatColor.RED + "Usage: /" + label + " ");
+ controller.sendMessage(Component
+ .text("Usage: /" + label + " ", NamedTextColor.RED));
} else if (args[0].equalsIgnoreCase("control")) {
controlCommand(controller, label, args);
} else if (args[0].equalsIgnoreCase("stop")) {