From 080f9153ec75855a9851270730e3c53d839c8e0f Mon Sep 17 00:00:00 2001 From: Auxilor Date: Mon, 23 Aug 2021 14:17:59 +0100 Subject: [PATCH] Bug fixes --- .../ecoskills/util/CommandGiveHelper.java | 51 +++++++++++++++++++ .../willfp/ecoskills/commands/CommandGive.kt | 31 ++--------- .../effects/effects/EffectSerratedStrikes.kt | 8 +-- .../core-plugin/src/main/resources/lang.yml | 2 +- 4 files changed, 59 insertions(+), 33 deletions(-) create mode 100644 eco-core/core-plugin/src/main/java/com/willfp/ecoskills/util/CommandGiveHelper.java diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/util/CommandGiveHelper.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/util/CommandGiveHelper.java new file mode 100644 index 0000000..f7a602d --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/util/CommandGiveHelper.java @@ -0,0 +1,51 @@ +package com.willfp.ecoskills.util; + +import com.willfp.eco.core.config.updating.ConfigUpdater; +import com.willfp.ecoskills.skills.Skill; +import com.willfp.ecoskills.skills.Skills; +import com.willfp.ecoskills.stats.Stat; +import com.willfp.ecoskills.stats.Stats; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class CommandGiveHelper { + /** + * Skill names. + */ + public static final List SKILL_NAMES = new ArrayList<>(); + + /** + * Stat names. + */ + public static final List STAT_NAMES = new ArrayList<>(); + + /** + * Amounts. + */ + public static final List AMOUNTS = Arrays.asList( + "1", + "2", + "3", + "4", + "5", + "10" + ); + + /** + * Update lists. + */ + @ConfigUpdater + public static void update() { + SKILL_NAMES.clear(); + SKILL_NAMES.addAll( + Skills.values().stream().map(Skill::getId).collect(Collectors.toList()) + ); + STAT_NAMES.clear(); + STAT_NAMES.addAll( + Stats.values().stream().map(Stat::getId).collect(Collectors.toList()) + ); + } +} diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/commands/CommandGive.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/commands/CommandGive.kt index 5310566..e86d8ba 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/commands/CommandGive.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/commands/CommandGive.kt @@ -11,6 +11,7 @@ import com.willfp.ecoskills.skills.Skill import com.willfp.ecoskills.skills.Skills import com.willfp.ecoskills.stats.Stat import com.willfp.ecoskills.stats.Stats +import com.willfp.ecoskills.util.CommandGiveHelper import org.bukkit.Bukkit import org.bukkit.command.CommandSender import org.bukkit.util.StringUtil @@ -100,7 +101,7 @@ class CommandGive(plugin: EcoPlugin) : if (args.size == 2) { StringUtil.copyPartialMatches( args[1], - skills union stats, + CommandGiveHelper.SKILL_NAMES union CommandGiveHelper.STAT_NAMES, completions ) return@TabCompleteHandler completions @@ -109,7 +110,7 @@ class CommandGive(plugin: EcoPlugin) : if (args.size == 3) { StringUtil.copyPartialMatches( args[2], - amount, + CommandGiveHelper.AMOUNTS, completions ) return@TabCompleteHandler completions @@ -118,30 +119,4 @@ class CommandGive(plugin: EcoPlugin) : return@TabCompleteHandler ArrayList(0) } } - - companion object { - val skills = ArrayList() - val stats = ArrayList() - val amount = listOf( - "1", - "2", - "3", - "4", - "5", - "10" - ) - - @JvmStatic - @ConfigUpdater - fun update(plugin: EcoPlugin) { - skills.clear() - skills.addAll( - Skills.values().map { skill -> skill.id.lowercase() }.toList() - ) - stats.clear() - stats.addAll( - Stats.values().map { stat -> stat.id.lowercase() }.toList() - ) - } - } } \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectSerratedStrikes.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectSerratedStrikes.kt index 800b6a1..bf2f660 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectSerratedStrikes.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectSerratedStrikes.kt @@ -51,15 +51,15 @@ class EffectSerratedStrikes : Effect( var bleedCount = config.getInt("bleed-ticks") bleedCount *= level - val finalBleedCount = bleedCount - val currentBleedCount = AtomicInteger(0) + var currentBleedCount = 0 plugin.runnableFactory.create { bukkitRunnable: RunnableTask -> - currentBleedCount.addAndGet(1) + currentBleedCount++ victim.damage(bleedDamage) - if (currentBleedCount.get() >= finalBleedCount) { + if (currentBleedCount >= bleedCount) { bukkitRunnable.cancel() + return@create } }.runTaskTimer(config.getInt("bleed-tick-spacing").toLong(), config.getInt("bleed-tick-spacing").toLong()) } diff --git a/eco-core/core-plugin/src/main/resources/lang.yml b/eco-core/core-plugin/src/main/resources/lang.yml index b2c6e65..9a14edf 100644 --- a/eco-core/core-plugin/src/main/resources/lang.yml +++ b/eco-core/core-plugin/src/main/resources/lang.yml @@ -12,7 +12,7 @@ messages: requires-amount: "&cYou must specify the amount!" invalid-amount: "&cInvalid amount!" gave-skill-xp: "Gave %player% %amount% %skill% experience!" - gave-stat: "Gave %player% %amount% %stat% levels!" + gave-stat: "Gave %player% %amount% %stat%&r!" top-line-format: "%rank%. %player% - %level%" top: