diff --git a/src/main/java/lol/hyper/toolstats/ToolStats.java b/src/main/java/lol/hyper/toolstats/ToolStats.java index 2fcac12..a3e554e 100644 --- a/src/main/java/lol/hyper/toolstats/ToolStats.java +++ b/src/main/java/lol/hyper/toolstats/ToolStats.java @@ -27,8 +27,6 @@ import lol.hyper.toolstats.tools.ItemLore; import lol.hyper.toolstats.tools.NumberFormat; import lol.hyper.toolstats.tools.config.ConfigTools; import lol.hyper.toolstats.tools.config.ConfigUpdater; -import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.format.NamedTextColor; import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; @@ -205,7 +203,7 @@ public final class ToolStats extends JavaPlugin { e.printStackTrace(); return; } - GitHubRelease current = api.getReleaseByTag(this.getDescription().getVersion()); + GitHubRelease current = api.getReleaseByTag(this.getPluginMeta().getVersion()); GitHubRelease latest = api.getLatestVersion(); if (current == null) { logger.warning("You are running a version that does not exist on GitHub. If you are in a dev environment, you can ignore this. Otherwise, this is a bug!"); diff --git a/src/main/java/lol/hyper/toolstats/events/BlocksMined.java b/src/main/java/lol/hyper/toolstats/events/BlocksMined.java index 07cf786..7edbc7f 100644 --- a/src/main/java/lol/hyper/toolstats/events/BlocksMined.java +++ b/src/main/java/lol/hyper/toolstats/events/BlocksMined.java @@ -17,7 +17,6 @@ package lol.hyper.toolstats.events; -import io.papermc.paper.threadedregions.scheduler.ScheduledTask; import lol.hyper.toolstats.ToolStats; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; @@ -35,11 +34,9 @@ import org.bukkit.inventory.PlayerInventory; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; -import org.bukkit.scheduler.BukkitRunnable; import java.util.List; import java.util.Locale; -import java.util.function.Consumer; public class BlocksMined implements Listener { diff --git a/src/main/java/lol/hyper/toolstats/events/EntityDamage.java b/src/main/java/lol/hyper/toolstats/events/EntityDamage.java index ae3419c..abfd66a 100644 --- a/src/main/java/lol/hyper/toolstats/events/EntityDamage.java +++ b/src/main/java/lol/hyper/toolstats/events/EntityDamage.java @@ -107,20 +107,16 @@ public class EntityDamage implements Listener { return; } PlayerInventory inventory = shootingPlayer.getInventory(); - boolean isMainHand = inventory.getItemInMainHand().getType() == Material.BOW || inventory.getItemInMainHand().getType() == Material.CROSSBOW; - boolean isOffHand = inventory.getItemInOffHand().getType() == Material.BOW || inventory.getItemInMainHand().getType() == Material.CROSSBOW; + ItemStack main = inventory.getItemInMainHand(); + ItemStack offHand = inventory.getItemInOffHand(); + boolean isMain = main.getType() == Material.BOW || main.getType() == Material.CROSSBOW; + boolean isOffHand = offHand.getType() == Material.BOW || offHand.getType() == Material.CROSSBOW; ItemStack heldBow = null; - if (isMainHand) { - heldBow = inventory.getItemInMainHand(); + if (isMain) { + heldBow = main; } if (isOffHand) { - heldBow = inventory.getItemInOffHand(); - } - - // if the player is holding a bow in both hands - // default to main hand since that takes priority - if (isMainHand && isOffHand) { - heldBow = inventory.getItemInMainHand(); + heldBow = offHand; } // player swapped diff --git a/src/main/java/lol/hyper/toolstats/events/InventoryOpen.java b/src/main/java/lol/hyper/toolstats/events/InventoryOpen.java index 59aff6d..aa4680b 100644 --- a/src/main/java/lol/hyper/toolstats/events/InventoryOpen.java +++ b/src/main/java/lol/hyper/toolstats/events/InventoryOpen.java @@ -17,7 +17,6 @@ package lol.hyper.toolstats.events; -import io.papermc.paper.threadedregions.scheduler.ScheduledTask; import lol.hyper.toolstats.ToolStats; import lol.hyper.toolstats.tools.UUIDDataType; import org.bukkit.Bukkit; @@ -30,10 +29,8 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; -import org.bukkit.scheduler.BukkitRunnable; import java.util.UUID; -import java.util.function.Consumer; public class InventoryOpen implements Listener { diff --git a/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java b/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java index d6582b3..5234bca 100644 --- a/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java +++ b/src/main/java/lol/hyper/toolstats/events/PlayerInteract.java @@ -17,7 +17,6 @@ package lol.hyper.toolstats.events; -import io.papermc.paper.threadedregions.scheduler.ScheduledTask; import lol.hyper.toolstats.ToolStats; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -32,11 +31,9 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.scheduler.BukkitRunnable; import java.util.HashMap; import java.util.Map; -import java.util.function.Consumer; public class PlayerInteract implements Listener { diff --git a/src/main/java/lol/hyper/toolstats/events/PlayerJoin.java b/src/main/java/lol/hyper/toolstats/events/PlayerJoin.java index 8c15d10..447cba4 100644 --- a/src/main/java/lol/hyper/toolstats/events/PlayerJoin.java +++ b/src/main/java/lol/hyper/toolstats/events/PlayerJoin.java @@ -17,7 +17,6 @@ package lol.hyper.toolstats.events; -import io.papermc.paper.threadedregions.scheduler.ScheduledTask; import lol.hyper.toolstats.ToolStats; import lol.hyper.toolstats.tools.UUIDDataType; import org.bukkit.entity.Player; @@ -29,10 +28,8 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; -import org.bukkit.scheduler.BukkitRunnable; import java.util.UUID; -import java.util.function.Consumer; public class PlayerJoin implements Listener { diff --git a/src/main/java/lol/hyper/toolstats/events/SheepShear.java b/src/main/java/lol/hyper/toolstats/events/SheepShear.java index b354ce2..5c43e66 100644 --- a/src/main/java/lol/hyper/toolstats/events/SheepShear.java +++ b/src/main/java/lol/hyper/toolstats/events/SheepShear.java @@ -59,9 +59,9 @@ public class SheepShear implements Listener { return; } - ItemStack shears = getShears(player); - // player swapped items? - if (shears == null) { + ItemStack heldShears = getShears(player.getInventory()); + // player swapped or we can't get the shears + if (heldShears == null) { return; } @@ -71,27 +71,27 @@ public class SheepShear implements Listener { } // update the stats - addLore(shears); + addLore(heldShears); } - private static @Nullable ItemStack getShears(Player player) { - PlayerInventory inventory = player.getInventory(); - boolean isMainHand = inventory.getItemInMainHand().getType() == Material.SHEARS; - boolean isOffHand = inventory.getItemInOffHand().getType() == Material.SHEARS; - ItemStack shears = null; - if (isMainHand) { - shears = inventory.getItemInMainHand(); + private static @Nullable ItemStack getShears(PlayerInventory inventory) { + ItemStack main = inventory.getItemInMainHand(); + ItemStack offHand = inventory.getItemInOffHand(); + + boolean isMain = main.getType() == Material.SHEARS; + boolean isOffHand = offHand.getType() == Material.SHEARS; + + // if the player is holding shears in their main hand, use that one + // if the shears are in their offhand instead, use that one after checking main hand + // Minecraft prioritizes main hand if the player holds in both hands + if (isMain) { + return main; } if (isOffHand) { - shears = inventory.getItemInOffHand(); + return offHand; } - // if the player is hold shears in both hands - // default to main hand since that takes priority - if (isMainHand && isOffHand) { - shears = inventory.getItemInMainHand(); - } - return shears; + return null; } /** diff --git a/src/main/java/lol/hyper/toolstats/events/VillagerTrade.java b/src/main/java/lol/hyper/toolstats/events/VillagerTrade.java index 0488ff5..be6d8f8 100644 --- a/src/main/java/lol/hyper/toolstats/events/VillagerTrade.java +++ b/src/main/java/lol/hyper/toolstats/events/VillagerTrade.java @@ -20,7 +20,6 @@ package lol.hyper.toolstats.events; import lol.hyper.toolstats.ToolStats; import lol.hyper.toolstats.tools.UUIDDataType; import net.kyori.adventure.text.Component; -import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/lol/hyper/toolstats/tools/ItemLore.java b/src/main/java/lol/hyper/toolstats/tools/ItemLore.java index 93b1b10..f9eefdd 100644 --- a/src/main/java/lol/hyper/toolstats/tools/ItemLore.java +++ b/src/main/java/lol/hyper/toolstats/tools/ItemLore.java @@ -19,7 +19,6 @@ package lol.hyper.toolstats.tools; import lol.hyper.toolstats.ToolStats; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; diff --git a/src/main/java/lol/hyper/toolstats/tools/UUIDDataType.java b/src/main/java/lol/hyper/toolstats/tools/UUIDDataType.java index a175458..b313cce 100644 --- a/src/main/java/lol/hyper/toolstats/tools/UUIDDataType.java +++ b/src/main/java/lol/hyper/toolstats/tools/UUIDDataType.java @@ -15,23 +15,6 @@ * along with ToolStats. If not, see . */ -/* - * This file is part of ToolStats. - * - * ToolStats is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * ToolStats is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with ToolStats. If not, see . - */ - package lol.hyper.toolstats.tools; import org.bukkit.persistence.PersistentDataAdapterContext;