blob: 07aa7630ed371657de5602639564d21294462de7 (
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(private val blockPos: BlockPos, private val 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 {
val pattern = "Block\\{minecraft:(?<name>.*)}".toPattern()
private fun String.getName() = pattern.matchMatcher(this) {
group("name")
} ?: this
}
}
|