mirror of
https://github.com/Auxilor/EcoSkills.git
synced 2026-01-06 15:51:52 +00:00
Added disabled-in-worlds
This commit is contained in:
@@ -2,6 +2,7 @@ package com.willfp.ecoskills
|
||||
|
||||
import com.willfp.eco.core.command.impl.PluginCommand
|
||||
import com.willfp.eco.core.packet.PacketListener
|
||||
import com.willfp.eco.util.containsIgnoreCase
|
||||
import com.willfp.ecoskills.actionbar.ActionBarCompatibilityProxy
|
||||
import com.willfp.ecoskills.actionbar.ActionBarGamemodeListener
|
||||
import com.willfp.ecoskills.actionbar.ActionBarHandler
|
||||
@@ -41,6 +42,7 @@ import com.willfp.ecoskills.skills.display.DamageIndicatorListener
|
||||
import com.willfp.ecoskills.skills.display.GainXPDisplay
|
||||
import com.willfp.ecoskills.skills.display.LevelUpDisplay
|
||||
import com.willfp.ecoskills.skills.display.TemporaryBossBarHandler
|
||||
import com.willfp.ecoskills.skills.isInDisabledWorld
|
||||
import com.willfp.ecoskills.stats.StatModifierListener
|
||||
import com.willfp.ecoskills.stats.Stats
|
||||
import com.willfp.libreforge.SimpleProvidedHolder
|
||||
@@ -71,9 +73,10 @@ class EcoSkillsPlugin : LibreforgePlugin() {
|
||||
|
||||
override fun handleEnable() {
|
||||
registerHolderProvider { player ->
|
||||
(Effects.values() union Stats.values())
|
||||
.mapNotNull { it.getLevelHolder(it.getActualLevel(player)) }
|
||||
.map { SimpleProvidedHolder(it) }
|
||||
if (player.isInDisabledWorld) emptyList() else
|
||||
(Effects.values() union Stats.values())
|
||||
.mapNotNull { it.getLevelHolder(it.getActualLevel(player)) }
|
||||
.map { SimpleProvidedHolder(it) }
|
||||
}
|
||||
|
||||
com.willfp.libreforge.effects.Effects.register(EffectAddStat)
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.willfp.eco.core.data.profile
|
||||
import com.willfp.eco.core.map.defaultMap
|
||||
import com.willfp.eco.core.placeholder.PlayerPlaceholder
|
||||
import com.willfp.eco.core.placeholder.context.placeholderContext
|
||||
import com.willfp.eco.util.containsIgnoreCase
|
||||
import com.willfp.eco.util.evaluateExpression
|
||||
import com.willfp.eco.util.formatEco
|
||||
import com.willfp.eco.util.toNiceString
|
||||
@@ -21,6 +22,7 @@ import com.willfp.ecoskills.effects.Effects
|
||||
import com.willfp.ecoskills.gui.components.SkillIcon
|
||||
import com.willfp.ecoskills.gui.menus.SkillLevelGUI
|
||||
import com.willfp.ecoskills.libreforge.TriggerLevelUpSkill
|
||||
import com.willfp.ecoskills.plugin
|
||||
import com.willfp.ecoskills.stats.Stats
|
||||
import com.willfp.ecoskills.util.InvalidConfigurationException
|
||||
import com.willfp.ecoskills.util.LevelInjectable
|
||||
@@ -283,3 +285,6 @@ class Skill(
|
||||
|
||||
internal val OfflinePlayer.skills: SkillLevelMap
|
||||
get() = SkillLevelMap(this)
|
||||
|
||||
val Player.isInDisabledWorld: Boolean
|
||||
get() = plugin.configYml.getStrings("disabled-in-worlds").containsIgnoreCase(world.name)
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.willfp.ecoskills.skills
|
||||
import com.github.benmanes.caffeine.cache.Caffeine
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.integrations.afk.AFKManager
|
||||
import com.willfp.eco.util.containsIgnoreCase
|
||||
import com.willfp.ecoskills.api.gainSkillXP
|
||||
import com.willfp.libreforge.EmptyProvidedHolder
|
||||
import com.willfp.libreforge.counters.Accumulator
|
||||
@@ -16,6 +17,10 @@ class SkillXPAccumulator(
|
||||
private val skill: Skill
|
||||
) : Accumulator {
|
||||
override fun accept(player: Player, count: Double) {
|
||||
if (player.isInDisabledWorld) {
|
||||
return
|
||||
}
|
||||
|
||||
if (plugin.configYml.getBool("skills.prevent-levelling-while-afk") && AFKManager.isAfk(player)) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
# cross-server sync.
|
||||
use-local-storage: false
|
||||
|
||||
# Worlds that EcoSkills should be disabled in
|
||||
disabled-in-worlds:
|
||||
- world_1
|
||||
- world_2
|
||||
|
||||
gui:
|
||||
rows: 6
|
||||
|
||||
|
||||
Reference in New Issue
Block a user