Skip to content

Commit f66687c

Browse files
committed
added honey_level_full filter
this checks if the beehive/bee_nest is full of honey (honey-level:5).
1 parent d6c691f commit f66687c

File tree

5 files changed

+27
-172
lines changed

5 files changed

+27
-172
lines changed

core/common/src/main/kotlin/com/willfp/libreforge/filters/Filters.kt

+2-36
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,7 @@ import com.willfp.eco.core.registry.Registry
77
import com.willfp.libreforge.ConfigWarning
88
import com.willfp.libreforge.ViolationContext
99
import com.willfp.libreforge.deprecationMessage
10-
import com.willfp.libreforge.filters.impl.FilterAboveHealthPercent
11-
import com.willfp.libreforge.filters.impl.FilterAdvancements
12-
import com.willfp.libreforge.filters.impl.FilterBlocks
13-
import com.willfp.libreforge.filters.impl.FilterDamageCause
14-
import com.willfp.libreforge.filters.impl.FilterEnchant
15-
import com.willfp.libreforge.filters.impl.FilterEntities
16-
import com.willfp.libreforge.filters.impl.FilterFromSpawner
17-
import com.willfp.libreforge.filters.impl.FilterFullyCharged
18-
import com.willfp.libreforge.filters.impl.FilterFullyGrown
19-
import com.willfp.libreforge.filters.impl.FilterIsBehindVictim
20-
import com.willfp.libreforge.filters.impl.FilterIsBoss
21-
import com.willfp.libreforge.filters.impl.FilterIsExpressionTrue
22-
import com.willfp.libreforge.filters.impl.FilterIsNPC
23-
import com.willfp.libreforge.filters.impl.FilterIsPassive
24-
import com.willfp.libreforge.filters.impl.FilterItemDurabilityAbove
25-
import com.willfp.libreforge.filters.impl.FilterItemDurabilityAbovePercent
26-
import com.willfp.libreforge.filters.impl.FilterItemDurabilityBelow
27-
import com.willfp.libreforge.filters.impl.FilterItemDurabilityBelowPercent
28-
import com.willfp.libreforge.filters.impl.FilterItems
29-
import com.willfp.libreforge.filters.impl.FilterOnMaxHealth
30-
import com.willfp.libreforge.filters.impl.FilterOnlyBosses
31-
import com.willfp.libreforge.filters.impl.FilterOnlyNonBosses
32-
import com.willfp.libreforge.filters.impl.FilterPlayerName
33-
import com.willfp.libreforge.filters.impl.FilterPlayerPlaced
34-
import com.willfp.libreforge.filters.impl.FilterPotionEffect
35-
import com.willfp.libreforge.filters.impl.FilterProjectiles
36-
import com.willfp.libreforge.filters.impl.FilterSpawnerEntity
37-
import com.willfp.libreforge.filters.impl.FilterSwept
38-
import com.willfp.libreforge.filters.impl.FilterText
39-
import com.willfp.libreforge.filters.impl.FilterTextContains
40-
import com.willfp.libreforge.filters.impl.FilterThisItem
41-
import com.willfp.libreforge.filters.impl.FilterValueAbove
42-
import com.willfp.libreforge.filters.impl.FilterValueBelow
43-
import com.willfp.libreforge.filters.impl.FilterValueEquals
44-
import com.willfp.libreforge.filters.impl.FilterVictimConditions
45-
import com.willfp.libreforge.filters.impl.FilterVictimName
10+
import com.willfp.libreforge.filters.impl.*
4611

4712
object Filters : Registry<Filter<*, *>>() {
4813
/**
@@ -130,5 +95,6 @@ object Filters : Registry<Filter<*, *>>() {
13095
register(FilterEnchant)
13196
register(FilterSpawnerEntity)
13297
register(FilterSwept)
98+
register(FilterHoneyLevelFull)
13399
}
134100
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.willfp.libreforge.filters.impl
2+
3+
import com.willfp.eco.core.config.interfaces.Config
4+
import com.willfp.libreforge.NoCompileData
5+
import com.willfp.libreforge.filters.Filter
6+
import com.willfp.libreforge.triggers.TriggerData
7+
import org.bukkit.Material
8+
import org.bukkit.block.data.type.Beehive
9+
10+
object FilterHoneyLevelFull : Filter<NoCompileData, Boolean>("honey_level_full") {
11+
override fun getValue(config: Config, data: TriggerData?, key: String): Boolean {
12+
return true // This filter checks for maximum honey level (5)
13+
}
14+
15+
override fun isMet(data: TriggerData, value: Boolean, compileData: NoCompileData): Boolean {
16+
val block = data.block ?: return false
17+
18+
if (block.type == Material.BEEHIVE || block.type == Material.BEE_NEST) {
19+
val beehiveData = block.blockData as? Beehive ?: return false
20+
return beehiveData.honeyLevel == 5
21+
}
22+
23+
return false
24+
}
25+
}

core/common/src/main/kotlin/com/willfp/libreforge/triggers/Triggers.kt

-2
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,5 @@ object Triggers : Registry<Trigger>() {
138138
register(TriggerEntityTeleport)
139139
register(TriggerCompleteAdvancement)
140140
register(TriggerSmithItem)
141-
register(TriggerCollectHoneycomb)
142-
register(TriggerCollectHoney)
143141
}
144142
}

core/common/src/main/kotlin/com/willfp/libreforge/triggers/impl/TriggerCollectHoney.kt

-67
This file was deleted.

core/common/src/main/kotlin/com/willfp/libreforge/triggers/impl/TriggerCollectHoneycomb.kt

-67
This file was deleted.

0 commit comments

Comments
 (0)