From 1eff78badaa7eb1f361cc7c72d4c9bd0f0dba462 Mon Sep 17 00:00:00 2001 From: yusshu Date: Wed, 31 Jan 2024 19:10:58 -0500 Subject: [PATCH] refactor(plugin): rename plugin to creative-glyphs keeping unemojis compatibility --- .../plugin/CreativeGlyphsPlugin.java | 31 ++++++++++++++++++- plugin/src/main/resources/plugin.yml | 17 +++++++--- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/plugin/src/main/java/team/unnamed/creativeglyphs/plugin/CreativeGlyphsPlugin.java b/plugin/src/main/java/team/unnamed/creativeglyphs/plugin/CreativeGlyphsPlugin.java index 9ddf1e1..ec916e3 100644 --- a/plugin/src/main/java/team/unnamed/creativeglyphs/plugin/CreativeGlyphsPlugin.java +++ b/plugin/src/main/java/team/unnamed/creativeglyphs/plugin/CreativeGlyphsPlugin.java @@ -1,5 +1,6 @@ package team.unnamed.creativeglyphs.plugin; +import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -26,18 +27,46 @@ import team.unnamed.creativeglyphs.resourcepack.ResourcePackGlyphWriter; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Collection; import java.util.Locale; import java.util.Objects; import java.util.Set; -public class CreativeGlyphsPlugin extends JavaPlugin { +public final class CreativeGlyphsPlugin extends JavaPlugin { private PluginGlyphMap registry; private ArtemisGlyphImporter importer; @Override public void onEnable() { + final Path dataFolder = getDataFolder().toPath(); + + //#region Backwards compatibility (creative-glyphs was called unemojis) + // unemojis should be removed + if (Bukkit.getPluginManager().isPluginEnabled("unemojis")) { + getLogger().severe( + "Can't enable creative-glyphs since unemojis is enabled! Please remove " + + "unemojis JAR file only (NOT THE unemojis FOLDER, IT WILL BE AUTOMATICALLY" + + " RENAMED). Note that creative-glyphs is the new, improved version of unemojis." + ); + Bukkit.getPluginManager().disablePlugin(this); + return; + } + + // Rename unemojis data folder to creative-glyphs if it exists + final Path pluginsFolder = Bukkit.getPluginsFolder().toPath(); + final Path unemojisDataFolder = pluginsFolder.resolve("unemojis"); + if (Files.isDirectory(unemojisDataFolder)) { + try { + Files.move(unemojisDataFolder, dataFolder); + } catch (final IOException e) { + throw new IllegalStateException("(Backwards compatibility) Couldn't" + + " rename 'unemojis' folder to '" + dataFolder.getFileName() + "'", e); + } + } + //#endregion saveDefaultConfig(); diff --git a/plugin/src/main/resources/plugin.yml b/plugin/src/main/resources/plugin.yml index 720b97d..2cfbbb7 100644 --- a/plugin/src/main/resources/plugin.yml +++ b/plugin/src/main/resources/plugin.yml @@ -1,12 +1,21 @@ -name: unemojis +name: creative-glyphs version: ${project.version} main: team.unnamed.creativeglyphs.plugin.CreativeGlyphsPlugin api-version: 1.13 -description: Unnamed Team's creative-glyphs (formerly unemojis) Plugin +description: Unnamed Team's creative-glyphs plugin author: Unnamed Team depend: [creative-central] -softdepend: [PlaceholderAPI, EzChat, TownyChat, DiscordSRV, LPC, MiniPlaceholders, EssentialsDiscord] +softdepend: + - PlaceholderAPI + - EzChat + - TownyChat + - DiscordSRV + - LPC + - MiniPlaceholders + - EssentialsDiscord + - CarbonChat + - unemojis # We want to detect if unemojis (old version of creative-glyphs) is installed, to warn the server admin to remove it commands: emojis: - description: Main command for the creative-glyphs (formerly unemojis) plugin + description: Main command for the creative-glyphs plugin usage: / update \ No newline at end of file