diff options
Diffstat (limited to 'bukkit/src/main/java/com')
6 files changed, 16 insertions, 4 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminItemsCommandHandler.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminItemsCommandHandler.java index 81be5e83..6eb6b36f 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminItemsCommandHandler.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminItemsCommandHandler.java @@ -38,7 +38,7 @@ public class AdminItemsCommandHandler implements CommandHandler { sender.sendMessage(ChatColor.DARK_GRAY + "Give a quest item to a player using /q a items give <player> <id> <amount>."); } else if (args[2].equalsIgnoreCase("import") && sender instanceof Player) { Player player = (Player) sender; - ItemStack held = new ItemStack(player.getItemInHand()); + ItemStack held = plugin.getVersionSpecificHandler().getItemInMainHand(player).clone(); held.setAmount(1); if (held == null || held.getType() == Material.AIR) { diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java index 50d9b8c6..ecd509b4 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java @@ -25,4 +25,6 @@ public interface VersionSpecificHandler { @SuppressWarnings("BooleanMethodIsAlwaysInverted") boolean isHotbarMoveAndReaddSupported(); + + ItemStack getItemInMainHand(Player player); } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java index d3cc24c5..fbfc49c9 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java @@ -64,4 +64,10 @@ public class VersionSpecificHandler8 implements VersionSpecificHandler { public boolean isHotbarMoveAndReaddSupported() { return true; } + + @SuppressWarnings("deprecation") + @Override + public ItemStack getItemInMainHand(Player player) { + return player.getItemInHand(); + } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler9.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler9.java index 4b1156c1..b00fdb22 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler9.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler9.java @@ -42,4 +42,9 @@ public class VersionSpecificHandler9 extends VersionSpecificHandler8 implements public boolean isHotbarMoveAndReaddSupported() { return false; } + + @Override + public ItemStack getItemInMainHand(Player player) { + return player.getInventory().getItemInMainHand(); + } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java index 776f0878..5a28190f 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java @@ -26,10 +26,9 @@ public final class MilkingTaskType extends BukkitTaskType { super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); } - @SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onMilk(PlayerInteractEntityEvent event) { - if (!(event.getRightClicked() instanceof Cow) || (event.getPlayer().getItemInHand().getType() != Material.BUCKET)) { + if (!(event.getRightClicked() instanceof Cow) || (plugin.getVersionSpecificHandler().getItemInMainHand(event.getPlayer()).getType() != Material.BUCKET)) { return; } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java index b130cd32..e5461eba 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java @@ -128,7 +128,7 @@ public final class MobkillingTaskType extends BukkitTaskType { } if (task.hasConfigKey("item")) { - ItemStack item = killer.getItemInHand(); + ItemStack item = plugin.getVersionSpecificHandler().getItemInMainHand(killer); if (item == null) { super.debug("Specific item is required, player has no item in hand; continuing...", quest.getId(), task.getId(), killer.getUniqueId()); continue; |
