diff --git a/build.gradle.kts b/build.gradle.kts index b63be28..4ad92c3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,7 +2,7 @@ import net.minecrell.pluginyml.bukkit.BukkitPluginDescription plugins { `java-library` - id("io.papermc.paperweight.userdev") version "2.0.0-beta.10" + id("io.papermc.paperweight.userdev") version "2.0.0-beta.17" id("org.sonarqube") version "6.0.1.5171" id("de.eldoria.plugin-yml.paper") version "0.6.0" } @@ -16,10 +16,10 @@ description = "The main SR plugin." val mcVersion = "1.21.4-R0.1-SNAPSHOT" val redisVersion = "5.2.0-beta4" -val invuiVersion = "2.0.0-alpha.6" +val invuiVersion = "2.0.0-alpha.14" val gsonVersion = "2.11.0" -val srcoreVersion = "0.2.0" val packeteventsVersion = "2.7.0" +val znpcsPlusVersion = "2.1.0-SNAPSHOT" val javaVersion = 23 @@ -33,14 +33,15 @@ repositories { name = "packetevents" url = uri("https://repo.codemc.io/repository/maven-releases/") } - maven { - name = "unurled" - url = uri("https://repo.unurled.me/releases") - } maven { name = "cubbossa" url = uri("https://nexus.leonardbausenwein.de/repository/maven-releases/") } + // ZNPCsPlus + maven { + name = "pyrSnapshots" + url = uri("https://repo.pyr.lol/snapshots") + } } dependencies { @@ -54,7 +55,7 @@ dependencies { paperLibrary("com.github.retrooper", "packetevents-spigot", packeteventsVersion) - compileOnly("me.unurled:SR-Core:${srcoreVersion}") + paperLibrary("lol.pyr", "znpcsplus-api", znpcsPlusVersion) } java { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index a4b76b9..1b33c55 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cea7a79..ff23a68 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index f5feea6..23d15a9 100755 --- a/gradlew +++ b/gradlew @@ -86,8 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -115,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -206,7 +205,7 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. @@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 9d21a21..db3a6ac 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/src/main/java/me/unurled/sacredrealms/sr/Manager.java b/src/main/java/me/unurled/sacredrealms/sr/Manager.java new file mode 100644 index 0000000..c827170 --- /dev/null +++ b/src/main/java/me/unurled/sacredrealms/sr/Manager.java @@ -0,0 +1,52 @@ +package me.unurled.sacredrealms.sr; + +import org.bukkit.Bukkit; +import org.bukkit.event.Listener; +import org.jetbrains.annotations.NotNull; + +/** The Manager class is a class that is used to manage data and events. */ +public class Manager implements Listener { + + /** Create a new manager */ + public Manager() { + SR.plugin().managers().addManager(this); + Bukkit.getScheduler() + .runTaskAsynchronously( + SR.plugin(), + () -> { + load(); + Bukkit.getPluginManager().registerEvents(this, SR.plugin()); + }); + } + + /** + * Get an instance of a manager + * + * @param clazz The class of the manager + * @return The instance of the manager + * @param The type of the manager + */ + public static T getInstance(@NotNull Class clazz) { + return clazz.cast(SR.plugin().managers().getManager(clazz)); + } + + /** Load the manager */ + public void load() { + loadData(); + } + + /** Unload the manager */ + public void unload() { + saveData(); + } + + /** Save the data */ + public void saveData() { + /* method empty, so it isn't required by the extended child to implement it */ + } + + /** Load the data */ + public void loadData() { + /* method empty, so it isn't required by the extended child to implement it */ + } +} diff --git a/src/main/java/me/unurled/sacredrealms/sr/Managers.java b/src/main/java/me/unurled/sacredrealms/sr/Managers.java new file mode 100644 index 0000000..3554a33 --- /dev/null +++ b/src/main/java/me/unurled/sacredrealms/sr/Managers.java @@ -0,0 +1,78 @@ +package me.unurled.sacredrealms.sr; + +import static me.unurled.sacredrealms.sr.utils.Logger.error; + +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.List; +import org.bukkit.Bukkit; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** The Managers class is a class that is used to manage managers. */ +public class Managers { + private final List managerList; + + /** Create a new manager */ + protected Managers() { + managerList = new ArrayList<>(); + } + + /** + * Register a manager + * + * @param clazz The class of the manager + */ + public void register(@NotNull List> clazz) { + int i = 0; + for (Class c : clazz) { + Bukkit.getScheduler() + .runTaskLater( + SR.plugin(), + () -> { + try { + c.getDeclaredConstructor().newInstance(); + } catch (InstantiationException + | IllegalAccessException + | InvocationTargetException + | NoSuchMethodException e) { + error("Failed to register manager: " + c.getSimpleName()); + } + }, + 10L * i); + i++; + } + } + + /** + * Add a manager + * + * @param manager The manager + */ + public void addManager(Manager manager) { + managerList.add(manager); + } + + /** Unload all managers */ + public void unload() { + for (Manager manager : managerList) { + manager.unload(); + } + } + + /** + * Get a manager + * + * @param clazz The class of the manager + * @return The manager + */ + @Nullable + public Manager getManager(Class clazz) { + for (Manager manager : managerList) { + if (manager.getClass().equals(clazz)) { + return manager; + } + } + return null; + } +} diff --git a/src/main/java/me/unurled/sacredrealms/sr/SR.java b/src/main/java/me/unurled/sacredrealms/sr/SR.java index 0baf423..991e23c 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/SR.java +++ b/src/main/java/me/unurled/sacredrealms/sr/SR.java @@ -16,18 +16,19 @@ import me.unurled.sacredrealms.sr.components.pack.ResourcePackManager; import me.unurled.sacredrealms.sr.components.pack.animatedjava.AnimatedJavaManager; import me.unurled.sacredrealms.sr.components.pack.background.BackgroundManager; import me.unurled.sacredrealms.sr.components.player.PlayerManager; +import me.unurled.sacredrealms.sr.components.translation.TranslationManager; import me.unurled.sacredrealms.sr.components.treasure.TreasureManager; import me.unurled.sacredrealms.sr.config.ConfigManager; import me.unurled.sacredrealms.sr.data.DataManager; -import me.unurled.srcore.SRCore; import org.bukkit.plugin.java.JavaPlugin; import xyz.xenondevs.invui.InvUI; public final class SR extends JavaPlugin { private static SR plugin; + private Managers managers; - public static SR getPlugin() { + public static SR plugin() { return plugin; } @@ -43,38 +44,40 @@ public final class SR extends JavaPlugin { public void onEnable() { plugin = this; - PacketEvents.getAPI().init(); + managers = new Managers(); - SRCore.getInstance().setPlugin(this); + PacketEvents.getAPI().init(); InvUI.getInstance().setPlugin(this); - SRCore.getInstance() - .getManagers() - .register( - List.of( - ConfigManager.class, - DataManager.class, - AnimatedJavaManager.class, - PlayerManager.class, - CombatManager.class, - ItemManager.class, - EntityManager.class, - NPCManager.class, - BlockManager.class, - ClientBuildManager.class, - TreasureManager.class, - BackgroundManager.class, - ResourcePackManager.class, - CutsceneManager.class, - RecordingManager.class, - ReplayManager.class)); + managers.register( + List.of( + TranslationManager.class, + ConfigManager.class, + DataManager.class, + AnimatedJavaManager.class, + PlayerManager.class, + CombatManager.class, + ItemManager.class, + EntityManager.class, + NPCManager.class, + BlockManager.class, + ClientBuildManager.class, + TreasureManager.class, + BackgroundManager.class, + ResourcePackManager.class, + CutsceneManager.class, + RecordingManager.class, + ReplayManager.class)); } @Override public void onDisable() { - SRCore.getInstance().unload(); - + managers.unload(); PacketEvents.getAPI().terminate(); } + + public Managers managers() { + return managers; + } } diff --git a/src/main/java/me/unurled/sacredrealms/sr/SRLoader.java b/src/main/java/me/unurled/sacredrealms/sr/SRLoader.java index 227b49d..259d27c 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/SRLoader.java +++ b/src/main/java/me/unurled/sacredrealms/sr/SRLoader.java @@ -21,15 +21,11 @@ public class SRLoader implements PluginLoader { public void classloader(@NotNull PluginClasspathBuilder classpathBuilder) { MavenLibraryResolver resolver = new MavenLibraryResolver(); resolver.addDependency( - new Dependency(new DefaultArtifact("xyz.xenondevs.invui:invui:pom:2.0.0-alpha.6"), null)); + new Dependency(new DefaultArtifact("xyz.xenondevs.invui:invui:pom:2.0.0-alpha.14"), null)); resolver.addRepository( new RemoteRepository.Builder("invui", "default", "https://repo.xenondevs.xyz/releases/") .build()); - resolver.addDependency(new Dependency(new DefaultArtifact("me.unurled:SR-Core:0.2.0"), null)); - resolver.addRepository( - new RemoteRepository.Builder("srcore", "default", "https://repo.unurled.me/releases") - .build()); classpathBuilder.addLibrary(resolver); PluginLibraries pluginLibraries = load(); diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java b/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java index aaae323..b99a404 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java @@ -9,6 +9,7 @@ import io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager; import io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents; import java.util.Collection; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.commands.admin.AttributeCommand; import me.unurled.sacredrealms.sr.commands.admin.ClientBuildCommand; import me.unurled.sacredrealms.sr.commands.admin.EntityTypeCommand; @@ -21,7 +22,6 @@ import me.unurled.sacredrealms.sr.commands.admin.cutscene.RecordCutsceneCommand; import me.unurled.sacredrealms.sr.commands.admin.cutscene.StopRecordingCommand; import me.unurled.sacredrealms.sr.commands.player.DifficultyCommand; import me.unurled.sacredrealms.sr.commands.player.ResetAdventureCommand; -import me.unurled.srcore.api.Manager; import org.jetbrains.annotations.NotNull; public class CommandManager extends Manager { diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/AttributeCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/AttributeCommand.java index d251202..418b59d 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/AttributeCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/AttributeCommand.java @@ -1,7 +1,7 @@ package me.unurled.sacredrealms.sr.commands.admin; -import static me.unurled.srcore.utils.Component.comp; import static me.unurled.sacredrealms.sr.utils.SRPlayerUtils.syncSRToPlayer; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; @@ -9,11 +9,11 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; import me.unurled.sacredrealms.sr.gui.attributes.AttributesGUI; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -160,7 +160,7 @@ public class AttributeCommand implements BasicCommand { return; } Window window = - Window.single() + Window.mergedBuilder() .setViewer(p) .setTitle("Attributes") .setGui(AttributesGUI.createGui(target)) diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ClientBuildCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ClientBuildCommand.java index 1eacfe9..17d6e17 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ClientBuildCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ClientBuildCommand.java @@ -1,7 +1,5 @@ package me.unurled.sacredrealms.sr.commands.admin; -import static me.unurled.srcore.utils.Component.ERROR; -import static me.unurled.srcore.utils.Component.textComp; import static me.unurled.sacredrealms.sr.utils.Logger.log; import io.papermc.paper.command.brigadier.BasicCommand; @@ -12,11 +10,12 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map.Entry; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.clientbuild.ClientBuild; import me.unurled.sacredrealms.sr.components.clientbuild.ClientBuildManager; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.block.data.BlockData; @@ -120,7 +119,7 @@ public class ClientBuildCommand implements BasicCommand, Listener { PlayerManager pm = Manager.getInstance(PlayerManager.class); SRPlayer sr = pm.getPlayer(p.getUniqueId()); if (sr == null) { - sender.sendMessage(textComp(ERROR)); + sender.sendMessage(TranslatedComponent.ERROR.component()); return; } sender.sendMessage("Modify the client build and save after you are finished."); @@ -155,7 +154,7 @@ public class ClientBuildCommand implements BasicCommand, Listener { PlayerManager pm = Manager.getInstance(PlayerManager.class); SRPlayer sr = pm.getPlayer(p.getUniqueId()); if (sr == null) { - sender.sendMessage(textComp(ERROR)); + sender.sendMessage(TranslatedComponent.ERROR.component()); return; } sender.sendMessage( diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/EntityTypeCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/EntityTypeCommand.java index 20b029c..224f1f1 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/EntityTypeCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/EntityTypeCommand.java @@ -1,18 +1,17 @@ package me.unurled.sacredrealms.sr.commands.admin; -import static me.unurled.srcore.utils.Component.NOT_PLAYER; -import static me.unurled.srcore.utils.Component.comp; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Arrays; import java.util.Collection; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.entity.EntityManager; import me.unurled.sacredrealms.sr.components.entity.SREntityType; import me.unurled.sacredrealms.sr.gui.entitytype.EntityTypeGUI; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import org.bukkit.command.CommandSender; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -23,7 +22,7 @@ public class EntityTypeCommand implements BasicCommand { private static void list(@NotNull CommandSender sender, @NotNull String @NotNull [] args) { if (!(sender instanceof Player p)) { - sender.sendMessage(comp(NOT_PLAYER)); + sender.sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } EntityManager em = Manager.getInstance(EntityManager.class); @@ -33,7 +32,11 @@ public class EntityTypeCommand implements BasicCommand { } Window window = - Window.single().setViewer(p).setTitle("List").setGui(EntityTypeGUI.listGui()).build(); + Window.mergedBuilder() + .setViewer(p) + .setTitle("List") + .setGui(EntityTypeGUI.listGui()) + .build(); window.open(); } @@ -43,7 +46,7 @@ public class EntityTypeCommand implements BasicCommand { return; } if (!(sender instanceof Player p)) { - sender.sendMessage(comp(NOT_PLAYER)); + sender.sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } if (args.length < 3) { @@ -54,7 +57,7 @@ public class EntityTypeCommand implements BasicCommand { } SREntityType type = em.getType(args[1]); Window window = - Window.single() + Window.mergedBuilder() .setViewer(p) .setTitle(args[1]) .setGui(EntityTypeGUI.createGui(type)) @@ -109,7 +112,7 @@ public class EntityTypeCommand implements BasicCommand { if (sender instanceof Player p) { // opens gui Window window = - Window.single() + Window.mergedBuilder() .setViewer(p) .setTitle(args[1]) .setGui(EntityTypeGUI.createGui(type)) diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ItemCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ItemCommand.java index 4c6f782..0b729bf 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ItemCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/ItemCommand.java @@ -1,13 +1,14 @@ package me.unurled.sacredrealms.sr.commands.admin; -import static me.unurled.srcore.utils.Component.comp; import static me.unurled.sacredrealms.sr.utils.Logger.error; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Arrays; import java.util.Collection; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.item.Item; import me.unurled.sacredrealms.sr.components.item.ItemManager; @@ -15,7 +16,6 @@ import me.unurled.sacredrealms.sr.components.item.ItemType; import me.unurled.sacredrealms.sr.components.item.Rarity; import me.unurled.sacredrealms.sr.components.item.abilities.Ability; import me.unurled.sacredrealms.sr.components.item.enchantments.Enchantment; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.CommandSender; diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/LevelCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/LevelCommand.java index ac3496c..76758ff 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/LevelCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/LevelCommand.java @@ -4,9 +4,9 @@ import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Collection; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/SpawnEntityCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/SpawnEntityCommand.java index d7edb66..2785e51 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/SpawnEntityCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/SpawnEntityCommand.java @@ -1,15 +1,13 @@ package me.unurled.sacredrealms.sr.commands.admin; -import static me.unurled.srcore.utils.Component.NO_PERMISSION; -import static me.unurled.srcore.utils.Component.textComp; - import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Collection; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.entity.EntityManager; import me.unurled.sacredrealms.sr.components.entity.SREntityType; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import org.bukkit.World; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -57,7 +55,7 @@ public class SpawnEntityCommand implements BasicCommand { public void execute(@NotNull CommandSourceStack commandSourceStack, @NotNull String[] args) { CommandSender sender = commandSourceStack.getSender(); if (!sender.hasPermission("sr.spawn-entity")) { - sender.sendMessage(textComp(NO_PERMISSION)); + sender.sendMessage(TranslatedComponent.NO_PERMISSION.component()); return; } diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/TreasureCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/TreasureCommand.java index ebe5beb..0d74330 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/TreasureCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/TreasureCommand.java @@ -1,17 +1,17 @@ package me.unurled.sacredrealms.sr.commands.admin; -import static me.unurled.srcore.utils.Component.NOT_PLAYER; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Collection; import java.util.List; import java.util.Set; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.treasure.Treasure; import me.unurled.sacredrealms.sr.components.treasure.TreasureManager; import me.unurled.sacredrealms.sr.gui.treasure.TreasureGUI; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import net.kyori.adventure.text.Component; import org.bukkit.Material; import org.bukkit.block.Block; @@ -33,7 +33,7 @@ public class TreasureCommand implements BasicCommand { private static void delete(@NotNull CommandSender sender, TreasureManager instance) { Block block; if (!(sender instanceof Player p)) { - sender.sendMessage(NOT_PLAYER); + sender.sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } block = p.getTargetBlock(TRANSPARENT, 3); @@ -69,7 +69,7 @@ public class TreasureCommand implements BasicCommand { private static void modify(@NotNull CommandSender sender, TreasureManager instance) { Block block; if (!(sender instanceof Player p)) { - sender.sendMessage(NOT_PLAYER); + sender.sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } block = p.getTargetBlock(TRANSPARENT, 3); @@ -82,7 +82,7 @@ public class TreasureCommand implements BasicCommand { } // open the GUI Window window = - Window.single() + Window.mergedBuilder() .setViewer(p) .setTitle("Modifiy Treasure Chest") .setGui(TreasureGUI.createGui(treasure)) @@ -97,7 +97,7 @@ public class TreasureCommand implements BasicCommand { @NotNull CommandSender sender, @NotNull String @NotNull [] args, TreasureManager instance) { Block block; if (!(sender instanceof Player p)) { - sender.sendMessage(NOT_PLAYER); + sender.sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } block = p.getTargetBlock(TRANSPARENT, 3); diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/CreateCutsceneCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/CreateCutsceneCommand.java index 9522b80..27220c5 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/CreateCutsceneCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/CreateCutsceneCommand.java @@ -1,15 +1,12 @@ package me.unurled.sacredrealms.sr.commands.admin.cutscene; -import static me.unurled.srcore.utils.Component.NOT_PLAYER; -import static me.unurled.srcore.utils.Component.NO_PERMISSION; -import static me.unurled.srcore.utils.Component.textComp; - import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Collection; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.CutsceneManager; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; @@ -20,11 +17,11 @@ public class CreateCutsceneCommand implements BasicCommand { @Override public void execute(@NotNull CommandSourceStack sender, String[] args) { if (!(sender.getSender() instanceof Player p)) { - sender.getSender().sendMessage(textComp(NOT_PLAYER)); + sender.getSender().sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } if (!p.hasPermission("sr.cutscene.create")) { - p.sendMessage(textComp(NO_PERMISSION)); + p.sendMessage(TranslatedComponent.NO_PERMISSION.component()); return; } // get the name diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/RecordCutsceneCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/RecordCutsceneCommand.java index f496017..bef092a 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/RecordCutsceneCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/RecordCutsceneCommand.java @@ -1,15 +1,13 @@ package me.unurled.sacredrealms.sr.commands.admin.cutscene; -import static me.unurled.srcore.utils.Component.NO_PERMISSION; -import static me.unurled.srcore.utils.Component.textComp; - import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.Cutscene; import me.unurled.sacredrealms.sr.components.cutscene.CutsceneManager; import me.unurled.sacredrealms.sr.components.cutscene.RecordingManager; import me.unurled.sacredrealms.sr.components.cutscene.recording.Recording; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; @@ -24,7 +22,7 @@ public class RecordCutsceneCommand implements BasicCommand { } if (!p.hasPermission("sr.cutscene.create")) { - p.sendMessage(textComp(NO_PERMISSION)); + p.sendMessage(TranslatedComponent.NO_PERMISSION.component()); return; } diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/ReplayCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/ReplayCommand.java index 185d14e..41d0a2c 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/ReplayCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/ReplayCommand.java @@ -1,12 +1,9 @@ package me.unurled.sacredrealms.sr.commands.admin.cutscene; -import static me.unurled.srcore.utils.Component.NOT_PLAYER; -import static me.unurled.srcore.utils.Component.NO_PERMISSION; -import static me.unurled.srcore.utils.Component.textComp; - import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Collection; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; @@ -15,12 +12,12 @@ public class ReplayCommand implements BasicCommand { @Override public void execute(@NotNull CommandSourceStack stack, String[] args) { if (!(stack.getSender() instanceof Player p)) { - stack.getSender().sendMessage(textComp(NOT_PLAYER)); + stack.getSender().sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } if (!p.hasPermission("sr.cutscene.replay")) { - p.sendMessage(textComp(NO_PERMISSION)); + p.sendMessage(TranslatedComponent.NO_PERMISSION.component()); } // aaa diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/StopRecordingCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/StopRecordingCommand.java index 33882e0..96ef444 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/StopRecordingCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/admin/cutscene/StopRecordingCommand.java @@ -1,14 +1,11 @@ package me.unurled.sacredrealms.sr.commands.admin.cutscene; -import static me.unurled.srcore.utils.Component.NOT_PLAYER; -import static me.unurled.srcore.utils.Component.NO_PERMISSION; -import static me.unurled.srcore.utils.Component.textComp; - import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Collection; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.RecordingManager; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; @@ -17,11 +14,11 @@ public class StopRecordingCommand implements BasicCommand { @Override public void execute(@NotNull CommandSourceStack stack, String[] args) { if (!(stack.getSender() instanceof Player p)) { - stack.getSender().sendMessage(textComp(NOT_PLAYER)); + stack.getSender().sendMessage(TranslatedComponent.NOT_PLAYER.component()); return; } if (!p.hasPermission("sr.cutscene.create")) { - p.sendMessage(textComp(NO_PERMISSION)); + p.sendMessage(TranslatedComponent.NO_PERMISSION.component()); return; } diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/player/DifficultyCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/player/DifficultyCommand.java index 200bda9..4d351b0 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/player/DifficultyCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/player/DifficultyCommand.java @@ -1,20 +1,18 @@ package me.unurled.sacredrealms.sr.commands.player; -import static me.unurled.srcore.utils.Component.NOT_PLAYER; -import static me.unurled.srcore.utils.Component.NO_PERMISSION; -import static me.unurled.srcore.utils.Component.PLAYER_NOT_FOUND; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; import java.util.Arrays; import java.util.Collection; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.difficulty.Difficulty; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; import me.unurled.sacredrealms.sr.gui.difficulty.DifficultyGUI; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.utils.component.TranslatedComponent; import net.kyori.adventure.audience.Audience; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; @@ -51,11 +49,11 @@ public class DifficultyCommand implements BasicCommand { private static void playerHandling( @NotNull CommandSender sender, @NotNull String[] args, @NotNull Player p) { if (!p.hasPermission(DIFFICULTY_SELF)) { - sender.sendMessage(textComp(NO_PERMISSION)); + sender.sendMessage(TranslatedComponent.NO_PERMISSION.component()); return; } if (args.length >= 1 && !p.hasPermission(DIFFICULTY_MANAGE)) { - sender.sendMessage(textComp(NO_PERMISSION)); + sender.sendMessage(TranslatedComponent.NO_PERMISSION.component()); usage(sender); return; } @@ -63,7 +61,7 @@ public class DifficultyCommand implements BasicCommand { if (args.length == 0) { // open gui for sender Window window = - Window.single() + Window.mergedBuilder() .setViewer(p) .setTitle(CHOOSE_DIFFICULTY) .setGui(DifficultyGUI.createGui()) @@ -76,11 +74,11 @@ public class DifficultyCommand implements BasicCommand { // open gui for target player Player target = p.getServer().getPlayer(args[0]); if (target == null) { - sender.sendMessage(textComp(PLAYER_NOT_FOUND)); + sender.sendMessage(TranslatedComponent.PLAYER_NOT_FOUND.component()); return; } Window window = - Window.single() + Window.mergedBuilder() .setViewer(p) .setTitle(CHOOSE_DIFFICULTY) .setGui(DifficultyGUI.createGui()) @@ -93,7 +91,7 @@ public class DifficultyCommand implements BasicCommand { // set difficulty for target player Player target = p.getServer().getPlayer(args[0]); if (target == null) { - sender.sendMessage(textComp(PLAYER_NOT_FOUND)); + sender.sendMessage(TranslatedComponent.PLAYER_NOT_FOUND.component()); return; } // set difficulty @@ -112,7 +110,7 @@ public class DifficultyCommand implements BasicCommand { Difficulty difficulty) { SRPlayer sr = pm.getPlayer(target.getUniqueId()); if (sr == null) { - sender.sendMessage(textComp(PLAYER_NOT_FOUND)); + sender.sendMessage(TranslatedComponent.PLAYER_NOT_FOUND.component()); return; } sr.setDifficulty(difficulty); @@ -127,19 +125,19 @@ public class DifficultyCommand implements BasicCommand { private static void consoleHandler( @NotNull CommandSender sender, @NotNull String @NotNull [] args) { if (args.length == 0) { - sender.sendMessage(textComp(NOT_PLAYER)); + sender.sendMessage(TranslatedComponent.NOT_PLAYER.component()); usage(sender); return; } Player target = Bukkit.getPlayer(args[0]); if (target == null) { - sender.sendMessage(textComp(PLAYER_NOT_FOUND)); + sender.sendMessage(TranslatedComponent.PLAYER_NOT_FOUND.component()); return; } if (args.length == 1) { Window window = - Window.single() + Window.mergedBuilder() .setViewer(target) .setTitle(CHOOSE_DIFFICULTY) .setGui(DifficultyGUI.createGui()) diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/player/ResetAdventureCommand.java b/src/main/java/me/unurled/sacredrealms/sr/commands/player/ResetAdventureCommand.java index 923499b..c322380 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/player/ResetAdventureCommand.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/player/ResetAdventureCommand.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.commands.player; -import static me.unurled.srcore.utils.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; @@ -9,10 +9,10 @@ import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Objects; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.data.DataManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.CommandSender; @@ -39,7 +39,7 @@ public class ResetAdventureCommand implements BasicCommand { } return; } - OfflinePlayer player = SR.getPlugin().getServer().getOfflinePlayer(args[0]); + OfflinePlayer player = SR.plugin().getServer().getOfflinePlayer(args[0]); boolean status = resetAdventure(player); if (status) { diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockItem.java b/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockItem.java index 8926f4a..5221621 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockItem.java @@ -1,7 +1,7 @@ package me.unurled.sacredrealms.sr.components.block; -import static me.unurled.srcore.utils.Component.textComp; import static me.unurled.sacredrealms.sr.utils.Logger.error; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockManager.java index d45cea4..c2be6eb 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/block/BlockManager.java @@ -4,8 +4,8 @@ import static me.unurled.sacredrealms.sr.utils.Items.locationToString; import java.util.HashMap; import java.util.Map; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -65,9 +65,9 @@ public class BlockManager extends Manager { public void load() { Bukkit.getScheduler() .runTask( - SR.getPlugin(), + SR.plugin(), () -> { - for (World world : SR.getPlugin().getServer().getWorlds()) { + for (World world : SR.plugin().getServer().getWorlds()) { if (world == null) { continue; } diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/clientbuild/ClientBuildManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/clientbuild/ClientBuildManager.java index 5254dcb..a9247f4 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/clientbuild/ClientBuildManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/clientbuild/ClientBuildManager.java @@ -11,11 +11,11 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.commands.admin.ClientBuildCommand; import me.unurled.sacredrealms.sr.data.DataHandler; import me.unurled.sacredrealms.sr.data.DataManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.block.data.BlockData; @@ -41,7 +41,7 @@ public class ClientBuildManager extends Manager { @Override public void load() { super.load(); - Bukkit.getPluginManager().registerEvents(new ClientBuildCommand(), SR.getPlugin()); + Bukkit.getPluginManager().registerEvents(new ClientBuildCommand(), SR.plugin()); } public List getBuilds() { @@ -83,7 +83,7 @@ public class ClientBuildManager extends Manager { if (dh == null) { error("Failed to get DataHandler instance, can't load client builds."); error("Retrying in 10 seconds."); - Bukkit.getScheduler().runTaskLaterAsynchronously(SR.getPlugin(), this::loadData, 200L); + Bukkit.getScheduler().runTaskLaterAsynchronously(SR.plugin(), this::loadData, 200L); return; } List keys = dh.getKeysAll("sr.clientbuild"); @@ -130,7 +130,7 @@ public class ClientBuildManager extends Manager { } Bukkit.getScheduler() .runTaskAsynchronously( - SR.getPlugin(), + SR.plugin(), () -> { for (String name : names) { ClientBuild build = getBuild(name); diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java index cebdb43..5289ba7 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java @@ -1,14 +1,15 @@ package me.unurled.sacredrealms.sr.components.combat; -import static me.unurled.srcore.utils.Component.comp; import static me.unurled.sacredrealms.sr.utils.SRPlayerUtils.spawnIndicator; import static me.unurled.sacredrealms.sr.utils.SRPlayerUtils.updateActionBar; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Random; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.entity.EntityManager; import me.unurled.sacredrealms.sr.components.entity.SREntity; @@ -16,7 +17,6 @@ import me.unurled.sacredrealms.sr.components.entity.SREntityType; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; import me.unurled.sacredrealms.sr.utils.Items; -import me.unurled.srcore.api.Manager; import org.bukkit.Particle; import org.bukkit.Sound; import org.bukkit.entity.LivingEntity; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CreationListener.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CreationListener.java index 12f0023..b53a5eb 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CreationListener.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CreationListener.java @@ -1,11 +1,11 @@ package me.unurled.sacredrealms.sr.components.cutscene; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import static org.bukkit.Material.RED_WOOL; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.utils.Region; import me.unurled.sacredrealms.sr.utils.RegionUtil; -import me.unurled.srcore.api.Manager; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Location; import org.bukkit.entity.Player; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CutsceneManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CutsceneManager.java index 73ad534..1dc6b39 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CutsceneManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/CutsceneManager.java @@ -1,16 +1,16 @@ package me.unurled.sacredrealms.sr.components.cutscene; import static me.unurled.sacredrealms.sr.utils.Items.cancelItem; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.components.cutscene.tasks.TickTracker; -import me.unurled.srcore.api.Manager; import net.kyori.adventure.text.TextComponent; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -32,10 +32,7 @@ public class CutsceneManager extends Manager { @Override public void load() { super.load(); - SR.getPlugin() - .getServer() - .getPluginManager() - .registerEvents(new CreationListener(), SR.getPlugin()); + SR.plugin().getServer().getPluginManager().registerEvents(new CreationListener(), SR.plugin()); TickTracker.startTracking(); cutscenes = new ArrayList<>(); cutsceneBeingCreated = new HashMap<>(); diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/RecordingManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/RecordingManager.java index 7470830..2638efd 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/RecordingManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/RecordingManager.java @@ -1,13 +1,13 @@ package me.unurled.sacredrealms.sr.components.cutscene; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.ArrayList; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.recording.Recordable; import me.unurled.sacredrealms.sr.components.cutscene.recording.Recording; import me.unurled.sacredrealms.sr.components.cutscene.tasks.TickTracker; -import me.unurled.srcore.api.Manager; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/Replay.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/Replay.java index 97a3e75..a83f84e 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/Replay.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/Replay.java @@ -21,8 +21,7 @@ public class Replay { // TODO: control cutscene replay replayTask = - Bukkit.getScheduler() - .runTaskTimerAsynchronously(SR.getPlugin(), new ReplayTask(this), 0L, 1L); + Bukkit.getScheduler().runTaskTimerAsynchronously(SR.plugin(), new ReplayTask(this), 0L, 1L); } public Player viewer() { diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/ReplayManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/ReplayManager.java index 78ab4c7..6fadbae 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/ReplayManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/ReplayManager.java @@ -2,8 +2,8 @@ package me.unurled.sacredrealms.sr.components.cutscene; import java.util.HashSet; import java.util.Set; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.recording.Recording; -import me.unurled.srcore.api.Manager; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/recording/Recording.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/recording/Recording.java index 34f5dad..fa5077a 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/recording/Recording.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/recording/Recording.java @@ -37,9 +37,9 @@ public class Recording { this.endTick = 1; // TODO: get tick this.scanEntitiesTask = - Bukkit.getScheduler().runTaskTimer(SR.getPlugin(), new ScanEntityTracker(this), 0L, 20L); + Bukkit.getScheduler().runTaskTimer(SR.plugin(), new ScanEntityTracker(this), 0L, 20L); this.trackLocationTask = - Bukkit.getScheduler().runTaskTimer(SR.getPlugin(), new TrackLocationTask(this), 0L, 1L); + Bukkit.getScheduler().runTaskTimer(SR.plugin(), new TrackLocationTask(this), 0L, 1L); } public Map> recordables() { diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ReplayTask.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ReplayTask.java index d81a73d..5b43e38 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ReplayTask.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ReplayTask.java @@ -1,12 +1,12 @@ package me.unurled.sacredrealms.sr.components.cutscene.tasks; import static me.unurled.sacredrealms.sr.utils.Logger.error; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.Replay; import me.unurled.sacredrealms.sr.components.cutscene.ReplayManager; import me.unurled.sacredrealms.sr.components.cutscene.recording.Recordable; -import me.unurled.srcore.api.Manager; public class ReplayTask implements Runnable { diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ScanEntityTracker.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ScanEntityTracker.java index 0f69291..ba143e7 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ScanEntityTracker.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/ScanEntityTracker.java @@ -2,11 +2,11 @@ package me.unurled.sacredrealms.sr.components.cutscene.tasks; import java.util.ArrayList; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.Cutscene; import me.unurled.sacredrealms.sr.components.cutscene.RecordingManager; import me.unurled.sacredrealms.sr.components.cutscene.recording.Recording; import me.unurled.sacredrealms.sr.components.cutscene.recording.recordables.SpawnEntityRecordable; -import me.unurled.srcore.api.Manager; import org.bukkit.Chunk; import org.bukkit.Location; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TickTracker.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TickTracker.java index ef551e9..e32284a 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TickTracker.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TickTracker.java @@ -7,7 +7,7 @@ public class TickTracker { private static long currentTick = 0; public static void startTracking() { - Bukkit.getScheduler().scheduleSyncRepeatingTask(SR.getPlugin(), () -> currentTick++, 0L, 1L); + Bukkit.getScheduler().scheduleSyncRepeatingTask(SR.plugin(), () -> currentTick++, 0L, 1L); } public static long currentTick() { diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TrackLocationTask.java b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TrackLocationTask.java index 9fec3dd..3a428bc 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TrackLocationTask.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/cutscene/tasks/TrackLocationTask.java @@ -1,10 +1,10 @@ package me.unurled.sacredrealms.sr.components.cutscene.tasks; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.RecordingManager; import me.unurled.sacredrealms.sr.components.cutscene.recording.Recording; import me.unurled.sacredrealms.sr.components.cutscene.recording.recordables.DespawnEntityRecordable; import me.unurled.sacredrealms.sr.components.cutscene.recording.recordables.LocationChangeRecordable; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.entity.Entity; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/difficulty/Difficulty.java b/src/main/java/me/unurled/sacredrealms/sr/components/difficulty/Difficulty.java index f2321be..6bfca33 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/difficulty/Difficulty.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/difficulty/Difficulty.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.components.difficulty; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.format.NamedTextColor; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/entity/EntityManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/entity/EntityManager.java index 3640e22..c2131ae 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/entity/EntityManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/entity/EntityManager.java @@ -8,13 +8,13 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.item.ItemStackDeserializer; import me.unurled.sacredrealms.sr.components.item.ItemStackSerializer; import me.unurled.sacredrealms.sr.components.player.PotionEffectDeserializer; import me.unurled.sacredrealms.sr.data.DataHandler; import me.unurled.sacredrealms.sr.data.DataManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/entity/SREntity.java b/src/main/java/me/unurled/sacredrealms/sr/components/entity/SREntity.java index d7dfe20..b1e40c5 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/entity/SREntity.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/entity/SREntity.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.components.entity; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.UUID; import me.unurled.sacredrealms.sr.components.attributes.Attribute; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/item/Item.java b/src/main/java/me/unurled/sacredrealms/sr/components/item/Item.java index c2028e6..b119533 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/item/Item.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/item/Item.java @@ -1,8 +1,8 @@ package me.unurled.sacredrealms.sr.components.item; -import static me.unurled.srcore.utils.Component.textComp; import static me.unurled.sacredrealms.sr.utils.Items.lore; import static me.unurled.sacredrealms.sr.utils.Logger.error; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/item/ItemManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/item/ItemManager.java index b4319f0..6ba4a85 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/item/ItemManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/item/ItemManager.java @@ -6,9 +6,9 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import java.util.HashMap; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.data.DataHandler; import me.unurled.sacredrealms.sr.data.DataManager; -import me.unurled.srcore.api.Manager; import org.bukkit.NamespacedKey; import org.bukkit.inventory.ItemStack; import org.bukkit.persistence.PersistentDataType; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/npc/NPCManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/npc/NPCManager.java index e0a1af4..98d3501 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/npc/NPCManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/npc/NPCManager.java @@ -1,13 +1,14 @@ package me.unurled.sacredrealms.sr.components.npc; - import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.UUID; +import lol.pyr.znpcsplus.api.NpcApi; +import lol.pyr.znpcsplus.api.NpcApiProvider; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.utils.ChunkWrapper; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; import org.bukkit.event.world.ChunkLoadEvent; @@ -17,6 +18,19 @@ public class NPCManager extends Manager { private final Map> npcPerChunk = new HashMap<>(); public Map npcs = new HashMap<>(); + private NpcApi ncpApi; + + @Override + public void load() { + super.load(); + ncpApi = NpcApiProvider.get(); + } + + @Override + public void unload() { + super.unload(); + ncpApi = null; + } public void register(@NotNull NPCEntity entity) { // TODO: Register the entity @@ -41,7 +55,7 @@ public class NPCManager extends Manager { } public void addEntity(NPCEntity entity) { -// npcs.put(entity.getEntity().getUniqueId(), entity); + // npcs.put(entity.getEntity().getUniqueId(), entity); } @EventHandler @@ -52,7 +66,7 @@ public class NPCManager extends Manager { } Bukkit.getScheduler() .scheduleSyncDelayedTask( - SR.getPlugin(), + SR.plugin(), () -> { HashSet npc = npcPerChunk.get(cw); for (NPCEntity entity : npc) { diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/pack/ResourcePackManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/pack/ResourcePackManager.java index dbcf52e..8f3863c 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/pack/ResourcePackManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/pack/ResourcePackManager.java @@ -12,13 +12,13 @@ import java.io.IOException; import java.security.NoSuchAlgorithmException; import java.util.UUID; import java.util.zip.ZipOutputStream; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.components.pack.hosts.HostingProvider; import me.unurled.sacredrealms.sr.components.pack.hosts.RustProvider; import me.unurled.sacredrealms.sr.config.Settings; import me.unurled.sacredrealms.sr.data.DataHandler; import me.unurled.sacredrealms.sr.data.DataManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.jetbrains.annotations.NotNull; @@ -36,18 +36,17 @@ public class ResourcePackManager extends Manager { @NotNull private static File packFile(String fileName) { try { - new File(SR.getPlugin().getDataFolder(), "pack").mkdirs(); + new File(SR.plugin().getDataFolder(), "pack").mkdirs(); String[] filesInclude = {"assets", "pack.mcmeta"}; - FileOutputStream fos = - new FileOutputStream(new File(SR.getPlugin().getDataFolder(), fileName)); + FileOutputStream fos = new FileOutputStream(new File(SR.plugin().getDataFolder(), fileName)); ZipOutputStream zipOut = new ZipOutputStream(fos); zipOut.setLevel(9); for (String filePath : filesInclude) { - File fileToZip = new File(SR.getPlugin().getDataFolder() + "/pack", filePath); + File fileToZip = new File(SR.plugin().getDataFolder() + "/pack", filePath); if (fileToZip.isDirectory()) { zipDirectory(fileToZip, fileToZip.getName(), zipOut); } else { @@ -60,7 +59,7 @@ public class ResourcePackManager extends Manager { } catch (IOException e) { error("Failed to create resource pack"); } - return new File(SR.getPlugin().getDataFolder(), fileName); + return new File(SR.plugin().getDataFolder(), fileName); } /** Save the data */ @@ -100,7 +99,7 @@ public class ResourcePackManager extends Manager { public void uploadAsync(final File file) { Bukkit.getScheduler() .runTaskAsynchronously( - SR.getPlugin(), + SR.plugin(), () -> { // start the call boolean success; @@ -120,13 +119,13 @@ public class ResourcePackManager extends Manager { @Override public void load() { super.load(); - String zipPath = SR.getPlugin().getDataFolder() + "/" + RESOURCE_PACK_ZIP; + String zipPath = SR.plugin().getDataFolder() + "/" + RESOURCE_PACK_ZIP; Bukkit.getScheduler() .runTaskAsynchronously( - SR.getPlugin(), + SR.plugin(), () -> { - if (new File(SR.getPlugin().getDataFolder(), "pack").exists() + if (new File(SR.plugin().getDataFolder(), "pack").exists() && new File(zipPath).exists()) { log("Resource pack exists"); // create a new zip with files diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/pack/animatedjava/AnimatedJavaManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/pack/animatedjava/AnimatedJavaManager.java index 46b444c..dbbafe4 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/pack/animatedjava/AnimatedJavaManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/pack/animatedjava/AnimatedJavaManager.java @@ -1,5 +1,5 @@ package me.unurled.sacredrealms.sr.components.pack.animatedjava; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.Manager; public class AnimatedJavaManager extends Manager {} diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/pack/background/BackgroundManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/pack/background/BackgroundManager.java index 05fbcaf..ec3801a 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/pack/background/BackgroundManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/pack/background/BackgroundManager.java @@ -5,10 +5,10 @@ import static me.unurled.sacredrealms.sr.utils.Logger.warn; import java.io.File; import java.util.HashMap; import java.util.Map; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.utils.character.CharacterArranger; import me.unurled.sacredrealms.sr.utils.character.ConfiguredChar; -import me.unurled.srcore.api.Manager; import org.jetbrains.annotations.NotNull; public class BackgroundManager extends Manager { @@ -21,7 +21,7 @@ public class BackgroundManager extends Manager { @Override public void loadData() { - File bgFolder = new File(SR.getPlugin().getDataFolder(), "backgrounds"); + File bgFolder = new File(SR.plugin().getDataFolder(), "backgrounds"); if (!bgFolder.exists() && bgFolder.mkdirs()) { saveDefaultBackgrounds(); } @@ -133,7 +133,7 @@ public class BackgroundManager extends Manager { private void saveDefaultBackgrounds() { String[] bgList = new String[] {"b0", "b1", "b2", "b4", "b8", "b16", "b32", "b64", "b128"}; for (String bg : bgList) { - SR.getPlugin().saveResource("backgrounds" + File.separator + bg + ".png", false); + SR.plugin().saveResource("backgrounds" + File.separator + bg + ".png", false); } } } diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/packet/PacketManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/packet/PacketManager.java index 1f57cc9..791c054 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/packet/PacketManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/packet/PacketManager.java @@ -2,7 +2,7 @@ package me.unurled.sacredrealms.sr.components.packet; import com.github.retrooper.packetevents.PacketEvents; import com.github.retrooper.packetevents.wrapper.PacketWrapper; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.Manager; import org.bukkit.entity.Player; public class PacketManager extends Manager { diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/player/PlayerManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/player/PlayerManager.java index 9a9f7a9..b92f6a9 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/player/PlayerManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/player/PlayerManager.java @@ -3,7 +3,7 @@ package me.unurled.sacredrealms.sr.components.player; import static me.unurled.sacredrealms.sr.utils.Logger.error; import static me.unurled.sacredrealms.sr.utils.Logger.log; import static me.unurled.sacredrealms.sr.utils.SRPlayerUtils.updateActionBar; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent; import com.google.gson.Gson; @@ -11,13 +11,13 @@ import com.google.gson.GsonBuilder; import java.net.URI; import java.util.HashMap; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.components.pack.ResourcePackManager; import me.unurled.sacredrealms.sr.data.DataHandler; import me.unurled.sacredrealms.sr.data.DataManager; import me.unurled.sacredrealms.sr.events.player.PlayerLevelUpEvent; import me.unurled.sacredrealms.sr.utils.Items; -import me.unurled.srcore.api.Manager; import net.kyori.adventure.resource.ResourcePackInfo; import net.kyori.adventure.resource.ResourcePackRequest; import org.bukkit.Bukkit; @@ -139,8 +139,7 @@ public class PlayerManager extends Manager { // TODO: does not update when player health has changed for example BukkitTask task = Bukkit.getScheduler() - .runTaskTimerAsynchronously( - SR.getPlugin(), () -> updateActionBar(e.getPlayer()), 0, 20L); + .runTaskTimerAsynchronously(SR.plugin(), () -> updateActionBar(e.getPlayer()), 0, 20L); actionBarTasks.put(e.getPlayer().getUniqueId(), task); e.getPlayer().updateInventory(); @@ -259,7 +258,7 @@ public class PlayerManager extends Manager { public void levelUp(SRPlayer p, int previousLevel) { PlayerLevelUpEvent event = new PlayerLevelUpEvent(p, previousLevel); - Bukkit.getScheduler().runTaskAsynchronously(SR.getPlugin(), event::callEvent); + Bukkit.getScheduler().runTaskAsynchronously(SR.plugin(), event::callEvent); Player player = Bukkit.getPlayer(p.getUuid()); if (player != null) { player.sendMessage(event.getMessage()); diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/player/SRPlayer.java b/src/main/java/me/unurled/sacredrealms/sr/components/player/SRPlayer.java index bc49cd5..b959aef 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/player/SRPlayer.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/player/SRPlayer.java @@ -10,11 +10,11 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.difficulty.Difficulty; import me.unurled.sacredrealms.sr.components.item.Item; import me.unurled.sacredrealms.sr.events.player.PlayerKillEvent; -import me.unurled.srcore.api.Manager; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.entity.EntityDamageEvent.DamageCause; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/player/listener/PlayerBlockEvent.java b/src/main/java/me/unurled/sacredrealms/sr/components/player/listener/PlayerBlockEvent.java index 84f5c4d..9d4d6a9 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/player/listener/PlayerBlockEvent.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/player/listener/PlayerBlockEvent.java @@ -1,8 +1,8 @@ package me.unurled.sacredrealms.sr.components.player.listener; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/translation/TranslationManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/translation/TranslationManager.java new file mode 100644 index 0000000..37cba64 --- /dev/null +++ b/src/main/java/me/unurled/sacredrealms/sr/components/translation/TranslationManager.java @@ -0,0 +1,29 @@ +package me.unurled.sacredrealms.sr.components.translation; + +import java.util.Locale; +import java.util.ResourceBundle; +import me.unurled.sacredrealms.sr.Manager; +import net.kyori.adventure.key.Key; +import net.kyori.adventure.translation.GlobalTranslator; +import net.kyori.adventure.translation.TranslationRegistry; +import net.kyori.adventure.util.UTF8ResourceBundleControl; + +public class TranslationManager extends Manager { + private TranslationRegistry registry; + + @Override + public void load() { + super.load(); + registry = TranslationRegistry.create(Key.key("sr:translations")); + ResourceBundle bundle = + ResourceBundle.getBundle("sr.Bundle", Locale.US, UTF8ResourceBundleControl.get()); + registry.registerAll(Locale.US, bundle, true); + GlobalTranslator.translator().addSource(registry); + } + + @Override + public void unload() { + super.unload(); + GlobalTranslator.translator().removeSource(registry); + } +} diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/treasure/Treasure.java b/src/main/java/me/unurled/sacredrealms/sr/components/treasure/Treasure.java index 7c837fe..e0f14d8 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/treasure/Treasure.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/treasure/Treasure.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.components.treasure; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureGenerator.java b/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureGenerator.java index 2acfc81..379fcca 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureGenerator.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureGenerator.java @@ -7,12 +7,12 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.item.Item; import me.unurled.sacredrealms.sr.components.item.ItemManager; import me.unurled.sacredrealms.sr.components.item.Rarity; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureManager.java index ddab63a..dd13a20 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/treasure/TreasureManager.java @@ -1,8 +1,8 @@ package me.unurled.sacredrealms.sr.components.treasure; -import static me.unurled.srcore.utils.Component.textComp; import static me.unurled.sacredrealms.sr.utils.Logger.error; import static me.unurled.sacredrealms.sr.utils.Logger.log; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -13,11 +13,11 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import javax.annotation.Nullable; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; import me.unurled.sacredrealms.sr.data.DataHandler; import me.unurled.sacredrealms.sr.data.DataManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Chunk; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/me/unurled/sacredrealms/sr/config/ConfigManager.java b/src/main/java/me/unurled/sacredrealms/sr/config/ConfigManager.java index e0b3da9..dbabc1a 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/config/ConfigManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/config/ConfigManager.java @@ -1,8 +1,8 @@ package me.unurled.sacredrealms.sr.config; import java.io.File; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; -import me.unurled.srcore.api.Manager; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; @@ -14,12 +14,12 @@ public class ConfigManager extends Manager { /** Load the data */ @Override public void loadData() { - if (!SR.getPlugin().getDataFolder().exists()) { - SR.getPlugin().getDataFolder().mkdirs(); + if (!SR.plugin().getDataFolder().exists()) { + SR.plugin().getDataFolder().mkdirs(); } - File configFile = new File(SR.getPlugin().getDataFolder(), CONFIG_YML); + File configFile = new File(SR.plugin().getDataFolder(), CONFIG_YML); if (!configFile.exists()) { - SR.getPlugin().saveResource(CONFIG_YML, false); + SR.plugin().saveResource(CONFIG_YML, false); config = YamlConfiguration.loadConfiguration(configFile); } config = YamlConfiguration.loadConfiguration(configFile); @@ -27,10 +27,10 @@ public class ConfigManager extends Manager { @Override public void saveData() { - if (!new File(SR.getPlugin().getDataFolder() + CONFIG_YML).exists()) { - SR.getPlugin().saveDefaultConfig(); + if (!new File(SR.plugin().getDataFolder() + CONFIG_YML).exists()) { + SR.plugin().saveDefaultConfig(); } else { - SR.getPlugin().saveConfig(); + SR.plugin().saveConfig(); } } diff --git a/src/main/java/me/unurled/sacredrealms/sr/config/Settings.java b/src/main/java/me/unurled/sacredrealms/sr/config/Settings.java index 1aaa130..2c9d6bd 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/config/Settings.java +++ b/src/main/java/me/unurled/sacredrealms/sr/config/Settings.java @@ -4,8 +4,8 @@ import static me.unurled.sacredrealms.sr.utils.Logger.error; import java.io.File; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; -import me.unurled.srcore.api.Manager; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.configuration.ConfigurationSection; @@ -37,9 +37,9 @@ public enum Settings { } public void setValue(Object value) { - SR.getPlugin().getConfig().set(path, value); + SR.plugin().getConfig().set(path, value); try { - SR.getPlugin().getConfig().save(new File(SR.getPlugin().getDataFolder(), "config.yml")); + SR.plugin().getConfig().save(new File(SR.plugin().getDataFolder(), "config.yml")); } catch (Exception e) { error("Failed to save config.yml"); } diff --git a/src/main/java/me/unurled/sacredrealms/sr/data/DataManager.java b/src/main/java/me/unurled/sacredrealms/sr/data/DataManager.java index 11a3d10..ee94762 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/data/DataManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/data/DataManager.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.data; -import me.unurled.srcore.api.Manager; +import me.unurled.sacredrealms.sr.Manager; /** The data and config manager */ public class DataManager extends Manager { diff --git a/src/main/java/me/unurled/sacredrealms/sr/data/Redis.java b/src/main/java/me/unurled/sacredrealms/sr/data/Redis.java index 15342f3..866fa1e 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/data/Redis.java +++ b/src/main/java/me/unurled/sacredrealms/sr/data/Redis.java @@ -3,10 +3,10 @@ package me.unurled.sacredrealms.sr.data; import static me.unurled.sacredrealms.sr.utils.Logger.error; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.config.ConfigManager; import me.unurled.sacredrealms.sr.config.Settings; -import me.unurled.srcore.api.Manager; import org.jetbrains.annotations.NotNull; import redis.clients.jedis.JedisPooled; @@ -21,7 +21,7 @@ public class Redis implements DataHandler { Integer port = Settings.REDIS_PORT.toInt(); if (host == null || port == null) { error("Failed to get Redis host or port from config, shutting down server."); - SR.getPlugin().getServer().shutdown(); + SR.plugin().getServer().shutdown(); return; } try { @@ -29,11 +29,11 @@ public class Redis implements DataHandler { client.get("test"); } catch (Exception e) { error("Failed to connect to Redis, shutting down server."); - SR.getPlugin().getServer().shutdown(); + SR.plugin().getServer().shutdown(); } } else { error("Failed to get DataManager instance. Can't connect to Redis, shutting down server."); - SR.getPlugin().getServer().shutdown(); + SR.plugin().getServer().shutdown(); } } diff --git a/src/main/java/me/unurled/sacredrealms/sr/events/player/PlayerLevelUpEvent.java b/src/main/java/me/unurled/sacredrealms/sr/events/player/PlayerLevelUpEvent.java index 9234ba6..84dfc3a 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/events/player/PlayerLevelUpEvent.java +++ b/src/main/java/me/unurled/sacredrealms/sr/events/player/PlayerLevelUpEvent.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.events.player; -import static me.unurled.srcore.utils.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import me.unurled.sacredrealms.sr.components.player.SRPlayer; import net.kyori.adventure.text.Component; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/BackItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/BackItem.java index d9fb429..048a115 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/BackItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/BackItem.java @@ -4,8 +4,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractPagedGuiBoundItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; @@ -19,11 +19,11 @@ public class BackItem extends AbstractPagedGuiBoundItem { builder .setCustomName("§cPrevious Page") .addLoreLines( - this.getGui().hasPreviousPage() + this.getGui().getPage() > 1 ? "§7Go to page §e" + this.getGui().getPage() + "§7/§e" - + this.getGui().getPageAmount() + + this.getGui().getPageCount() : "§cYou can't go further back"); return builder; } diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/ForwardItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/ForwardItem.java index 28d26b8..970b711 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/ForwardItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/ForwardItem.java @@ -1,13 +1,13 @@ package me.unurled.sacredrealms.sr.gui; -import static me.unurled.srcore.utils.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractPagedGuiBoundItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; @@ -21,18 +21,17 @@ public class ForwardItem extends AbstractPagedGuiBoundItem { builder .setCustomName(comp("Next page")) .addLoreLines( - this.getGui().hasNextPage() + this.getGui().getPage() + 1 < this.getGui().getPageCount() ? comp( "Go to page §e" + (this.getGui().getPage() + 2) + "§7/§e" - + this.getGui().getPageAmount()) + + this.getGui().getPageCount()) : comp("There are no more pages")); return builder; } @Override - public void handleClick( - @NotNull ClickType clickType, @NotNull Player player, @NotNull Click click) {} + public void handleClick(ClickType clickType, Player player, Click click) {} } diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributeItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributeItem.java index 796d27f..53d3eb5 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributeItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributeItem.java @@ -1,18 +1,18 @@ package me.unurled.sacredrealms.sr.gui.attributes; import static me.unurled.sacredrealms.sr.utils.SRPlayerUtils.syncSRToPlayer; -import static me.unurled.srcore.utils.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributesGUI.java b/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributesGUI.java index ae8c213..012b74c 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributesGUI.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/attributes/AttributesGUI.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.gui.attributes; -import static me.unurled.srcore.utils.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import org.bukkit.Material; @@ -21,7 +21,7 @@ public class AttributesGUI { t.setItemMeta(tMeta); Item head = Item.simple(t); Builder gui = - Gui.normal() + Gui.builder() .setStructure(".........", "....h....", ".........", ".0123456.") .addIngredient('h', head); for (int i = 0; i < Attribute.values().length; i++) { diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyGUI.java b/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyGUI.java index 63622c4..3da1266 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyGUI.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyGUI.java @@ -14,7 +14,7 @@ public class DifficultyGUI { Item cancel = Item.simple(cancelItem()); Item glass = Item.simple(glassPane()); Builder gui = - Gui.normal() + Gui.builder() .setStructure(".........", "..1.2.3..", "....4....", "....5....") .addIngredient('5', cancel) .addIngredient('.', glass) diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyItem.java index 339abdd..0160ca3 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/difficulty/DifficultyItem.java @@ -1,15 +1,15 @@ package me.unurled.sacredrealms.sr.gui.difficulty; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.difficulty.Difficulty; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityArmorItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityArmorItem.java index 3936e23..230c3fc 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityArmorItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityArmorItem.java @@ -10,8 +10,8 @@ import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityBehaviorItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityBehaviorItem.java index 6bacaf0..f2a92d0 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityBehaviorItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityBehaviorItem.java @@ -5,8 +5,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityExpItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityExpItem.java index 93c0587..5db2dfc 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityExpItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityExpItem.java @@ -5,8 +5,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityItemDisplay.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityItemDisplay.java index 2906236..09c0bff 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityItemDisplay.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityItemDisplay.java @@ -5,8 +5,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLevelItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLevelItem.java index aea5fd6..eb1c993 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLevelItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLevelItem.java @@ -5,8 +5,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLootItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLootItem.java index 5ded234..fcb00c6 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLootItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityLootItem.java @@ -4,8 +4,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityNameItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityNameItem.java index eec6f40..dd9a2da 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityNameItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityNameItem.java @@ -5,8 +5,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityStatsItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityStatsItem.java index fa3950a..db80d22 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityStatsItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityStatsItem.java @@ -8,8 +8,8 @@ import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeGUI.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeGUI.java index 88460a7..06b5891 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeGUI.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeGUI.java @@ -2,11 +2,11 @@ package me.unurled.sacredrealms.sr.gui.entitytype; import java.util.ArrayList; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.entity.EntityManager; import me.unurled.sacredrealms.sr.components.entity.SREntityType; import me.unurled.sacredrealms.sr.gui.BackItem; import me.unurled.sacredrealms.sr.gui.ForwardItem; -import me.unurled.srcore.api.Manager; import org.bukkit.Material; import org.jetbrains.annotations.NotNull; import xyz.xenondevs.invui.gui.Gui; @@ -25,7 +25,7 @@ public class EntityTypeGUI { Item simpleItem = Item.simple(new ItemBuilder(type.getItem())); list.add(simpleItem); } - return PagedGui.items() + return PagedGui.itemsBuilder() .setStructure( "# # # # # # # # #", "# X X X X X X X #", @@ -44,7 +44,7 @@ public class EntityTypeGUI { Item border = Item.simple(new ItemBuilder(Material.BLACK_STAINED_GLASS_PANE).setCustomName("§r")); - return Gui.normal() + return Gui.builder() .setStructure( "# # # # # # # # #", "# T V O I S N L #", // Type, behaVior, lOot, Item display, Stats, Name, Level diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeItem.java index 4077cc4..5ae9863 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/entitytype/EntityTypeItem.java @@ -1,6 +1,6 @@ package me.unurled.sacredrealms.sr.gui.entitytype; -import static me.unurled.srcore.utils.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import me.unurled.sacredrealms.sr.components.entity.SREntityType; import org.bukkit.Material; @@ -8,8 +8,8 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/CutsceneItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/CutsceneItem.java index 1631a93..6a6b40d 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/CutsceneItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/CutsceneItem.java @@ -1,13 +1,14 @@ package me.unurled.sacredrealms.sr.gui.recordings; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.Logger.error; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.components.cutscene.Cutscene; import me.unurled.sacredrealms.sr.components.cutscene.CutsceneManager; import me.unurled.sacredrealms.sr.components.cutscene.RecordingManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Material; import org.bukkit.NamespacedKey; import org.bukkit.entity.Player; @@ -16,8 +17,8 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; @@ -30,7 +31,7 @@ public class CutsceneItem extends AbstractItem { public CutsceneItem(String name, UUID uuid) { this.name = name; this.uuid = uuid; - ID = new NamespacedKey(SR.getPlugin(), "cutscene_id"); + ID = new NamespacedKey(SR.plugin(), "cutscene_id"); } @Override @@ -48,15 +49,13 @@ public class CutsceneItem extends AbstractItem { public void handleClick( @NotNull ClickType clickType, @NotNull Player player, @NotNull Click click) { // get uuid - String uuid = - click - .getCursor() - .getItemMeta() - .getPersistentDataContainer() - .get(ID, PersistentDataType.STRING); - - Cutscene cutscene = - Manager.getInstance(CutsceneManager.class).findByUUID(UUID.fromString(uuid)); + error( + "Click on CutsceneItem.java: " + + this.uuid + + " by " + + player.getName() + + " it may misfire or fire for the wrong cutscene, I am not sure about the uuid handling here."); + Cutscene cutscene = Manager.getInstance(CutsceneManager.class).findByUUID(this.uuid); if (cutscene == null) { player.sendMessage(textComp("Unexpected error.")); diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/StartRecordingGui.java b/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/StartRecordingGui.java index 35e7c73..d2ee1ed 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/StartRecordingGui.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/recordings/StartRecordingGui.java @@ -4,11 +4,11 @@ import static me.unurled.sacredrealms.sr.utils.Items.glassPane; import java.util.ArrayList; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.Cutscene; import me.unurled.sacredrealms.sr.components.cutscene.CutsceneManager; import me.unurled.sacredrealms.sr.gui.BackItem; import me.unurled.sacredrealms.sr.gui.ForwardItem; -import me.unurled.srcore.api.Manager; import org.jetbrains.annotations.NotNull; import xyz.xenondevs.invui.gui.Gui; import xyz.xenondevs.invui.gui.Markers; @@ -28,7 +28,7 @@ public class StartRecordingGui { items.add(item); } - return PagedGui.items() + return PagedGui.itemsBuilder() .setStructure( "# # # # # # # # #", "# X X X X X X X #", diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayGui.java b/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayGui.java index c619abb..fac0077 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayGui.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayGui.java @@ -4,11 +4,11 @@ import static me.unurled.sacredrealms.sr.utils.Items.glassPane; import java.util.ArrayList; import java.util.List; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.cutscene.Replay; import me.unurled.sacredrealms.sr.components.cutscene.ReplayManager; import me.unurled.sacredrealms.sr.gui.BackItem; import me.unurled.sacredrealms.sr.gui.ForwardItem; -import me.unurled.srcore.api.Manager; import org.jetbrains.annotations.NotNull; import xyz.xenondevs.invui.gui.Gui; import xyz.xenondevs.invui.gui.Markers; @@ -25,7 +25,7 @@ public class ReplayGui { List items = new ArrayList<>(); for (Replay r : rm.replays()) {} - return PagedGui.items() + return PagedGui.itemsBuilder() .setStructure( "# # # # # # # # #", "# X X X X X X X #", diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayItem.java index 90b574c..4fca36a 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/replay/ReplayItem.java @@ -1,13 +1,14 @@ package me.unurled.sacredrealms.sr.gui.replay; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.Logger.error; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.UUID; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.components.cutscene.Cutscene; import me.unurled.sacredrealms.sr.components.cutscene.CutsceneManager; import me.unurled.sacredrealms.sr.components.cutscene.RecordingManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Material; import org.bukkit.NamespacedKey; import org.bukkit.entity.Player; @@ -16,8 +17,8 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; @@ -27,7 +28,7 @@ public class ReplayItem extends AbstractItem { private final UUID uuid; public ReplayItem(String name, UUID uuid) { - ID = new NamespacedKey(SR.getPlugin(), "cutscene_id"); + ID = new NamespacedKey(SR.plugin(), "cutscene_id"); this.name = name; this.uuid = uuid; } @@ -45,19 +46,18 @@ public class ReplayItem extends AbstractItem { @Override public void handleClick( @NotNull ClickType clickType, @NotNull Player player, @NotNull Click click) { - String uuid = - click - .getCursor() - .getItemMeta() - .getPersistentDataContainer() - .get(ID, PersistentDataType.STRING); + error( + "Click on CutsceneItem.java: " + + this.uuid + + " by " + + player.getName() + + " it may misfire or fire for the wrong cutscene, I am not sure about the uuid handling here."); if (uuid == null) { return; } - Cutscene cutscene = - Manager.getInstance(CutsceneManager.class).findByUUID(UUID.fromString(uuid)); + Cutscene cutscene = Manager.getInstance(CutsceneManager.class).findByUUID(this.uuid); if (cutscene == null) { player.sendMessage(textComp("Unexpected error.")); diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/CancelItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/CancelItem.java index c03172a..a719131 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/CancelItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/CancelItem.java @@ -5,8 +5,8 @@ import static me.unurled.sacredrealms.sr.utils.Items.cancelItem; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/ConfirmItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/ConfirmItem.java index 0c43e11..ec4f95c 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/ConfirmItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/ConfirmItem.java @@ -1,21 +1,21 @@ package me.unurled.sacredrealms.sr.gui.treasure; import static me.unurled.sacredrealms.sr.utils.Logger.log; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.util.HashMap; import java.util.Map; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.treasure.Treasure; import me.unurled.sacredrealms.sr.components.treasure.TreasureManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/DeleteItem.java b/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/DeleteItem.java index cbc43e2..0b5b459 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/DeleteItem.java +++ b/src/main/java/me/unurled/sacredrealms/sr/gui/treasure/DeleteItem.java @@ -1,18 +1,18 @@ package me.unurled.sacredrealms.sr.gui.treasure; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.treasure.Treasure; import me.unurled.sacredrealms.sr.components.treasure.TreasureManager; -import me.unurled.srcore.api.Manager; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.jetbrains.annotations.NotNull; +import xyz.xenondevs.invui.Click; import xyz.xenondevs.invui.item.AbstractItem; -import xyz.xenondevs.invui.item.Click; import xyz.xenondevs.invui.item.ItemBuilder; import xyz.xenondevs.invui.item.ItemProvider; diff --git a/src/main/java/me/unurled/sacredrealms/sr/utils/CutsceneUtil.java b/src/main/java/me/unurled/sacredrealms/sr/utils/CutsceneUtil.java index e8aadad..5ad46cb 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/utils/CutsceneUtil.java +++ b/src/main/java/me/unurled/sacredrealms/sr/utils/CutsceneUtil.java @@ -1,14 +1,11 @@ package me.unurled.sacredrealms.sr.utils; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import java.time.Duration; -import java.util.ArrayList; -import java.util.List; import net.kyori.adventure.key.Key; import net.kyori.adventure.title.Title; import net.kyori.adventure.title.Title.Times; -import org.bukkit.Location; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/me/unurled/sacredrealms/sr/utils/Items.java b/src/main/java/me/unurled/sacredrealms/sr/utils/Items.java index 1af206e..7e2a757 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/utils/Items.java +++ b/src/main/java/me/unurled/sacredrealms/sr/utils/Items.java @@ -1,14 +1,15 @@ package me.unurled.sacredrealms.sr.utils; import static me.unurled.sacredrealms.sr.utils.SRPlayerUtils.syncSRToPlayer; -import static me.unurled.srcore.utils.Component.comp; -import static me.unurled.srcore.utils.Component.textComp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.textComp; import com.google.gson.JsonElement; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.concurrent.atomic.AtomicReference; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.item.Item; import me.unurled.sacredrealms.sr.components.item.ItemManager; @@ -16,7 +17,6 @@ import me.unurled.sacredrealms.sr.components.item.ItemStackDeserializer; import me.unurled.sacredrealms.sr.components.item.ItemStackSerializer; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/me/unurled/sacredrealms/sr/utils/Logger.java b/src/main/java/me/unurled/sacredrealms/sr/utils/Logger.java index 7fbfc31..2f945f8 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/utils/Logger.java +++ b/src/main/java/me/unurled/sacredrealms/sr/utils/Logger.java @@ -3,6 +3,7 @@ package me.unurled.sacredrealms.sr.utils; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.logger.slf4j.ComponentLogger; +/** The LoggerUtils class is a class that is used to log messages to the console. */ public class Logger { private static final java.util.logging.Logger logger = java.util.logging.Logger.getLogger("SR"); @@ -10,26 +11,56 @@ public class Logger { private Logger() {} + /** + * Log a message to the console + * + * @param message the message to log + */ public static void log(String message) { logger.info(message); } + /** + * Log a warning to the console + * + * @param message the message to log + */ public static void warn(String message) { logger.warning(message); } + /** + * Log an error to the console + * + * @param message the message to log + */ public static void error(String message) { logger.severe(message); } + /** + * Log a message to the console + * + * @param message the message to log + */ public static void log(Component message) { componentLogger.info(message); } + /** + * Log a warning to the console + * + * @param message the message to log + */ public static void warn(Component message) { componentLogger.warn(message); } + /** + * Log an error to the console + * + * @param message the message to log + */ public static void error(Component message) { componentLogger.error(message); } diff --git a/src/main/java/me/unurled/sacredrealms/sr/utils/SRPlayerUtils.java b/src/main/java/me/unurled/sacredrealms/sr/utils/SRPlayerUtils.java index 9a96c33..2118cd6 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/utils/SRPlayerUtils.java +++ b/src/main/java/me/unurled/sacredrealms/sr/utils/SRPlayerUtils.java @@ -1,14 +1,14 @@ package me.unurled.sacredrealms.sr.utils; -import static me.unurled.srcore.utils.Component.comp; +import static me.unurled.sacredrealms.sr.utils.component.Component.comp; import java.util.List; import java.util.Random; +import me.unurled.sacredrealms.sr.Manager; import me.unurled.sacredrealms.sr.SR; import me.unurled.sacredrealms.sr.components.attributes.Attribute; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.player.SRPlayer; -import me.unurled.srcore.api.Manager; import org.bukkit.attribute.AttributeInstance; import org.bukkit.entity.Display; import org.bukkit.entity.Entity; @@ -127,6 +127,6 @@ public class SRPlayerUtils { } height++; } - }.runTaskTimer(SR.getPlugin(), 0, 1); + }.runTaskTimer(SR.plugin(), 0, 1); } } diff --git a/src/main/java/me/unurled/sacredrealms/sr/utils/component/Component.java b/src/main/java/me/unurled/sacredrealms/sr/utils/component/Component.java new file mode 100644 index 0000000..70c361a --- /dev/null +++ b/src/main/java/me/unurled/sacredrealms/sr/utils/component/Component.java @@ -0,0 +1,77 @@ +package me.unurled.sacredrealms.sr.utils.component; + +import java.util.List; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.TranslatableComponent; +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.Contract; +import org.jetbrains.annotations.NotNull; + +/** Utility class for working with components. */ +public class Component { + private static MiniMessage miniMessage; + + private Component() {} + + /** + * Converts a string to a MiniMessage component. + * + * @param msg the string to convert + * @return the MiniMessage component + */ + public static net.kyori.adventure.text.@NotNull Component comp(String msg) { + if (miniMessage == null) { + miniMessage = MiniMessage.miniMessage(); + } + return miniMessage.deserialize(msg); + } + + /** + * Converts a string to a TextComponent. + * + * @param msg the string to convert + * @return the TextComponent + */ + public static net.kyori.adventure.text.@NotNull TextComponent textComp(String msg) { + if (miniMessage == null) { + miniMessage = MiniMessage.miniMessage(); + } + return (TextComponent) miniMessage.deserialize(msg); + } + + /** + * Converts a list of strings to a list of MiniMessage components. + * + * @param list the list of strings to convert + * @return the list of MiniMessage components + */ + public static List fromStringList( + @NotNull List list) { + return list.stream().map(Component::comp).toList(); + } + + /** + * Gets an audience for a player. + * + * @param player the player + * @return the audience + */ + @Contract(pure = true) + public static @NotNull Audience audience(Player player) { + return Audience.audience(player); + } + + /** + * Translates using the key and arguments. + * + * @param key the key + * @param args the arguments + * @return the translated string + */ + @Contract(value = "_, _ -> new", pure = true) + public static @NotNull TranslatableComponent translate(String key, TextComponent... args) { + return net.kyori.adventure.text.Component.translatable(key, args); + } +} diff --git a/src/main/java/me/unurled/sacredrealms/sr/utils/component/TranslatedComponent.java b/src/main/java/me/unurled/sacredrealms/sr/utils/component/TranslatedComponent.java new file mode 100644 index 0000000..ddddc8d --- /dev/null +++ b/src/main/java/me/unurled/sacredrealms/sr/utils/component/TranslatedComponent.java @@ -0,0 +1,31 @@ +package me.unurled.sacredrealms.sr.utils.component; + +import static me.unurled.sacredrealms.sr.utils.component.Component.translate; + +import net.kyori.adventure.text.TranslatableComponent; + +public enum TranslatedComponent { + ERROR, + NOT_PLAYER, + NO_PERMISSION, + PLAYER_NOT_FOUND; + + TranslatableComponent component; + + TranslatedComponent() {} + + public static void init() { + ERROR.setComponent(translate("error")); + NOT_PLAYER.setComponent(translate("not.player")); + NO_PERMISSION.setComponent(translate("no.permission")); + PLAYER_NOT_FOUND.setComponent(translate("player.not.found")); + } + + private void setComponent(TranslatableComponent component) { + this.component = component; + } + + public TranslatableComponent component() { + return component; + } +} diff --git a/src/main/resources/sr/Bundle_en_US.properties b/src/main/resources/sr/Bundle_en_US.properties new file mode 100644 index 0000000..972c6f8 --- /dev/null +++ b/src/main/resources/sr/Bundle_en_US.properties @@ -0,0 +1,5 @@ +sacred.realms=Sacred Realms: {0} +player.not.found=Player not found. +error=An error occurred while executing this command. Please contact an admin. +no.permission=You do not have permission to use this command. +not.player=You must be a player to use this command. \ No newline at end of file