From 6ff3ac4b8ea2ab84a9ba6c617cf2c30ce250d4c6 Mon Sep 17 00:00:00 2001 From: fzorb Date: Sun, 20 Jul 2025 22:29:23 +0300 Subject: [PATCH 01/18] Bump version to 1.21.8 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7e0c37f..19c6e44 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ run-paper-maven-plugin 1.1.1 - 1.21.7 + 1.21.8 true run @@ -88,7 +88,7 @@ io.papermc.paper paper-api - 1.21.7-R0.1-SNAPSHOT + 1.21.8-R0.1-SNAPSHOT provided From dbc76b7cca5b776c1f6540341bd44d9826e9365c Mon Sep 17 00:00:00 2001 From: fzorb Date: Sun, 20 Jul 2025 22:32:15 +0300 Subject: [PATCH 02/18] Bump version to 1.21.8 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7e0c37f..19c6e44 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ run-paper-maven-plugin 1.1.1 - 1.21.7 + 1.21.8 true run @@ -88,7 +88,7 @@ io.papermc.paper paper-api - 1.21.7-R0.1-SNAPSHOT + 1.21.8-R0.1-SNAPSHOT provided From 83019e160db8a1d3c98786c25fd101dd9de4a5dc Mon Sep 17 00:00:00 2001 From: fzorb Date: Sun, 20 Jul 2025 23:28:08 +0300 Subject: [PATCH 03/18] edit config.yml --- src/main/resources/config.yml | 61 ++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 0a2aa35..1d40994 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1 +1,60 @@ -format: "<{{username}}> {{message}}" #you can use MiniMessage! +format: "<{{pride_start}}{{username}}{{pride_end}}> {{message}}" #you can use MiniMessage! + +defaultPride: pride +prides: + - pride + - progress + - trans + - bi + - pan + - nb + - lesbian + - ace + - agender + - demisexual + - genderqueer + - genderfluid + - intersex + - aro + - queer + - gay + - bigender + - demigender + +pride: + pride: + normalName: Pride + progress: + normalName: Progress + trans: + normalName: Transgender + bi: + normalName: Bisexual + pan: + normalName: Pansexual + nb: + normalName: Non-Binary + lesbian: + normalName: Lesbian + ace: + normalName: Asexual + agender: + normalName: Agender + demisexual: + normalName: Demisexual + genderqueer: + normalName: Genderqueer + genderfluid: + normalName: Genderfluid + intersex: + normalName: Intersex + aro: + normalName: Aromantic + queer: + normalName: Queer + gay: + normalName: Gay + bigender: + normalName: Bigender + demigender: + normalName: Demigender From 3fd16f2957df0e40c70d5728f1b84047e75b785d Mon Sep 17 00:00:00 2001 From: fzorb Date: Sun, 20 Jul 2025 23:34:56 +0300 Subject: [PATCH 04/18] no need for a defaultpride, this is optional after all. --- src/main/resources/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 1d40994..c494fa9 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,6 +1,5 @@ format: "<{{pride_start}}{{username}}{{pride_end}}> {{message}}" #you can use MiniMessage! -defaultPride: pride prides: - pride - progress From b6b80874c844869c2ce0b059d5cd1431e04fd99d Mon Sep 17 00:00:00 2001 From: fzorb Date: Sun, 20 Jul 2025 23:38:39 +0300 Subject: [PATCH 05/18] basic database config thing --- .../NoThankYouMicrosoft.java | 27 +++++++++++++++++++ src/main/resources/database.yml | 3 +++ 2 files changed, 30 insertions(+) create mode 100644 src/main/resources/database.yml diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java index 68eb2e8..819c1da 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java @@ -1,21 +1,48 @@ package xyz.fzorb.noThankYouMicrosoft; +import org.bukkit.configuration.InvalidConfigurationException; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.java.JavaPlugin; +import java.io.File; +import java.io.IOException; + public final class NoThankYouMicrosoft extends JavaPlugin { private static JavaPlugin instance; + private File databaseFile; + private FileConfiguration databaseFileConfig; @Override public void onEnable() { instance = this; this.saveDefaultConfig(); + createDatabaseConfig(); this.getServer().getPluginManager().registerEvents(new messageListener(), this); } + private void createDatabaseConfig() { + databaseFile = new File(getDataFolder(), "database.yml"); + if (!databaseFile.exists()) { + databaseFile.getParentFile().mkdirs(); + saveResource("database.yml", false); + } + + databaseFileConfig = new YamlConfiguration(); + try { + databaseFileConfig.load(databaseFile); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); + } + } + public static JavaPlugin getInstance() { return instance; } + public FileConfiguration getDatabase() { + return this.databaseFileConfig; + } @Override public void onDisable() { diff --git a/src/main/resources/database.yml b/src/main/resources/database.yml new file mode 100644 index 0000000..9bf0948 --- /dev/null +++ b/src/main/resources/database.yml @@ -0,0 +1,3 @@ +players: + uuid: + flag: pride \ No newline at end of file From 68844e611a7428ff36d6c2ebf5089f8fc1275bbe Mon Sep 17 00:00:00 2001 From: fzorb Date: Sun, 20 Jul 2025 23:42:47 +0300 Subject: [PATCH 06/18] finally add support for pride flags in messages --- .../java/xyz/fzorb/noThankYouMicrosoft/flagManager.java | 9 +++++++++ .../xyz/fzorb/noThankYouMicrosoft/messageListener.java | 7 ++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java new file mode 100644 index 0000000..039dcf6 --- /dev/null +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java @@ -0,0 +1,9 @@ +package xyz.fzorb.noThankYouMicrosoft; + +import java.util.UUID; + +public class flagManager { + public static String getUserPride(UUID uuid) { + return "pride"; + } +} diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java index f645325..993e32f 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java @@ -14,6 +14,11 @@ public class messageListener implements Listener { String message = MiniMessage.miniMessage().serialize(event.message()); event.setCancelled(true); String format = NoThankYouMicrosoft.getInstance().getConfig().getString("format"); - Bukkit.getServer().broadcast(MiniMessage.miniMessage().deserialize(format.replace("{{username}}", player.getDisplayName()).replace("{{message}}", message))); + Bukkit.getServer().broadcast(MiniMessage.miniMessage().deserialize(format + .replace("{{username}}", player.getDisplayName()) + .replace("{{message}}", message) + .replace("{{pride_start}}", "".format(flagManager.getUserPride(player.getUniqueId()))) + .replace("{{pride_end}}", "") + )); } } From f4583bc2ecb1566f211952c8ce57fd3066ce5c9c Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 07:55:03 +0300 Subject: [PATCH 07/18] make flag-related things static --- .../fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java index 819c1da..1ff1095 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java @@ -11,8 +11,8 @@ import java.io.IOException; public final class NoThankYouMicrosoft extends JavaPlugin { private static JavaPlugin instance; - private File databaseFile; - private FileConfiguration databaseFileConfig; + private static File databaseFile; + private static FileConfiguration databaseFileConfig; @Override public void onEnable() { @@ -40,8 +40,8 @@ public final class NoThankYouMicrosoft extends JavaPlugin { public static JavaPlugin getInstance() { return instance; } - public FileConfiguration getDatabase() { - return this.databaseFileConfig; + public static FileConfiguration getDatabase() { + return databaseFileConfig; } @Override From 41f21bc539a2a21af22a196360ef1ff8c2f20e78 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 07:55:42 +0300 Subject: [PATCH 08/18] people SHOULD be smart enough to figure these out by themselves --- src/main/resources/config.yml | 40 +---------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index c494fa9..d52c603 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -18,42 +18,4 @@ prides: - queer - gay - bigender - - demigender - -pride: - pride: - normalName: Pride - progress: - normalName: Progress - trans: - normalName: Transgender - bi: - normalName: Bisexual - pan: - normalName: Pansexual - nb: - normalName: Non-Binary - lesbian: - normalName: Lesbian - ace: - normalName: Asexual - agender: - normalName: Agender - demisexual: - normalName: Demisexual - genderqueer: - normalName: Genderqueer - genderfluid: - normalName: Genderfluid - intersex: - normalName: Intersex - aro: - normalName: Aromantic - queer: - normalName: Queer - gay: - normalName: Gay - bigender: - normalName: Bigender - demigender: - normalName: Demigender + - demigender \ No newline at end of file From a0909717fd81a3555cdbb764781415973ab8fe64 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 08:08:13 +0300 Subject: [PATCH 09/18] separate the final message from the broadcast --- .../xyz/fzorb/noThankYouMicrosoft/messageListener.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java index 993e32f..add05d3 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java @@ -14,11 +14,12 @@ public class messageListener implements Listener { String message = MiniMessage.miniMessage().serialize(event.message()); event.setCancelled(true); String format = NoThankYouMicrosoft.getInstance().getConfig().getString("format"); - Bukkit.getServer().broadcast(MiniMessage.miniMessage().deserialize(format + String finalMessage = format .replace("{{username}}", player.getDisplayName()) .replace("{{message}}", message) - .replace("{{pride_start}}", "".format(flagManager.getUserPride(player.getUniqueId()))) - .replace("{{pride_end}}", "") - )); + .replace("{{pride_start}}", "") + .replace("{{pride_end}}", ""); + Bukkit.getServer().broadcast(MiniMessage.miniMessage().deserialize(finalMessage)); + } } From 6c41124db426410e57a7a6f8fa5f904bcb3cc174 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 08:08:21 +0300 Subject: [PATCH 10/18] add basic pride flag loading --- .../java/xyz/fzorb/noThankYouMicrosoft/flagManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java index 039dcf6..e834468 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java @@ -4,6 +4,11 @@ import java.util.UUID; public class flagManager { public static String getUserPride(UUID uuid) { - return "pride"; + String pride = NoThankYouMicrosoft.getDatabase().getString("player.%s.flag".formatted(uuid.toString())); + if (pride == null) { + return "none"; + } else { + return pride; + } } } From a054eb096ed93668870d34f0e282f15281d126c3 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 08:16:37 +0300 Subject: [PATCH 11/18] make createDatabaseConfig() public --- .../java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java index 1ff1095..a0ee42a 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java @@ -22,7 +22,7 @@ public final class NoThankYouMicrosoft extends JavaPlugin { this.getServer().getPluginManager().registerEvents(new messageListener(), this); } - private void createDatabaseConfig() { + public void createDatabaseConfig() { databaseFile = new File(getDataFolder(), "database.yml"); if (!databaseFile.exists()) { databaseFile.getParentFile().mkdirs(); From 45c277087337800762826edd922c4018586e040c Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 08:22:04 +0300 Subject: [PATCH 12/18] add reReadDatabase() --- .../noThankYouMicrosoft/NoThankYouMicrosoft.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java index a0ee42a..ebb5c8e 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java @@ -22,7 +22,7 @@ public final class NoThankYouMicrosoft extends JavaPlugin { this.getServer().getPluginManager().registerEvents(new messageListener(), this); } - public void createDatabaseConfig() { + private void createDatabaseConfig() { databaseFile = new File(getDataFolder(), "database.yml"); if (!databaseFile.exists()) { databaseFile.getParentFile().mkdirs(); @@ -37,6 +37,16 @@ public final class NoThankYouMicrosoft extends JavaPlugin { } } + public void reReadDatabase() { + databaseFile = new File(getDataFolder(), "database.yml"); + databaseFileConfig = new YamlConfiguration(); + try { + databaseFileConfig.load(databaseFile); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); + } + } + public static JavaPlugin getInstance() { return instance; } From c882fe6031235c4293e714c4c8ca3497c9d824f9 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 08:22:23 +0300 Subject: [PATCH 13/18] make reReadDatabase() static --- .../java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java index ebb5c8e..c3f0bae 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java @@ -37,7 +37,7 @@ public final class NoThankYouMicrosoft extends JavaPlugin { } } - public void reReadDatabase() { + public static void reReadDatabase() { databaseFile = new File(getDataFolder(), "database.yml"); databaseFileConfig = new YamlConfiguration(); try { From 04dcf231451db90135d307b12681e8219b00c84a Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 16:19:12 +0300 Subject: [PATCH 14/18] add pride command in config --- src/main/resources/plugin.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 02605ec..caed1af 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -6,3 +6,7 @@ prefix: nTYM authors: [ fzorb ] description: Rewrites your Minecraft messages to make them unreportable website: https://git.fzorb.xyz/fzorb/noThankYouMicrosoft +commands: + pride: + description: Open pride selection menu + usage: /pride From c1c736a034f4104b29ca27cfbd9a2ef14ce2eae2 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 16:20:19 +0300 Subject: [PATCH 15/18] fix configuration reloading --- .../xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java index c3f0bae..14997bc 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java @@ -12,7 +12,7 @@ public final class NoThankYouMicrosoft extends JavaPlugin { private static JavaPlugin instance; private static File databaseFile; - private static FileConfiguration databaseFileConfig; + private static YamlConfiguration databaseFileConfig; @Override public void onEnable() { @@ -37,8 +37,8 @@ public final class NoThankYouMicrosoft extends JavaPlugin { } } - public static void reReadDatabase() { - databaseFile = new File(getDataFolder(), "database.yml"); + public static void reReadDatabase(JavaPlugin instance) { + File databaseFile = new File(instance.getDataFolder(), "database.yml"); databaseFileConfig = new YamlConfiguration(); try { databaseFileConfig.load(databaseFile); From 3943c3d23939b9c57ab539253797dabbbbeab603 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 22:02:47 +0300 Subject: [PATCH 16/18] forgot this --- .../fzorb/noThankYouMicrosoft/messageListener.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java index add05d3..c5110ec 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/messageListener.java @@ -16,9 +16,16 @@ public class messageListener implements Listener { String format = NoThankYouMicrosoft.getInstance().getConfig().getString("format"); String finalMessage = format .replace("{{username}}", player.getDisplayName()) - .replace("{{message}}", message) - .replace("{{pride_start}}", "") - .replace("{{pride_end}}", ""); + .replace("{{message}}", message); + if (!flagManager.getUserPride(player.getUniqueId()).equals("none")) { + finalMessage = finalMessage + .replace("{{pride_start}}", "") + .replace("{{pride_end}}", ""); + } else { + finalMessage = finalMessage + .replace("{{pride_start}}", "") + .replace("{{pride_end}}", ""); + } Bukkit.getServer().broadcast(MiniMessage.miniMessage().deserialize(finalMessage)); } From a80fb99bdc38d059848a2209213a023723ff287d Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 22:04:19 +0300 Subject: [PATCH 17/18] add chestgui --- .../NoThankYouMicrosoft.java | 13 +++++ .../flagFrontend/menuEvents.java | 22 ++++++++ .../flagFrontend/prideCommand.java | 18 +++++++ .../flagFrontend/prideMenu.java | 52 +++++++++++++++++++ .../noThankYouMicrosoft/flagManager.java | 9 +++- 5 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/menuEvents.java create mode 100644 src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideCommand.java create mode 100644 src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideMenu.java diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java index 14997bc..3e51cfc 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/NoThankYouMicrosoft.java @@ -4,6 +4,8 @@ import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.java.JavaPlugin; +import xyz.fzorb.noThankYouMicrosoft.flagFrontend.menuEvents; +import xyz.fzorb.noThankYouMicrosoft.flagFrontend.prideCommand; import java.io.File; import java.io.IOException; @@ -20,6 +22,8 @@ public final class NoThankYouMicrosoft extends JavaPlugin { this.saveDefaultConfig(); createDatabaseConfig(); this.getServer().getPluginManager().registerEvents(new messageListener(), this); + this.getServer().getPluginManager().registerEvents(new menuEvents(), this); + this.getCommand("pride").setExecutor(new prideCommand()); } private void createDatabaseConfig() { @@ -47,6 +51,15 @@ public final class NoThankYouMicrosoft extends JavaPlugin { } } + public static void saveDatabase(JavaPlugin instance) { + File databaseFile = new File(instance.getDataFolder(), "database.yml"); + try { + databaseFileConfig.save(databaseFile); + } catch (IOException e) { + e.printStackTrace(); + } + } + public static JavaPlugin getInstance() { return instance; } diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/menuEvents.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/menuEvents.java new file mode 100644 index 0000000..e76d5f2 --- /dev/null +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/menuEvents.java @@ -0,0 +1,22 @@ +package xyz.fzorb.noThankYouMicrosoft.flagFrontend; + +import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.inventory.ItemStack; +import xyz.fzorb.noThankYouMicrosoft.flagManager; + +public class menuEvents implements Listener { + @EventHandler + public static void onPlayerInteractWithChestGUI(InventoryClickEvent event) { + if (event.getInventory().equals(prideMenu.prideMenus.get(event.getWhoClicked().getUniqueId()))) { + event.setCancelled(true); + event.getInventory().close(); + prideMenu.prideMenus.remove(event.getWhoClicked().getUniqueId()); + ItemStack item = event.getCurrentItem(); + String pride = PlainTextComponentSerializer.plainText().serialize(item.getItemMeta().displayName()); + flagManager.setUserPride(event.getWhoClicked().getUniqueId(), pride); + } + } +} diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideCommand.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideCommand.java new file mode 100644 index 0000000..f1676bb --- /dev/null +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideCommand.java @@ -0,0 +1,18 @@ +package xyz.fzorb.noThankYouMicrosoft.flagFrontend; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import xyz.fzorb.noThankYouMicrosoft.flagManager; + +public class prideCommand implements CommandExecutor { + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if (!(sender instanceof Player)) { return true; } + prideMenu.prideMenus.put(((Player) sender).getUniqueId(), prideMenu.generatePrideMenu()); + ((Player) sender).openInventory(prideMenu.prideMenus.get(((Player) sender).getUniqueId())); + return true; + } +} diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideMenu.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideMenu.java new file mode 100644 index 0000000..c1ed7f3 --- /dev/null +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagFrontend/prideMenu.java @@ -0,0 +1,52 @@ +package xyz.fzorb.noThankYouMicrosoft.flagFrontend; + +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import xyz.fzorb.noThankYouMicrosoft.NoThankYouMicrosoft; + +import java.util.*; + +public class prideMenu { + + public static final Map prideMenus = new HashMap<>(); + + public static Integer calculateRows(Integer number) { + if (number <= 9) { return 9; } + else if (number <= 18) { return 18; } + else if (number <= 27) { return 27; } + else if (number <= 36) { return 36; } + else if (number <= 45) { return 45; } + else if (number <= 54) { return 54; } + return 0; // this can NEVER be the case, can it? who am I kidding, I DOUBT there will ever be more than 54 flags! + } + + public static ItemStack generatePrideItem(String pride) { + ItemStack is = new ItemStack(Material.PAPER, 1); + ItemMeta im = is.getItemMeta(); + im.displayName(MiniMessage.miniMessage().deserialize("" + pride + "")); + is.setItemMeta(im); + return is; + } + + public static ItemStack generateNoPrideItem() { + ItemStack is = new ItemStack(Material.BARRIER, 1); + ItemMeta im = is.getItemMeta(); + im.displayName(MiniMessage.miniMessage().deserialize("none")); + is.setItemMeta(im); + return is; + } + + public static Inventory generatePrideMenu() { + List prides = NoThankYouMicrosoft.getInstance().getConfig().getStringList("prides"); + Inventory inventory = Bukkit.createInventory(null, calculateRows(prides.toArray().length + 1), MiniMessage.miniMessage().deserialize("Choose your flag")); + for (String pride : prides) { + inventory.addItem(generatePrideItem(pride)); + } + inventory.addItem(generateNoPrideItem()); + return inventory; + } +} diff --git a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java index e834468..449efc9 100644 --- a/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java +++ b/src/main/java/xyz/fzorb/noThankYouMicrosoft/flagManager.java @@ -4,11 +4,18 @@ import java.util.UUID; public class flagManager { public static String getUserPride(UUID uuid) { - String pride = NoThankYouMicrosoft.getDatabase().getString("player.%s.flag".formatted(uuid.toString())); + NoThankYouMicrosoft.reReadDatabase(NoThankYouMicrosoft.getInstance()); + String pride = NoThankYouMicrosoft.getDatabase().getString("players.%s.flag".formatted(uuid.toString())); if (pride == null) { return "none"; } else { return pride; } } + + public static void setUserPride(UUID uuid, String pride) { + NoThankYouMicrosoft.reReadDatabase(NoThankYouMicrosoft.getInstance()); + NoThankYouMicrosoft.getDatabase().set("players.%s.flag".formatted(uuid.toString()), pride); + NoThankYouMicrosoft.saveDatabase(NoThankYouMicrosoft.getInstance()); + } } From ed3799313493fcca4c0e594452db160e265fd059 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 21 Jul 2025 22:05:17 +0300 Subject: [PATCH 18/18] update readme.md --- readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 0e92981..8c07265 100644 --- a/readme.md +++ b/readme.md @@ -1,10 +1,10 @@ # No, thank you, Microsoft +This is the gay version! + This plugin was created with the scope of being an incredibly simple way to remove the ability for Mojang to snoop through you messages by reimplementing the PlayerChatEvent to be a server broadcast, however, I have added some interesting features. When making this plugin, I took the liberty to make it so you can customise how the messages look using [MiniMessage](https://docs.advntr.dev/minimessage/index.html). Keep in mind that players can also format the message content with MiniMessage. It is very lightweight, having a little under 50 lines of code, however this might change when I will get to implementing PlaceholderAPI support. -Licensed under WTFPL. - -Download from the [releases tab](https://git.fzorb.xyz/fzorb/noThankYouMicrosoft/releases). \ No newline at end of file +Licensed under WTFPL. \ No newline at end of file