From 669fbc992596cfbb322d64370fbf5cb800af3764 Mon Sep 17 00:00:00 2001 From: NicoNeko Date: Tue, 6 Jan 2026 12:51:58 +0200 Subject: [PATCH 1/2] Update blocks --- core/build.gradle.kts | 2 +- .../libreforge/effects/impl/EffectSetBlock.kt | 13 +++++++------ .../libreforge/filters/impl/FilterBlocks.kt | 18 +++++++++++++----- loader/build.gradle.kts | 2 +- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/core/build.gradle.kts b/core/build.gradle.kts index f4eda76e6..210921124 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -3,7 +3,7 @@ version = rootProject.version subprojects { dependencies { - compileOnly("com.willfp:eco:6.77.0") + compileOnly("com.willfp:eco:6.77.3") } } diff --git a/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt b/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt index 7a68eff86..aa391d840 100644 --- a/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt +++ b/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt @@ -1,14 +1,15 @@ package com.willfp.libreforge.effects.impl +import com.willfp.eco.core.blocks.Blocks +import com.willfp.eco.core.blocks.TestableBlock import com.willfp.eco.core.config.interfaces.Config import com.willfp.libreforge.ViolationContext import com.willfp.libreforge.arguments import com.willfp.libreforge.effects.Effect import com.willfp.libreforge.triggers.TriggerData import com.willfp.libreforge.triggers.TriggerParameter -import org.bukkit.Material -object EffectSetBlock : Effect("set_block") { +object EffectSetBlock : Effect("set_block") { override val parameters = setOf( TriggerParameter.BLOCK ) @@ -17,16 +18,16 @@ object EffectSetBlock : Effect("set_block") { require("block", "You must specify the block!") } - override fun onTrigger(config: Config, data: TriggerData, compileData: Material?): Boolean { + override fun onTrigger(config: Config, data: TriggerData, compileData: TestableBlock?): Boolean { val block = data.block ?: data.location?.block ?: return false compileData ?: return false - block.type = compileData + compileData.place(block.location) return true } - override fun makeCompileData(config: Config, context: ViolationContext): Material? { - return Material.getMaterial(config.getString("block").uppercase()) + override fun makeCompileData(config: Config, context: ViolationContext): TestableBlock? { + return Blocks.lookup(config.getString("block")) } } diff --git a/core/common/src/main/kotlin/com/willfp/libreforge/filters/impl/FilterBlocks.kt b/core/common/src/main/kotlin/com/willfp/libreforge/filters/impl/FilterBlocks.kt index c4b125d65..ba2368b16 100644 --- a/core/common/src/main/kotlin/com/willfp/libreforge/filters/impl/FilterBlocks.kt +++ b/core/common/src/main/kotlin/com/willfp/libreforge/filters/impl/FilterBlocks.kt @@ -1,19 +1,27 @@ package com.willfp.libreforge.filters.impl +import com.willfp.eco.core.blocks.Blocks +import com.willfp.eco.core.blocks.TestableBlock +import com.willfp.eco.core.blocks.matches import com.willfp.eco.core.config.interfaces.Config -import com.willfp.eco.util.containsIgnoreCase -import com.willfp.libreforge.NoCompileData +import com.willfp.libreforge.ViolationContext import com.willfp.libreforge.filters.Filter import com.willfp.libreforge.triggers.TriggerData -object FilterBlocks : Filter>("blocks") { +object FilterBlocks : Filter, Collection>("blocks") { override fun getValue(config: Config, data: TriggerData?, key: String): Collection { return config.getStrings(key) } - override fun isMet(data: TriggerData, value: Collection, compileData: NoCompileData): Boolean { + override fun isMet(data: TriggerData, value: Collection, compileData: Collection): Boolean { val block = data.block ?: return true - return value.containsIgnoreCase(block.type.name) + return compileData.matches(block) + } + + override fun makeCompileData( + config: Config, context: ViolationContext, values: Collection + ): Collection { + return values.map { Blocks.lookup(it) } } } diff --git a/loader/build.gradle.kts b/loader/build.gradle.kts index 735b4b531..e672dd20c 100644 --- a/loader/build.gradle.kts +++ b/loader/build.gradle.kts @@ -1,7 +1,7 @@ dependencies { compileOnly(project(":core:common")) - compileOnly("com.willfp:eco:6.77.0") + compileOnly("com.willfp:eco:6.77.3") compileOnly("io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT") } From 02b76c033443bafea896f10e5870a7213db9d9e9 Mon Sep 17 00:00:00 2001 From: NicoNeko Date: Fri, 13 Mar 2026 19:45:35 +0200 Subject: [PATCH 2/2] Fix TestableBlock being null --- .../com/willfp/libreforge/effects/impl/EffectSetBlock.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt b/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt index aa391d840..77baa2db8 100644 --- a/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt +++ b/core/common/src/main/kotlin/com/willfp/libreforge/effects/impl/EffectSetBlock.kt @@ -9,7 +9,7 @@ import com.willfp.libreforge.effects.Effect import com.willfp.libreforge.triggers.TriggerData import com.willfp.libreforge.triggers.TriggerParameter -object EffectSetBlock : Effect("set_block") { +object EffectSetBlock : Effect("set_block") { override val parameters = setOf( TriggerParameter.BLOCK ) @@ -18,16 +18,15 @@ object EffectSetBlock : Effect("set_block") { require("block", "You must specify the block!") } - override fun onTrigger(config: Config, data: TriggerData, compileData: TestableBlock?): Boolean { + override fun onTrigger(config: Config, data: TriggerData, compileData: TestableBlock): Boolean { val block = data.block ?: data.location?.block ?: return false - compileData ?: return false compileData.place(block.location) return true } - override fun makeCompileData(config: Config, context: ViolationContext): TestableBlock? { + override fun makeCompileData(config: Config, context: ViolationContext): TestableBlock { return Blocks.lookup(config.getString("block")) } }