blob: 106ee2821cb39f0853c06d39777238856ef0cbbe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package at.hannibal2.skyhanni.events
import at.hannibal2.skyhanni.utils.BlockUtils.getBlockAt
import at.hannibal2.skyhanni.utils.BlockUtils.getBlockStateAt
import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher
import at.hannibal2.skyhanni.utils.toLorenzVec
import net.minecraft.block.state.IBlockState
import net.minecraft.util.BlockPos
class ServerBlockChangeEvent(blockPos: BlockPos, blockState: IBlockState) : LorenzEvent() {
val location by lazy { blockPos.toLorenzVec() }
val old by lazy { location.getBlockAt().toString().getName() }
val oldState by lazy { location.getBlockStateAt() }
val new by lazy { blockState.block.toString().getName() }
val newState by lazy { blockState }
companion object {
private val pattern = "Block\\{minecraft:(?<name>.*)}".toPattern()
private fun String.getName() = pattern.matchMatcher(this) {
group("name")
} ?: this
}
}
|