diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/reforges/util/ReforgeArgParser.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/reforges/util/ReforgeArgParser.kt index b4f0fd1..af7872b 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/reforges/util/ReforgeArgParser.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/reforges/util/ReforgeArgParser.kt @@ -1,49 +1,36 @@ -package com.willfp.reforges.reforges.util; +package com.willfp.reforges.reforges.util -import com.willfp.eco.core.items.args.LookupArgParser; -import com.willfp.reforges.reforges.Reforge; -import com.willfp.reforges.reforges.Reforges; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import com.willfp.eco.core.items.args.LookupArgParser +import com.willfp.reforges.reforges.Reforge +import com.willfp.reforges.reforges.Reforges +import org.bukkit.inventory.ItemStack +import org.bukkit.inventory.meta.ItemMeta +import java.util.function.Predicate -import java.util.function.Predicate; +class ReforgeArgParser : LookupArgParser { + override fun parseArguments( + args: Array, + meta: ItemMeta + ): Predicate? { + var reforge: Reforge? = null -public class ReforgeArgParser implements LookupArgParser { - @Override - public @Nullable Predicate parseArguments(@NotNull final String[] args, - @NotNull final ItemMeta meta) { - Reforge reforge = null; - for (String arg : args) { - String[] split = arg.split(":"); - if (split.length == 1 || !split[0].equalsIgnoreCase("reforge")) { - continue; + for (arg in args) { + val split = arg.split(":").toTypedArray() + if (split.size == 1 || !split[0].equals("reforge", ignoreCase = true)) { + continue } - - Reforge match = Reforges.getByKey(split[1].toLowerCase()); - if (match == null) { - continue; - } - - reforge = match; - break; + val match = Reforges.getByKey(split[1].lowercase()) ?: continue + reforge = match + break } - if (reforge == null) { - return null; + reforge ?: return null + + ReforgeUtils.setReforge(meta, reforge) + + return Predicate { test -> + val testMeta = test.itemMeta ?: return@Predicate false + reforge == ReforgeUtils.getReforge(testMeta) } - - ReforgeUtils.setReforge(meta, reforge); - - Reforge finalReforge = reforge; - return test -> { - ItemMeta testMeta = test.getItemMeta(); - if (testMeta == null) { - return false; - } - - return finalReforge.equals(ReforgeUtils.getReforge(testMeta)); - }; } -} +} \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/Watcher.java b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/reforges/util/Watcher.kt similarity index 50% rename from eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/Watcher.java rename to eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/reforges/util/Watcher.kt index 777293d..065f768 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/Watcher.java +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/reforges/util/Watcher.kt @@ -1,25 +1,18 @@ -package com.willfp.reforges.reforges.util; +package com.willfp.reforges.reforges.util -import com.willfp.eco.core.config.interfaces.JSONConfig; -import com.willfp.eco.core.events.EntityDeathByEntityEvent; -import org.bukkit.block.Block; -import org.bukkit.entity.Arrow; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Projectile; -import org.bukkit.entity.Trident; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.ProjectileHitEvent; -import org.bukkit.event.entity.ProjectileLaunchEvent; -import org.bukkit.event.player.PlayerItemDamageEvent; -import org.bukkit.event.player.PlayerMoveEvent; -import org.jetbrains.annotations.NotNull; - -@SuppressWarnings("unused") -public interface Watcher { +import com.willfp.eco.core.config.interfaces.JSONConfig +import com.willfp.eco.core.events.EntityDeathByEntityEvent +import org.bukkit.block.Block +import org.bukkit.entity.* +import org.bukkit.event.block.BlockBreakEvent +import org.bukkit.event.entity.EntityDamageByEntityEvent +import org.bukkit.event.entity.EntityDamageEvent +import org.bukkit.event.entity.ProjectileHitEvent +import org.bukkit.event.entity.ProjectileLaunchEvent +import org.bukkit.event.player.PlayerItemDamageEvent +import org.bukkit.event.player.PlayerMoveEvent +interface Watcher { /** * Called when a player breaks a block. * @@ -28,10 +21,12 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onBlockBreak(@NotNull final Player player, - @NotNull final Block block, - @NotNull final BlockBreakEvent event, - @NotNull final JSONConfig config) { + fun onBlockBreak( + player: Player, + block: Block, + event: BlockBreakEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -43,10 +38,12 @@ public interface Watcher { * @param event The event. * @param config The effect config. */ - default void onAnyDamage(@NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event, - @NotNull final JSONConfig config) { + fun onAnyDamage( + attacker: Player, + victim: LivingEntity, + event: EntityDamageByEntityEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -59,11 +56,13 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onArrowDamage(@NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Arrow arrow, - @NotNull final EntityDamageByEntityEvent event, - @NotNull final JSONConfig config) { + fun onArrowDamage( + attacker: Player, + victim: LivingEntity, + arrow: Arrow, + event: EntityDamageByEntityEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -76,11 +75,13 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onTridentDamage(@NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final Trident trident, - @NotNull final EntityDamageByEntityEvent event, - @NotNull final JSONConfig config) { + fun onTridentDamage( + attacker: Player, + victim: LivingEntity, + trident: Trident, + event: EntityDamageByEntityEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -91,9 +92,11 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onJump(@NotNull final Player player, - @NotNull final PlayerMoveEvent event, - @NotNull final JSONConfig config) { + fun onJump( + player: Player, + event: PlayerMoveEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -105,10 +108,12 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onMeleeAttack(@NotNull final Player attacker, - @NotNull final LivingEntity victim, - @NotNull final EntityDamageByEntityEvent event, - @NotNull final JSONConfig config) { + fun onMeleeAttack( + attacker: Player, + victim: LivingEntity, + event: EntityDamageByEntityEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -120,10 +125,12 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onProjectileLaunch(@NotNull final Player shooter, - @NotNull final Projectile projectile, - @NotNull final ProjectileLaunchEvent event, - @NotNull final JSONConfig config) { + fun onProjectileLaunch( + shooter: Player, + projectile: Projectile, + event: ProjectileLaunchEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -134,9 +141,11 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onFallDamage(@NotNull final Player faller, - @NotNull final EntityDamageEvent event, - @NotNull final JSONConfig config) { + fun onFallDamage( + faller: Player, + event: EntityDamageEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -147,9 +156,11 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onProjectileHit(@NotNull final Player shooter, - @NotNull final ProjectileHitEvent event, - @NotNull final JSONConfig config) { + fun onProjectileHit( + shooter: Player, + event: ProjectileHitEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -161,10 +172,12 @@ public interface Watcher { * @param event The event. * @param config The effect config. */ - default void onKill(@NotNull final Player killer, - @NotNull final LivingEntity victim, - @NotNull final EntityDeathByEntityEvent event, - @NotNull final JSONConfig config) { + fun onKill( + killer: Player, + victim: LivingEntity, + event: EntityDeathByEntityEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -175,9 +188,11 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onDamageWearingArmor(@NotNull final Player victim, - @NotNull final EntityDamageEvent event, - @NotNull final JSONConfig config) { + fun onDamageWearingArmor( + victim: Player, + event: EntityDamageEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -189,10 +204,12 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onTridentLaunch(@NotNull final Player shooter, - @NotNull final Trident trident, - @NotNull final ProjectileLaunchEvent event, - @NotNull final JSONConfig config) { + fun onTridentLaunch( + shooter: Player, + trident: Trident, + event: ProjectileLaunchEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } @@ -202,8 +219,10 @@ public interface Watcher { * @param event The event that called this watcher. * @param config The effect config. */ - default void onDurabilityDamage(@NotNull final PlayerItemDamageEvent event, - @NotNull final JSONConfig config) { + fun onDurabilityDamage( + event: PlayerItemDamageEvent, + config: JSONConfig + ) { // Empty default as effects only override required watchers. } -} +} \ No newline at end of file