diff --git a/src/main/java/lol/hyper/toolstats/events/BlockBreak.java b/src/main/java/lol/hyper/toolstats/events/BlockBreak.java index 1964c6c..c5397fb 100644 --- a/src/main/java/lol/hyper/toolstats/events/BlockBreak.java +++ b/src/main/java/lol/hyper/toolstats/events/BlockBreak.java @@ -48,7 +48,7 @@ public class BlockBreak implements Listener { return; } Player player = event.getPlayer(); - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } PlayerInventory inventory = player.getInventory(); diff --git a/src/main/java/lol/hyper/toolstats/events/CraftItem.java b/src/main/java/lol/hyper/toolstats/events/CraftItem.java index 54fa333..703ef43 100644 --- a/src/main/java/lol/hyper/toolstats/events/CraftItem.java +++ b/src/main/java/lol/hyper/toolstats/events/CraftItem.java @@ -50,7 +50,7 @@ public class CraftItem implements Listener { return; } Player player = (Player) event.getWhoClicked(); - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } ItemStack craftedItem = event.getCurrentItem(); diff --git a/src/main/java/lol/hyper/toolstats/events/EntityDamage.java b/src/main/java/lol/hyper/toolstats/events/EntityDamage.java index 83bb053..dfe900f 100644 --- a/src/main/java/lol/hyper/toolstats/events/EntityDamage.java +++ b/src/main/java/lol/hyper/toolstats/events/EntityDamage.java @@ -156,7 +156,7 @@ public class EntityDamage implements Listener { // player is taking damage if (mobBeingAttacked instanceof Player playerTakingDamage) { - if (playerTakingDamage.getGameMode() == GameMode.CREATIVE || playerTakingDamage.getGameMode() == GameMode.SPECTATOR) { + if (playerTakingDamage.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } updateArmorDamage(playerTakingDamage.getInventory(), event.getFinalDamage()); diff --git a/src/main/java/lol/hyper/toolstats/events/PickupItem.java b/src/main/java/lol/hyper/toolstats/events/PickupItem.java index bcf9557..00b5870 100644 --- a/src/main/java/lol/hyper/toolstats/events/PickupItem.java +++ b/src/main/java/lol/hyper/toolstats/events/PickupItem.java @@ -54,7 +54,7 @@ public class PickupItem implements Listener { } Entity entity = event.getEntity(); if (entity instanceof Player player) { - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } Item item = event.getItem(); diff --git a/src/main/java/lol/hyper/toolstats/events/PlayerFish.java b/src/main/java/lol/hyper/toolstats/events/PlayerFish.java index a17232c..396480b 100644 --- a/src/main/java/lol/hyper/toolstats/events/PlayerFish.java +++ b/src/main/java/lol/hyper/toolstats/events/PlayerFish.java @@ -57,7 +57,7 @@ public class PlayerFish implements Listener { } Player player = event.getPlayer(); - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } diff --git a/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java b/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java index 5234bca..7ca538b 100644 --- a/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java +++ b/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java @@ -58,7 +58,7 @@ public class PlayerInteract implements Listener { } Player player = event.getPlayer(); - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } // store when a player opens a chest @@ -72,7 +72,7 @@ public class PlayerInteract implements Listener { public void onInteract(PlayerInteractEntityEvent event) { Entity clicked = event.getRightClicked(); Player player = event.getPlayer(); - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } // store when a player opens a minecart diff --git a/src/main/java/lol/hyper/toolstats/events/SheepShear.java b/src/main/java/lol/hyper/toolstats/events/SheepShear.java index 6e18c60..c77ced1 100644 --- a/src/main/java/lol/hyper/toolstats/events/SheepShear.java +++ b/src/main/java/lol/hyper/toolstats/events/SheepShear.java @@ -45,7 +45,7 @@ public class SheepShear implements Listener { return; } Player player = event.getPlayer(); - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } Entity entity = event.getRightClicked(); diff --git a/src/main/java/lol/hyper/toolstats/events/ShootBow.java b/src/main/java/lol/hyper/toolstats/events/ShootBow.java index dd44118..446167e 100644 --- a/src/main/java/lol/hyper/toolstats/events/ShootBow.java +++ b/src/main/java/lol/hyper/toolstats/events/ShootBow.java @@ -46,7 +46,7 @@ public class ShootBow implements Listener { return; } - if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.ADVENTURE) { + if (player.getGameMode() == GameMode.CREATIVE && !toolStats.config.getBoolean("allow-creative")) { return; } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index e30a1d7..bec6676 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -271,4 +271,7 @@ generate-hash-for-items: false # This makes dates for items more "normalized" instead of being at different times. normalize-time-creation: false +# Allows stats and origins to be tracked if the player is in creative mode. +allow-creative: false + config-version: 12 \ No newline at end of file