diff --git a/api/build.gradle b/api/build.gradle deleted file mode 100644 index e7f7106..0000000 --- a/api/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -group = rootProject.group -version = rootProject.version -description = "Plex-API" - -jar { - archiveBaseName.set("Plex-API") -} - -tasks { - jar { - finalizedBy(rootProject.tasks.copyJars) - } - - shadowJar { - enabled = false - } -} - -publishing { - publications { - maven(MavenPublication) { - from components.java - } - } -} - -dependencies { - compileOnly "org.projectlombok:lombok:1.18.24" - annotationProcessor "org.projectlombok:lombok:1.18.24" - compileOnly "io.papermc.paper:paper-api:1.19.1-R0.1-SNAPSHOT" - compileOnly "org.json:json:20220320" -} \ No newline at end of file diff --git a/api/src/main/java/dev/plex/api/IPlayerCache.java b/api/src/main/java/dev/plex/api/IPlayerCache.java deleted file mode 100644 index 6b49783..0000000 --- a/api/src/main/java/dev/plex/api/IPlayerCache.java +++ /dev/null @@ -1,11 +0,0 @@ -package dev.plex.api; - -import java.util.Map; -import java.util.UUID; - -public interface IPlayerCache -{ - Map getPlexPlayerMap(); - - T getPlexPlayer(UUID uuid); -} diff --git a/api/src/main/java/dev/plex/api/PlexApi.java b/api/src/main/java/dev/plex/api/PlexApi.java deleted file mode 100644 index 8c6f7c9..0000000 --- a/api/src/main/java/dev/plex/api/PlexApi.java +++ /dev/null @@ -1,6 +0,0 @@ -package dev.plex.api; - -public interface PlexApi -{ - IPlayerCache getPlayerCache(); -} diff --git a/api/src/main/java/dev/plex/api/PlexApiProvider.java b/api/src/main/java/dev/plex/api/PlexApiProvider.java deleted file mode 100644 index 986d55d..0000000 --- a/api/src/main/java/dev/plex/api/PlexApiProvider.java +++ /dev/null @@ -1,6 +0,0 @@ -package dev.plex.api; - -public interface PlexApiProvider -{ - PlexApi getApi(); -} diff --git a/api/src/main/java/dev/plex/api/chat/IChatHandler.java b/api/src/main/java/dev/plex/api/chat/IChatHandler.java deleted file mode 100644 index 182ee72..0000000 --- a/api/src/main/java/dev/plex/api/chat/IChatHandler.java +++ /dev/null @@ -1,8 +0,0 @@ -package dev.plex.api.chat; - -import io.papermc.paper.event.player.AsyncChatEvent; - -public interface IChatHandler -{ - void doChat(AsyncChatEvent event); -} diff --git a/api/src/main/java/dev/plex/api/permission/IPermissionHandler.java b/api/src/main/java/dev/plex/api/permission/IPermissionHandler.java deleted file mode 100644 index 3926847..0000000 --- a/api/src/main/java/dev/plex/api/permission/IPermissionHandler.java +++ /dev/null @@ -1,32 +0,0 @@ -package dev.plex.api.permission; - -import org.bukkit.Bukkit; -import org.bukkit.OfflinePlayer; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -public interface IPermissionHandler -{ - default boolean hasPermission(@NotNull Player player, @Nullable String permission) - { - if (permission == null) - { - return true; - } - return player.hasPermission(permission); - } - - default boolean hasPermission(@NotNull OfflinePlayer player, @Nullable String permission) - { - if (permission == null) - { - return true; - } - if (player.isOnline() && Bukkit.getPlayer(player.getUniqueId()) != null) - { - return Bukkit.getPlayer(player.getUniqueId()).hasPermission(permission); - } - throw new UnsupportedOperationException("Not implemented yet"); - } -} diff --git a/api/src/main/java/dev/plex/api/player/IPlexPlayer.java b/api/src/main/java/dev/plex/api/player/IPlexPlayer.java deleted file mode 100644 index 96c4f9f..0000000 --- a/api/src/main/java/dev/plex/api/player/IPlexPlayer.java +++ /dev/null @@ -1,67 +0,0 @@ -package dev.plex.api.player; - -import java.util.List; -import java.util.UUID; -import org.bukkit.entity.Player; -import org.bukkit.permissions.PermissionAttachment; - -public interface IPlexPlayer -{ - String getId(); - - UUID getUuid(); - - String getName(); - - Player getPlayer(); - - void setPlayer(Player player); - - String getLoginMessage(); - - void setLoginMessage(String message); - - String getPrefix(); - - void setPrefix(String prefix); - - boolean isVanished(); - - void setVanished(boolean vanished); - - boolean isCommandSpy(); - - void setCommandSpy(boolean commandSpy); - - boolean isFrozen(); - - void setFrozen(boolean frozen); - - boolean isMuted(); - - void setMuted(boolean muted); - - boolean isLockedUp(); - - void setLockedUp(boolean lockedUp); - - boolean isAdminActive(); - - void setAdminActive(boolean active); - - long getCoins(); - - void setCoins(long coins); - - String getRank(); - - void setRank(String rank); - - List getIps(); - - void setIps(List ips); - - PermissionAttachment getPermissionAttachment(); - - void setPermissionAttachment(PermissionAttachment attachment); -} diff --git a/api/src/main/java/dev/plex/api/plugin/PlexPlugin.java b/api/src/main/java/dev/plex/api/plugin/PlexPlugin.java deleted file mode 100644 index 1e7f79a..0000000 --- a/api/src/main/java/dev/plex/api/plugin/PlexPlugin.java +++ /dev/null @@ -1,30 +0,0 @@ -package dev.plex.api.plugin; - -import dev.plex.api.chat.IChatHandler; -import dev.plex.api.permission.IPermissionHandler; -import lombok.AccessLevel; -import lombok.Getter; -import lombok.Setter; -import org.bukkit.plugin.java.JavaPlugin; - -@Getter -@Setter -public abstract class PlexPlugin extends JavaPlugin -{ - @Setter(AccessLevel.NONE) - private static PlexPlugin plugin; - - private IChatHandler chatHandler; - private IPermissionHandler permissionHandler; - - @Override - public void onLoad() - { - plugin = this; - } - - public static PlexPlugin get() - { - return plugin; - } -} diff --git a/api/src/main/java/dev/plex/api/rank/IRank.java b/api/src/main/java/dev/plex/api/rank/IRank.java deleted file mode 100644 index cf46f61..0000000 --- a/api/src/main/java/dev/plex/api/rank/IRank.java +++ /dev/null @@ -1,26 +0,0 @@ -package dev.plex.api.rank; - -import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.format.NamedTextColor; -import org.json.JSONObject; - -public interface IRank -{ - int getLevel(); - - String getLoginMessage(); - - void setLoginMessage(String message); - - String getReadable(); - - Component getPrefix(); - - void setPrefix(String prefix); - - NamedTextColor getColor(); - - boolean isAtLeast(T rank); - - JSONObject toJSON(); -} diff --git a/build.gradle b/build.gradle index ecdab8b..2feb7d9 100644 --- a/build.gradle +++ b/build.gradle @@ -60,7 +60,6 @@ subprojects { } clean { - dependsOn(":api:clean") dependsOn(":server:clean") dependsOn(":proxy:clean") } diff --git a/proxy/build.gradle.kts b/proxy/build.gradle.kts index 1af8ab8..4fbb8b7 100644 --- a/proxy/build.gradle.kts +++ b/proxy/build.gradle.kts @@ -42,5 +42,4 @@ dependencies { compileOnly("org.json:json:20220320") compileOnly("com.velocitypowered:velocity-api:3.1.2-SNAPSHOT") annotationProcessor("com.velocitypowered:velocity-api:3.1.2-SNAPSHOT") - implementation(project(":api")) } \ No newline at end of file diff --git a/server/build.gradle b/server/build.gradle index 2420a20..a4e9989 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -28,7 +28,6 @@ dependencies { } implementation "org.bstats:bstats-base:3.0.0" implementation "org.bstats:bstats-bukkit:3.0.0" - implementation project(":api") } group = rootProject.group diff --git a/server/src/main/java/dev/plex/Plex.java b/server/src/main/java/dev/plex/Plex.java index 49fb63c..2828211 100644 --- a/server/src/main/java/dev/plex/Plex.java +++ b/server/src/main/java/dev/plex/Plex.java @@ -2,19 +2,12 @@ package dev.plex; import dev.plex.admin.Admin; import dev.plex.admin.AdminList; -import dev.plex.api.PlexApi; -import dev.plex.api.PlexApiProvider; -import dev.plex.api.plugin.PlexPlugin; import dev.plex.cache.DataUtils; import dev.plex.cache.PlayerCache; import dev.plex.config.Config; import dev.plex.handlers.CommandHandler; import dev.plex.handlers.ListenerHandler; -import dev.plex.hook.VaultHook; -import dev.plex.listener.impl.ChatListener; import dev.plex.module.ModuleManager; -import dev.plex.permission.handler.NativePermissionHandler; -import dev.plex.permission.handler.VaultPermissionHandler; import dev.plex.player.PlexPlayer; import dev.plex.punishment.PunishmentManager; import dev.plex.rank.RankManager; @@ -37,29 +30,26 @@ import dev.plex.world.CustomWorld; import java.io.File; import lombok.Getter; import lombok.Setter; -import org.bson.conversions.Bson; +import net.milkbowl.vault.chat.Chat; +import net.milkbowl.vault.permission.Permission; import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; +import org.bukkit.plugin.RegisteredServiceProvider; +import org.bukkit.plugin.java.JavaPlugin; @Getter @Setter -public class Plex extends PlexPlugin implements PlexApiProvider +public class Plex extends JavaPlugin { + public static final BuildInfo build = new BuildInfo(); private static Plex plugin; - public Config config; public Config messages; public Config indefBans; public Config commands; public Config toggles; - - private PlexProvider provider; - public File modulesFolder; private StorageType storageType = StorageType.SQLITE; - - public static final BuildInfo build = new BuildInfo(); - private SQLConnection sqlConnection; private MongoConnection mongoConnection; private RedisConnection redisConnection; @@ -82,6 +72,9 @@ public class Plex extends PlexPlugin implements PlexApiProvider private UpdateChecker updateChecker; private String system; + private Permission permissions; + private Chat chat; + public static Plex get() { @@ -110,8 +103,7 @@ public class Plex extends PlexPlugin implements PlexApiProvider moduleManager.loadAllModules(); moduleManager.loadModules(); - this.setChatHandler(new ChatListener.ChatHandlerImpl()); - + //this.setChatHandler(new ChatListener.ChatHandlerImpl()); } @Override @@ -145,21 +137,15 @@ public class Plex extends PlexPlugin implements PlexApiProvider e.printStackTrace(); } - boolean permissions = false; - if (getServer().getPluginManager().isPluginEnabled("Vault")) + if (system.equals("permissions")) { - VaultPermissionHandler handler = new VaultPermissionHandler(); - if (VaultHook.getPermission() != null) + if (!getServer().getPluginManager().isPluginEnabled("Vault")) { - this.setPermissionHandler(handler); - permissions = true; - PlexLog.debug("Enabling Vault support for permissions with a permission plugin: " + VaultHook.getPermission().getName()); + throw new RuntimeException("Vault is required to run on the server if you use permissions!"); } - } - if (!permissions) - { - this.setPermissionHandler(new NativePermissionHandler()); + permissions = setupPermissions(); + chat = setupChat(); } updateChecker = new UpdateChecker(); @@ -221,8 +207,6 @@ public class Plex extends PlexPlugin implements PlexApiProvider } this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord"); - - provider = new PlexProvider(); moduleManager.enableModules(); } @@ -284,9 +268,17 @@ public class Plex extends PlexPlugin implements PlexApiProvider }); } - @Override - public PlexApi getApi() + private Permission setupPermissions() { - return provider; + RegisteredServiceProvider rsp = Bukkit.getServicesManager().getRegistration(Permission.class); + permissions = rsp.getProvider(); + return permissions; + } + + private Chat setupChat() + { + RegisteredServiceProvider rsp = Bukkit.getServicesManager().getRegistration(Chat.class); + chat = rsp.getProvider(); + return chat; } } diff --git a/server/src/main/java/dev/plex/PlexProvider.java b/server/src/main/java/dev/plex/PlexProvider.java deleted file mode 100644 index e7576d9..0000000 --- a/server/src/main/java/dev/plex/PlexProvider.java +++ /dev/null @@ -1,14 +0,0 @@ -package dev.plex; - -import dev.plex.api.IPlayerCache; -import dev.plex.api.PlexApi; -import dev.plex.player.PlexPlayer; - -public class PlexProvider implements PlexApi -{ - @Override - public IPlayerCache getPlayerCache() - { - return Plex.get().getPlayerCache(); - } -} diff --git a/server/src/main/java/dev/plex/cache/PlayerCache.java b/server/src/main/java/dev/plex/cache/PlayerCache.java index 9d8323f..a6b91c6 100644 --- a/server/src/main/java/dev/plex/cache/PlayerCache.java +++ b/server/src/main/java/dev/plex/cache/PlayerCache.java @@ -1,7 +1,6 @@ package dev.plex.cache; import com.google.common.collect.Maps; -import dev.plex.api.IPlayerCache; import dev.plex.player.PlexPlayer; import java.util.Map; import java.util.UUID; @@ -10,7 +9,7 @@ import java.util.UUID; * Cache storage */ -public class PlayerCache implements IPlayerCache +public class PlayerCache { /** * A key/value pair where the key is the unique ID of the Plex Player diff --git a/server/src/main/java/dev/plex/command/PlexCommand.java b/server/src/main/java/dev/plex/command/PlexCommand.java index 233d096..39532eb 100644 --- a/server/src/main/java/dev/plex/command/PlexCommand.java +++ b/server/src/main/java/dev/plex/command/PlexCommand.java @@ -155,7 +155,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC } else if (plugin.getSystem().equalsIgnoreCase("permissions")) { - if (!perms.permission().isEmpty() && !plugin.getPermissionHandler().hasPermission(player, perms.permission())) + if (!perms.permission().isEmpty() && !player.hasPermission(perms.permission())) { send(sender, messageComponent("noPermissionNode", perms.permission())); return true; @@ -191,7 +191,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC } else if (plugin.getSystem().equalsIgnoreCase("permissions")) { - if (!perms.permission().isEmpty() && !plugin.getPermissionHandler().hasPermission(Bukkit.getOfflinePlayer(plexPlayer.getName()), perms.permission())) + if (!perms.permission().isEmpty() && !plugin.getPermissions().playerHas(null, Bukkit.getPlayer(plexPlayer.getName()), perms.permission())) { send(sender, messageComponent("noPermissionNode", perms.permission())); return true; @@ -206,7 +206,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC } try { - Component component = this.execute(sender, isConsole(sender) ? null : (Player) sender, args); + Component component = this.execute(sender, isConsole(sender) ? null : (Player)sender, args); if (component != null) { send(sender, component); @@ -292,7 +292,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC { if (!isConsole(sender)) { - return checkRank((Player) sender, rank, permission); + return checkRank((Player)sender, rank, permission); } if (!sender.getName().equalsIgnoreCase("console")) { @@ -310,7 +310,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC } else if (plugin.getSystem().equalsIgnoreCase("permissions")) { - if (!perms.permission().isEmpty() && !plugin.getPermissionHandler().hasPermission(Bukkit.getOfflinePlayer(plexPlayer.getName()), perms.permission())) + if (!perms.permission().isEmpty() && !plugin.getPermissions().playerHas(null, Bukkit.getOfflinePlayer(plexPlayer.getName()), perms.permission())) { throw new CommandFailException(PlexUtils.messageString("noPermissionNode", permission)); } @@ -348,7 +348,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC } else if (plugin.getSystem().equalsIgnoreCase("permissions")) { - if (!perms.permission().isEmpty() && !plugin.getPermissionHandler().hasPermission(player, permission)) + if (!perms.permission().isEmpty() && !player.hasPermission(perms.permission())) { throw new CommandFailException(PlexUtils.messageString("noPermissionNode", permission)); } @@ -369,7 +369,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC } else if (plugin.getSystem().equalsIgnoreCase("permissions")) { - return !perms.permission().isEmpty() && plugin.getPermissionHandler().hasPermission(player, permission); + return !perms.permission().isEmpty() && player.hasPermission(permission); } return false; } @@ -387,7 +387,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC { if (!isConsole(sender)) { - return checkTab((Player) sender, rank, permission); + return checkTab((Player)sender, rank, permission); } return true; } @@ -410,7 +410,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC } else if (plugin.getSystem().equalsIgnoreCase("permissions")) { - return !perms.permission().isEmpty() && plugin.getPermissionHandler().hasPermission(player, permission); + return !perms.permission().isEmpty() && player.hasPermission(permission); } return true; } diff --git a/server/src/main/java/dev/plex/command/impl/AdminCMD.java b/server/src/main/java/dev/plex/command/impl/AdminCMD.java index a7588ff..24cd18a 100644 --- a/server/src/main/java/dev/plex/command/impl/AdminCMD.java +++ b/server/src/main/java/dev/plex/command/impl/AdminCMD.java @@ -1,9 +1,6 @@ package dev.plex.command.impl; import com.google.common.collect.ImmutableList; -import dev.plex.api.event.AdminAddEvent; -import dev.plex.api.event.AdminRemoveEvent; -import dev.plex.api.event.AdminSetRankEvent; import dev.plex.cache.DataUtils; import dev.plex.command.PlexCommand; import dev.plex.command.annotation.CommandParameters; @@ -12,6 +9,9 @@ import dev.plex.command.annotation.System; import dev.plex.command.exception.ConsoleOnlyException; import dev.plex.command.exception.PlayerNotFoundException; import dev.plex.command.source.RequiredCommandSource; +import dev.plex.event.AdminAddEvent; +import dev.plex.event.AdminRemoveEvent; +import dev.plex.event.AdminSetRankEvent; import dev.plex.player.PlexPlayer; import dev.plex.rank.enums.Rank; import dev.plex.util.PlexUtils; diff --git a/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java b/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java index cd7434d..3d03fa1 100644 --- a/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java +++ b/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java @@ -45,7 +45,7 @@ public class AdminChatCMD extends PlexCommand } else if (plugin.getSystem().equalsIgnoreCase("permissions")) { - if (plugin.getPermissionHandler().hasPermission(player, "plex.adminchat")) + if (player.hasPermission("plex.adminchat")) { player.sendMessage(PlexUtils.messageComponent("adminChatFormat", sender.getName(), message)); } diff --git a/server/src/main/java/dev/plex/command/impl/AdventureCMD.java b/server/src/main/java/dev/plex/command/impl/AdventureCMD.java index 5646ab8..86ffa95 100644 --- a/server/src/main/java/dev/plex/command/impl/AdventureCMD.java +++ b/server/src/main/java/dev/plex/command/impl/AdventureCMD.java @@ -1,12 +1,12 @@ package dev.plex.command.impl; import com.google.common.collect.ImmutableList; -import dev.plex.api.event.GameModeUpdateEvent; import dev.plex.command.PlexCommand; import dev.plex.command.annotation.CommandParameters; import dev.plex.command.annotation.CommandPermissions; import dev.plex.command.exception.CommandFailException; import dev.plex.command.source.RequiredCommandSource; +import dev.plex.event.GameModeUpdateEvent; import dev.plex.rank.enums.Rank; import dev.plex.util.PlexUtils; import java.util.List; diff --git a/server/src/main/java/dev/plex/command/impl/CreativeCMD.java b/server/src/main/java/dev/plex/command/impl/CreativeCMD.java index 089fe12..2673cae 100644 --- a/server/src/main/java/dev/plex/command/impl/CreativeCMD.java +++ b/server/src/main/java/dev/plex/command/impl/CreativeCMD.java @@ -1,12 +1,12 @@ package dev.plex.command.impl; import com.google.common.collect.ImmutableList; -import dev.plex.api.event.GameModeUpdateEvent; import dev.plex.command.PlexCommand; import dev.plex.command.annotation.CommandParameters; import dev.plex.command.annotation.CommandPermissions; import dev.plex.command.exception.CommandFailException; import dev.plex.command.source.RequiredCommandSource; +import dev.plex.event.GameModeUpdateEvent; import dev.plex.rank.enums.Rank; import dev.plex.util.PlexUtils; import java.util.List; diff --git a/server/src/main/java/dev/plex/command/impl/GamemodeCMD.java b/server/src/main/java/dev/plex/command/impl/GamemodeCMD.java index 12d8cb9..c035a42 100644 --- a/server/src/main/java/dev/plex/command/impl/GamemodeCMD.java +++ b/server/src/main/java/dev/plex/command/impl/GamemodeCMD.java @@ -1,11 +1,11 @@ package dev.plex.command.impl; -import dev.plex.api.event.GameModeUpdateEvent; import dev.plex.command.PlexCommand; import dev.plex.command.annotation.CommandParameters; import dev.plex.command.annotation.CommandPermissions; import dev.plex.command.exception.CommandFailException; import dev.plex.command.source.RequiredCommandSource; +import dev.plex.event.GameModeUpdateEvent; import dev.plex.rank.enums.Rank; import dev.plex.util.PlexUtils; import java.util.Arrays; diff --git a/server/src/main/java/dev/plex/command/impl/SmiteCMD.java b/server/src/main/java/dev/plex/command/impl/SmiteCMD.java index dc3ce8d..9aa6349 100644 --- a/server/src/main/java/dev/plex/command/impl/SmiteCMD.java +++ b/server/src/main/java/dev/plex/command/impl/SmiteCMD.java @@ -17,8 +17,8 @@ import java.util.List; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.title.Title; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.World; diff --git a/server/src/main/java/dev/plex/command/impl/SpectatorCMD.java b/server/src/main/java/dev/plex/command/impl/SpectatorCMD.java index a3d5102..0c8972e 100644 --- a/server/src/main/java/dev/plex/command/impl/SpectatorCMD.java +++ b/server/src/main/java/dev/plex/command/impl/SpectatorCMD.java @@ -1,12 +1,12 @@ package dev.plex.command.impl; import com.google.common.collect.ImmutableList; -import dev.plex.api.event.GameModeUpdateEvent; import dev.plex.command.PlexCommand; import dev.plex.command.annotation.CommandParameters; import dev.plex.command.annotation.CommandPermissions; import dev.plex.command.exception.CommandFailException; import dev.plex.command.source.RequiredCommandSource; +import dev.plex.event.GameModeUpdateEvent; import dev.plex.rank.enums.Rank; import dev.plex.util.PlexUtils; import java.util.List; diff --git a/server/src/main/java/dev/plex/command/impl/SurvivalCMD.java b/server/src/main/java/dev/plex/command/impl/SurvivalCMD.java index 897120b..34ad5ef 100644 --- a/server/src/main/java/dev/plex/command/impl/SurvivalCMD.java +++ b/server/src/main/java/dev/plex/command/impl/SurvivalCMD.java @@ -1,12 +1,12 @@ package dev.plex.command.impl; import com.google.common.collect.ImmutableList; -import dev.plex.api.event.GameModeUpdateEvent; import dev.plex.command.PlexCommand; import dev.plex.command.annotation.CommandParameters; import dev.plex.command.annotation.CommandPermissions; import dev.plex.command.exception.CommandFailException; import dev.plex.command.source.RequiredCommandSource; +import dev.plex.event.GameModeUpdateEvent; import dev.plex.rank.enums.Rank; import dev.plex.util.PlexUtils; import java.util.List; diff --git a/api/src/main/java/dev/plex/api/event/AdminAddEvent.java b/server/src/main/java/dev/plex/event/AdminAddEvent.java similarity index 86% rename from api/src/main/java/dev/plex/api/event/AdminAddEvent.java rename to server/src/main/java/dev/plex/event/AdminAddEvent.java index c66baf9..368dbb8 100644 --- a/api/src/main/java/dev/plex/api/event/AdminAddEvent.java +++ b/server/src/main/java/dev/plex/event/AdminAddEvent.java @@ -1,6 +1,6 @@ -package dev.plex.api.event; +package dev.plex.event; -import dev.plex.api.player.IPlexPlayer; +import dev.plex.player.PlexPlayer; import lombok.Data; import lombok.EqualsAndHashCode; import org.bukkit.command.CommandSender; @@ -24,7 +24,7 @@ public class AdminAddEvent extends Event /** * The PlexPlayer that was added */ - private final IPlexPlayer plexPlayer; + private final PlexPlayer plexPlayer; public static HandlerList getHandlerList() { diff --git a/api/src/main/java/dev/plex/api/event/AdminRemoveEvent.java b/server/src/main/java/dev/plex/event/AdminRemoveEvent.java similarity index 86% rename from api/src/main/java/dev/plex/api/event/AdminRemoveEvent.java rename to server/src/main/java/dev/plex/event/AdminRemoveEvent.java index 21cfe8b..ec215ce 100644 --- a/api/src/main/java/dev/plex/api/event/AdminRemoveEvent.java +++ b/server/src/main/java/dev/plex/event/AdminRemoveEvent.java @@ -1,6 +1,6 @@ -package dev.plex.api.event; +package dev.plex.event; -import dev.plex.api.player.IPlexPlayer; +import dev.plex.player.PlexPlayer; import lombok.Data; import lombok.EqualsAndHashCode; import org.bukkit.command.CommandSender; @@ -24,7 +24,7 @@ public class AdminRemoveEvent extends Event /** * The PlexPlayer that was removed */ - private final IPlexPlayer plexPlayer; + private final PlexPlayer plexPlayer; public static HandlerList getHandlerList() { diff --git a/api/src/main/java/dev/plex/api/event/AdminSetRankEvent.java b/server/src/main/java/dev/plex/event/AdminSetRankEvent.java similarity index 81% rename from api/src/main/java/dev/plex/api/event/AdminSetRankEvent.java rename to server/src/main/java/dev/plex/event/AdminSetRankEvent.java index d351d25..db0b990 100644 --- a/api/src/main/java/dev/plex/api/event/AdminSetRankEvent.java +++ b/server/src/main/java/dev/plex/event/AdminSetRankEvent.java @@ -1,7 +1,7 @@ -package dev.plex.api.event; +package dev.plex.event; -import dev.plex.api.player.IPlexPlayer; -import dev.plex.api.rank.IRank; +import dev.plex.player.PlexPlayer; +import dev.plex.rank.enums.Rank; import lombok.Data; import lombok.EqualsAndHashCode; import org.bukkit.command.CommandSender; @@ -25,12 +25,12 @@ public class AdminSetRankEvent extends Event /** * The PlexPlayer that was removed */ - private final IPlexPlayer plexPlayer; + private final PlexPlayer plexPlayer; /** * The rank the player was set to */ - private final IRank rank; + private final Rank rank; public static HandlerList getHandlerList() { diff --git a/api/src/main/java/dev/plex/api/event/GameModeUpdateEvent.java b/server/src/main/java/dev/plex/event/GameModeUpdateEvent.java similarity index 96% rename from api/src/main/java/dev/plex/api/event/GameModeUpdateEvent.java rename to server/src/main/java/dev/plex/event/GameModeUpdateEvent.java index 75567ff..eaf0687 100644 --- a/api/src/main/java/dev/plex/api/event/GameModeUpdateEvent.java +++ b/server/src/main/java/dev/plex/event/GameModeUpdateEvent.java @@ -1,4 +1,4 @@ -package dev.plex.api.event; +package dev.plex.event; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/api/src/main/java/dev/plex/api/event/PunishedPlayerEvent.java b/server/src/main/java/dev/plex/event/PunishedPlayerEvent.java similarity index 78% rename from api/src/main/java/dev/plex/api/event/PunishedPlayerEvent.java rename to server/src/main/java/dev/plex/event/PunishedPlayerEvent.java index d239e7a..4b4f04d 100644 --- a/api/src/main/java/dev/plex/api/event/PunishedPlayerEvent.java +++ b/server/src/main/java/dev/plex/event/PunishedPlayerEvent.java @@ -1,6 +1,6 @@ -package dev.plex.api.event; +package dev.plex.event; -import dev.plex.api.player.IPlexPlayer; +import dev.plex.player.PlexPlayer; import lombok.Getter; import lombok.Setter; import org.bukkit.Bukkit; @@ -16,7 +16,7 @@ public abstract class PunishedPlayerEvent extends PlayerEvent implements Cancell /** * The player who was punished */ - protected IPlexPlayer punishedPlayer; + protected PlexPlayer punishedPlayer; /** * Whether the event was cancelled @@ -28,9 +28,9 @@ public abstract class PunishedPlayerEvent extends PlayerEvent implements Cancell * Creates an event object * * @param punishedPlayer The player who was punished - * @see IPlexPlayer + * @see PlexPlayer */ - protected PunishedPlayerEvent(IPlexPlayer punishedPlayer) + protected PunishedPlayerEvent(PlexPlayer punishedPlayer) { super(Bukkit.getPlayer(punishedPlayer.getUuid())); this.punishedPlayer = punishedPlayer; diff --git a/api/src/main/java/dev/plex/api/event/PunishedPlayerFreezeEvent.java b/server/src/main/java/dev/plex/event/PunishedPlayerFreezeEvent.java similarity index 84% rename from api/src/main/java/dev/plex/api/event/PunishedPlayerFreezeEvent.java rename to server/src/main/java/dev/plex/event/PunishedPlayerFreezeEvent.java index 1380f1a..929c13e 100644 --- a/api/src/main/java/dev/plex/api/event/PunishedPlayerFreezeEvent.java +++ b/server/src/main/java/dev/plex/event/PunishedPlayerFreezeEvent.java @@ -1,6 +1,6 @@ -package dev.plex.api.event; +package dev.plex.event; -import dev.plex.api.player.IPlexPlayer; +import dev.plex.player.PlexPlayer; import lombok.Getter; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; @@ -24,7 +24,7 @@ public class PunishedPlayerFreezeEvent extends PunishedPlayerEvent implements Ca * @param punishedPlayer The player who was punished * @param frozen The new frozen status */ - public PunishedPlayerFreezeEvent(IPlexPlayer punishedPlayer, boolean frozen) + public PunishedPlayerFreezeEvent(PlexPlayer punishedPlayer, boolean frozen) { super(punishedPlayer); this.frozen = frozen; diff --git a/api/src/main/java/dev/plex/api/event/PunishedPlayerLockupEvent.java b/server/src/main/java/dev/plex/event/PunishedPlayerLockupEvent.java similarity index 84% rename from api/src/main/java/dev/plex/api/event/PunishedPlayerLockupEvent.java rename to server/src/main/java/dev/plex/event/PunishedPlayerLockupEvent.java index c656a7c..2656c61 100644 --- a/api/src/main/java/dev/plex/api/event/PunishedPlayerLockupEvent.java +++ b/server/src/main/java/dev/plex/event/PunishedPlayerLockupEvent.java @@ -1,6 +1,6 @@ -package dev.plex.api.event; +package dev.plex.event; -import dev.plex.api.player.IPlexPlayer; +import dev.plex.player.PlexPlayer; import lombok.Getter; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; @@ -24,7 +24,7 @@ public class PunishedPlayerLockupEvent extends PunishedPlayerEvent implements Ca * @param punishedPlayer The player who was punished * @param lockedUp The new muted status */ - public PunishedPlayerLockupEvent(IPlexPlayer punishedPlayer, boolean lockedUp) + public PunishedPlayerLockupEvent(PlexPlayer punishedPlayer, boolean lockedUp) { super(punishedPlayer); this.lockedUp = lockedUp; diff --git a/api/src/main/java/dev/plex/api/event/PunishedPlayerMuteEvent.java b/server/src/main/java/dev/plex/event/PunishedPlayerMuteEvent.java similarity index 84% rename from api/src/main/java/dev/plex/api/event/PunishedPlayerMuteEvent.java rename to server/src/main/java/dev/plex/event/PunishedPlayerMuteEvent.java index 4efcb9c..f0648fc 100644 --- a/api/src/main/java/dev/plex/api/event/PunishedPlayerMuteEvent.java +++ b/server/src/main/java/dev/plex/event/PunishedPlayerMuteEvent.java @@ -1,6 +1,6 @@ -package dev.plex.api.event; +package dev.plex.event; -import dev.plex.api.player.IPlexPlayer; +import dev.plex.player.PlexPlayer; import lombok.Getter; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; @@ -24,7 +24,7 @@ public class PunishedPlayerMuteEvent extends PunishedPlayerEvent implements Canc * @param punishedPlayer The player who was punished * @param muted The new muted status */ - public PunishedPlayerMuteEvent(IPlexPlayer punishedPlayer, boolean muted) + public PunishedPlayerMuteEvent(PlexPlayer punishedPlayer, boolean muted) { super(punishedPlayer); this.muted = muted; diff --git a/server/src/main/java/dev/plex/listener/impl/AdminListener.java b/server/src/main/java/dev/plex/listener/impl/AdminListener.java index df25529..f4318be 100644 --- a/server/src/main/java/dev/plex/listener/impl/AdminListener.java +++ b/server/src/main/java/dev/plex/listener/impl/AdminListener.java @@ -1,9 +1,9 @@ package dev.plex.listener.impl; -import dev.plex.api.event.AdminAddEvent; -import dev.plex.api.event.AdminRemoveEvent; -import dev.plex.api.event.AdminSetRankEvent; import dev.plex.cache.DataUtils; +import dev.plex.event.AdminAddEvent; +import dev.plex.event.AdminRemoveEvent; +import dev.plex.event.AdminSetRankEvent; import dev.plex.listener.PlexListener; import dev.plex.player.PlexPlayer; import dev.plex.rank.enums.Rank; @@ -17,7 +17,7 @@ public class AdminListener extends PlexListener public void onAdminAdd(AdminAddEvent event) { String userSender = event.getSender().getName(); - PlexPlayer target = (PlexPlayer) event.getPlexPlayer(); + PlexPlayer target = (PlexPlayer)event.getPlexPlayer(); if (target.getRankFromString().isAtLeast(Rank.ADMIN)) { PlexUtils.broadcast(messageComponent("adminReadded", userSender, target.getName(), target.getRankFromString().getReadable())); @@ -35,7 +35,7 @@ public class AdminListener extends PlexListener public void onAdminRemove(AdminRemoveEvent event) { String userSender = event.getSender().getName(); - PlexPlayer target = (PlexPlayer) event.getPlexPlayer(); + PlexPlayer target = (PlexPlayer)event.getPlexPlayer(); target.setAdminActive(false); DataUtils.update(target); PlexUtils.broadcast(messageComponent("adminRemoved", userSender, target.getName())); @@ -45,8 +45,8 @@ public class AdminListener extends PlexListener public void onAdminSetRank(AdminSetRankEvent event) { String userSender = event.getSender().getName(); - PlexPlayer target = (PlexPlayer) event.getPlexPlayer(); - Rank newRank = (Rank) event.getRank(); + PlexPlayer target = (PlexPlayer)event.getPlexPlayer(); + Rank newRank = (Rank)event.getRank(); target.setRank(newRank.name().toLowerCase()); DataUtils.update(target); PlexUtils.broadcast(messageComponent("adminSetRank", userSender, target.getName(), newRank.getReadable())); diff --git a/server/src/main/java/dev/plex/listener/impl/BlockListener.java b/server/src/main/java/dev/plex/listener/impl/BlockListener.java index 530139c..bde5254 100644 --- a/server/src/main/java/dev/plex/listener/impl/BlockListener.java +++ b/server/src/main/java/dev/plex/listener/impl/BlockListener.java @@ -16,13 +16,10 @@ import org.bukkit.event.block.BlockPlaceEvent; public class BlockListener extends PlexListener { - public List blockedPlayers = new ArrayList<>(); - private static final List blockedBlocks = new ArrayList<>(); - - private static List cachedBlockedBlocksConfig = null; - private static final List SIGNS = Arrays.stream(Material.values()).filter((mat) -> mat.name().endsWith("_SIGN")).toList(); + private static List cachedBlockedBlocksConfig = null; + public List blockedPlayers = new ArrayList<>(); @EventHandler(priority = EventPriority.LOW) public void onBlockPlace(BlockPlaceEvent event) @@ -60,7 +57,7 @@ public class BlockListener extends PlexListener if (SIGNS.contains(block.getType())) { - Sign sign = (Sign) block.getState(); + Sign sign = (Sign)block.getState(); boolean anythingChanged = false; for (int i = 0; i < sign.lines().size(); i++) { diff --git a/server/src/main/java/dev/plex/listener/impl/BookListener.java b/server/src/main/java/dev/plex/listener/impl/BookListener.java index 77ab17e..fa8f9be 100644 --- a/server/src/main/java/dev/plex/listener/impl/BookListener.java +++ b/server/src/main/java/dev/plex/listener/impl/BookListener.java @@ -24,6 +24,6 @@ public class BookListener extends PlexListener } - event.setNewBookMeta((BookMeta) event.getNewBookMeta().pages(pages)); + event.setNewBookMeta((BookMeta)event.getNewBookMeta().pages(pages)); } } diff --git a/server/src/main/java/dev/plex/listener/impl/ChatListener.java b/server/src/main/java/dev/plex/listener/impl/ChatListener.java index b528415..15d2ef7 100644 --- a/server/src/main/java/dev/plex/listener/impl/ChatListener.java +++ b/server/src/main/java/dev/plex/listener/impl/ChatListener.java @@ -1,6 +1,5 @@ package dev.plex.listener.impl; -import dev.plex.api.chat.IChatHandler; import dev.plex.listener.PlexListener; import dev.plex.listener.annotation.Toggleable; import dev.plex.player.PlexPlayer; @@ -21,6 +20,7 @@ import org.jetbrains.annotations.NotNull; @Toggleable("chat.enabled") public class ChatListener extends PlexListener { + private final static TextReplacementConfig URL_REPLACEMENT_CONFIG = TextReplacementConfig .builder() .match("(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]") @@ -29,36 +29,26 @@ public class ChatListener extends PlexListener .clickEvent(ClickEvent.openUrl( matchResult.group() ))).build(); + private final PlexChatRenderer renderer = new PlexChatRenderer(); @EventHandler public void onChat(AsyncChatEvent event) { - plugin.getChatHandler().doChat(event); - } + PlexPlayer plexPlayer = plugin.getPlayerCache().getPlexPlayerMap().get(event.getPlayer().getUniqueId()); + Component prefix = plugin.getRankManager().getPrefix(plexPlayer); - public static class ChatHandlerImpl implements IChatHandler - { - private final PlexChatRenderer renderer = new PlexChatRenderer(); - - @Override - public void doChat(AsyncChatEvent event) + if (prefix != null) { - PlexPlayer plexPlayer = plugin.getPlayerCache().getPlexPlayerMap().get(event.getPlayer().getUniqueId()); - Component prefix = plugin.getRankManager().getPrefix(plexPlayer); - - if (prefix != null) - { - renderer.hasPrefix = true; - renderer.prefix = prefix; - } - else - { - renderer.hasPrefix = false; - renderer.prefix = null; - } - - event.renderer(renderer); + renderer.hasPrefix = true; + renderer.prefix = prefix; } + else + { + renderer.hasPrefix = false; + renderer.prefix = null; + } + + event.renderer(renderer); } public static class PlexChatRenderer implements ChatRenderer diff --git a/server/src/main/java/dev/plex/listener/impl/GameModeListener.java b/server/src/main/java/dev/plex/listener/impl/GameModeListener.java index e6e8c01..b8a92d7 100644 --- a/server/src/main/java/dev/plex/listener/impl/GameModeListener.java +++ b/server/src/main/java/dev/plex/listener/impl/GameModeListener.java @@ -1,6 +1,6 @@ package dev.plex.listener.impl; -import dev.plex.api.event.GameModeUpdateEvent; +import dev.plex.event.GameModeUpdateEvent; import dev.plex.listener.PlexListener; import dev.plex.util.PlexUtils; import org.bukkit.command.CommandSender; diff --git a/server/src/main/java/dev/plex/listener/impl/MobListener.java b/server/src/main/java/dev/plex/listener/impl/MobListener.java index f452a3c..c7ccc82 100644 --- a/server/src/main/java/dev/plex/listener/impl/MobListener.java +++ b/server/src/main/java/dev/plex/listener/impl/MobListener.java @@ -28,6 +28,27 @@ public class MobListener extends PlexListener { private static final List SPAWN_EGGS = Arrays.stream(Material.values()).filter((mat) -> mat.name().endsWith("_SPAWN_EGG")).toList(); + private static EntityType spawnEggToEntityType(Material mat) + { + EntityType eggType; + try + { + if (mat == Material.MOOSHROOM_SPAWN_EGG) + { + eggType = EntityType.MUSHROOM_COW; + } + else + { + eggType = EntityType.valueOf(mat.name().substring(0, mat.name().length() - 10)); + } + } + catch (IllegalArgumentException ignored) + { + return null; + } + return eggType; + } + @EventHandler public void onEntitySpawn(EntitySpawnEvent event) { @@ -56,7 +77,7 @@ public class MobListener extends PlexListener if (SPAWN_EGGS.contains(itemType)) { Block block = event.getBlock(); - Location blockLoc = BlockUtils.relative(block.getLocation(), ((Directional) block.getBlockData()).getFacing()).add(.5, 0, .5); + Location blockLoc = BlockUtils.relative(block.getLocation(), ((Directional)block.getBlockData()).getFacing()).add(.5, 0, .5); EntityType eggType = spawnEggToEntityType(itemType); if (eggType != null) { @@ -108,25 +129,4 @@ public class MobListener extends PlexListener } } } - - private static EntityType spawnEggToEntityType(Material mat) - { - EntityType eggType; - try - { - if (mat == Material.MOOSHROOM_SPAWN_EGG) - { - eggType = EntityType.MUSHROOM_COW; - } - else - { - eggType = EntityType.valueOf(mat.name().substring(0, mat.name().length() - 10)); - } - } - catch (IllegalArgumentException ignored) - { - return null; - } - return eggType; - } } diff --git a/server/src/main/java/dev/plex/listener/impl/PlayerListener.java b/server/src/main/java/dev/plex/listener/impl/PlayerListener.java index 8020e25..13a9ba2 100644 --- a/server/src/main/java/dev/plex/listener/impl/PlayerListener.java +++ b/server/src/main/java/dev/plex/listener/impl/PlayerListener.java @@ -7,10 +7,8 @@ import dev.plex.storage.StorageType; import dev.plex.util.PermissionsUtil; import dev.plex.util.PlexLog; import dev.plex.util.PlexUtils; - import java.util.Arrays; import java.util.List; - import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.format.NamedTextColor; @@ -36,7 +34,8 @@ public class PlayerListener extends PlexListener { player.setOp(true); PlexLog.debug("Automatically opped " + player.getName() + " since ranks are enabled."); - } else if (plugin.getSystem().equalsIgnoreCase("permissions")) + } + else if (plugin.getSystem().equalsIgnoreCase("permissions")) { player.setOp(false); PlexLog.debug("Automatically deopped " + player.getName() + " since ranks are disabled."); @@ -49,7 +48,8 @@ public class PlayerListener extends PlexListener plexPlayer.setName(player.getName()); // set the name of the player plexPlayer.setIps(Arrays.asList(player.getAddress().getAddress().getHostAddress().trim())); // set the arraylist of ips DataUtils.insert(plexPlayer); // insert data in some wack db - } else + } + else { plexPlayer = DataUtils.getPlayer(player.getUniqueId()); List ips = plexPlayer.getIps(); diff --git a/server/src/main/java/dev/plex/listener/impl/TabListener.java b/server/src/main/java/dev/plex/listener/impl/TabListener.java index 31c4cde..6def69a 100644 --- a/server/src/main/java/dev/plex/listener/impl/TabListener.java +++ b/server/src/main/java/dev/plex/listener/impl/TabListener.java @@ -1,9 +1,9 @@ package dev.plex.listener.impl; -import dev.plex.api.event.AdminAddEvent; -import dev.plex.api.event.AdminRemoveEvent; -import dev.plex.api.event.AdminSetRankEvent; import dev.plex.cache.DataUtils; +import dev.plex.event.AdminAddEvent; +import dev.plex.event.AdminRemoveEvent; +import dev.plex.event.AdminSetRankEvent; import dev.plex.listener.PlexListener; import dev.plex.player.PlexPlayer; import net.kyori.adventure.text.Component; @@ -25,7 +25,7 @@ public class TabListener extends PlexListener @EventHandler(priority = EventPriority.HIGHEST) public void onAdminAdd(AdminAddEvent event) { - PlexPlayer plexPlayer = (PlexPlayer) event.getPlexPlayer(); + PlexPlayer plexPlayer = (PlexPlayer)event.getPlexPlayer(); Player player = event.getPlexPlayer().getPlayer(); if (player == null) { @@ -37,7 +37,7 @@ public class TabListener extends PlexListener @EventHandler(priority = EventPriority.HIGHEST) public void onAdminRemove(AdminRemoveEvent event) { - PlexPlayer plexPlayer = (PlexPlayer) event.getPlexPlayer(); + PlexPlayer plexPlayer = (PlexPlayer)event.getPlexPlayer(); Player player = event.getPlexPlayer().getPlayer(); if (player == null) { @@ -49,7 +49,7 @@ public class TabListener extends PlexListener @EventHandler(priority = EventPriority.HIGHEST) public void onAdminSetRank(AdminSetRankEvent event) { - PlexPlayer plexPlayer = (PlexPlayer) event.getPlexPlayer(); + PlexPlayer plexPlayer = (PlexPlayer)event.getPlexPlayer(); Player player = event.getPlexPlayer().getPlayer(); if (player == null) { diff --git a/server/src/main/java/dev/plex/listener/impl/WorldListener.java b/server/src/main/java/dev/plex/listener/impl/WorldListener.java index 1b7e277..bd5722b 100644 --- a/server/src/main/java/dev/plex/listener/impl/WorldListener.java +++ b/server/src/main/java/dev/plex/listener/impl/WorldListener.java @@ -76,8 +76,8 @@ public class WorldListener extends PlexListener if (command != null) { // This does check for aliases - boolean isWeCommand = command instanceof PluginIdentifiableCommand && ((PluginIdentifiableCommand) command).getPlugin().equals(Bukkit.getPluginManager().getPlugin("WorldEdit")); - boolean isFaweCommand = command instanceof PluginIdentifiableCommand && ((PluginIdentifiableCommand) command).getPlugin().equals(Bukkit.getPluginManager().getPlugin("FastAsyncWorldEdit")); + boolean isWeCommand = command instanceof PluginIdentifiableCommand && ((PluginIdentifiableCommand)command).getPlugin().equals(Bukkit.getPluginManager().getPlugin("WorldEdit")); + boolean isFaweCommand = command instanceof PluginIdentifiableCommand && ((PluginIdentifiableCommand)command).getPlugin().equals(Bukkit.getPluginManager().getPlugin("FastAsyncWorldEdit")); if (isWeCommand || isFaweCommand || EDIT_COMMANDS.contains(message.toLowerCase())) { event.getPlayer().sendMessage(Component.text("You do not have permission to use that command in this world.").color(NamedTextColor.RED)); @@ -139,7 +139,7 @@ public class WorldListener extends PlexListener /** * Check if a Player has the ability to modify the world they are in * - * @param player The player who wants to modify the world + * @param player The player who wants to modify the world * @param showMessage Whether the message from the config.yml should be shown * @return Returns true if the person has the ability to modify the world */ @@ -154,7 +154,7 @@ public class WorldListener extends PlexListener { return true; } - if (plugin.getPermissionHandler().hasPermission(player, permission)) + if (player.hasPermission(permission)) { return true; } @@ -188,6 +188,7 @@ public class WorldListener extends PlexListener /** * Check if a Player has the ability to enter the requested world + * * @param player The player who wants to enter the world * @return Returns true if the person has the ability to enter the world */ @@ -202,7 +203,7 @@ public class WorldListener extends PlexListener { return true; } - if (plugin.getPermissionHandler().hasPermission(player, permission)) + if (player.hasPermission(permission)) { return true; } diff --git a/server/src/main/java/dev/plex/menu/PunishedPlayerMenu.java b/server/src/main/java/dev/plex/menu/PunishedPlayerMenu.java index 619dbb5..5fa8ec9 100644 --- a/server/src/main/java/dev/plex/menu/PunishedPlayerMenu.java +++ b/server/src/main/java/dev/plex/menu/PunishedPlayerMenu.java @@ -134,7 +134,7 @@ public class PunishedPlayerMenu extends AbstractMenu { return; } - openInv((Player) event.getWhoClicked(), getCurrentInventoryIndex(inv) + 1); + openInv((Player)event.getWhoClicked(), getCurrentInventoryIndex(inv) + 1); } else if (item.getItemMeta().displayName().equals(Component.text("Previous Page").color(NamedTextColor.LIGHT_PURPLE))) { @@ -150,17 +150,17 @@ public class PunishedPlayerMenu extends AbstractMenu { return; } - openInv((Player) event.getWhoClicked(), getCurrentInventoryIndex(inv) - 1); + openInv((Player)event.getWhoClicked(), getCurrentInventoryIndex(inv) - 1); } } else if (item.getType() == Material.BARRIER) { - new PunishmentMenu().openInv((Player) event.getWhoClicked(), 0); + new PunishmentMenu().openInv((Player)event.getWhoClicked(), 0); } else if (item.getType() == Material.PLAYER_HEAD) { - SkullMeta meta = (SkullMeta) item.getItemMeta(); + SkullMeta meta = (SkullMeta)item.getItemMeta(); OfflinePlayer player = meta.getOwningPlayer(); assert player != null; PlexPlayer punishedPlayer = DataUtils.getPlayer(player.getUniqueId()) == null ? null : Plex.get().getPlayerCache().getPlexPlayer(player.getUniqueId()); diff --git a/server/src/main/java/dev/plex/menu/PunishmentMenu.java b/server/src/main/java/dev/plex/menu/PunishmentMenu.java index c675f05..b3ff848 100644 --- a/server/src/main/java/dev/plex/menu/PunishmentMenu.java +++ b/server/src/main/java/dev/plex/menu/PunishmentMenu.java @@ -71,7 +71,7 @@ public class PunishmentMenu extends AbstractMenu ItemStack item = new ItemStack(Material.PLAYER_HEAD); - SkullMeta meta = (SkullMeta) item.getItemMeta(); + SkullMeta meta = (SkullMeta)item.getItemMeta(); meta.setOwningPlayer(players); meta.displayName(PlexUtils.mmDeserialize("" + players.getName())); item.setItemMeta(meta); @@ -121,7 +121,7 @@ public class PunishmentMenu extends AbstractMenu { return; } - openInv((Player) event.getWhoClicked(), getCurrentInventoryIndex(inv) + 1); + openInv((Player)event.getWhoClicked(), getCurrentInventoryIndex(inv) + 1); } else if (item.getItemMeta().displayName().equals(PlexUtils.mmDeserialize("Previous Page"))) { @@ -137,13 +137,13 @@ public class PunishmentMenu extends AbstractMenu { return; } - openInv((Player) event.getWhoClicked(), getCurrentInventoryIndex(inv) - 1); + openInv((Player)event.getWhoClicked(), getCurrentInventoryIndex(inv) - 1); } } else if (item.getType() == Material.PLAYER_HEAD) { - SkullMeta meta = (SkullMeta) item.getItemMeta(); + SkullMeta meta = (SkullMeta)item.getItemMeta(); OfflinePlayer player = meta.getOwningPlayer(); assert player != null; PlexPlayer punishedPlayer = DataUtils.getPlayer(player.getUniqueId()); @@ -153,7 +153,7 @@ public class PunishmentMenu extends AbstractMenu event.getWhoClicked().closeInventory(); return; } - new PunishedPlayerMenu(punishedPlayer).openInv((Player) event.getWhoClicked(), 0); + new PunishedPlayerMenu(punishedPlayer).openInv((Player)event.getWhoClicked(), 0); } } diff --git a/server/src/main/java/dev/plex/module/ModuleManager.java b/server/src/main/java/dev/plex/module/ModuleManager.java index 248169f..c02cf5e 100644 --- a/server/src/main/java/dev/plex/module/ModuleManager.java +++ b/server/src/main/java/dev/plex/module/ModuleManager.java @@ -66,7 +66,7 @@ public class ModuleManager PlexModuleFile plexModuleFile = new PlexModuleFile(name, main, description, version); plexModuleFile.setLibraries(libraries); - Class module = (Class) Class.forName(main, true, loader); + Class module = (Class)Class.forName(main, true, loader); PlexModule plexModule = module.getConstructor().newInstance(); plexModule.setPlex(Plex.get()); @@ -141,7 +141,7 @@ public class ModuleManager { try { - ((URLClassLoader) module.getClass().getClassLoader()).close(); + ((URLClassLoader)module.getClass().getClassLoader()).close(); } catch (IOException e) { diff --git a/server/src/main/java/dev/plex/module/loader/LibraryLoader.java b/server/src/main/java/dev/plex/module/loader/LibraryLoader.java index 78d7404..82a1726 100644 --- a/server/src/main/java/dev/plex/module/loader/LibraryLoader.java +++ b/server/src/main/java/dev/plex/module/loader/LibraryLoader.java @@ -105,7 +105,7 @@ public class LibraryLoader DependencyResult result; try { - result = repository.resolveDependencies(session, new DependencyRequest(new CollectRequest((Dependency) null, dependencies, repositories), null)); + result = repository.resolveDependencies(session, new DependencyRequest(new CollectRequest((Dependency)null, dependencies, repositories), null)); } catch (DependencyResolutionException ex) { diff --git a/server/src/main/java/dev/plex/permission/handler/NativePermissionHandler.java b/server/src/main/java/dev/plex/permission/handler/NativePermissionHandler.java deleted file mode 100644 index 77f7bad..0000000 --- a/server/src/main/java/dev/plex/permission/handler/NativePermissionHandler.java +++ /dev/null @@ -1,7 +0,0 @@ -package dev.plex.permission.handler; - -import dev.plex.api.permission.IPermissionHandler; - -public class NativePermissionHandler implements IPermissionHandler -{ -} diff --git a/server/src/main/java/dev/plex/permission/handler/VaultPermissionHandler.java b/server/src/main/java/dev/plex/permission/handler/VaultPermissionHandler.java deleted file mode 100644 index 393d6b4..0000000 --- a/server/src/main/java/dev/plex/permission/handler/VaultPermissionHandler.java +++ /dev/null @@ -1,28 +0,0 @@ -package dev.plex.permission.handler; - -import dev.plex.api.permission.IPermissionHandler; -import dev.plex.hook.VaultHook; -import lombok.Getter; -import org.bukkit.Bukkit; -import org.bukkit.OfflinePlayer; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -@Getter -public class VaultPermissionHandler implements IPermissionHandler -{ - @Override - public boolean hasPermission(@NotNull OfflinePlayer player, @Nullable String permission) - { - if (!Bukkit.getPluginManager().isPluginEnabled("Vault")) - { - return IPermissionHandler.super.hasPermission(player, permission); - } - if (VaultHook.getPermission() == null) - { - return IPermissionHandler.super.hasPermission(player, permission); - } - return VaultHook.getPermission().playerHas(null, player, permission); - - } -} diff --git a/server/src/main/java/dev/plex/player/PlexPlayer.java b/server/src/main/java/dev/plex/player/PlexPlayer.java index 13566b1..5de7159 100644 --- a/server/src/main/java/dev/plex/player/PlexPlayer.java +++ b/server/src/main/java/dev/plex/player/PlexPlayer.java @@ -7,7 +7,6 @@ import dev.morphia.annotations.Id; import dev.morphia.annotations.IndexOptions; import dev.morphia.annotations.Indexed; import dev.plex.Plex; -import dev.plex.api.player.IPlexPlayer; import dev.plex.permission.Permission; import dev.plex.punishment.Punishment; import dev.plex.punishment.extra.Note; @@ -30,7 +29,7 @@ import org.bukkit.permissions.PermissionAttachment; @Getter @Setter @Entity(value = "players", useDiscriminator = false) -public class PlexPlayer implements IPlexPlayer +public class PlexPlayer { @Setter(AccessLevel.NONE) @Id diff --git a/server/src/main/java/dev/plex/punishment/PunishmentManager.java b/server/src/main/java/dev/plex/punishment/PunishmentManager.java index c892865..ac7df7a 100644 --- a/server/src/main/java/dev/plex/punishment/PunishmentManager.java +++ b/server/src/main/java/dev/plex/punishment/PunishmentManager.java @@ -11,7 +11,6 @@ import dev.plex.storage.StorageType; import dev.plex.util.PlexLog; import dev.plex.util.PlexUtils; import dev.plex.util.TimeUtils; - import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -23,7 +22,6 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; - import lombok.Data; import lombok.Getter; import org.apache.commons.io.FileUtils; @@ -107,7 +105,8 @@ public class PunishmentManager implements PlexBase { DataUtils.update(plexPlayer); }); - } else + } + else { Plex.get().getSqlPunishment().insertPunishment(punishment); } @@ -118,7 +117,8 @@ public class PunishmentManager implements PlexBase try { return !FileUtils.readFileToString(file, StandardCharsets.UTF_8).trim().isEmpty(); - } catch (IOException e) + } + catch (IOException e) { e.printStackTrace(); } @@ -164,7 +164,8 @@ public class PunishmentManager implements PlexBase List players = Plex.get().getMongoPlayerData().getPlayers(); return players.stream().map(PlexPlayer::getPunishments).flatMap(Collection::stream).filter(Punishment::isActive).filter(punishment -> punishment.getType() == PunishmentType.BAN || punishment.getType() == PunishmentType.TEMPBAN).toList(); }); - } else + } + else { //PlexLog.debug("Checking active bans mysql"); CompletableFuture> future = new CompletableFuture<>(); @@ -195,7 +196,8 @@ public class PunishmentManager implements PlexBase .peek(punishment -> punishment.setActive(false)).collect(Collectors.toList())); DataUtils.update(plexPlayer); }); - } else + } + else { return Plex.get().getSqlPunishment().removeBan(uuid); } @@ -223,7 +225,8 @@ public class PunishmentManager implements PlexBase Bukkit.broadcast(PlexUtils.messageComponent("unfrozePlayer", "Plex", Bukkit.getOfflinePlayer(player.getUuid()).getName())); } }.runTaskLater(Plex.get(), 20 * seconds); - } else if (punishment.getType() == PunishmentType.MUTE) + } + else if (punishment.getType() == PunishmentType.MUTE) { player.setMuted(true); ZonedDateTime now = ZonedDateTime.now(ZoneId.of(TimeUtils.TIMEZONE)); diff --git a/server/src/main/java/dev/plex/rank/enums/Rank.java b/server/src/main/java/dev/plex/rank/enums/Rank.java index ac075ed..d2428be 100644 --- a/server/src/main/java/dev/plex/rank/enums/Rank.java +++ b/server/src/main/java/dev/plex/rank/enums/Rank.java @@ -1,6 +1,5 @@ package dev.plex.rank.enums; -import dev.plex.api.rank.IRank; import dev.plex.util.PlexUtils; import lombok.Getter; import lombok.Setter; @@ -9,7 +8,7 @@ import net.kyori.adventure.text.format.NamedTextColor; import org.json.JSONObject; @Getter -public enum Rank implements IRank +public enum Rank { IMPOSTOR(-1, "an Impostor", "Impostor", "[Imp]", NamedTextColor.YELLOW), NONOP(0, "a Non-Op", "Non-Op", "", NamedTextColor.WHITE), @@ -19,18 +18,14 @@ public enum Rank implements IRank EXECUTIVE(4, "an Executive", "Executive", "[Exec]", NamedTextColor.RED); private final int level; - - @Setter - private String loginMessage; - - @Setter - private String readable; - - @Setter - private String prefix; - @Getter private final NamedTextColor color; + @Setter + private String loginMessage; + @Setter + private String readable; + @Setter + private String prefix; Rank(int level, String loginMessage, String readable, String prefix, NamedTextColor color) { diff --git a/server/src/main/java/dev/plex/rank/enums/Title.java b/server/src/main/java/dev/plex/rank/enums/Title.java index a5f039d..29b0963 100644 --- a/server/src/main/java/dev/plex/rank/enums/Title.java +++ b/server/src/main/java/dev/plex/rank/enums/Title.java @@ -15,18 +15,14 @@ public enum Title OWNER(2, "an Owner", "Owner", "[Owner]", NamedTextColor.BLUE); private final int level; - - @Setter - private String loginMessage; - - @Setter - private String readable; - - @Setter - private String prefix; - @Getter private final NamedTextColor color; + @Setter + private String loginMessage; + @Setter + private String readable; + @Setter + private String prefix; Title(int level, String loginMessage, String readable, String prefix, NamedTextColor color) { diff --git a/server/src/main/java/dev/plex/storage/MongoConnection.java b/server/src/main/java/dev/plex/storage/MongoConnection.java index e35c03a..dd4b7ea 100644 --- a/server/src/main/java/dev/plex/storage/MongoConnection.java +++ b/server/src/main/java/dev/plex/storage/MongoConnection.java @@ -1,7 +1,6 @@ package dev.plex.storage; import com.mongodb.ConnectionString; -import com.mongodb.MongoClientOptions; import com.mongodb.MongoClientSettings; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; diff --git a/server/src/main/java/dev/plex/storage/codec/ZonedDateTimeCodec.java b/server/src/main/java/dev/plex/storage/codec/ZonedDateTimeCodec.java index aa27c8d..ab127fb 100644 --- a/server/src/main/java/dev/plex/storage/codec/ZonedDateTimeCodec.java +++ b/server/src/main/java/dev/plex/storage/codec/ZonedDateTimeCodec.java @@ -1,15 +1,13 @@ package dev.plex.storage.codec; +import java.time.Instant; +import java.time.ZoneId; +import java.time.ZonedDateTime; import org.bson.BsonReader; import org.bson.BsonWriter; import org.bson.codecs.Codec; import org.bson.codecs.DecoderContext; import org.bson.codecs.EncoderContext; - -import java.time.Instant; -import java.time.ZoneId; -import java.time.ZonedDateTime; - import static dev.plex.util.TimeUtils.TIMEZONE; public class ZonedDateTimeCodec implements Codec diff --git a/server/src/main/java/dev/plex/util/GameRuleUtil.java b/server/src/main/java/dev/plex/util/GameRuleUtil.java index 5b20d15..4ba7d96 100644 --- a/server/src/main/java/dev/plex/util/GameRuleUtil.java +++ b/server/src/main/java/dev/plex/util/GameRuleUtil.java @@ -27,8 +27,8 @@ public class GameRuleUtil private static void readGameRules(World world, String s) { String gameRule = s.split(";")[0]; - T value = (T) s.split(";")[1]; - GameRule rule = (GameRule) GameRule.getByName(gameRule); + T value = (T)s.split(";")[1]; + GameRule rule = (GameRule)GameRule.getByName(gameRule); if (rule != null && check(value).getClass().equals(rule.getType())) { world.setGameRule(rule, value); diff --git a/server/src/main/java/dev/plex/util/MojangUtils.java b/server/src/main/java/dev/plex/util/MojangUtils.java index d364477..21a5fa4 100644 --- a/server/src/main/java/dev/plex/util/MojangUtils.java +++ b/server/src/main/java/dev/plex/util/MojangUtils.java @@ -38,7 +38,7 @@ public class MojangUtils return null; } client.close(); - AshconInfo ashconInfo = new GsonBuilder().registerTypeAdapter(ZonedDateTime.class, (JsonDeserializer) (json1, typeOfT, context) -> + AshconInfo ashconInfo = new GsonBuilder().registerTypeAdapter(ZonedDateTime.class, (JsonDeserializer)(json1, typeOfT, context) -> ZonedDateTime.ofInstant(Instant.from(DateTimeFormatter.ISO_INSTANT.parse(json1.getAsJsonPrimitive().getAsString())), ZoneId.of(Plex.get().config.getString("server.timezone")))).create().fromJson(json, AshconInfo.class); Arrays.sort(ashconInfo.getUsernameHistories(), (o1, o2) -> diff --git a/server/src/main/java/dev/plex/util/PlexUtils.java b/server/src/main/java/dev/plex/util/PlexUtils.java index ade7813..9b7cc8a 100644 --- a/server/src/main/java/dev/plex/util/PlexUtils.java +++ b/server/src/main/java/dev/plex/util/PlexUtils.java @@ -54,14 +54,15 @@ public class PlexUtils implements PlexBase public static void disabledEffectMultiple(Player[] players, Location location) { - if (players.length < 1) { + if (players.length < 1) + { return; } Particle.CLOUD.builder().location(location).receivers(players).extra(0).offset(0.5, 0.5, 0.5).count(5).spawn(); Particle.FLAME.builder().location(location).receivers(players).extra(0).offset(0.5, 0.5, 0.5).count(3).spawn(); Particle.SOUL_FIRE_FLAME.builder().location(location).receivers(players).offset(0.5, 0.5, 0.5).extra(0).count(2) - .spawn(); + .spawn(); // note that the sound is played to everyone who is close enough to hear it players[0].getWorld().playSound(location, org.bukkit.Sound.BLOCK_FIRE_EXTINGUISH, 0.5f, 0.5f); } @@ -179,7 +180,7 @@ public class PlexUtils implements PlexBase { try { - return ((TextComponent) component).content(); + return ((TextComponent)component).content(); } catch (Exception e) { diff --git a/server/src/main/java/dev/plex/util/ReflectionsUtil.java b/server/src/main/java/dev/plex/util/ReflectionsUtil.java index 2e6c948..2e25a6a 100644 --- a/server/src/main/java/dev/plex/util/ReflectionsUtil.java +++ b/server/src/main/java/dev/plex/util/ReflectionsUtil.java @@ -49,7 +49,7 @@ public class ReflectionsUtil { if (clazz.getSuperclass() == subType || Arrays.asList(clazz.getInterfaces()).contains(subType)) { - classes.add((Class) clazz); + classes.add((Class)clazz); } }); return Collections.unmodifiableSet(classes); diff --git a/server/src/main/java/dev/plex/util/TimeUtils.java b/server/src/main/java/dev/plex/util/TimeUtils.java index 1d538bb..899c923 100644 --- a/server/src/main/java/dev/plex/util/TimeUtils.java +++ b/server/src/main/java/dev/plex/util/TimeUtils.java @@ -13,7 +13,6 @@ import org.apache.commons.lang3.math.NumberUtils; public class TimeUtils { - public static String TIMEZONE = Plex.get().config.getString("server.timezone"); private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mm:ss a z"); private static final Set TIMEZONES = Set.of(TimeZone.getAvailableIDs()); private static final List timeUnits = new ArrayList<>() @@ -26,6 +25,7 @@ public class TimeUtils add("mo"); add("y"); }}; + public static String TIMEZONE = Plex.get().config.getString("server.timezone"); private static int parseInteger(String s) throws NumberFormatException { diff --git a/server/src/main/java/dev/plex/util/UpdateChecker.java b/server/src/main/java/dev/plex/util/UpdateChecker.java index d319a73..96877a8 100644 --- a/server/src/main/java/dev/plex/util/UpdateChecker.java +++ b/server/src/main/java/dev/plex/util/UpdateChecker.java @@ -38,8 +38,8 @@ public class UpdateChecker implements PlexBase * > 0 = Number of commits behind */ private final String DOWNLOAD_PAGE = "https://ci.plex.us.org/job/"; - private String BRANCH = plugin.config.getString("update_branch"); private final String REPO = plugin.config.getString("update_repo"); + private String BRANCH = plugin.config.getString("update_branch"); private int distance = -4; // Adapted from Paper @@ -47,7 +47,7 @@ public class UpdateChecker implements PlexBase { try { - HttpURLConnection connection = (HttpURLConnection) new URL("https://api.github.com/repos/" + repo + "/compare/" + branch + "..." + hash).openConnection(); + HttpURLConnection connection = (HttpURLConnection)new URL("https://api.github.com/repos/" + repo + "/compare/" + branch + "..." + hash).openConnection(); connection.connect(); if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) { diff --git a/server/src/main/java/dev/plex/util/WebUtils.java b/server/src/main/java/dev/plex/util/WebUtils.java index 5d13272..7c202e4 100644 --- a/server/src/main/java/dev/plex/util/WebUtils.java +++ b/server/src/main/java/dev/plex/util/WebUtils.java @@ -17,7 +17,7 @@ public class WebUtils try { URL u = new URL(url); - HttpURLConnection connection = (HttpURLConnection) u.openConnection(); + HttpURLConnection connection = (HttpURLConnection)u.openConnection(); connection.setRequestMethod("GET"); BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; @@ -39,13 +39,13 @@ public class WebUtils public static UUID getFromName(String name) { JSONObject profile; - profile = (JSONObject) simpleGET("https://api.ashcon.app/mojang/v2/user/" + name); + profile = (JSONObject)simpleGET("https://api.ashcon.app/mojang/v2/user/" + name); if (profile == null) { PlexLog.error("Profile from Ashcon API returned null!"); return null; } - String uuidString = (String) profile.get("uuid"); + String uuidString = (String)profile.get("uuid"); return UUID.fromString(uuidString); } } diff --git a/server/src/main/java/dev/plex/world/NoiseChunkGenerator.java b/server/src/main/java/dev/plex/world/NoiseChunkGenerator.java index 3182720..d2eeeb3 100644 --- a/server/src/main/java/dev/plex/world/NoiseChunkGenerator.java +++ b/server/src/main/java/dev/plex/world/NoiseChunkGenerator.java @@ -23,7 +23,7 @@ public abstract class NoiseChunkGenerator extends CustomChunkGenerator { for (int zz = 0; zz < 16; zz++) { - height = (int) generator.noise(options.getX(), options.getY(), options.getFrequency(), options.getAmplitude(), options.isNormalized()); + height = (int)generator.noise(options.getX(), options.getY(), options.getFrequency(), options.getAmplitude(), options.isNormalized()); createLoopChunkData(xx, height, zz, chunk); } } diff --git a/server/src/main/java/dev/plex/world/OctaveChunkGenerator.java b/server/src/main/java/dev/plex/world/OctaveChunkGenerator.java index e1a2729..61b563e 100644 --- a/server/src/main/java/dev/plex/world/OctaveChunkGenerator.java +++ b/server/src/main/java/dev/plex/world/OctaveChunkGenerator.java @@ -24,7 +24,7 @@ public abstract class OctaveChunkGenerator extends CustomChunkGenerator { for (int zz = 0; zz < 16; zz++) { - height = (int) generator.noise(options.getX(), options.getY(), options.getFrequency(), options.getAmplitude(), options.isNormalized()); + height = (int)generator.noise(options.getX(), options.getY(), options.getFrequency(), options.getAmplitude(), options.isNormalized()); createLoopChunkData(xx, height, zz, chunk); } } diff --git a/settings.gradle b/settings.gradle index 9741da9..832865a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,4 @@ rootProject.name = "Plex" -include 'api' include 'server' include 'proxy'