mirror of
https://github.com/hyperdefined/ToolStats.git
synced 2025-12-06 06:41:44 +00:00
misc cleanup
This commit is contained in:
@@ -137,6 +137,11 @@ public class CommandToolStats implements TabExecutor {
|
|||||||
sender.sendMessage(Component.text("Invalid token type.", NamedTextColor.RED));
|
sender.sendMessage(Component.text("Invalid token type.", NamedTextColor.RED));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
// make sure tokens are enabled before giving
|
||||||
|
if (!toolStats.config.getBoolean("tokens.enabled")) {
|
||||||
|
sender.sendMessage(Component.text("Unable to give tokens. Tokens are disabled", NamedTextColor.RED));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
// if the user does not send in a number, default to 1
|
// if the user does not send in a number, default to 1
|
||||||
int amount = 1;
|
int amount = 1;
|
||||||
if (args.length >= 4) {
|
if (args.length >= 4) {
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ public class AnvilEvent implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onAnvilEvent(PrepareAnvilEvent event) {
|
public void onAnvilEvent(PrepareAnvilEvent event) {
|
||||||
|
// only listen if the token system is enabled
|
||||||
|
if (!toolStats.config.getBoolean("tokens.enabled")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
AnvilInventory inventory = event.getInventory();
|
AnvilInventory inventory = event.getInventory();
|
||||||
|
|
||||||
ItemStack firstSlot = inventory.getItem(0);
|
ItemStack firstSlot = inventory.getItem(0);
|
||||||
@@ -58,7 +62,6 @@ public class AnvilEvent implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PersistentDataContainer firstSlotContainer = firstSlot.getItemMeta().getPersistentDataContainer();
|
|
||||||
PersistentDataContainer secondSlotContainer = secondSlot.getItemMeta().getPersistentDataContainer();
|
PersistentDataContainer secondSlotContainer = secondSlot.getItemMeta().getPersistentDataContainer();
|
||||||
|
|
||||||
// make sure the 2nd item is one of ours
|
// make sure the 2nd item is one of ours
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package lol.hyper.toolstats.events;
|
|||||||
|
|
||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -112,19 +111,7 @@ public class EntityDamage implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
PlayerInventory shootingPlayerInventory = shootingPlayer.getInventory();
|
PlayerInventory shootingPlayerInventory = shootingPlayer.getInventory();
|
||||||
ItemStack main = shootingPlayerInventory.getItemInMainHand();
|
ItemStack heldBow = toolStats.itemChecker.getBow(shootingPlayerInventory);
|
||||||
ItemStack offHand = shootingPlayerInventory.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 (isMain) {
|
|
||||||
heldBow = main;
|
|
||||||
}
|
|
||||||
if (isOffHand) {
|
|
||||||
heldBow = offHand;
|
|
||||||
}
|
|
||||||
|
|
||||||
// player swapped
|
|
||||||
if (heldBow == null) {
|
if (heldBow == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.bukkit.inventory.PlayerInventory;
|
|||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -61,7 +60,7 @@ public class PlayerFish implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack fishingRod = getFishingRod(player.getInventory());
|
ItemStack fishingRod = toolStats.itemChecker.getFishingRod(player.getInventory());
|
||||||
// player swapped items?
|
// player swapped items?
|
||||||
if (fishingRod == null) {
|
if (fishingRod == null) {
|
||||||
return;
|
return;
|
||||||
@@ -95,32 +94,6 @@ public class PlayerFish implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the player's fishing rod.
|
|
||||||
*
|
|
||||||
* @param inventory Their inventory.
|
|
||||||
* @return Their fishing rod, either main or offhand.
|
|
||||||
*/
|
|
||||||
private static @Nullable ItemStack getFishingRod(PlayerInventory inventory) {
|
|
||||||
ItemStack main = inventory.getItemInMainHand();
|
|
||||||
ItemStack offHand = inventory.getItemInOffHand();
|
|
||||||
|
|
||||||
boolean isMain = main.getType() == Material.FISHING_ROD;
|
|
||||||
boolean isOffHand = offHand.getType() == Material.FISHING_ROD;
|
|
||||||
|
|
||||||
// if the player is holding a fishing rod in their main hand, use that one
|
|
||||||
// if the fishing rod is 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) {
|
|
||||||
return offHand;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add lore to newly caught item.
|
* Add lore to newly caught item.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import org.bukkit.event.Listener;
|
|||||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.PlayerInventory;
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
public class SheepShear implements Listener {
|
public class SheepShear implements Listener {
|
||||||
|
|
||||||
@@ -53,7 +52,7 @@ public class SheepShear implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack heldShears = getShears(player.getInventory());
|
ItemStack heldShears = toolStats.itemChecker.getShears(player.getInventory());
|
||||||
// player swapped or we can't get the shears
|
// player swapped or we can't get the shears
|
||||||
if (heldShears == null) {
|
if (heldShears == null) {
|
||||||
return;
|
return;
|
||||||
@@ -78,30 +77,4 @@ public class SheepShear implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the player's shears.
|
|
||||||
*
|
|
||||||
* @param inventory Their inventory.
|
|
||||||
* @return Their shears, either main or offhand.
|
|
||||||
*/
|
|
||||||
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) {
|
|
||||||
return offHand;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
package lol.hyper.toolstats.events;
|
package lol.hyper.toolstats.events;
|
||||||
|
|
||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import net.kyori.adventure.text.Component;
|
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
@@ -29,13 +28,8 @@ import org.bukkit.event.Listener;
|
|||||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.PlayerInventory;
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ShootBow implements Listener {
|
public class ShootBow implements Listener {
|
||||||
|
|
||||||
private final ToolStats toolStats;
|
private final ToolStats toolStats;
|
||||||
@@ -56,7 +50,7 @@ public class ShootBow implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack heldBow = getBow(player.getInventory());
|
ItemStack heldBow = toolStats.itemChecker.getBow(player.getInventory());
|
||||||
// player swapped or we can't get the bow
|
// player swapped or we can't get the bow
|
||||||
if (heldBow == null) {
|
if (heldBow == null) {
|
||||||
return;
|
return;
|
||||||
@@ -75,30 +69,4 @@ public class ShootBow implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the player's bow/crossbow.
|
|
||||||
*
|
|
||||||
* @param inventory Their inventory.
|
|
||||||
* @return Their bow/crossbow, either main or offhand.
|
|
||||||
*/
|
|
||||||
private static @Nullable ItemStack getBow(PlayerInventory inventory) {
|
|
||||||
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;
|
|
||||||
|
|
||||||
// if the player is holding a bow in their main hand, use that one
|
|
||||||
// if the bow is 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) {
|
|
||||||
return offHand;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,9 +20,11 @@ package lol.hyper.toolstats.tools;
|
|||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -200,4 +202,82 @@ public class ItemChecker {
|
|||||||
public int getCost(String tokenType) {
|
public int getCost(String tokenType) {
|
||||||
return toolStats.config.getInt("tokens.data." + tokenType + ".levels");
|
return toolStats.config.getInt("tokens.data." + tokenType + ".levels");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the player's bow/crossbow.
|
||||||
|
*
|
||||||
|
* @param inventory Their inventory.
|
||||||
|
* @return Their bow/crossbow, either main or offhand.
|
||||||
|
*/
|
||||||
|
public @Nullable ItemStack getBow(PlayerInventory inventory) {
|
||||||
|
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;
|
||||||
|
|
||||||
|
// if the player is holding a bow in their main hand, use that one
|
||||||
|
// if the bow is 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) {
|
||||||
|
return offHand;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the player's shears.
|
||||||
|
*
|
||||||
|
* @param inventory Their inventory.
|
||||||
|
* @return Their shears, either main or offhand.
|
||||||
|
*/
|
||||||
|
public @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) {
|
||||||
|
return offHand;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the player's fishing rod.
|
||||||
|
*
|
||||||
|
* @param inventory Their inventory.
|
||||||
|
* @return Their fishing rod, either main or offhand.
|
||||||
|
*/
|
||||||
|
public @Nullable ItemStack getFishingRod(PlayerInventory inventory) {
|
||||||
|
ItemStack main = inventory.getItemInMainHand();
|
||||||
|
ItemStack offHand = inventory.getItemInOffHand();
|
||||||
|
|
||||||
|
boolean isMain = main.getType() == Material.FISHING_ROD;
|
||||||
|
boolean isOffHand = offHand.getType() == Material.FISHING_ROD;
|
||||||
|
|
||||||
|
// if the player is holding a fishing rod in their main hand, use that one
|
||||||
|
// if the fishing rod is 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) {
|
||||||
|
return offHand;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ package lol.hyper.toolstats.tools.config;
|
|||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.NamespacedKey;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
|
|||||||
Reference in New Issue
Block a user