From 9166c6921367ef63ed18fdcd6e20be5f8b6bb831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sat, 7 Feb 2026 02:06:25 +0100 Subject: [PATCH 01/16] My understanding of JSpecify for api - mostly used in Java-Kotlin communication. With NullMarked as clear way to display notnull by default. Nullmarks checked to second layer of services. Additional `NotNull` s from jetbrains required by intelliJ to not screen about parameter marks as notNull --- .../com/eternalcode/core/EternalCoreApi.java | 2 ++ .../core/EternalCoreApiProvider.java | 10 ++++++++++ .../feature/adminchat/AdminChatService.java | 3 ++- .../adminchat/event/AdminChatEvent.java | 13 ++----------- .../com/eternalcode/core/feature/afk/Afk.java | 2 ++ .../core/feature/afk/AfkService.java | 2 ++ .../core/feature/afk/event/AfkSwitchEvent.java | 2 ++ .../butcher/ButcherEntityRemoveEvent.java | 2 ++ .../core/feature/catboy/Catboy.java | 2 ++ .../core/feature/catboy/CatboyService.java | 5 ++++- .../catboy/event/CatboySwitchEvent.java | 2 ++ .../core/feature/chat/ChatService.java | 2 ++ .../feature/chat/event/ClearChatEvent.java | 2 ++ .../feature/chat/event/DisableChatEvent.java | 2 ++ .../feature/chat/event/EditSlowModeEvent.java | 2 ++ .../feature/chat/event/EnableChatEvent.java | 2 ++ .../core/feature/helpop/event/HelpOpEvent.java | 2 ++ .../eternalcode/core/feature/home/Home.java | 2 ++ .../core/feature/home/HomeService.java | 2 ++ .../feature/home/event/HomeCreateEvent.java | 2 ++ .../feature/home/event/HomeDeleteEvent.java | 2 ++ .../home/event/HomeLimitReachedEvent.java | 2 ++ .../feature/home/event/HomeOverrideEvent.java | 3 ++- .../feature/home/event/HomeTeleportEvent.java | 3 ++- .../home/event/PreHomeTeleportEvent.java | 2 ++ .../core/feature/ignore/IgnoreService.java | 2 ++ .../feature/ignore/event/IgnoreAllEvent.java | 4 ++-- .../core/feature/ignore/event/IgnoreEvent.java | 2 ++ .../feature/ignore/event/UnIgnoreAllEvent.java | 4 ++-- .../feature/ignore/event/UnIgnoreEvent.java | 2 ++ .../core/feature/jail/JailService.java | 4 +++- .../core/feature/jail/JailedPlayer.java | 2 ++ .../feature/jail/event/JailDetainEvent.java | 2 ++ .../feature/jail/event/JailReleaseEvent.java | 2 ++ .../eternalcode/core/feature/msg/MsgEvent.java | 2 ++ .../core/feature/msg/MsgService.java | 2 ++ .../feature/msg/toggle/MsgToggleService.java | 2 ++ .../randomteleport/RandomTeleportRadius.java | 3 +++ .../randomteleport/RandomTeleportResult.java | 2 ++ .../randomteleport/RandomTeleportService.java | 2 ++ .../SimpleRandomTeleportRadius.java | 3 +++ .../event/PreRandomTeleportEvent.java | 2 ++ .../event/RandomTeleportEvent.java | 2 ++ .../core/feature/spawn/SpawnService.java | 5 ++++- .../core/feature/teleport/TeleportService.java | 2 ++ .../core/feature/vanish/VanishService.java | 7 +++++-- .../eternalcode/core/feature/warp/Warp.java | 2 ++ .../core/feature/warp/WarpService.java | 2 ++ .../warp/event/PreWarpTeleportEvent.java | 2 ++ .../feature/warp/event/WarpTeleportEvent.java | 2 ++ .../core/feature/afk/AfkServiceImpl.java | 13 +++++++------ .../core/feature/chat/ChatServiceImpl.java | 8 ++++---- .../feature/fun/catboy/CatboyServiceImpl.java | 11 ++++++----- .../core/feature/home/HomeManager.java | 18 ++++++++++-------- .../core/feature/jail/JailServiceImpl.java | 12 +++++++----- .../core/feature/msg/MsgServiceImpl.java | 11 ++++++----- .../core/feature/spawn/SpawnServiceImpl.java | 9 +++++---- .../core/feature/warp/WarpServiceImpl.java | 14 ++++++++------ 58 files changed, 171 insertions(+), 66 deletions(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java index 9c56892ce..12329e5c8 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java @@ -10,7 +10,9 @@ import com.eternalcode.core.feature.spawn.SpawnService; import com.eternalcode.core.feature.teleport.TeleportService; import com.eternalcode.core.feature.warp.WarpService; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface EternalCoreApi { AfkService getAfkService(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java index ebddebaef..0e1239b1b 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java @@ -1,13 +1,23 @@ package com.eternalcode.core; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +@NullMarked public final class EternalCoreApiProvider { + @Nullable + @ApiStatus.Internal private static EternalCoreApi api; + @ApiStatus.Internal private EternalCoreApiProvider() { throw new UnsupportedOperationException("This is a utility class and cannot be instantiated"); } + @NotNull public static EternalCoreApi provide() { if (api == null) { throw new IllegalStateException("EternalCoreApiProvider is not initialized"); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java index 7df72cbfe..d9312c181 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java @@ -5,10 +5,12 @@ import org.bukkit.command.CommandSender; import org.jetbrains.annotations.Unmodifiable; import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; /** * Service responsible for managing admin chat functionality. */ +@NullMarked public interface AdminChatService { /** @@ -39,7 +41,6 @@ public interface AdminChatService { * * @return an unmodifiable collection of player UUIDs with enabled admin chat */ - @NonNull @Unmodifiable Collection getPlayersWithEnabledChat(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java index 2b4aefbc6..c53f6c6e6 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java @@ -5,6 +5,7 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; /** * Event called when an admin chat message is being sent. @@ -13,6 +14,7 @@ * Plugins can cancel this event to prevent the message from being sent, or modify * the message content before it's delivered. */ +@NullMarked public class AdminChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -24,29 +26,19 @@ public class AdminChatEvent extends Event implements Cancellable { public AdminChatEvent(@NonNull CommandSender sender, @NonNull String content) { super(false); - if (sender == null) { - throw new IllegalArgumentException("Sender cannot be null"); - } - if (content == null) { - throw new IllegalArgumentException("Content cannot be null"); - } - this.sender = sender; this.content = content; this.cancelled = false; } - @NonNull public static HandlerList getHandlerList() { return HANDLER_LIST; } - @NonNull public CommandSender getSender() { return this.sender; } - @NonNull public String getContent() { return this.content; } @@ -69,7 +61,6 @@ public void setCancelled(boolean cancelled) { } @Override - @NonNull public HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java index 2a7a7eaf0..ff489a598 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java @@ -2,10 +2,12 @@ import java.time.Instant; import java.util.UUID; +import org.jspecify.annotations.NullMarked; /** * Represents a player being away from keyboard (AFK). */ +@NullMarked public class Afk { private final UUID player; diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java index e3a480db6..002c9db37 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java @@ -2,10 +2,12 @@ import java.util.Optional; import java.util.UUID; +import org.jspecify.annotations.NullMarked; /** * This service interface handles AFK (Away From Keyboard) status for players. */ +@NullMarked public interface AfkService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java index c03b895a5..37f1c8a5c 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java @@ -5,10 +5,12 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; /** * Called when a player switches their afk status. */ +@NullMarked public class AfkSwitchEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java index 7fb661f75..8b2a264ac 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java @@ -4,7 +4,9 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; +@NullMarked public class ButcherEntityRemoveEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java index e9d593c96..38b11c3c5 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java @@ -3,6 +3,8 @@ import org.bukkit.entity.Cat; import java.util.UUID; +import org.jspecify.annotations.NullMarked; +@NullMarked public record Catboy(UUID uuid, Cat.Type selectedType) { } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java index 5c340eb5f..fe50ea5af 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java @@ -6,10 +6,13 @@ import org.bukkit.entity.Cat; import org.bukkit.entity.Player; import org.jetbrains.annotations.Unmodifiable; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; /** * Service for managing catboys. */ +@NullMarked public interface CatboyService { /** @@ -52,6 +55,6 @@ public interface CatboyService { * Gets a set of all catboys. */ @Unmodifiable - Collection getCatboys(); + Collection<@Nullable Catboy> getCatboys(); } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java index cc3fa0804..862c14986 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java @@ -3,10 +3,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.event.player.PlayerEvent; +import org.jspecify.annotations.NullMarked; /** * Called when a player switches their catboy status. */ +@NullMarked public class CatboySwitchEvent extends PlayerEvent { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java index 259ce8767..88f10543b 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java @@ -2,7 +2,9 @@ import java.time.Duration; import java.util.UUID; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface ChatService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java index 2f5fd8a46..1d89a87ad 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java @@ -4,10 +4,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Called when one of the server administrators clear chat using /chat clear command. */ +@NullMarked public class ClearChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java index 388b9be97..05fcef2a2 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java @@ -4,10 +4,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Called when one of the server administrators disables chat using /chat off command. */ +@NullMarked public class DisableChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java index 7fc9f3ab4..702330649 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java @@ -6,10 +6,12 @@ import java.time.Duration; import java.util.UUID; +import org.jspecify.annotations.NullMarked; /** * Called when one of the server administrators edit slowmode chat using /chat slowmode command. */ +@NullMarked public class EditSlowModeEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java index b1ca96d00..b58f62550 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java @@ -4,10 +4,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Called when one of the server administrators enables chat using /chat on command. */ +@NullMarked public class EnableChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java index 76490a02e..827fee4b9 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java @@ -4,7 +4,9 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; +@NullMarked public class HelpOpEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java index 8b6b1cd23..484ac0641 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java @@ -2,7 +2,9 @@ import java.util.UUID; import org.bukkit.Location; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface Home { Location getLocation(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java index b5c1dadaf..1fd45ce62 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java @@ -5,8 +5,10 @@ import java.util.UUID; import org.bukkit.Location; import org.bukkit.entity.Player; +import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; +@NullMarked public interface HomeService { int getAmountOfHomes(UUID playerUniqueId); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java index b9d2e426f..b3a6e8eed 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java @@ -5,10 +5,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Event called when a home is created. */ +@NullMarked public class HomeCreateEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java index 066f3349c..2b20256cc 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java @@ -6,10 +6,12 @@ import org.bukkit.event.HandlerList; import java.util.UUID; +import org.jspecify.annotations.NullMarked; /** * Event called when a home is deleted. */ +@NullMarked public class HomeDeleteEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java index 2bae366d1..31f5563ab 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java @@ -4,10 +4,12 @@ import org.bukkit.event.HandlerList; import java.util.UUID; +import org.jspecify.annotations.NullMarked; /** * Event called when a player tries to create a home but has reached the limit. */ +@NullMarked public class HomeLimitReachedEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java index 8fd427321..7fd0b6e6f 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java @@ -1,15 +1,16 @@ package com.eternalcode.core.feature.home.event; -import com.eternalcode.core.feature.home.Home; import java.util.UUID; import org.bukkit.Location; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Event called when a home is overridden with new location. */ +@NullMarked public class HomeOverrideEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java index 24dded3ba..a43681013 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java @@ -1,15 +1,16 @@ package com.eternalcode.core.feature.home.event; import com.eternalcode.core.feature.home.Home; -import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import java.util.UUID; +import org.jspecify.annotations.NullMarked; /** * Called after teleportation to home. */ +@NullMarked public class HomeTeleportEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java index b0ecc3d08..4b19acd7d 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java @@ -6,10 +6,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Called before teleportation to home. */ +@NullMarked public class PreHomeTeleportEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java index 47d39456a..0df88bbe7 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java @@ -3,7 +3,9 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.CompletableFuture; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface IgnoreService { CompletableFuture isIgnored(UUID requester, UUID target); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java index d4f479988..b9e35025f 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java @@ -4,11 +4,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; /** * This event is called when a player wants to ignore all players. */ +@NullMarked public class IgnoreAllEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -38,7 +39,6 @@ public void setCancelled(boolean cancel) { this.cancelled = cancel; } - @NonNull @Override public HandlerList getHandlers() { return HANDLER_LIST; diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java index dec1ec9eb..731db157a 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java @@ -5,10 +5,12 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; /** * This event is called when a player wants to ignore another player. */ +@NullMarked public class IgnoreEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java index 5ff664b22..b0d0f3f5e 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java @@ -4,11 +4,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; /** * This event is called when a player ignores all other players. */ +@NullMarked public class UnIgnoreAllEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -38,7 +39,6 @@ public void setCancelled(boolean cancel) { this.cancelled = cancel; } - @NonNull @Override public HandlerList getHandlers() { return HANDLER_LIST; diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java index 7a4343acf..babc9d7fd 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java @@ -5,10 +5,12 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; /** * This event is called when a player unignores another player. */ +@NullMarked public class UnIgnoreEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java index 141ee0804..7307d7314 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java @@ -8,8 +8,10 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.Blocking; +import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; +@NullMarked public interface JailService { /** @@ -40,7 +42,7 @@ public interface JailService { boolean isPlayerJailed(UUID player); - Collection getJailedPlayers(); + Collection<@Nullable JailedPlayer> getJailedPlayers(); /** * Changes location of the jail. diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java index 4a8d62a1b..a56753156 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java @@ -3,7 +3,9 @@ import java.time.Duration; import java.time.Instant; import java.util.UUID; +import org.jspecify.annotations.NullMarked; +@NullMarked public class JailedPlayer { private final UUID player; diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java index 012b2776e..f437ebd87 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java @@ -5,7 +5,9 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; import org.bukkit.event.player.PlayerEvent; +import org.jspecify.annotations.NullMarked; +@NullMarked public class JailDetainEvent extends PlayerEvent implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java index dd5e0d4ff..2d370cdd8 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java @@ -5,7 +5,9 @@ import org.bukkit.event.HandlerList; import java.util.UUID; +import org.jspecify.annotations.NullMarked; +@NullMarked public class JailReleaseEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java index fb5c21304..45323d9cc 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java @@ -3,10 +3,12 @@ import java.util.UUID; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Event that is called when a player sends a private message to another player. */ +@NullMarked public class MsgEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java index c27caf76d..98019459b 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java @@ -2,7 +2,9 @@ import java.util.UUID; import org.bukkit.entity.Player; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface MsgService { void enableSpy(UUID uuid); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java index c06a76f70..e1a61aced 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java @@ -2,10 +2,12 @@ import java.util.UUID; import java.util.concurrent.CompletableFuture; +import org.jspecify.annotations.NullMarked; /** * This Service manages player's receiving of private messages */ +@NullMarked public interface MsgToggleService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java index 0961f1155..29471c9ef 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java @@ -1,5 +1,8 @@ package com.eternalcode.core.feature.randomteleport; +import org.jspecify.annotations.NullMarked; + +@NullMarked public interface RandomTeleportRadius { int maxZ(); int minZ(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java index 30459857f..3d9739578 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java @@ -1,6 +1,8 @@ package com.eternalcode.core.feature.randomteleport; import org.bukkit.Location; +import org.jspecify.annotations.NullMarked; +@NullMarked public record RandomTeleportResult(boolean success, Location location) { } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java index e577cc392..c795966d5 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java @@ -7,7 +7,9 @@ import java.util.Collection; import java.util.Map; import java.util.concurrent.CompletableFuture; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface RandomTeleportService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java index ac8f4dab9..5f0fc3687 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java @@ -1,5 +1,8 @@ package com.eternalcode.core.feature.randomteleport; +import org.jspecify.annotations.NullMarked; + +@NullMarked record SimpleRandomTeleportRadius(int minX, int maxX, int minZ, int maxZ) implements RandomTeleportRadius { public SimpleRandomTeleportRadius { if (minX > maxX) { diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java index 2ab22a03c..0b0d6fb03 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java @@ -4,10 +4,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Called before a player is teleported to a random location. */ +@NullMarked public class PreRandomTeleportEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java index 1a8eac255..75b4f295d 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java @@ -4,10 +4,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Called after a player is teleported to a random location. */ +@NullMarked public class RandomTeleportEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java index d2680d2e4..c90e14b47 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java @@ -2,7 +2,10 @@ import org.bukkit.Location; import org.bukkit.entity.Player; +import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface SpawnService { /** @@ -21,5 +24,5 @@ public interface SpawnService { /** * Provides the spawn location in the game. */ - Location getSpawnLocation(); + @Nullable Location getSpawnLocation(); } \ No newline at end of file diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java index 9593c3001..65665a10f 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java @@ -6,10 +6,12 @@ import java.util.Optional; import java.util.UUID; +import org.jspecify.annotations.NullMarked; /** * Service for teleporting players. */ +@NullMarked public interface TeleportService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java index bc9cebc17..6515e19be 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java @@ -5,7 +5,10 @@ import java.util.Set; import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +@NullMarked public interface VanishService { /** @@ -60,13 +63,13 @@ default boolean toggleVanish(Player player) { * * @return A set containing the unique IDs of all vanished players. */ - Set getVanishedPlayers(); + Set<@Nullable UUID> getVanishedPlayers(); /** * Gets a set of names of all vanished players. * * @return A set containing the names of all vanished players. */ - Set getVanishedPlayerNames(); + Set<@Nullable String> getVanishedPlayerNames(); } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java index 0287b1645..d3fbee6ea 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java @@ -4,7 +4,9 @@ import java.util.List; import org.bukkit.permissions.Permissible; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface Warp { Location getLocation(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java index 23a72fd3e..696793c65 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java @@ -5,7 +5,9 @@ import java.util.Collection; import java.util.Optional; +import org.jspecify.annotations.NullMarked; +@NullMarked public interface WarpService { Warp createWarp(String warp, Location location); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java index cdb6a6c10..7dfe69ab2 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java @@ -8,11 +8,13 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; /** * Called before teleportation to warp. */ +@NullMarked public class PreWarpTeleportEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java index 65fc77cda..ea9afd7aa 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java @@ -5,10 +5,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import org.jspecify.annotations.NullMarked; /** * Called after teleportation to warp */ +@NullMarked public class WarpTeleportEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java index a6c6e15bc..6fb0d74ac 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java @@ -14,6 +14,7 @@ import org.bukkit.Server; import org.bukkit.entity.Player; import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; @Service class AfkServiceImpl implements AfkService { @@ -36,7 +37,7 @@ public AfkServiceImpl(NoticeService noticeService, AfkSettings afkSettings, Even } @Override - public void switchAfk(UUID playerUniqueId, AfkReason reason) { + public void switchAfk(@NotNull UUID playerUniqueId, @NotNull AfkReason reason) { if (this.isAfk(playerUniqueId)) { this.clearAfk(playerUniqueId); return; @@ -46,7 +47,7 @@ public void switchAfk(UUID playerUniqueId, AfkReason reason) { } @Override - public Afk markAfk(UUID playerUniqueId, AfkReason reason) { + public Afk markAfk(@NotNull UUID playerUniqueId, @NotNull AfkReason reason) { Afk afk = new Afk(playerUniqueId, reason, Instant.now()); AfkSwitchEvent event = this.eventCaller.callEvent(new AfkSwitchEvent(afk, true)); @@ -61,12 +62,12 @@ public Afk markAfk(UUID playerUniqueId, AfkReason reason) { } @Override - public Optional getAfk(UUID playerUniqueId) { + public Optional getAfk(@NotNull UUID playerUniqueId) { return Optional.ofNullable(this.afkByPlayer.get(playerUniqueId)); } @Override - public void markInteraction(UUID playerUniqueId) { + public void markInteraction(@NotNull UUID playerUniqueId) { this.lastInteraction.put(playerUniqueId, Instant.now()); if (!this.isAfk(playerUniqueId)) { @@ -85,7 +86,7 @@ public void markInteraction(UUID playerUniqueId) { } @Override - public void clearAfk(UUID playerUniqueId) { + public void clearAfk(@NotNull UUID playerUniqueId) { Afk afk = this.afkByPlayer.get(playerUniqueId); if (afk == null) { @@ -105,7 +106,7 @@ public void clearAfk(UUID playerUniqueId) { } @Override - public boolean isAfk(UUID playerUniqueId) { + public boolean isAfk(@NotNull UUID playerUniqueId) { return this.afkByPlayer.containsKey(playerUniqueId); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java index 3a888f903..fefdf70d9 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java @@ -8,9 +8,9 @@ import java.time.Instant; import java.util.Map; import java.util.UUID; -import org.bukkit.Bukkit; import org.bukkit.Server; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; @Service class ChatServiceImpl implements ChatService { @@ -29,7 +29,7 @@ class ChatServiceImpl implements ChatService { } @Override - public void markUseChat(UUID userUuid) { + public void markUseChat(@NotNull UUID userUuid) { Duration chatDelay = this.chatSettings.chatDelay(); Player player = this.server.getPlayer(userUuid); @@ -48,12 +48,12 @@ public void markUseChat(UUID userUuid) { } @Override - public boolean hasSlowedChat(UUID userUuid) { + public boolean hasSlowedChat(@NotNull UUID userUuid) { return Instant.now().isBefore(this.slowdown.asMap().getOrDefault(userUuid, Instant.MIN)); } @Override - public Duration getRemainingSlowDown(UUID userUuid) { + public Duration getRemainingSlowDown(@NotNull UUID userUuid) { Instant unlockMoment = this.slowdown.asMap().get(userUuid); if (unlockMoment == null) { diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java index a851e24c7..d100b2e8b 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java @@ -16,6 +16,7 @@ import java.util.Map; import java.util.Optional; import java.util.UUID; +import org.jetbrains.annotations.NotNull; @Service class CatboyServiceImpl implements CatboyService { @@ -38,7 +39,7 @@ class CatboyServiceImpl implements CatboyService { } @Override - public void markAsCatboy(Player player, Cat.Type type) { + public void markAsCatboy(@NotNull Player player, Cat.@NotNull Type type) { Catboy catboy = new Catboy(player.getUniqueId(), type); this.catboys.put(player.getUniqueId(), catboy); @@ -49,7 +50,7 @@ public void markAsCatboy(Player player, Cat.Type type) { } @Override - public void unmarkAsCatboy(Player player) { + public void unmarkAsCatboy(@NotNull Player player) { this.catboys.remove(player.getUniqueId()); player.getPassengers().forEach(entity -> entity.remove()); @@ -59,7 +60,7 @@ public void unmarkAsCatboy(Player player) { } @Override - public void changeCatboyType(Player target, Cat.Type type) { + public void changeCatboyType(@NotNull Player target, @NotNull Cat.Type type) { Catboy catboy = this.catboys.get(target.getUniqueId()); if (catboy == null) { @@ -82,12 +83,12 @@ public void changeCatboyType(Player target, Cat.Type type) { } @Override - public boolean isCatboy(UUID uuid) { + public boolean isCatboy(@NotNull UUID uuid) { return this.catboys.containsKey(uuid); } @Override - public Optional getCatboy(UUID uuid) { + public Optional getCatboy(@NotNull UUID uuid) { return Optional.ofNullable(this.catboys.get(uuid)); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java index 2909214dd..6c7862e92 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java @@ -16,6 +16,8 @@ import java.util.stream.Stream; import org.bukkit.Location; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; @Service public class HomeManager implements HomeService { @@ -46,7 +48,7 @@ private HomeManager( } @Override - public Home createHome(UUID playerUniqueId, String name, Location location) { + public @Nullable Home createHome(@NotNull UUID playerUniqueId, @NotNull String name, @NotNull Location location) { Map homes = this.userHomes.computeIfAbsent(playerUniqueId, k -> new HashMap<>()); Home home = homes.get(name); @@ -80,7 +82,7 @@ public Home createHome(UUID playerUniqueId, String name, Location location) { } @Override - public void deleteHome(UUID playerUniqueId, String name) { + public void deleteHome(@NotNull UUID playerUniqueId, @NotNull String name) { Map homes = this.userHomes.get(playerUniqueId); if (homes == null) { @@ -105,7 +107,7 @@ public void deleteHome(UUID playerUniqueId, String name) { } @Override - public boolean hasHome(UUID playerUniqueId, String name) { + public boolean hasHome(@NotNull UUID playerUniqueId, @NotNull String name) { Map homes = this.userHomes.get(playerUniqueId); if (homes == null) { @@ -116,7 +118,7 @@ public boolean hasHome(UUID playerUniqueId, String name) { } @Override - public boolean hasHome(UUID playerUniqueId, Home home) { + public boolean hasHome(@NotNull UUID playerUniqueId, @NotNull Home home) { Map homes = this.userHomes.get(playerUniqueId); if (homes == null) { @@ -127,7 +129,7 @@ public boolean hasHome(UUID playerUniqueId, Home home) { } @Override - public Optional getHome(UUID uniqueId, String name) { + public Optional getHome(@NotNull UUID uniqueId, @NotNull String name) { Map homes = this.userHomes.get(uniqueId); if (homes == null) { @@ -138,12 +140,12 @@ public Optional getHome(UUID uniqueId, String name) { } @Override - public Collection getHomes(UUID user) { + public Collection getHomes(@NotNull UUID user) { return Collections.unmodifiableCollection(this.userHomes.getOrDefault(user, new HashMap<>()).values()); } @Override - public int getAmountOfHomes(UUID user) { + public int getAmountOfHomes(@NotNull UUID user) { Map homes = this.userHomes.get(user); if (homes == null) { @@ -154,7 +156,7 @@ public int getAmountOfHomes(UUID user) { } @Override - public int getHomeLimit(Player player) { + public int getHomeLimit(@NotNull Player player) { Map maxHomes = this.homesSettings.maxHomes(); return maxHomes.entrySet().stream() diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java index 228fa61c5..d43609080 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java @@ -17,6 +17,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.UUID; import org.bukkit.Location; @@ -24,6 +25,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.Blocking; +import org.jetbrains.annotations.NotNull; import org.jspecify.annotations.Nullable; @Service @@ -65,7 +67,7 @@ class JailServiceImpl implements JailService { } @Override - public boolean detainPlayer(Player player, CommandSender detainedBy, @Nullable Duration time) { + public boolean detainPlayer(@NotNull Player player, @NotNull CommandSender detainedBy, @Nullable Duration time) { if (time == null) { time = this.settings.defaultJailDuration(); } @@ -93,7 +95,7 @@ public boolean detainPlayer(Player player, CommandSender detainedBy, @Nullable D } @Override - public boolean releasePlayer(Player player) { + public boolean releasePlayer(@NotNull Player player) { JailReleaseEvent jailReleaseEvent = new JailReleaseEvent(player.getUniqueId()); this.eventCaller.callEvent(jailReleaseEvent); @@ -121,7 +123,7 @@ public void releaseAllPlayers() { } if (jailedPlayer != null) { - this.teleportService.teleport(jailedPlayer, this.spawnService.getSpawnLocation()); + this.teleportService.teleport(jailedPlayer, Objects.requireNonNull(this.spawnService.getSpawnLocation())); } }); @@ -137,7 +139,7 @@ public boolean isPlayerJailed(UUID player) { } @Override - public Collection getJailedPlayers() { + public Collection<@Nullable JailedPlayer> getJailedPlayers() { return Collections.unmodifiableCollection(this.jailedPlayers.values()); } @@ -162,7 +164,7 @@ public Optional getJailAreaLocation() { @Override @Blocking - public void setupJailArea(Location jailLocation) { + public void setupJailArea(@NotNull Location jailLocation) { this.locationsConfiguration.jail = PositionAdapter.convert(jailLocation); this.configurationManager.save(this.locationsConfiguration); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java index 8c34a340a..2b60f238a 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java @@ -17,6 +17,7 @@ import java.util.UUID; import org.bukkit.Server; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; @Service class MsgServiceImpl implements MsgService { @@ -54,7 +55,7 @@ class MsgServiceImpl implements MsgService { } @Override - public void reply(Player sender, String message) { + public void reply(@NotNull Player sender, @NotNull String message) { UUID uuid = this.replies.getIfPresent(sender.getUniqueId()); if (uuid == null) { @@ -74,7 +75,7 @@ public void reply(Player sender, String message) { } @Override - public void sendMessage(Player sender, Player target, String message) { + public void sendMessage(@NotNull Player sender, @NotNull Player target, @NotNull String message) { UUID uniqueId = target.getUniqueId(); this.msgToggleService.getState(uniqueId).thenAccept(msgState -> { @@ -98,17 +99,17 @@ public void sendMessage(Player sender, Player target, String message) { } @Override - public void enableSpy(UUID player) { + public void enableSpy(@NotNull UUID player) { this.socialSpy.add(player); } @Override - public void disableSpy(UUID player) { + public void disableSpy(@NotNull UUID player) { this.socialSpy.remove(player); } @Override - public boolean isSpy(UUID player) { + public boolean isSpy(@NotNull UUID player) { return this.socialSpy.contains(player); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java index d2e0a9916..94f0976d6 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java @@ -4,12 +4,13 @@ import com.eternalcode.core.configuration.implementation.LocationsConfiguration; import com.eternalcode.core.injector.annotations.Inject; import com.eternalcode.core.injector.annotations.component.Service; -import com.eternalcode.commons.bukkit.position.Position; import com.eternalcode.commons.bukkit.position.PositionAdapter; import io.papermc.lib.PaperLib; import org.bukkit.Location; import org.bukkit.entity.Player; import java.util.logging.Logger; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; @Service public class SpawnServiceImpl implements SpawnService { @@ -28,7 +29,7 @@ public SpawnServiceImpl(LocationsConfiguration locationsConfiguration, Configura } @Override - public void teleportToSpawn(Player player) { + public void teleportToSpawn(@NotNull Player player) { if (!isSpawnValid()) { this.logger.warning(WARNING); return; @@ -39,13 +40,13 @@ public void teleportToSpawn(Player player) { } @Override - public void setSpawnLocation(Location location) { + public void setSpawnLocation(@NotNull Location location) { this.locationsConfiguration.spawn = PositionAdapter.convert(location); this.configurationManager.save(this.locationsConfiguration); } @Override - public Location getSpawnLocation() { + public @Nullable Location getSpawnLocation() { if (!isSpawnValid()) { this.logger.warning(WARNING); return null; diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java index f74d7215f..dec761ae5 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java @@ -14,6 +14,8 @@ import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; @Service class WarpServiceImpl implements WarpService { @@ -33,7 +35,7 @@ private void loadWarps() { } @Override - public Warp createWarp(String name, Location location) { + public Warp createWarp(@NotNull String name, @NotNull Location location) { Warp warp = new WarpImpl(name, PositionAdapter.convert(location), new ArrayList<>()); this.warps.put(name, warp); @@ -43,7 +45,7 @@ public Warp createWarp(String name, Location location) { } @Override - public void removeWarp(String warpName) { + public void removeWarp(@NotNull String warpName) { Warp removed = this.warps.remove(warpName); if (removed != null) { @@ -52,7 +54,7 @@ public void removeWarp(String warpName) { } @Override - public Warp addPermissions(String warpName, String... permissions) { + public Warp addPermissions(@NotNull String warpName, String @NotNull ... permissions) { Warp warp = this.modifyPermissions(warpName, perms -> perms.addAll(List.of(permissions))); this.warpRepository.saveWarp(warp); @@ -60,7 +62,7 @@ public Warp addPermissions(String warpName, String... permissions) { } @Override - public Warp removePermissions(String warpName, String... permissions) { + public Warp removePermissions(@NotNull String warpName, String @NotNull ... permissions) { Warp warp = this.modifyPermissions(warpName, perms -> perms.removeAll(List.of(permissions))); this.warpRepository.saveWarp(warp); @@ -92,12 +94,12 @@ public boolean exists(String warp) { } @Override - public Optional findWarp(String warp) { + public Optional<@Nullable Warp> findWarp(@NotNull String warp) { return Optional.ofNullable(this.warps.get(warp)); } @Override - public Collection getWarps() { + public Collection<@Nullable Warp> getWarps() { return Collections.unmodifiableCollection(this.warps.values()); } } From 6816687f759edb81f6f85a3c0852363f3e4fad18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sat, 7 Feb 2026 02:06:43 +0100 Subject: [PATCH 02/16] Additional marks --- .../feature/ignore/IgnoreServiceImpl.java | 13 ++++++----- .../msg/toggle/MsgToggleServiceImpl.java | 7 +++--- .../RandomTeleportServiceImpl.java | 22 ++++++++++--------- .../feature/teleport/TeleportServiceImpl.java | 7 +++--- .../feature/vanish/VanishServiceImpl.java | 16 ++++++++------ 5 files changed, 36 insertions(+), 29 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java index 41d24cea3..be1499f0d 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java @@ -13,6 +13,7 @@ import java.util.UUID; import java.util.concurrent.CompletableFuture; import org.bukkit.event.Event; +import org.jetbrains.annotations.NotNull; @Service class IgnoreServiceImpl implements IgnoreService { @@ -29,12 +30,12 @@ class IgnoreServiceImpl implements IgnoreService { } @Override - public CompletableFuture isIgnored(UUID requester, UUID target) { + public CompletableFuture isIgnored(@NotNull UUID requester, @NotNull UUID target) { return this.ignoreRepository.isIgnored(requester, target); } @Override - public CompletableFuture ignore(UUID requester, UUID target) { + public CompletableFuture ignore(@NotNull UUID requester, @NotNull UUID target) { return this.callEventSync(new IgnoreEvent(requester, target)) .thenCompose(event -> { if (event.isCancelled()) { @@ -51,7 +52,7 @@ public CompletableFuture ignore(UUID requester, UUID target) { } @Override - public CompletableFuture ignoreAll(UUID requester) { + public CompletableFuture ignoreAll(@NotNull UUID requester) { return this.callEventSync(new IgnoreAllEvent(requester)) .thenCompose(event -> { if (event.isCancelled()) { @@ -68,7 +69,7 @@ public CompletableFuture ignoreAll(UUID requester) { } @Override - public CompletableFuture unIgnore(UUID requester, UUID target) { + public CompletableFuture unIgnore(@NotNull UUID requester, @NotNull UUID target) { return this.callEventSync(new UnIgnoreEvent(requester, target)) .thenCompose(event -> { if (event.isCancelled()) { @@ -85,7 +86,7 @@ public CompletableFuture unIgnore(UUID requester, UUID target) { } @Override - public CompletableFuture unIgnoreAll(UUID requester) { + public CompletableFuture unIgnoreAll(@NotNull UUID requester) { return this.callEventSync(new UnIgnoreAllEvent(requester)) .thenCompose(event -> { if (event.isCancelled()) { @@ -102,7 +103,7 @@ public CompletableFuture unIgnoreAll(UUID requester) { } @Override - public CompletableFuture> getIgnoredPlayers(UUID requester) { + public CompletableFuture> getIgnoredPlayers(@NotNull UUID requester) { return this.ignoreRepository.getIgnoredPlayers(requester); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java index 227d40e5d..45e91391a 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java @@ -5,6 +5,7 @@ import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; +import org.jetbrains.annotations.NotNull; @Service class MsgToggleServiceImpl implements MsgToggleService { @@ -21,7 +22,7 @@ class MsgToggleServiceImpl implements MsgToggleService { @Override - public CompletableFuture getState(UUID playerUniqueId) { + public CompletableFuture getState(@NotNull UUID playerUniqueId) { if (this.cachedToggleStates.containsKey(playerUniqueId)) { return CompletableFuture.completedFuture(this.cachedToggleStates.get(playerUniqueId)); } @@ -30,7 +31,7 @@ public CompletableFuture getState(UUID playerUniqueId) { } @Override - public CompletableFuture setState(UUID playerUniqueId, MsgState state) { + public CompletableFuture setState(@NotNull UUID playerUniqueId, @NotNull MsgState state) { this.cachedToggleStates.put(playerUniqueId, state); return this.msgToggleRepository.setPrivateChatState(playerUniqueId, state) @@ -41,7 +42,7 @@ public CompletableFuture setState(UUID playerUniqueId, MsgState state) { } @Override - public CompletableFuture toggleState(UUID playerUniqueId) { + public CompletableFuture toggleState(@NotNull UUID playerUniqueId) { return this.getState(playerUniqueId).thenCompose(state -> { MsgState newState = state.invert(); return this.setState(playerUniqueId, newState) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java index bb358a6b3..1304e8013 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java @@ -18,6 +18,7 @@ import org.bukkit.World; import org.bukkit.WorldBorder; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; @Service class RandomTeleportServiceImpl implements RandomTeleportService { @@ -37,13 +38,13 @@ class RandomTeleportServiceImpl implements RandomTeleportService { } @Override - public CompletableFuture teleport(Player player) { + public CompletableFuture teleport(@NotNull Player player) { World world = resolveWorld(player, randomTeleportSettings); return this.teleport(player, world); } @Override - public CompletableFuture teleport(Player player, World world) { + public CompletableFuture teleport(@NotNull Player player, @NotNull World world) { PreRandomTeleportEvent preRandomTeleportEvent = this.eventCaller.callEvent(new PreRandomTeleportEvent(player)); if (preRandomTeleportEvent.isCancelled()) { @@ -62,7 +63,7 @@ public CompletableFuture teleport(Player player, World wor } @Override - public CompletableFuture> teleport(Collection players) { + public CompletableFuture> teleport(@NotNull Collection players) { if (players.isEmpty()) { return CompletableFuture.completedFuture(Map.of()); } @@ -74,7 +75,7 @@ public CompletableFuture> teleport(Collection< } @Override - public CompletableFuture> teleport(Collection players, World world) { + public CompletableFuture> teleport(@NotNull Collection players, @NotNull World world) { if (players.isEmpty()) { return CompletableFuture.completedFuture(Map.of()); } @@ -85,8 +86,9 @@ public CompletableFuture> teleport(Collection< @Override public CompletableFuture> teleport( - Collection players, - Location location) { + @NotNull Collection players, + @NotNull Location location + ) { if (players.isEmpty()) { return CompletableFuture.completedFuture(Map.of()); } @@ -117,7 +119,7 @@ public CompletableFuture> teleport( } @Override - public CompletableFuture getSafeRandomLocation(World world, int attemptCount) { + public CompletableFuture getSafeRandomLocation(@NotNull World world, int attemptCount) { RandomTeleportRadius radius = switch (this.randomTeleportSettings.radiusType()) { case STATIC_RADIUS -> this.randomTeleportSettings.radius(); case WORLD_BORDER_RADIUS -> this.getWorldBorderRadius(world); @@ -127,13 +129,13 @@ public CompletableFuture getSafeRandomLocation(World world, int attemp } @Override - public CompletableFuture getSafeRandomLocation(World world, int radius, int attemptCount) { + public CompletableFuture getSafeRandomLocation(@NotNull World world, int radius, int attemptCount) { return this.safeLocationService.getSafeRandomLocation(world, RandomTeleportRadius.of(radius), attemptCount); } @Override public CompletableFuture getSafeRandomLocation( - World world, + @NotNull World world, RandomTeleportRadius radius, int attemptCount ) { @@ -141,7 +143,7 @@ public CompletableFuture getSafeRandomLocation( } @Override - public CompletableFuture getSafeRandomLocationInWorldBorder(World world, int attemptCount) { + public CompletableFuture getSafeRandomLocationInWorldBorder(@NotNull World world, int attemptCount) { return this.getSafeRandomLocation(world, this.getWorldBorderRadius(world), attemptCount); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java index 3e1cf4917..db9c2ba2e 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java @@ -13,6 +13,7 @@ import java.util.UUID; import org.bukkit.Location; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; @Service class TeleportServiceImpl implements TeleportService { @@ -27,7 +28,7 @@ class TeleportServiceImpl implements TeleportService { } @Override - public void teleport(Player player, Location location) { + public void teleport(@NotNull Player player, @NotNull Location location) { EternalTeleportEvent event = this.eventCaller.callEvent(new EternalTeleportEvent(player, location)); if (event.isCancelled()) { @@ -41,12 +42,12 @@ public void teleport(Player player, Location location) { } @Override - public Optional getLastLocation(UUID player) { + public Optional getLastLocation(@NotNull UUID player) { return Optional.ofNullable(this.lastPosition.get(player)).map(position -> PositionAdapter.convert(position)); } @Override - public void markLastLocation(UUID player, Location location) { + public void markLastLocation(@NotNull UUID player, @NotNull Location location) { this.lastPosition.put(player, PositionAdapter.convert(location)); } } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java index ec21920e9..f53ae48be 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java @@ -8,6 +8,8 @@ import java.util.Set; import java.util.UUID; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; @Service class VanishServiceImpl implements VanishService { @@ -28,7 +30,7 @@ class VanishServiceImpl implements VanishService { } @Override - public void enableVanish(Player player) { + public void enableVanish(@NotNull Player player) { EnableVanishEvent event = this.eventCaller.callEvent(new EnableVanishEvent(player)); if (event.isCancelled()) { @@ -40,7 +42,7 @@ public void enableVanish(Player player) { } @Override - public void disableVanish(Player player) { + public void disableVanish(@NotNull Player player) { DisableVanishEvent event = this.eventCaller.callEvent(new DisableVanishEvent(player)); if (event.isCancelled()) { @@ -52,27 +54,27 @@ public void disableVanish(Player player) { } @Override - public boolean isVanished(Player player) { + public boolean isVanished(@NotNull Player player) { return this.vanishInvisibleService.getVanishedPlayers().contains(player.getUniqueId()); } @Override - public boolean isVanished(UUID uniqueId) { + public boolean isVanished(@NotNull UUID uniqueId) { return this.vanishInvisibleService.getVanishedPlayers().contains(uniqueId); } @Override - public void hideVanishedPlayersFrom(Player player) { + public void hideVanishedPlayersFrom(@NotNull Player player) { this.vanishInvisibleService.hideVanishedPlayersFrom(player); } @Override - public Set getVanishedPlayers() { + public Set<@Nullable UUID> getVanishedPlayers() { return this.vanishInvisibleService.getVanishedPlayers(); } @Override - public Set getVanishedPlayerNames() { + public Set<@Nullable String> getVanishedPlayerNames() { return this.vanishInvisibleService.getVanishedPlayerNames(); } } From 48dbe2068dbbd219fd3dd894d823a31cb6e90cc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sat, 7 Feb 2026 02:32:52 +0100 Subject: [PATCH 03/16] Use global @NullMarked defined at package-info.java --- .../main/java/com/eternalcode/core/EternalCoreApi.java | 2 -- .../com/eternalcode/core/EternalCoreApiProvider.java | 4 ---- .../core/feature/adminchat/AdminChatService.java | 2 -- .../core/feature/adminchat/event/AdminChatEvent.java | 9 ++------- .../main/java/com/eternalcode/core/feature/afk/Afk.java | 2 -- .../com/eternalcode/core/feature/afk/AfkService.java | 2 -- .../core/feature/afk/event/AfkSwitchEvent.java | 2 -- .../core/feature/butcher/ButcherEntityRemoveEvent.java | 5 ++--- .../java/com/eternalcode/core/feature/catboy/Catboy.java | 2 -- .../eternalcode/core/feature/catboy/CatboyService.java | 2 -- .../core/feature/catboy/event/CatboySwitchEvent.java | 5 ++--- .../com/eternalcode/core/feature/chat/ChatService.java | 2 -- .../core/feature/chat/event/ClearChatEvent.java | 5 ++--- .../core/feature/chat/event/DisableChatEvent.java | 5 ++--- .../core/feature/chat/event/EditSlowModeEvent.java | 5 ++--- .../core/feature/chat/event/EnableChatEvent.java | 5 ++--- .../core/feature/helpop/event/HelpOpEvent.java | 5 ++--- .../java/com/eternalcode/core/feature/home/Home.java | 2 -- .../com/eternalcode/core/feature/home/HomeService.java | 2 -- .../core/feature/home/event/HomeCreateEvent.java | 5 ++--- .../core/feature/home/event/HomeDeleteEvent.java | 5 ++--- .../core/feature/home/event/HomeLimitReachedEvent.java | 5 ++--- .../core/feature/home/event/HomeOverrideEvent.java | 5 ++--- .../core/feature/home/event/HomeTeleportEvent.java | 5 ++--- .../core/feature/home/event/PreHomeTeleportEvent.java | 5 ++--- .../eternalcode/core/feature/ignore/IgnoreService.java | 2 -- .../core/feature/ignore/event/IgnoreAllEvent.java | 5 ++--- .../core/feature/ignore/event/IgnoreEvent.java | 2 -- .../core/feature/ignore/event/UnIgnoreAllEvent.java | 5 ++--- .../core/feature/ignore/event/UnIgnoreEvent.java | 5 +---- .../com/eternalcode/core/feature/jail/JailService.java | 2 -- .../com/eternalcode/core/feature/jail/JailedPlayer.java | 2 -- .../core/feature/jail/event/JailDetainEvent.java | 5 ++--- .../core/feature/jail/event/JailReleaseEvent.java | 5 ++--- .../java/com/eternalcode/core/feature/msg/MsgEvent.java | 5 ++--- .../com/eternalcode/core/feature/msg/MsgService.java | 2 -- .../core/feature/msg/toggle/MsgToggleService.java | 2 -- .../feature/randomteleport/RandomTeleportRadius.java | 3 --- .../feature/randomteleport/RandomTeleportResult.java | 2 -- .../feature/randomteleport/RandomTeleportService.java | 2 -- .../randomteleport/SimpleRandomTeleportRadius.java | 3 --- .../randomteleport/event/PreRandomTeleportEvent.java | 5 ++--- .../randomteleport/event/RandomTeleportEvent.java | 5 ++--- .../com/eternalcode/core/feature/spawn/SpawnService.java | 2 -- .../core/feature/teleport/TeleportService.java | 2 -- .../eternalcode/core/feature/vanish/VanishService.java | 2 -- .../java/com/eternalcode/core/feature/warp/Warp.java | 2 -- .../com/eternalcode/core/feature/warp/WarpService.java | 2 -- .../core/feature/warp/event/PreWarpTeleportEvent.java | 5 ++--- .../core/feature/warp/event/WarpTeleportEvent.java | 5 ++--- .../src/main/java/com/eternalcode/core/package-info.java | 5 +++++ .../eternalcode/core/feature/chat/ChatServiceImpl.java | 2 +- 52 files changed, 53 insertions(+), 134 deletions(-) create mode 100644 eternalcore-api/src/main/java/com/eternalcode/core/package-info.java diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java index 12329e5c8..9c56892ce 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java @@ -10,9 +10,7 @@ import com.eternalcode.core.feature.spawn.SpawnService; import com.eternalcode.core.feature.teleport.TeleportService; import com.eternalcode.core.feature.warp.WarpService; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface EternalCoreApi { AfkService getAfkService(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java index 0e1239b1b..bf6557be0 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java @@ -1,11 +1,8 @@ package com.eternalcode.core; import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; -import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; -@NullMarked public final class EternalCoreApiProvider { @Nullable @@ -17,7 +14,6 @@ private EternalCoreApiProvider() { throw new UnsupportedOperationException("This is a utility class and cannot be instantiated"); } - @NotNull public static EternalCoreApi provide() { if (api == null) { throw new IllegalStateException("EternalCoreApiProvider is not initialized"); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java index d9312c181..c834cfc0b 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/AdminChatService.java @@ -5,12 +5,10 @@ import org.bukkit.command.CommandSender; import org.jetbrains.annotations.Unmodifiable; import org.jspecify.annotations.NonNull; -import org.jspecify.annotations.NullMarked; /** * Service responsible for managing admin chat functionality. */ -@NullMarked public interface AdminChatService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java index c53f6c6e6..74a410570 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java @@ -5,7 +5,6 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; -import org.jspecify.annotations.NullMarked; /** * Event called when an admin chat message is being sent. @@ -14,7 +13,6 @@ * Plugins can cancel this event to prevent the message from being sent, or modify * the message content before it's delivered. */ -@NullMarked public class AdminChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -23,7 +21,7 @@ public class AdminChatEvent extends Event implements Cancellable { private String content; private boolean cancelled; - public AdminChatEvent(@NonNull CommandSender sender, @NonNull String content) { + public AdminChatEvent(CommandSender sender, String content) { super(false); this.sender = sender; @@ -43,10 +41,7 @@ public String getContent() { return this.content; } - public void setContent(@NonNull String content) { - if (content == null) { - throw new IllegalArgumentException("Content cannot be null"); - } + public void setContent(String content) { this.content = content; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java index ff489a598..2a7a7eaf0 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/Afk.java @@ -2,12 +2,10 @@ import java.time.Instant; import java.util.UUID; -import org.jspecify.annotations.NullMarked; /** * Represents a player being away from keyboard (AFK). */ -@NullMarked public class Afk { private final UUID player; diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java index 002c9db37..e3a480db6 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/AfkService.java @@ -2,12 +2,10 @@ import java.util.Optional; import java.util.UUID; -import org.jspecify.annotations.NullMarked; /** * This service interface handles AFK (Away From Keyboard) status for players. */ -@NullMarked public interface AfkService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java index 37f1c8a5c..c03b895a5 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/afk/event/AfkSwitchEvent.java @@ -5,12 +5,10 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; -import org.jspecify.annotations.NullMarked; /** * Called when a player switches their afk status. */ -@NullMarked public class AfkSwitchEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java index 8b2a264ac..290e18888 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/butcher/ButcherEntityRemoveEvent.java @@ -4,9 +4,8 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; -@NullMarked public class ButcherEntityRemoveEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -33,7 +32,7 @@ public Entity getEntity() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java index 38b11c3c5..e9d593c96 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/Catboy.java @@ -3,8 +3,6 @@ import org.bukkit.entity.Cat; import java.util.UUID; -import org.jspecify.annotations.NullMarked; -@NullMarked public record Catboy(UUID uuid, Cat.Type selectedType) { } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java index fe50ea5af..9bc4f0099 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java @@ -6,13 +6,11 @@ import org.bukkit.entity.Cat; import org.bukkit.entity.Player; import org.jetbrains.annotations.Unmodifiable; -import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; /** * Service for managing catboys. */ -@NullMarked public interface CatboyService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java index 862c14986..febcee7bf 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/event/CatboySwitchEvent.java @@ -3,12 +3,11 @@ import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.event.player.PlayerEvent; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called when a player switches their catboy status. */ -@NullMarked public class CatboySwitchEvent extends PlayerEvent { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -28,7 +27,7 @@ public boolean isCatboy() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java index 88f10543b..259ce8767 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/ChatService.java @@ -2,9 +2,7 @@ import java.time.Duration; import java.util.UUID; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface ChatService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java index 1d89a87ad..8d9ed8ae9 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/ClearChatEvent.java @@ -4,12 +4,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called when one of the server administrators clear chat using /chat clear command. */ -@NullMarked public class ClearChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -37,7 +36,7 @@ public void setCancelled(boolean cancelled) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java index 05fcef2a2..0963423b1 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/DisableChatEvent.java @@ -4,12 +4,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called when one of the server administrators disables chat using /chat off command. */ -@NullMarked public class DisableChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -37,7 +36,7 @@ public void setCancelled(boolean cancelled) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java index 702330649..234f1fd3d 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EditSlowModeEvent.java @@ -6,12 +6,11 @@ import java.time.Duration; import java.util.UUID; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called when one of the server administrators edit slowmode chat using /chat slowmode command. */ -@NullMarked public class EditSlowModeEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -56,7 +55,7 @@ public void setCancelled(boolean cancelled) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java index b58f62550..cff4796ed 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/chat/event/EnableChatEvent.java @@ -4,12 +4,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called when one of the server administrators enables chat using /chat on command. */ -@NullMarked public class EnableChatEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -37,7 +36,7 @@ public void setCancelled(boolean cancelled) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java index 827fee4b9..265b678a9 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/helpop/event/HelpOpEvent.java @@ -4,9 +4,8 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; -@NullMarked public class HelpOpEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -41,7 +40,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java index 484ac0641..8b6b1cd23 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/Home.java @@ -2,9 +2,7 @@ import java.util.UUID; import org.bukkit.Location; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface Home { Location getLocation(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java index 1fd45ce62..b5c1dadaf 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/HomeService.java @@ -5,10 +5,8 @@ import java.util.UUID; import org.bukkit.Location; import org.bukkit.entity.Player; -import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; -@NullMarked public interface HomeService { int getAmountOfHomes(UUID playerUniqueId); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java index b3a6e8eed..87b669a54 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeCreateEvent.java @@ -5,12 +5,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Event called when a home is created. */ -@NullMarked public class HomeCreateEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -64,7 +63,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java index 2b20256cc..c86e9bccb 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeDeleteEvent.java @@ -6,12 +6,11 @@ import org.bukkit.event.HandlerList; import java.util.UUID; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Event called when a home is deleted. */ -@NullMarked public class HomeDeleteEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -46,7 +45,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java index 31f5563ab..38ff130f3 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeLimitReachedEvent.java @@ -4,12 +4,11 @@ import org.bukkit.event.HandlerList; import java.util.UUID; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Event called when a player tries to create a home but has reached the limit. */ -@NullMarked public class HomeLimitReachedEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -39,7 +38,7 @@ public int getLimitAmount() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java index 7fd0b6e6f..9903614d8 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeOverrideEvent.java @@ -5,12 +5,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Event called when a home is overridden with new location. */ -@NullMarked public class HomeOverrideEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -65,7 +64,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java index a43681013..8e60e0e29 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/HomeTeleportEvent.java @@ -5,12 +5,11 @@ import org.bukkit.event.HandlerList; import java.util.UUID; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called after teleportation to home. */ -@NullMarked public class HomeTeleportEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -38,7 +37,7 @@ public static HandlerList getHandlerList() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java index 4b19acd7d..75dbffc34 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/home/event/PreHomeTeleportEvent.java @@ -6,12 +6,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called before teleportation to home. */ -@NullMarked public class PreHomeTeleportEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -61,7 +60,7 @@ public static HandlerList getHandlerList() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java index 0df88bbe7..47d39456a 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/IgnoreService.java @@ -3,9 +3,7 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.CompletableFuture; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface IgnoreService { CompletableFuture isIgnored(UUID requester, UUID target); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java index b9e35025f..0255cbc96 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreAllEvent.java @@ -4,12 +4,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * This event is called when a player wants to ignore all players. */ -@NullMarked public class IgnoreAllEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -40,7 +39,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java index 731db157a..dec1ec9eb 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/IgnoreEvent.java @@ -5,12 +5,10 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; -import org.jspecify.annotations.NullMarked; /** * This event is called when a player wants to ignore another player. */ -@NullMarked public class IgnoreEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java index b0d0f3f5e..01980adb8 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreAllEvent.java @@ -4,12 +4,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * This event is called when a player ignores all other players. */ -@NullMarked public class UnIgnoreAllEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -40,7 +39,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java index babc9d7fd..3be14cf83 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/ignore/event/UnIgnoreEvent.java @@ -5,12 +5,10 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jspecify.annotations.NonNull; -import org.jspecify.annotations.NullMarked; /** * This event is called when a player unignores another player. */ -@NullMarked public class UnIgnoreEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -49,9 +47,8 @@ public void setCancelled(boolean cancel) { this.cancelled = cancel; } - @NonNull @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java index 7307d7314..bf914f4c7 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java @@ -8,10 +8,8 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.Blocking; -import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; -@NullMarked public interface JailService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java index a56753156..4a8d62a1b 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailedPlayer.java @@ -3,9 +3,7 @@ import java.time.Duration; import java.time.Instant; import java.util.UUID; -import org.jspecify.annotations.NullMarked; -@NullMarked public class JailedPlayer { private final UUID player; diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java index f437ebd87..a1331a39b 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailDetainEvent.java @@ -5,9 +5,8 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; import org.bukkit.event.player.PlayerEvent; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; -@NullMarked public class JailDetainEvent extends PlayerEvent implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -36,7 +35,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java index 2d370cdd8..4d534421a 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/event/JailReleaseEvent.java @@ -5,9 +5,8 @@ import org.bukkit.event.HandlerList; import java.util.UUID; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; -@NullMarked public class JailReleaseEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -34,7 +33,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java index 45323d9cc..8c35ca87e 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgEvent.java @@ -3,12 +3,11 @@ import java.util.UUID; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Event that is called when a player sends a private message to another player. */ -@NullMarked public class MsgEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -42,7 +41,7 @@ public String getContent() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java index 98019459b..c27caf76d 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/MsgService.java @@ -2,9 +2,7 @@ import java.util.UUID; import org.bukkit.entity.Player; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface MsgService { void enableSpy(UUID uuid); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java index e1a61aced..c06a76f70 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleService.java @@ -2,12 +2,10 @@ import java.util.UUID; import java.util.concurrent.CompletableFuture; -import org.jspecify.annotations.NullMarked; /** * This Service manages player's receiving of private messages */ -@NullMarked public interface MsgToggleService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java index 29471c9ef..0961f1155 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportRadius.java @@ -1,8 +1,5 @@ package com.eternalcode.core.feature.randomteleport; -import org.jspecify.annotations.NullMarked; - -@NullMarked public interface RandomTeleportRadius { int maxZ(); int minZ(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java index 3d9739578..30459857f 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportResult.java @@ -1,8 +1,6 @@ package com.eternalcode.core.feature.randomteleport; import org.bukkit.Location; -import org.jspecify.annotations.NullMarked; -@NullMarked public record RandomTeleportResult(boolean success, Location location) { } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java index c795966d5..e577cc392 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportService.java @@ -7,9 +7,7 @@ import java.util.Collection; import java.util.Map; import java.util.concurrent.CompletableFuture; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface RandomTeleportService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java index 5f0fc3687..ac8f4dab9 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/SimpleRandomTeleportRadius.java @@ -1,8 +1,5 @@ package com.eternalcode.core.feature.randomteleport; -import org.jspecify.annotations.NullMarked; - -@NullMarked record SimpleRandomTeleportRadius(int minX, int maxX, int minZ, int maxZ) implements RandomTeleportRadius { public SimpleRandomTeleportRadius { if (minX > maxX) { diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java index 0b0d6fb03..d13c425b9 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/PreRandomTeleportEvent.java @@ -4,12 +4,11 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called before a player is teleported to a random location. */ -@NullMarked public class PreRandomTeleportEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -38,7 +37,7 @@ public void setCancelled(boolean cancel) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java index 75b4f295d..1e8d681ad 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/randomteleport/event/RandomTeleportEvent.java @@ -4,12 +4,11 @@ import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called after a player is teleported to a random location. */ -@NullMarked public class RandomTeleportEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -33,7 +32,7 @@ public Location getTeleportLocation() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java index c90e14b47..91c062097 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java @@ -3,9 +3,7 @@ import org.bukkit.Location; import org.bukkit.entity.Player; import org.jetbrains.annotations.Nullable; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface SpawnService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java index 65665a10f..9593c3001 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/teleport/TeleportService.java @@ -6,12 +6,10 @@ import java.util.Optional; import java.util.UUID; -import org.jspecify.annotations.NullMarked; /** * Service for teleporting players. */ -@NullMarked public interface TeleportService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java index 6515e19be..761bf90ba 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java @@ -5,10 +5,8 @@ import java.util.Set; import java.util.UUID; -import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; -@NullMarked public interface VanishService { /** diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java index d3fbee6ea..0287b1645 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java @@ -4,9 +4,7 @@ import java.util.List; import org.bukkit.permissions.Permissible; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface Warp { Location getLocation(); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java index 696793c65..23a72fd3e 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java @@ -5,9 +5,7 @@ import java.util.Collection; import java.util.Optional; -import org.jspecify.annotations.NullMarked; -@NullMarked public interface WarpService { Warp createWarp(String warp, Location location); diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java index 7dfe69ab2..a3b8cc1e3 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java @@ -8,13 +8,12 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; /** * Called before teleportation to warp. */ -@NullMarked public class PreWarpTeleportEvent extends Event implements Cancellable { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -79,7 +78,7 @@ public HandlerList getHandlers() { return HANDLER_LIST; } - public static HandlerList getHandlerList() { + public static @NonNull HandlerList getHandlerList() { return HANDLER_LIST; } } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java index ea9afd7aa..df4654c56 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java @@ -5,12 +5,11 @@ import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.NonNull; /** * Called after teleportation to warp */ -@NullMarked public class WarpTeleportEvent extends Event { private static final HandlerList HANDLER_LIST = new HandlerList(); @@ -40,7 +39,7 @@ public Location getDestination() { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/package-info.java b/eternalcore-api/src/main/java/com/eternalcode/core/package-info.java new file mode 100644 index 000000000..4a06f8842 --- /dev/null +++ b/eternalcore-api/src/main/java/com/eternalcode/core/package-info.java @@ -0,0 +1,5 @@ +@NullMarked +package com.eternalcode.core; + +import org.jspecify.annotations.NullMarked; + diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java index fefdf70d9..0bf5a8ca2 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java @@ -29,7 +29,7 @@ class ChatServiceImpl implements ChatService { } @Override - public void markUseChat(@NotNull UUID userUuid) { + public void markUseChat(UUID userUuid) { Duration chatDelay = this.chatSettings.chatDelay(); Player player = this.server.getPlayer(userUuid); From 95428758c9f1e87c5b041924f2b6cb7e37eb6149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= <80779749+CitralFlo@users.noreply.github.com> Date: Sat, 7 Feb 2026 02:33:39 +0100 Subject: [PATCH 04/16] Update eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../java/com/eternalcode/core/feature/catboy/CatboyService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java index 9bc4f0099..96374255c 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java @@ -53,6 +53,6 @@ public interface CatboyService { * Gets a set of all catboys. */ @Unmodifiable - Collection<@Nullable Catboy> getCatboys(); + Collection getCatboys(); } From bdb9d5701d68202fa841732b1195c6d53cf6d1b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= <80779749+CitralFlo@users.noreply.github.com> Date: Sat, 7 Feb 2026 02:34:20 +0100 Subject: [PATCH 05/16] Update eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../core/feature/adminchat/event/AdminChatEvent.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java index 74a410570..92fea01d8 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java @@ -24,8 +24,8 @@ public class AdminChatEvent extends Event implements Cancellable { public AdminChatEvent(CommandSender sender, String content) { super(false); - this.sender = sender; - this.content = content; + this.sender = java.util.Objects.requireNonNull(sender, "sender cannot be null"); + this.content = java.util.Objects.requireNonNull(content, "content cannot be null"); this.cancelled = false; } From ca9363e69533d392f5a3eccef631d20fde2ce0d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= <80779749+CitralFlo@users.noreply.github.com> Date: Sat, 7 Feb 2026 02:34:35 +0100 Subject: [PATCH 06/16] Update eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../java/com/eternalcode/core/feature/jail/JailService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java index bf914f4c7..141ee0804 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/jail/JailService.java @@ -40,7 +40,7 @@ public interface JailService { boolean isPlayerJailed(UUID player); - Collection<@Nullable JailedPlayer> getJailedPlayers(); + Collection getJailedPlayers(); /** * Changes location of the jail. From d33bb68e5cf5f0945b10c279832b75809da9cebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= <80779749+CitralFlo@users.noreply.github.com> Date: Sat, 7 Feb 2026 02:35:27 +0100 Subject: [PATCH 07/16] Update eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../java/com/eternalcode/core/feature/warp/WarpServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java index dec761ae5..3df2abfde 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java @@ -99,7 +99,7 @@ public boolean exists(String warp) { } @Override - public Collection<@Nullable Warp> getWarps() { + public Collection getWarps() { return Collections.unmodifiableCollection(this.warps.values()); } } From 9e30709f7d7ba9a24ff307c1869b0d0120cb9fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sat, 7 Feb 2026 02:51:35 +0100 Subject: [PATCH 08/16] Remove unnecessary annotations --- .../core/feature/afk/AfkServiceImpl.java | 13 +++++------ .../core/feature/chat/ChatServiceImpl.java | 5 ++--- .../feature/fun/catboy/CatboyServiceImpl.java | 11 +++++----- .../core/feature/home/HomeManager.java | 19 ++++++++-------- .../feature/ignore/IgnoreServiceImpl.java | 13 +++++------ .../core/feature/jail/JailServiceImpl.java | 12 +++++----- .../core/feature/msg/MsgServiceImpl.java | 11 +++++----- .../msg/toggle/MsgToggleServiceImpl.java | 7 +++--- .../RandomTeleportServiceImpl.java | 22 +++++++++---------- .../core/feature/spawn/SpawnServiceImpl.java | 5 ++--- .../feature/teleport/TeleportServiceImpl.java | 7 +++--- .../feature/vanish/VanishServiceImpl.java | 16 ++++++-------- .../core/feature/warp/WarpServiceImpl.java | 12 +++++----- 13 files changed, 68 insertions(+), 85 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java index 6fb0d74ac..a6c6e15bc 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/afk/AfkServiceImpl.java @@ -14,7 +14,6 @@ import org.bukkit.Server; import org.bukkit.entity.Player; import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; @Service class AfkServiceImpl implements AfkService { @@ -37,7 +36,7 @@ public AfkServiceImpl(NoticeService noticeService, AfkSettings afkSettings, Even } @Override - public void switchAfk(@NotNull UUID playerUniqueId, @NotNull AfkReason reason) { + public void switchAfk(UUID playerUniqueId, AfkReason reason) { if (this.isAfk(playerUniqueId)) { this.clearAfk(playerUniqueId); return; @@ -47,7 +46,7 @@ public void switchAfk(@NotNull UUID playerUniqueId, @NotNull AfkReason reason) { } @Override - public Afk markAfk(@NotNull UUID playerUniqueId, @NotNull AfkReason reason) { + public Afk markAfk(UUID playerUniqueId, AfkReason reason) { Afk afk = new Afk(playerUniqueId, reason, Instant.now()); AfkSwitchEvent event = this.eventCaller.callEvent(new AfkSwitchEvent(afk, true)); @@ -62,12 +61,12 @@ public Afk markAfk(@NotNull UUID playerUniqueId, @NotNull AfkReason reason) { } @Override - public Optional getAfk(@NotNull UUID playerUniqueId) { + public Optional getAfk(UUID playerUniqueId) { return Optional.ofNullable(this.afkByPlayer.get(playerUniqueId)); } @Override - public void markInteraction(@NotNull UUID playerUniqueId) { + public void markInteraction(UUID playerUniqueId) { this.lastInteraction.put(playerUniqueId, Instant.now()); if (!this.isAfk(playerUniqueId)) { @@ -86,7 +85,7 @@ public void markInteraction(@NotNull UUID playerUniqueId) { } @Override - public void clearAfk(@NotNull UUID playerUniqueId) { + public void clearAfk(UUID playerUniqueId) { Afk afk = this.afkByPlayer.get(playerUniqueId); if (afk == null) { @@ -106,7 +105,7 @@ public void clearAfk(@NotNull UUID playerUniqueId) { } @Override - public boolean isAfk(@NotNull UUID playerUniqueId) { + public boolean isAfk(UUID playerUniqueId) { return this.afkByPlayer.containsKey(playerUniqueId); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java index 0bf5a8ca2..ab0d72880 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/chat/ChatServiceImpl.java @@ -10,7 +10,6 @@ import java.util.UUID; import org.bukkit.Server; import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; @Service class ChatServiceImpl implements ChatService { @@ -48,12 +47,12 @@ public void markUseChat(UUID userUuid) { } @Override - public boolean hasSlowedChat(@NotNull UUID userUuid) { + public boolean hasSlowedChat(UUID userUuid) { return Instant.now().isBefore(this.slowdown.asMap().getOrDefault(userUuid, Instant.MIN)); } @Override - public Duration getRemainingSlowDown(@NotNull UUID userUuid) { + public Duration getRemainingSlowDown(UUID userUuid) { Instant unlockMoment = this.slowdown.asMap().get(userUuid); if (unlockMoment == null) { diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java index d100b2e8b..a851e24c7 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/fun/catboy/CatboyServiceImpl.java @@ -16,7 +16,6 @@ import java.util.Map; import java.util.Optional; import java.util.UUID; -import org.jetbrains.annotations.NotNull; @Service class CatboyServiceImpl implements CatboyService { @@ -39,7 +38,7 @@ class CatboyServiceImpl implements CatboyService { } @Override - public void markAsCatboy(@NotNull Player player, Cat.@NotNull Type type) { + public void markAsCatboy(Player player, Cat.Type type) { Catboy catboy = new Catboy(player.getUniqueId(), type); this.catboys.put(player.getUniqueId(), catboy); @@ -50,7 +49,7 @@ public void markAsCatboy(@NotNull Player player, Cat.@NotNull Type type) { } @Override - public void unmarkAsCatboy(@NotNull Player player) { + public void unmarkAsCatboy(Player player) { this.catboys.remove(player.getUniqueId()); player.getPassengers().forEach(entity -> entity.remove()); @@ -60,7 +59,7 @@ public void unmarkAsCatboy(@NotNull Player player) { } @Override - public void changeCatboyType(@NotNull Player target, @NotNull Cat.Type type) { + public void changeCatboyType(Player target, Cat.Type type) { Catboy catboy = this.catboys.get(target.getUniqueId()); if (catboy == null) { @@ -83,12 +82,12 @@ public void changeCatboyType(@NotNull Player target, @NotNull Cat.Type type) { } @Override - public boolean isCatboy(@NotNull UUID uuid) { + public boolean isCatboy(UUID uuid) { return this.catboys.containsKey(uuid); } @Override - public Optional getCatboy(@NotNull UUID uuid) { + public Optional getCatboy(UUID uuid) { return Optional.ofNullable(this.catboys.get(uuid)); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java index 6c7862e92..bbe3223ca 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/home/HomeManager.java @@ -16,8 +16,7 @@ import java.util.stream.Stream; import org.bukkit.Location; import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; @Service public class HomeManager implements HomeService { @@ -48,7 +47,7 @@ private HomeManager( } @Override - public @Nullable Home createHome(@NotNull UUID playerUniqueId, @NotNull String name, @NotNull Location location) { + public @Nullable Home createHome(UUID playerUniqueId, String name, Location location) { Map homes = this.userHomes.computeIfAbsent(playerUniqueId, k -> new HashMap<>()); Home home = homes.get(name); @@ -82,7 +81,7 @@ private HomeManager( } @Override - public void deleteHome(@NotNull UUID playerUniqueId, @NotNull String name) { + public void deleteHome(UUID playerUniqueId, String name) { Map homes = this.userHomes.get(playerUniqueId); if (homes == null) { @@ -107,7 +106,7 @@ public void deleteHome(@NotNull UUID playerUniqueId, @NotNull String name) { } @Override - public boolean hasHome(@NotNull UUID playerUniqueId, @NotNull String name) { + public boolean hasHome(UUID playerUniqueId, String name) { Map homes = this.userHomes.get(playerUniqueId); if (homes == null) { @@ -118,7 +117,7 @@ public boolean hasHome(@NotNull UUID playerUniqueId, @NotNull String name) { } @Override - public boolean hasHome(@NotNull UUID playerUniqueId, @NotNull Home home) { + public boolean hasHome(UUID playerUniqueId, Home home) { Map homes = this.userHomes.get(playerUniqueId); if (homes == null) { @@ -129,7 +128,7 @@ public boolean hasHome(@NotNull UUID playerUniqueId, @NotNull Home home) { } @Override - public Optional getHome(@NotNull UUID uniqueId, @NotNull String name) { + public Optional getHome(UUID uniqueId, String name) { Map homes = this.userHomes.get(uniqueId); if (homes == null) { @@ -140,12 +139,12 @@ public Optional getHome(@NotNull UUID uniqueId, @NotNull String name) { } @Override - public Collection getHomes(@NotNull UUID user) { + public Collection getHomes(UUID user) { return Collections.unmodifiableCollection(this.userHomes.getOrDefault(user, new HashMap<>()).values()); } @Override - public int getAmountOfHomes(@NotNull UUID user) { + public int getAmountOfHomes(UUID user) { Map homes = this.userHomes.get(user); if (homes == null) { @@ -156,7 +155,7 @@ public int getAmountOfHomes(@NotNull UUID user) { } @Override - public int getHomeLimit(@NotNull Player player) { + public int getHomeLimit(Player player) { Map maxHomes = this.homesSettings.maxHomes(); return maxHomes.entrySet().stream() diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java index be1499f0d..41d24cea3 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/ignore/IgnoreServiceImpl.java @@ -13,7 +13,6 @@ import java.util.UUID; import java.util.concurrent.CompletableFuture; import org.bukkit.event.Event; -import org.jetbrains.annotations.NotNull; @Service class IgnoreServiceImpl implements IgnoreService { @@ -30,12 +29,12 @@ class IgnoreServiceImpl implements IgnoreService { } @Override - public CompletableFuture isIgnored(@NotNull UUID requester, @NotNull UUID target) { + public CompletableFuture isIgnored(UUID requester, UUID target) { return this.ignoreRepository.isIgnored(requester, target); } @Override - public CompletableFuture ignore(@NotNull UUID requester, @NotNull UUID target) { + public CompletableFuture ignore(UUID requester, UUID target) { return this.callEventSync(new IgnoreEvent(requester, target)) .thenCompose(event -> { if (event.isCancelled()) { @@ -52,7 +51,7 @@ public CompletableFuture ignore(@NotNull UUID requester, @NotNull } @Override - public CompletableFuture ignoreAll(@NotNull UUID requester) { + public CompletableFuture ignoreAll(UUID requester) { return this.callEventSync(new IgnoreAllEvent(requester)) .thenCompose(event -> { if (event.isCancelled()) { @@ -69,7 +68,7 @@ public CompletableFuture ignoreAll(@NotNull UUID requester) { } @Override - public CompletableFuture unIgnore(@NotNull UUID requester, @NotNull UUID target) { + public CompletableFuture unIgnore(UUID requester, UUID target) { return this.callEventSync(new UnIgnoreEvent(requester, target)) .thenCompose(event -> { if (event.isCancelled()) { @@ -86,7 +85,7 @@ public CompletableFuture unIgnore(@NotNull UUID requester, @NotNul } @Override - public CompletableFuture unIgnoreAll(@NotNull UUID requester) { + public CompletableFuture unIgnoreAll(UUID requester) { return this.callEventSync(new UnIgnoreAllEvent(requester)) .thenCompose(event -> { if (event.isCancelled()) { @@ -103,7 +102,7 @@ public CompletableFuture unIgnoreAll(@NotNull UUID requester) { } @Override - public CompletableFuture> getIgnoredPlayers(@NotNull UUID requester) { + public CompletableFuture> getIgnoredPlayers(UUID requester) { return this.ignoreRepository.getIgnoredPlayers(requester); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java index d43609080..228fa61c5 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/jail/JailServiceImpl.java @@ -17,7 +17,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.UUID; import org.bukkit.Location; @@ -25,7 +24,6 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.Blocking; -import org.jetbrains.annotations.NotNull; import org.jspecify.annotations.Nullable; @Service @@ -67,7 +65,7 @@ class JailServiceImpl implements JailService { } @Override - public boolean detainPlayer(@NotNull Player player, @NotNull CommandSender detainedBy, @Nullable Duration time) { + public boolean detainPlayer(Player player, CommandSender detainedBy, @Nullable Duration time) { if (time == null) { time = this.settings.defaultJailDuration(); } @@ -95,7 +93,7 @@ public boolean detainPlayer(@NotNull Player player, @NotNull CommandSender detai } @Override - public boolean releasePlayer(@NotNull Player player) { + public boolean releasePlayer(Player player) { JailReleaseEvent jailReleaseEvent = new JailReleaseEvent(player.getUniqueId()); this.eventCaller.callEvent(jailReleaseEvent); @@ -123,7 +121,7 @@ public void releaseAllPlayers() { } if (jailedPlayer != null) { - this.teleportService.teleport(jailedPlayer, Objects.requireNonNull(this.spawnService.getSpawnLocation())); + this.teleportService.teleport(jailedPlayer, this.spawnService.getSpawnLocation()); } }); @@ -139,7 +137,7 @@ public boolean isPlayerJailed(UUID player) { } @Override - public Collection<@Nullable JailedPlayer> getJailedPlayers() { + public Collection getJailedPlayers() { return Collections.unmodifiableCollection(this.jailedPlayers.values()); } @@ -164,7 +162,7 @@ public Optional getJailAreaLocation() { @Override @Blocking - public void setupJailArea(@NotNull Location jailLocation) { + public void setupJailArea(Location jailLocation) { this.locationsConfiguration.jail = PositionAdapter.convert(jailLocation); this.configurationManager.save(this.locationsConfiguration); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java index 2b60f238a..8c34a340a 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/MsgServiceImpl.java @@ -17,7 +17,6 @@ import java.util.UUID; import org.bukkit.Server; import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; @Service class MsgServiceImpl implements MsgService { @@ -55,7 +54,7 @@ class MsgServiceImpl implements MsgService { } @Override - public void reply(@NotNull Player sender, @NotNull String message) { + public void reply(Player sender, String message) { UUID uuid = this.replies.getIfPresent(sender.getUniqueId()); if (uuid == null) { @@ -75,7 +74,7 @@ public void reply(@NotNull Player sender, @NotNull String message) { } @Override - public void sendMessage(@NotNull Player sender, @NotNull Player target, @NotNull String message) { + public void sendMessage(Player sender, Player target, String message) { UUID uniqueId = target.getUniqueId(); this.msgToggleService.getState(uniqueId).thenAccept(msgState -> { @@ -99,17 +98,17 @@ public void sendMessage(@NotNull Player sender, @NotNull Player target, @NotNull } @Override - public void enableSpy(@NotNull UUID player) { + public void enableSpy(UUID player) { this.socialSpy.add(player); } @Override - public void disableSpy(@NotNull UUID player) { + public void disableSpy(UUID player) { this.socialSpy.remove(player); } @Override - public boolean isSpy(@NotNull UUID player) { + public boolean isSpy(UUID player) { return this.socialSpy.contains(player); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java index 45e91391a..227d40e5d 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/msg/toggle/MsgToggleServiceImpl.java @@ -5,7 +5,6 @@ import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; -import org.jetbrains.annotations.NotNull; @Service class MsgToggleServiceImpl implements MsgToggleService { @@ -22,7 +21,7 @@ class MsgToggleServiceImpl implements MsgToggleService { @Override - public CompletableFuture getState(@NotNull UUID playerUniqueId) { + public CompletableFuture getState(UUID playerUniqueId) { if (this.cachedToggleStates.containsKey(playerUniqueId)) { return CompletableFuture.completedFuture(this.cachedToggleStates.get(playerUniqueId)); } @@ -31,7 +30,7 @@ public CompletableFuture getState(@NotNull UUID playerUniqueId) { } @Override - public CompletableFuture setState(@NotNull UUID playerUniqueId, @NotNull MsgState state) { + public CompletableFuture setState(UUID playerUniqueId, MsgState state) { this.cachedToggleStates.put(playerUniqueId, state); return this.msgToggleRepository.setPrivateChatState(playerUniqueId, state) @@ -42,7 +41,7 @@ public CompletableFuture setState(@NotNull UUID playerUniqueId, @NotNull M } @Override - public CompletableFuture toggleState(@NotNull UUID playerUniqueId) { + public CompletableFuture toggleState(UUID playerUniqueId) { return this.getState(playerUniqueId).thenCompose(state -> { MsgState newState = state.invert(); return this.setState(playerUniqueId, newState) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java index 1304e8013..bb358a6b3 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/randomteleport/RandomTeleportServiceImpl.java @@ -18,7 +18,6 @@ import org.bukkit.World; import org.bukkit.WorldBorder; import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; @Service class RandomTeleportServiceImpl implements RandomTeleportService { @@ -38,13 +37,13 @@ class RandomTeleportServiceImpl implements RandomTeleportService { } @Override - public CompletableFuture teleport(@NotNull Player player) { + public CompletableFuture teleport(Player player) { World world = resolveWorld(player, randomTeleportSettings); return this.teleport(player, world); } @Override - public CompletableFuture teleport(@NotNull Player player, @NotNull World world) { + public CompletableFuture teleport(Player player, World world) { PreRandomTeleportEvent preRandomTeleportEvent = this.eventCaller.callEvent(new PreRandomTeleportEvent(player)); if (preRandomTeleportEvent.isCancelled()) { @@ -63,7 +62,7 @@ public CompletableFuture teleport(@NotNull Player player, } @Override - public CompletableFuture> teleport(@NotNull Collection players) { + public CompletableFuture> teleport(Collection players) { if (players.isEmpty()) { return CompletableFuture.completedFuture(Map.of()); } @@ -75,7 +74,7 @@ public CompletableFuture> teleport(@NotNull Co } @Override - public CompletableFuture> teleport(@NotNull Collection players, @NotNull World world) { + public CompletableFuture> teleport(Collection players, World world) { if (players.isEmpty()) { return CompletableFuture.completedFuture(Map.of()); } @@ -86,9 +85,8 @@ public CompletableFuture> teleport(@NotNull Co @Override public CompletableFuture> teleport( - @NotNull Collection players, - @NotNull Location location - ) { + Collection players, + Location location) { if (players.isEmpty()) { return CompletableFuture.completedFuture(Map.of()); } @@ -119,7 +117,7 @@ public CompletableFuture> teleport( } @Override - public CompletableFuture getSafeRandomLocation(@NotNull World world, int attemptCount) { + public CompletableFuture getSafeRandomLocation(World world, int attemptCount) { RandomTeleportRadius radius = switch (this.randomTeleportSettings.radiusType()) { case STATIC_RADIUS -> this.randomTeleportSettings.radius(); case WORLD_BORDER_RADIUS -> this.getWorldBorderRadius(world); @@ -129,13 +127,13 @@ public CompletableFuture getSafeRandomLocation(@NotNull World world, i } @Override - public CompletableFuture getSafeRandomLocation(@NotNull World world, int radius, int attemptCount) { + public CompletableFuture getSafeRandomLocation(World world, int radius, int attemptCount) { return this.safeLocationService.getSafeRandomLocation(world, RandomTeleportRadius.of(radius), attemptCount); } @Override public CompletableFuture getSafeRandomLocation( - @NotNull World world, + World world, RandomTeleportRadius radius, int attemptCount ) { @@ -143,7 +141,7 @@ public CompletableFuture getSafeRandomLocation( } @Override - public CompletableFuture getSafeRandomLocationInWorldBorder(@NotNull World world, int attemptCount) { + public CompletableFuture getSafeRandomLocationInWorldBorder(World world, int attemptCount) { return this.getSafeRandomLocation(world, this.getWorldBorderRadius(world), attemptCount); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java index 94f0976d6..ac3d23b93 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java @@ -9,7 +9,6 @@ import org.bukkit.Location; import org.bukkit.entity.Player; import java.util.logging.Logger; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @Service @@ -29,7 +28,7 @@ public SpawnServiceImpl(LocationsConfiguration locationsConfiguration, Configura } @Override - public void teleportToSpawn(@NotNull Player player) { + public void teleportToSpawn(Player player) { if (!isSpawnValid()) { this.logger.warning(WARNING); return; @@ -40,7 +39,7 @@ public void teleportToSpawn(@NotNull Player player) { } @Override - public void setSpawnLocation(@NotNull Location location) { + public void setSpawnLocation(Location location) { this.locationsConfiguration.spawn = PositionAdapter.convert(location); this.configurationManager.save(this.locationsConfiguration); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java index db9c2ba2e..3e1cf4917 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/TeleportServiceImpl.java @@ -13,7 +13,6 @@ import java.util.UUID; import org.bukkit.Location; import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; @Service class TeleportServiceImpl implements TeleportService { @@ -28,7 +27,7 @@ class TeleportServiceImpl implements TeleportService { } @Override - public void teleport(@NotNull Player player, @NotNull Location location) { + public void teleport(Player player, Location location) { EternalTeleportEvent event = this.eventCaller.callEvent(new EternalTeleportEvent(player, location)); if (event.isCancelled()) { @@ -42,12 +41,12 @@ public void teleport(@NotNull Player player, @NotNull Location location) { } @Override - public Optional getLastLocation(@NotNull UUID player) { + public Optional getLastLocation(UUID player) { return Optional.ofNullable(this.lastPosition.get(player)).map(position -> PositionAdapter.convert(position)); } @Override - public void markLastLocation(@NotNull UUID player, @NotNull Location location) { + public void markLastLocation(UUID player, Location location) { this.lastPosition.put(player, PositionAdapter.convert(location)); } } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java index f53ae48be..ec21920e9 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/vanish/VanishServiceImpl.java @@ -8,8 +8,6 @@ import java.util.Set; import java.util.UUID; import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; @Service class VanishServiceImpl implements VanishService { @@ -30,7 +28,7 @@ class VanishServiceImpl implements VanishService { } @Override - public void enableVanish(@NotNull Player player) { + public void enableVanish(Player player) { EnableVanishEvent event = this.eventCaller.callEvent(new EnableVanishEvent(player)); if (event.isCancelled()) { @@ -42,7 +40,7 @@ public void enableVanish(@NotNull Player player) { } @Override - public void disableVanish(@NotNull Player player) { + public void disableVanish(Player player) { DisableVanishEvent event = this.eventCaller.callEvent(new DisableVanishEvent(player)); if (event.isCancelled()) { @@ -54,27 +52,27 @@ public void disableVanish(@NotNull Player player) { } @Override - public boolean isVanished(@NotNull Player player) { + public boolean isVanished(Player player) { return this.vanishInvisibleService.getVanishedPlayers().contains(player.getUniqueId()); } @Override - public boolean isVanished(@NotNull UUID uniqueId) { + public boolean isVanished(UUID uniqueId) { return this.vanishInvisibleService.getVanishedPlayers().contains(uniqueId); } @Override - public void hideVanishedPlayersFrom(@NotNull Player player) { + public void hideVanishedPlayersFrom(Player player) { this.vanishInvisibleService.hideVanishedPlayersFrom(player); } @Override - public Set<@Nullable UUID> getVanishedPlayers() { + public Set getVanishedPlayers() { return this.vanishInvisibleService.getVanishedPlayers(); } @Override - public Set<@Nullable String> getVanishedPlayerNames() { + public Set getVanishedPlayerNames() { return this.vanishInvisibleService.getVanishedPlayerNames(); } } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java index 3df2abfde..f74d7215f 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/warp/WarpServiceImpl.java @@ -14,8 +14,6 @@ import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; @Service class WarpServiceImpl implements WarpService { @@ -35,7 +33,7 @@ private void loadWarps() { } @Override - public Warp createWarp(@NotNull String name, @NotNull Location location) { + public Warp createWarp(String name, Location location) { Warp warp = new WarpImpl(name, PositionAdapter.convert(location), new ArrayList<>()); this.warps.put(name, warp); @@ -45,7 +43,7 @@ public Warp createWarp(@NotNull String name, @NotNull Location location) { } @Override - public void removeWarp(@NotNull String warpName) { + public void removeWarp(String warpName) { Warp removed = this.warps.remove(warpName); if (removed != null) { @@ -54,7 +52,7 @@ public void removeWarp(@NotNull String warpName) { } @Override - public Warp addPermissions(@NotNull String warpName, String @NotNull ... permissions) { + public Warp addPermissions(String warpName, String... permissions) { Warp warp = this.modifyPermissions(warpName, perms -> perms.addAll(List.of(permissions))); this.warpRepository.saveWarp(warp); @@ -62,7 +60,7 @@ public Warp addPermissions(@NotNull String warpName, String @NotNull ... permiss } @Override - public Warp removePermissions(@NotNull String warpName, String @NotNull ... permissions) { + public Warp removePermissions(String warpName, String... permissions) { Warp warp = this.modifyPermissions(warpName, perms -> perms.removeAll(List.of(permissions))); this.warpRepository.saveWarp(warp); @@ -94,7 +92,7 @@ public boolean exists(String warp) { } @Override - public Optional<@Nullable Warp> findWarp(@NotNull String warp) { + public Optional findWarp(String warp) { return Optional.ofNullable(this.warps.get(warp)); } From 9b85cc6fd58746f884f7689fb20705b01ca239e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=99dziora?= <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:22:57 +0100 Subject: [PATCH 09/16] Update eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java --- .../java/com/eternalcode/core/feature/spawn/SpawnService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java index 91c062097..9236bc0ef 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/spawn/SpawnService.java @@ -2,7 +2,7 @@ import org.bukkit.Location; import org.bukkit.entity.Player; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; public interface SpawnService { From c068baba74b34fc280639d53b000fcf81cac0bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=99dziora?= <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:24:49 +0100 Subject: [PATCH 10/16] Update eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java --- .../com/eternalcode/core/feature/spawn/SpawnServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java index ac3d23b93..02936723b 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/spawn/SpawnServiceImpl.java @@ -9,7 +9,7 @@ import org.bukkit.Location; import org.bukkit.entity.Player; import java.util.logging.Logger; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; @Service public class SpawnServiceImpl implements SpawnService { From 371cf9562fc9e22956bfcf4bd154384d23e955b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=99dziora?= <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:24:59 +0100 Subject: [PATCH 11/16] Update eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java --- .../main/java/com/eternalcode/core/EternalCoreApiProvider.java | 1 + 1 file changed, 1 insertion(+) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java index bf6557be0..049f66a21 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java @@ -22,6 +22,7 @@ public static EternalCoreApi provide() { return api; } + @ApiStatus.Internal static void initialize(EternalCoreApi api) { if (EternalCoreApiProvider.api != null) { throw new IllegalStateException("EternalCoreApiProvider is already initialized"); From e0cf4be609b0f31fab7d57dc4a85cff0bcc5677f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=99dziora?= <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:25:09 +0100 Subject: [PATCH 12/16] Update eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java --- .../main/java/com/eternalcode/core/EternalCoreApiProvider.java | 1 - 1 file changed, 1 deletion(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java index 049f66a21..6af1772cb 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java @@ -6,7 +6,6 @@ public final class EternalCoreApiProvider { @Nullable - @ApiStatus.Internal private static EternalCoreApi api; @ApiStatus.Internal From 7e2e9e20702a0ca9369311c76acd0271be49b5d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=99dziora?= <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:25:17 +0100 Subject: [PATCH 13/16] Update eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java --- .../main/java/com/eternalcode/core/EternalCoreApiProvider.java | 1 - 1 file changed, 1 deletion(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java index 6af1772cb..74ea72636 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java @@ -8,7 +8,6 @@ public final class EternalCoreApiProvider { @Nullable private static EternalCoreApi api; - @ApiStatus.Internal private EternalCoreApiProvider() { throw new UnsupportedOperationException("This is a utility class and cannot be instantiated"); } From a3e368fd8f89dd5eb29f1652533907816024ebdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=99dziora?= <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:25:27 +0100 Subject: [PATCH 14/16] Update eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java --- .../core/feature/warp/event/PreWarpTeleportEvent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java index a3b8cc1e3..1b28588a8 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java @@ -78,7 +78,7 @@ public HandlerList getHandlers() { return HANDLER_LIST; } - public static @NonNull HandlerList getHandlerList() { + public static HandlerList getHandlerList() { return HANDLER_LIST; } } From b204061b9e1da8fcf67e57fa37307c010a3ac04b Mon Sep 17 00:00:00 2001 From: Jakubk15 <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:29:07 +0100 Subject: [PATCH 15/16] Minor touchups --- .../core/feature/adminchat/event/AdminChatEvent.java | 7 ++++--- .../eternalcode/core/feature/catboy/CatboyService.java | 1 - .../eternalcode/core/feature/vanish/VanishService.java | 10 ++++------ 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java index 92fea01d8..5c97e65cb 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/adminchat/event/AdminChatEvent.java @@ -1,5 +1,6 @@ package com.eternalcode.core.feature.adminchat.event; +import java.util.Objects; import org.bukkit.command.CommandSender; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; @@ -24,8 +25,8 @@ public class AdminChatEvent extends Event implements Cancellable { public AdminChatEvent(CommandSender sender, String content) { super(false); - this.sender = java.util.Objects.requireNonNull(sender, "sender cannot be null"); - this.content = java.util.Objects.requireNonNull(content, "content cannot be null"); + this.sender = Objects.requireNonNull(sender, "sender cannot be null"); + this.content = Objects.requireNonNull(content, "content cannot be null"); this.cancelled = false; } @@ -56,7 +57,7 @@ public void setCancelled(boolean cancelled) { } @Override - public HandlerList getHandlers() { + public @NonNull HandlerList getHandlers() { return HANDLER_LIST; } } diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java index 96374255c..5c340eb5f 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/catboy/CatboyService.java @@ -6,7 +6,6 @@ import org.bukkit.entity.Cat; import org.bukkit.entity.Player; import org.jetbrains.annotations.Unmodifiable; -import org.jspecify.annotations.Nullable; /** * Service for managing catboys. diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java b/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java index 761bf90ba..a868b6d81 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/feature/vanish/VanishService.java @@ -1,11 +1,9 @@ package com.eternalcode.core.feature.vanish; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.ApiStatus; - import java.util.Set; import java.util.UUID; -import org.jspecify.annotations.Nullable; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.ApiStatus; public interface VanishService { @@ -61,13 +59,13 @@ default boolean toggleVanish(Player player) { * * @return A set containing the unique IDs of all vanished players. */ - Set<@Nullable UUID> getVanishedPlayers(); + Set getVanishedPlayers(); /** * Gets a set of names of all vanished players. * * @return A set containing the names of all vanished players. */ - Set<@Nullable String> getVanishedPlayerNames(); + Set getVanishedPlayerNames(); } From fc2110ae84c8e1fd5a8be637860420427a02b61a Mon Sep 17 00:00:00 2001 From: Jakubk15 <77227023+Jakubk15@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:29:55 +0100 Subject: [PATCH 16/16] Add @ApiStatus.Internal annotation to deinitialize() method --- .../main/java/com/eternalcode/core/EternalCoreApiProvider.java | 1 + 1 file changed, 1 insertion(+) diff --git a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java index 74ea72636..4f991f9da 100644 --- a/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java +++ b/eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApiProvider.java @@ -33,6 +33,7 @@ static void initialize(EternalCoreApi api) { EternalCoreApiProvider.api = api; } + @ApiStatus.Internal static void deinitialize() { if (EternalCoreApiProvider.api == null) { throw new IllegalStateException("EternalCoreApiProvider is not initialized");