From f932d6a8b572d59ce70c3544f4cf73717ad0e413 Mon Sep 17 00:00:00 2001 From: amy <144570677+amyavi@users.noreply.github.com> Date: Tue, 16 Jun 2026 23:37:17 -0300 Subject: [PATCH 1/5] chore: update paper-api to 26.2 --- .github/workflows/main.yml | 2 +- pom.xml | 22 +++++----------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a921fe99..d8b7e19a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: 21 + java-version: 25 - name: Cache maven packages to speed up build uses: actions/cache@v4 diff --git a/pom.xml b/pom.xml index 11391344..296ef85b 100644 --- a/pom.xml +++ b/pom.xml @@ -5,8 +5,8 @@ master - 21 - 21 + 25 + 25 true UTF-8 @@ -15,14 +15,14 @@ io.papermc.paper paper-api - 1.21.10-R0.1-SNAPSHOT + 26.2.build.15-alpha provided com.github.oshi oshi-core - 6.6.5 + 6.9.0 provided @@ -37,19 +37,7 @@ ${project.artifactId} - - - org.apache.maven.plugins - maven-jar-plugin - 3.4.2 - - - - mojang - - - - + org.apache.maven.plugins maven-checkstyle-plugin From f9f5feb39ed2caf2309c2b177cabe40e87ef6148 Mon Sep 17 00:00:00 2001 From: amy <144570677+amyavi@users.noreply.github.com> Date: Tue, 16 Jun 2026 23:45:35 -0300 Subject: [PATCH 2/5] chore: switch to jspecify javax annotation is no longer provided by Paper, so we don't have much choice. --- .../kaboom/extras/commands/CommandBroadcastMM.java | 9 ++++----- .../extras/commands/CommandBroadcastRainbow.java | 9 ++++----- .../extras/commands/CommandBroadcastVanilla.java | 8 ++++---- .../pw/kaboom/extras/commands/CommandClearChat.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandConsole.java | 9 ++++----- .../extras/commands/CommandDestroyEntities.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandEnchantAll.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandGetJSON.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandGetJSONMM.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandJumpscare.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandKaboom.java | 8 ++++---- .../java/pw/kaboom/extras/commands/CommandPing.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandPrefix.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandPumpkin.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandServerInfo.java | 8 ++++---- .../java/pw/kaboom/extras/commands/CommandSkin.java | 9 ++++----- .../java/pw/kaboom/extras/commands/CommandSpawn.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandSpidey.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandTellraw.java | 9 ++++----- .../pw/kaboom/extras/commands/CommandUsername.java | 8 ++++---- .../pw/kaboom/extras/modules/player/PlayerChat.java | 12 ++++++------ src/main/java/pw/kaboom/extras/util/Utility.java | 6 +++--- 22 files changed, 89 insertions(+), 105 deletions(-) diff --git a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java index dd774618..75dbafeb 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java @@ -8,15 +8,14 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandBroadcastMM implements CommandExecutor { private static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage(); - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastRainbow.java b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastRainbow.java index c1e77a89..97f55dc2 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastRainbow.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastRainbow.java @@ -8,15 +8,14 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandBroadcastRainbow implements CommandExecutor { private static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage(); - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java index c7782f33..455d76f8 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java @@ -10,8 +10,8 @@ import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; +import org.jspecify.annotations.NonNull; -import javax.annotation.Nonnull; import java.util.Collection; public final class CommandBroadcastVanilla implements CommandExecutor { @@ -19,9 +19,9 @@ public final class CommandBroadcastVanilla implements CommandExecutor { LegacyComponentSerializer .legacyAmpersand(); - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandClearChat.java b/src/main/java/pw/kaboom/extras/commands/CommandClearChat.java index 6eeebd98..3c87e609 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandClearChat.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandClearChat.java @@ -7,13 +7,12 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandClearChat implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { final int maxMessages = 100; Component clearChatComponent = Component.empty(); diff --git a/src/main/java/pw/kaboom/extras/commands/CommandConsole.java b/src/main/java/pw/kaboom/extras/commands/CommandConsole.java index aaeaead1..adf96416 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandConsole.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandConsole.java @@ -6,14 +6,13 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; +import org.jspecify.annotations.NonNull; import pw.kaboom.extras.util.Utility; -import javax.annotation.Nonnull; - public final class CommandConsole implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandDestroyEntities.java b/src/main/java/pw/kaboom/extras/commands/CommandDestroyEntities.java index f9b1618f..115de81b 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandDestroyEntities.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandDestroyEntities.java @@ -8,14 +8,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandDestroyEntities implements CommandExecutor { @Override - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { int entityCount = 0; int worldCount = 0; diff --git a/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java b/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java index bd479164..381ac845 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java @@ -12,13 +12,12 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandEnchantAll implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (!(sender instanceof final Player player)) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java b/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java index e92c5a9b..b9b68195 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java @@ -8,13 +8,12 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandGetJSON implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandGetJSONMM.java b/src/main/java/pw/kaboom/extras/commands/CommandGetJSONMM.java index 1f53abe0..394d5ae7 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandGetJSONMM.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandGetJSONMM.java @@ -8,13 +8,12 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandGetJSONMM implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java b/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java index ff1f6254..8567eb17 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java @@ -9,8 +9,7 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandJumpscare implements CommandExecutor { private void createJumpscare(final Player player) { @@ -23,9 +22,9 @@ private void createJumpscare(final Player player) { } } - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java b/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java index 2a8a22cf..5a7bfd62 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java @@ -9,15 +9,15 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import org.jspecify.annotations.NonNull; -import javax.annotation.Nonnull; import java.util.concurrent.ThreadLocalRandom; public final class CommandKaboom implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (!(sender instanceof final Player player)) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandPing.java b/src/main/java/pw/kaboom/extras/commands/CommandPing.java index bd4ba14f..e8b146c9 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandPing.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandPing.java @@ -7,14 +7,13 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandPing implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { Player target; diff --git a/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java b/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java index e2f92da3..56f767fc 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java @@ -6,16 +6,15 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.jspecify.annotations.NonNull; import pw.kaboom.extras.modules.player.PlayerPrefix; -import javax.annotation.Nonnull; - public final class CommandPrefix implements CommandExecutor { private static final int MAX_PREFIX_LENGTH = 1024; - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command cmd, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command cmd, + final @NonNull String label, final String[] args) { if (!(sender instanceof final Player player)) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java b/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java index 7b7e5a02..0718c17a 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java @@ -9,17 +9,16 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandPumpkin implements CommandExecutor { private void placePumpkin(final Player player) { player.getInventory().setHelmet(new ItemStack(Material.CARVED_PUMPKIN)); } - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandServerInfo.java b/src/main/java/pw/kaboom/extras/commands/CommandServerInfo.java index 6f02f2aa..0d7f5a50 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandServerInfo.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandServerInfo.java @@ -8,11 +8,11 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.NonNull; import oshi.SystemInfo; import oshi.hardware.GraphicsCard; import pw.kaboom.extras.util.Utility; -import javax.annotation.Nonnull; import java.lang.management.ManagementFactory; import java.net.InetAddress; @@ -63,9 +63,9 @@ private void sendInfoMessage(final CommandSender target, final String descriptio .append(Component.text(": " + value, NamedTextColor.WHITE))); } - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { try { sendInfoMessage(sender, "Hostname", diff --git a/src/main/java/pw/kaboom/extras/commands/CommandSkin.java b/src/main/java/pw/kaboom/extras/commands/CommandSkin.java index f17e4ac7..71bba4ea 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandSkin.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandSkin.java @@ -6,15 +6,14 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.jspecify.annotations.NonNull; import pw.kaboom.extras.modules.player.skin.SkinManager; -import javax.annotation.Nonnull; - public final class CommandSkin implements CommandExecutor { @Override - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (!(sender instanceof final Player player)) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java b/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java index 69369779..caa3ece1 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java @@ -6,14 +6,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerTeleportEvent; +import org.jspecify.annotations.NonNull; import pw.kaboom.extras.util.Utility; -import javax.annotation.Nonnull; - public final class CommandSpawn implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (!(sender instanceof final Player player)) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java b/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java index e35c0bf0..8b729e18 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java @@ -10,13 +10,12 @@ import org.bukkit.entity.Player; import org.bukkit.util.BlockIterator; import org.bukkit.util.Vector; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandSpidey implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (!(sender instanceof final Player player)) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java b/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java index f2baa771..61f93565 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java @@ -8,13 +8,12 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; - -import javax.annotation.Nonnull; +import org.jspecify.annotations.NonNull; public final class CommandTellraw implements CommandExecutor { - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (args.length == 0) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/commands/CommandUsername.java b/src/main/java/pw/kaboom/extras/commands/CommandUsername.java index 696433b0..8e43b746 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandUsername.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandUsername.java @@ -8,9 +8,9 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.jspecify.annotations.NonNull; import pw.kaboom.extras.util.Utility; -import javax.annotation.Nonnull; import java.util.HashMap; import java.util.Map; @@ -18,9 +18,9 @@ public final class CommandUsername implements CommandExecutor { private final Map lastUsedMillis = new HashMap<>(); @Override - public boolean onCommand(final @Nonnull CommandSender sender, - final @Nonnull Command command, - final @Nonnull String label, + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, final String[] args) { if (!(sender instanceof final Player player)) { sender.sendMessage(Component diff --git a/src/main/java/pw/kaboom/extras/modules/player/PlayerChat.java b/src/main/java/pw/kaboom/extras/modules/player/PlayerChat.java index 5bcf2704..995a7e43 100644 --- a/src/main/java/pw/kaboom/extras/modules/player/PlayerChat.java +++ b/src/main/java/pw/kaboom/extras/modules/player/PlayerChat.java @@ -12,8 +12,8 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.jspecify.annotations.NonNull; -import javax.annotation.Nonnull; import java.io.IOException; import java.util.UUID; import java.util.regex.Pattern; @@ -65,15 +65,15 @@ public static class PlayerChatRenderer implements ChatRenderer.ViewerUnaware { .hexColors() .build(); - private Component renderVanilla(final @Nonnull Component displayName, - final @Nonnull Component component) { + private Component renderVanilla(final @NonNull Component displayName, + final @NonNull Component component) { return Component.translatable("chat.type.text", displayName, component); } @Override - public @Nonnull Component render(@Nonnull Player player, - @Nonnull Component displayName, - @Nonnull Component component) { + public @NonNull Component render(@NonNull Player player, + @NonNull Component displayName, + @NonNull Component component) { final String message = ((TextComponent) component).content(); final Component prefix; Component prefix1; diff --git a/src/main/java/pw/kaboom/extras/util/Utility.java b/src/main/java/pw/kaboom/extras/util/Utility.java index 5c3c1649..c4f358d3 100644 --- a/src/main/java/pw/kaboom/extras/util/Utility.java +++ b/src/main/java/pw/kaboom/extras/util/Utility.java @@ -10,9 +10,9 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerTeleportEvent; +import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.Nullable; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import java.util.concurrent.Callable; import java.util.function.Function; @@ -56,7 +56,7 @@ public static void resetAttribute (final T ent } // TODO: Support hex color codes, too (they aren't supported in Spigot either) - public static String translateLegacyColors(@Nonnull String text) { + public static String translateLegacyColors(@NonNull String text) { char[] b = text.toCharArray(); for (int i = 0; i < b.length - 1; i++) { if (b[i] == '&' && "0123456789AaBbCcDdEeFfKkLlMmNnOoRrXx".indexOf(b[i + 1]) > -1) { From b144e566370777186e28571ad0bda31721cb62ba Mon Sep 17 00:00:00 2001 From: amy <144570677+amyavi@users.noreply.github.com> Date: Tue, 16 Jun 2026 23:50:09 -0300 Subject: [PATCH 3/5] chore: fix deprecation warnings --- .../extras/modules/player/PlayerDamage.java | 8 ++++---- .../extras/modules/server/ServerGameRule.java | 19 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/main/java/pw/kaboom/extras/modules/player/PlayerDamage.java b/src/main/java/pw/kaboom/extras/modules/player/PlayerDamage.java index baaef0b3..a6d0c8ca 100644 --- a/src/main/java/pw/kaboom/extras/modules/player/PlayerDamage.java +++ b/src/main/java/pw/kaboom/extras/modules/player/PlayerDamage.java @@ -3,7 +3,7 @@ import io.papermc.paper.event.world.WorldGameRuleChangeEvent; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; -import org.bukkit.GameRule; +import org.bukkit.GameRules; import org.bukkit.World; import org.bukkit.attribute.Attribute; import org.bukkit.attribute.AttributeInstance; @@ -61,7 +61,7 @@ void onFoodLevelChange(final FoodLevelChangeEvent event) { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) void onGameRuleChange(final WorldGameRuleChangeEvent event) { - if (event.getGameRule() != GameRule.SHOW_DEATH_MESSAGES) { + if (event.getGameRule() != GameRules.SHOW_DEATH_MESSAGES) { return; } @@ -76,8 +76,8 @@ void onPlayerDeath(final PlayerDeathEvent event) { if (deathMessage != null && this.deathMessageToggles.computeIfAbsent( player.getWorld(), (key) -> Objects.requireNonNullElse( - key.getGameRuleValue(GameRule.SHOW_DEATH_MESSAGES), - key.getGameRuleDefault(GameRule.SHOW_DEATH_MESSAGES) + key.getGameRuleValue(GameRules.SHOW_DEATH_MESSAGES), + key.getGameRuleDefault(GameRules.SHOW_DEATH_MESSAGES) ) )) { Bukkit.broadcast(deathMessage); diff --git a/src/main/java/pw/kaboom/extras/modules/server/ServerGameRule.java b/src/main/java/pw/kaboom/extras/modules/server/ServerGameRule.java index ac5b81c5..70c7bf6e 100644 --- a/src/main/java/pw/kaboom/extras/modules/server/ServerGameRule.java +++ b/src/main/java/pw/kaboom/extras/modules/server/ServerGameRule.java @@ -3,6 +3,7 @@ import io.papermc.paper.event.world.WorldGameRuleChangeEvent; import org.bukkit.Bukkit; import org.bukkit.GameRule; +import org.bukkit.GameRules; import org.bukkit.World; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -14,15 +15,15 @@ public final class ServerGameRule implements Listener { private static final Map, ?> FORCED_GAMERULES = Map.of( - GameRule.COMMAND_BLOCKS_ENABLED, true, - GameRule.SPAWNER_BLOCKS_ENABLED, false + GameRules.COMMAND_BLOCKS_WORK, true, + GameRules.SPAWNER_BLOCKS_WORK, false ); private static final Map, Integer> GAMERULE_LIMITS = Map.of( - GameRule.RANDOM_TICK_SPEED, 6, - GameRule.SPAWN_RADIUS, 100, - GameRule.COMMAND_MODIFICATION_BLOCK_LIMIT, 32768, - GameRule.MAX_COMMAND_FORK_COUNT, EntitySpawn.MAX_ENTITIES_PER_WORLD + GameRules.RANDOM_TICK_SPEED, 6, + GameRules.RESPAWN_RADIUS, 100, + GameRules.MAX_BLOCK_MODIFICATIONS, 32768, + GameRules.MAX_COMMAND_FORKS, EntitySpawn.MAX_ENTITIES_PER_WORLD ); private static void setGameRule(final World world, final GameRule gameRule, @@ -73,10 +74,8 @@ private static void fixGameRules() { final GameRule gameRule = entry.getKey(); final int limit = entry.getValue(); - final Integer value = world.getGameRuleValue(gameRule) != null - ? world.getGameRuleValue(gameRule) : world.getGameRuleDefault(gameRule); - - if (value == null || value > limit) { + final Integer value = world.getGameRuleValue(gameRule); + if (value > limit) { world.setGameRule(gameRule, limit); } } From 743c91419e2c0d66a400f8ae662b48244d0decdb Mon Sep 17 00:00:00 2001 From: amy <144570677+amyavi@users.noreply.github.com> Date: Tue, 16 Jun 2026 23:53:32 -0300 Subject: [PATCH 4/5] style: use LF as line separator --- .../kaboom/extras/commands/CommandKaboom.java | 116 +++++++++--------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java b/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java index 5a7bfd62..e733ba36 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java @@ -1,58 +1,58 @@ -package pw.kaboom.extras.commands; - -import net.kyori.adventure.text.Component; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.World; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.jspecify.annotations.NonNull; - -import java.util.concurrent.ThreadLocalRandom; - -public final class CommandKaboom implements CommandExecutor { - - public boolean onCommand(final @NonNull CommandSender sender, - final @NonNull Command command, - final @NonNull String label, - final String[] args) { - if (!(sender instanceof final Player player)) { - sender.sendMessage(Component - .text("Command has to be run by a player")); - return true; - } - - boolean explode = ThreadLocalRandom.current().nextBoolean(); - - if (explode) { - final Location location = player.getLocation(); - final World world = player.getWorld(); - final int explosionCount = 20; - final int power = 8; - - world.createExplosion(location, power, true, true); - - for (int i = 0; i < explosionCount; i++) { - final double posX = location.getX() + ThreadLocalRandom.current().nextInt(-15, 15); - final double posY = location.getY() + ThreadLocalRandom.current().nextInt(-6, 6); - final double posZ = location.getZ() + ThreadLocalRandom.current().nextInt(-15, 15); - - final Location explodeLocation = new Location(world, posX, posY, posZ); - final int power2 = 4; - - world.createExplosion(explodeLocation, power2, true, true); - explodeLocation.getBlock().setType(Material.LAVA); - } - - player.sendMessage(Component.text("Forgive me :c")); - return true; - } - - player.getInventory().setItemInMainHand(new ItemStack(Material.CAKE)); - player.sendMessage(Component.text("Have a nice day :)")); - return true; - } -} +package pw.kaboom.extras.commands; + +import net.kyori.adventure.text.Component; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.World; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.jspecify.annotations.NonNull; + +import java.util.concurrent.ThreadLocalRandom; + +public final class CommandKaboom implements CommandExecutor { + + public boolean onCommand(final @NonNull CommandSender sender, + final @NonNull Command command, + final @NonNull String label, + final String[] args) { + if (!(sender instanceof final Player player)) { + sender.sendMessage(Component + .text("Command has to be run by a player")); + return true; + } + + boolean explode = ThreadLocalRandom.current().nextBoolean(); + + if (explode) { + final Location location = player.getLocation(); + final World world = player.getWorld(); + final int explosionCount = 20; + final int power = 8; + + world.createExplosion(location, power, true, true); + + for (int i = 0; i < explosionCount; i++) { + final double posX = location.getX() + ThreadLocalRandom.current().nextInt(-15, 15); + final double posY = location.getY() + ThreadLocalRandom.current().nextInt(-6, 6); + final double posZ = location.getZ() + ThreadLocalRandom.current().nextInt(-15, 15); + + final Location explodeLocation = new Location(world, posX, posY, posZ); + final int power2 = 4; + + world.createExplosion(explodeLocation, power2, true, true); + explodeLocation.getBlock().setType(Material.LAVA); + } + + player.sendMessage(Component.text("Forgive me :c")); + return true; + } + + player.getInventory().setItemInMainHand(new ItemStack(Material.CAKE)); + player.sendMessage(Component.text("Have a nice day :)")); + return true; + } +} From e7e34a1d7738f831bbef035dfb6cc45debd08eb9 Mon Sep 17 00:00:00 2001 From: amy <144570677+amyavi@users.noreply.github.com> Date: Tue, 16 Jun 2026 23:55:07 -0300 Subject: [PATCH 5/5] fix: also apply cube size limits to sulfur cubes --- .../extras/modules/entity/EntitySpawn.java | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/main/java/pw/kaboom/extras/modules/entity/EntitySpawn.java b/src/main/java/pw/kaboom/extras/modules/entity/EntitySpawn.java index 42fa4d9f..f1fa6c4c 100644 --- a/src/main/java/pw/kaboom/extras/modules/entity/EntitySpawn.java +++ b/src/main/java/pw/kaboom/extras/modules/entity/EntitySpawn.java @@ -9,13 +9,13 @@ import org.bukkit.attribute.AttributeInstance; import org.bukkit.block.CreatureSpawner; import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.AbstractCubeMob; import org.bukkit.entity.AreaEffectCloud; import org.bukkit.entity.EnderDragon; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.FallingBlock; import org.bukkit.entity.LightningStrike; -import org.bukkit.entity.Slime; import org.bukkit.entity.TNTPrimed; import org.bukkit.entity.Vehicle; import org.bukkit.entity.minecart.ExplosiveMinecart; @@ -43,19 +43,10 @@ public final class EntitySpawn implements Listener { private static final int MAX_TNTS_PER_WORLD = CONFIG.getInt("maxTntsPerWorld"); private void applyEntityChanges(final Entity entity) { - switch (entity.getType()) { - case AREA_EFFECT_CLOUD: - final AreaEffectCloud cloud = (AreaEffectCloud) entity; - - limitAreaEffectCloudRadius(cloud); - return; - case MAGMA_CUBE: - case SLIME: - final Slime slime = (Slime) entity; - - limitSlimeSize(slime); - default: - break; + switch (entity) { + case final AreaEffectCloud cloud -> limitAreaEffectCloudRadius(cloud); + case final AbstractCubeMob cube -> limitCubeSize(cube); + default -> {} } } @@ -123,13 +114,13 @@ private void limitAreaEffectCloudRadius(final AreaEffectCloud cloud) { } } - private void limitSlimeSize(final Slime slime) { - final AttributeInstance scaleInstance = slime.getAttribute(Attribute.SCALE); + private void limitCubeSize(final AbstractCubeMob cube) { + final AttributeInstance scaleInstance = cube.getAttribute(Attribute.SCALE); final double scale = scaleInstance != null ? scaleInstance.getValue() : 1.0f; - if ((slime.getSize() * scale) > 20) { - slime.setSize(20); - Utility.resetAttribute(slime, Attribute.SCALE); + if ((cube.getSize() * scale) > 20) { + cube.setSize(20); + Utility.resetAttribute(cube, Attribute.SCALE); } }