Skip to content

Commit 578bc20

Browse files
authored
Merge pull request #255 from pylonmc/add-flowerpot-listener
Add flowerpot listener
2 parents ee14f4a + 58e71f2 commit 578bc20

2 files changed

Lines changed: 22 additions & 6 deletions

File tree

pylon-core/src/main/kotlin/io/github/pylonmc/pylon/core/block/BlockListener.kt

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ import io.github.pylonmc.pylon.core.util.isFakeEvent
1414
import io.github.pylonmc.pylon.core.util.position.position
1515
import io.papermc.paper.event.block.*
1616
import io.papermc.paper.event.entity.EntityCompostItemEvent
17-
import io.papermc.paper.event.player.PlayerChangeBeaconEffectEvent
18-
import io.papermc.paper.event.player.PlayerInsertLecternBookEvent
19-
import io.papermc.paper.event.player.PlayerLecternPageChangeEvent
20-
import io.papermc.paper.event.player.PlayerOpenSignEvent
17+
import io.papermc.paper.event.player.*
2118
import org.bukkit.GameMode
2219
import org.bukkit.Material
2320
import org.bukkit.block.BlockFace
@@ -39,7 +36,7 @@ import org.bukkit.event.player.PlayerBucketEmptyEvent
3936
import org.bukkit.event.player.PlayerInteractEvent
4037
import org.bukkit.event.player.PlayerTakeLecternBookEvent
4138
import org.bukkit.event.player.PlayerToggleSneakEvent
42-
import java.util.WeakHashMap
39+
import java.util.*
4340

4441

4542
/**
@@ -757,6 +754,18 @@ internal object BlockListener : Listener {
757754
}
758755
}
759756

757+
@EventHandler
758+
private fun onFlowerpotManipulate(event: PlayerFlowerPotManipulateEvent) {
759+
val block = BlockStorage.get(event.flowerpot)
760+
if (block is PylonFlowerPot) {
761+
try {
762+
block.onFlowerPotManipulated(event)
763+
} catch (e: Exception) {
764+
logEventHandleErr(event, e, block)
765+
}
766+
}
767+
}
768+
760769
@EventHandler
761770
private fun onItemMove(event: InventoryMoveItemEvent) {
762771
val sourceHolder = event.source.holder
@@ -777,7 +786,7 @@ internal object BlockListener : Listener {
777786

778787
@JvmSynthetic
779788
internal fun logEventHandleErr(event: Event?, e: Exception, block: PylonBlock) {
780-
if(event != null) {
789+
if (event != null) {
781790
PylonCore.logger.severe("Error when handling block(${block.key}, ${block.block.location}) event handler ${event.javaClass.simpleName}: ${e.localizedMessage}")
782791
} else {
783792
PylonCore.logger.severe("Error when handling block(${block.key}, ${block.block.location}) ticking: ${e.localizedMessage}")
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package io.github.pylonmc.pylon.core.block.base
2+
3+
import io.papermc.paper.event.player.PlayerFlowerPotManipulateEvent
4+
5+
interface PylonFlowerPot {
6+
fun onFlowerPotManipulated(event: PlayerFlowerPotManipulateEvent)
7+
}

0 commit comments

Comments
 (0)