From 563edaf1fdfe13c3b044661c5928a491d60d44d7 Mon Sep 17 00:00:00 2001 From: freetolga Date: Sun, 6 Jul 2025 17:40:09 +0300 Subject: [PATCH] import NoAdvancementsInCreative commit 0482defcd6d0dac091f4dc1663800f39de02f717 --- .../NoAdvancementsInCreativeListener.java | 17 +++++++++++++++++ .../net/trueog/utilitiesog/UtilitiesOG.java | 6 ++++++ src/main/resources/config.yml | 4 +++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/trueog/utilitiesog/Listeners/NoAdvancementsInCreativeListener.java diff --git a/src/main/java/net/trueog/utilitiesog/Listeners/NoAdvancementsInCreativeListener.java b/src/main/java/net/trueog/utilitiesog/Listeners/NoAdvancementsInCreativeListener.java new file mode 100644 index 0000000..42a4f54 --- /dev/null +++ b/src/main/java/net/trueog/utilitiesog/Listeners/NoAdvancementsInCreativeListener.java @@ -0,0 +1,17 @@ +package net.trueog.utilitiesog.Listeners; +// Import libraries. +import com.destroystokyo.paper.event.player.PlayerAdvancementCriterionGrantEvent; +import org.bukkit.GameMode; +// Hook into Bukkit's Listener. +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; + +public class NoAdvancementsInCreativeListener implements Listener { + @EventHandler(priority = EventPriority.HIGHEST) + public void onAdvancementProgress(PlayerAdvancementCriterionGrantEvent event) { + if (event.getPlayer().getGameMode() != GameMode.SURVIVAL) { + event.setCancelled(true); + } + } +} diff --git a/src/main/java/net/trueog/utilitiesog/UtilitiesOG.java b/src/main/java/net/trueog/utilitiesog/UtilitiesOG.java index c77e48f..83298fb 100644 --- a/src/main/java/net/trueog/utilitiesog/UtilitiesOG.java +++ b/src/main/java/net/trueog/utilitiesog/UtilitiesOG.java @@ -19,6 +19,7 @@ import net.luckperms.api.model.user.User; import net.luckperms.api.node.Node; import net.luckperms.api.node.types.PrefixNode; import net.trueog.utilitiesog.Listeners.DisableEntityCrammingListener; +import net.trueog.utilitiesog.Listeners.NoAdvancementsInCreativeListener; import net.trueog.utilitiesog.Listeners.NoFlippyListener; import net.trueog.utilitiesog.Listeners.TogglePhantomsListener; import net.trueog.utilitiesog.commands.AboutCommand; @@ -183,6 +184,11 @@ public final class UtilitiesOG extends JavaPlugin { this.getCommand("togglephantoms").setExecutor(new TogglePhantomsCommand()); } + if (this.getConfig().getBoolean("NoAdvancementsInCreative")) { + + getServer().getPluginManager().registerEvents(new NoAdvancementsInCreativeListener(), this); + } + this.getCommand("utilities").setExecutor(new AboutCommand()); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 1409160..57606c4 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -16,4 +16,6 @@ TogglePhantoms: true # A /ping command that returns a player's real ping, in addition to a /bing command that replicates the functionality of the default /ping command. Default: true. Ping: true # Displays information to the player about the ranks available at the TrueOG Network Store (https://store.true-og.net/). Default: true. -RanksMenu: true \ No newline at end of file +RanksMenu: true +# Should players earn advancements in non survival game modes? +NoAdvancementsInCreative: true -- 2.47.3