diff --git a/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/ContainerSyncListener.kt b/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/ContainerSyncListener.kt index 370f6a2..45b2eef 100644 --- a/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/ContainerSyncListener.kt +++ b/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/ContainerSyncListener.kt @@ -124,7 +124,7 @@ object ContainerSyncListener : Listener { } /** Synchronize hopper pickups between sections */ - @EventHandler + @EventHandler(ignoreCancelled = true) fun InventoryPickupItemEvent.hopperGrabEvent() { inventory.location?.sync { _, corresponding, section, corrSection -> if (corrSection.isOnTopOf(section)) { diff --git a/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/SectionSyncListener.kt b/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/SectionSyncListener.kt index 5572b01..ec129e9 100644 --- a/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/SectionSyncListener.kt +++ b/src/main/kotlin/com/mineinabyss/deeperworld/synchronization/SectionSyncListener.kt @@ -227,6 +227,15 @@ object SectionSyncListener : Listener { block.sync(updateBlockData(blockData)) } + @EventHandler + fun InventoryBlockStartEvent.onFurnaceStart() { + if (!block.location.inSectionOverlap) return + deeperWorld.plugin.launch { + delay(1.ticks) + block.sync(updateBlockData(block.blockData)) + } + } + /** Removes Iron Golem and Wither summons in corresponding section location due to duping **/ @EventHandler fun EntitySpawnEvent.onEntitySummon() {