From dc6a233c1bb924467a4dace63e56dab64f90026e Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Thu, 28 Sep 2023 01:26:54 +0200 Subject: [PATCH] Assign actual enchant levels when starting LavaFishing --- .../com/alttd/fishingevent/listeners/CatchFish.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/fishingevent/listeners/CatchFish.java b/src/main/java/com/alttd/fishingevent/listeners/CatchFish.java index 340bc9a..3d6d637 100644 --- a/src/main/java/com/alttd/fishingevent/listeners/CatchFish.java +++ b/src/main/java/com/alttd/fishingevent/listeners/CatchFish.java @@ -16,6 +16,7 @@ import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; +import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Entity; import org.bukkit.entity.Item; import org.bukkit.entity.Player; @@ -64,7 +65,15 @@ public class CatchFish implements Listener { public void run() { if (event.getHook().getLocation().getBlock().getType().equals(Material.LAVA)) { player.sendActionBar(MiniMessage.miniMessage().deserialize("You are now fishing in lava...")); //TODO move to config - LavaFishing lavaFishing = new LavaFishing(1, 1, player, logger, event.getHook().getLocation()); + Optional optionalFishingRod = getFishingRod(player); + if (optionalFishingRod.isEmpty()) { + logger.warning("Fishing rod disappeared for player %", player.getName()); + return; + } + ItemStack itemStack = optionalFishingRod.get(); + int lure = itemStack.getEnchantmentLevel(Enchantment.LURE); + int fireProtection = itemStack.getEnchantmentLevel(Enchantment.PROTECTION_FIRE); + LavaFishing lavaFishing = new LavaFishing(lure, fireProtection, player, logger, event.getHook().getLocation()); activeLavaFishers.put(player.getUniqueId(), lavaFishing); lavaFishing.runTaskTimerAsynchronously(fishingEvent, 1, 1); logger.debug("in lava above");