
walkmc.block.AbstractBlock.kt Maven / Gradle / Ivy
package walkmc.block
import org.bukkit.*
import org.bukkit.block.*
import org.bukkit.entity.*
import org.bukkit.inventory.*
import walkmc.extensions.*
import walkmc.serializer.tag.impl.*
/**
* A abstract implementation of [IBlock].
*
* This works like skeletal model for custom blocks and others
* implementations must extend this class.
*/
abstract class AbstractBlock : IBlock {
override lateinit var block: Block
override lateinit var location: Location
override lateinit var world: World
override var info: BlockInfo = BlockInfo()
override var ticks: Int = 0
override fun onRegister() {
}
override fun onTick() {
}
override fun onInteract(player: Player, click: Click) {
}
override fun onBreak(player: Player) {
}
override fun onPlace(player: Player, item: ItemStack) {
}
override fun onMove(player: Player) {
}
override fun onStep(entity: Entity) {
}
override fun onJump(entity: Entity) {
}
override fun onFall(entity: Entity) {
}
override fun onCollide(entity: Entity) {
}
override fun doPhysics() {
}
override fun getItem(): ItemStack {
return newItem(block.material).setCustomBlockPart()
}
override fun loadData(tag: CompoundTag) {
}
override fun saveData(tag: CompoundTag) {
}
override fun onLoad() {
}
override fun onEnable() {
}
override fun onDisable() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy