From 521e11197bfab017b9fc443e85afd2188158b2ef Mon Sep 17 00:00:00 2001 From: TONY_All Date: Sun, 3 Jul 2022 22:58:24 +0800 Subject: [PATCH] up da te fi sh --- .../sansefish/listener/FishListener.kt | 1 + .../sanseyooyea/sansefish/misc/BaitReward.kt | 20 +++++++++++-------- .../sansefish/misc/FishingRodInstance.kt | 6 +++++- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/work/microhand/sanseyooyea/sansefish/listener/FishListener.kt b/src/main/kotlin/work/microhand/sanseyooyea/sansefish/listener/FishListener.kt index c37f732..7c66fa2 100644 --- a/src/main/kotlin/work/microhand/sanseyooyea/sansefish/listener/FishListener.kt +++ b/src/main/kotlin/work/microhand/sanseyooyea/sansefish/listener/FishListener.kt @@ -46,6 +46,7 @@ object FishListener { if (fishEvent.state == PlayerFishEvent.State.CAUGHT_FISH) { rod.handleFished(fishEvent) } + val resultItem = if (rod.durability <= 0) { player.sendMessage("§c| §7您的鱼竿已损坏") ItemStack(Material.AIR) diff --git a/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/BaitReward.kt b/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/BaitReward.kt index 576b524..19406da 100644 --- a/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/BaitReward.kt +++ b/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/BaitReward.kt @@ -29,16 +29,20 @@ class BaitReward(config: ConfigurationSection) { rod.luck = if (rod.luck - it.deLuck > 0) rod.luck - it.deLuck else 0 } - // handle Guarantees - if (it.isGuarantees) { - if (rod.luck == it.luckLimit) { - it.execute(player) - } - return - } - // handle common it.execute(player) } } + + fun doGuarantee(player: Player, luck: Int, legacy: Int) { + rewardList.forEach { + // handle Guarantees + if (it.isGuarantees) { + if (it.luckLimit in legacy..luck) { + it.execute(player) + } + return + } + } + } } \ No newline at end of file diff --git a/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/FishingRodInstance.kt b/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/FishingRodInstance.kt index 2cd1c93..fd39a63 100644 --- a/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/FishingRodInstance.kt +++ b/src/main/kotlin/work/microhand/sanseyooyea/sansefish/misc/FishingRodInstance.kt @@ -25,10 +25,14 @@ data class FishingRodInstance( fun handleFished(fishEvent: PlayerFishEvent) { fishEvent.expToDrop = 0 - luck++ fishEvent.caught!!.remove() fishEvent.player.inventory.itemInMainHand val bait = BaitManager.baits[item.itemMeta!!.persistentDataContainer[SanseFish.baitKey, PersistentDataType.STRING]?: return]!! + luck++ + val maxLuck = item.itemMeta!!.persistentDataContainer.getOrDefault(SanseFish.maxLuckKey, PersistentDataType.INTEGER, type.defaultLuck) + if (luck > maxLuck) { + bait.rewards.doGuarantee(fishEvent.player, luck, maxLuck) + } bait.rewards.doReward(fishEvent.player, this) } }