diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/Event.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/Event.kt index 9a42696f9a8..c30f7df91f5 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/Event.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/Event.kt @@ -25,18 +25,20 @@ import kotlin.reflect.full.findAnnotation /** * A callable event */ -@Suppress("UtilityClassWithPublicConstructor") -open class Event { +interface Event { /** * Singleton empty event + * + * This should not be used as the type parameter of [handler], + * because it is excluded in collection of events */ - companion object Empty : Event() + companion object Empty : Event } /** * A cancellable event */ -open class CancellableEvent : Event() { +open class CancellableEvent : Event { /** * Let you know if the event is cancelled diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/ClientEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/ClientEvents.kt index 3785296a59a..2905205f2d3 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/ClientEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/ClientEvents.kt @@ -47,45 +47,45 @@ import net.minecraft.world.GameMode ) @Nameable("clickGuiScaleChange") @WebSocketEvent -class ClickGuiScaleChangeEvent(val value: Float) : Event() +class ClickGuiScaleChangeEvent(val value: Float) : Event @Nameable("clickGuiValueChange") @WebSocketEvent -class ClickGuiValueChangeEvent(val configurable: Configurable) : Event() +class ClickGuiValueChangeEvent(val configurable: Configurable) : Event @Nameable("spaceSeperatedNamesChange") @WebSocketEvent -class SpaceSeperatedNamesChangeEvent(val value: Boolean) : Event() +class SpaceSeperatedNamesChangeEvent(val value: Boolean) : Event @Nameable("clientStart") -object ClientStartEvent : Event() +object ClientStartEvent : Event @Nameable("clientShutdown") -object ClientShutdownEvent : Event() +object ClientShutdownEvent : Event @Nameable("clientLanguageChanged") @WebSocketEvent -class ClientLanguageChangedEvent : Event() +class ClientLanguageChangedEvent : Event @Nameable("valueChanged") @WebSocketEvent -class ValueChangedEvent(val value: Value<*>) : Event() +class ValueChangedEvent(val value: Value<*>) : Event @Nameable("moduleActivation") @WebSocketEvent -class ModuleActivationEvent(val moduleName: String) : Event() +class ModuleActivationEvent(val moduleName: String) : Event @Nameable("moduleToggle") @WebSocketEvent -class ModuleToggleEvent(val moduleName: String, val hidden: Boolean, val enabled: Boolean) : Event() +class ModuleToggleEvent(val moduleName: String, val hidden: Boolean, val enabled: Boolean) : Event @Nameable("refreshArrayList") @WebSocketEvent -object RefreshArrayListEvent : Event() +object RefreshArrayListEvent : Event @Nameable("notification") @WebSocketEvent -class NotificationEvent(val title: String, val message: String, val severity: Severity) : Event() { +class NotificationEvent(val title: String, val message: String, val severity: Severity) : Event { enum class Severity { INFO, SUCCESS, ERROR, ENABLED, DISABLED } @@ -93,19 +93,19 @@ class NotificationEvent(val title: String, val message: String, val severity: Se @Nameable("gameModeChange") @WebSocketEvent -class GameModeChangeEvent(val gameMode: GameMode) : Event() +class GameModeChangeEvent(val gameMode: GameMode) : Event @Nameable("targetChange") @WebSocketEvent -class TargetChangeEvent(val target: PlayerData?) : Event() +class TargetChangeEvent(val target: PlayerData?) : Event @Nameable("blockCountChange") @WebSocketEvent -class BlockCountChangeEvent(val count: Int?) : Event() +class BlockCountChangeEvent(val count: Int?) : Event @Nameable("clientChatStateChange") @WebSocketEvent -class ClientChatStateChange(val state: State) : Event() { +class ClientChatStateChange(val state: State) : Event { enum class State { @SerializedName("connecting") CONNECTING, @@ -129,7 +129,7 @@ class ClientChatStateChange(val state: State) : Event() { @Nameable("clientChatMessage") @WebSocketEvent -class ClientChatMessageEvent(val user: User, val message: String, val chatGroup: ChatGroup) : Event() { +class ClientChatMessageEvent(val user: User, val message: String, val chatGroup: ChatGroup) : Event { enum class ChatGroup { @SerializedName("public") PUBLIC_CHAT, @@ -141,42 +141,42 @@ class ClientChatMessageEvent(val user: User, val message: String, val chatGroup: @Nameable("clientChatError") @WebSocketEvent -class ClientChatErrorEvent(val error: String) : Event() +class ClientChatErrorEvent(val error: String) : Event @Nameable("clientChatJwtToken") // Do not define as WebSocket event, because it contains sensitive data -class ClientChatJwtTokenEvent(val jwt: String) : Event() +class ClientChatJwtTokenEvent(val jwt: String) : Event @Nameable("accountManagerMessage") @WebSocketEvent -class AccountManagerMessageEvent(val message: String) : Event() +class AccountManagerMessageEvent(val message: String) : Event @Nameable("accountManagerLogin") @WebSocketEvent -class AccountManagerLoginResultEvent(val username: String? = null, val error: String? = null) : Event() +class AccountManagerLoginResultEvent(val username: String? = null, val error: String? = null) : Event @Nameable("accountManagerAddition") @WebSocketEvent -class AccountManagerAdditionResultEvent(val username: String? = null, val error: String? = null) : Event() +class AccountManagerAdditionResultEvent(val username: String? = null, val error: String? = null) : Event @Nameable("proxyAdditionResult") @WebSocketEvent -class ProxyAdditionResultEvent(val proxy: Proxy? = null, val error: String? = null) : Event() +class ProxyAdditionResultEvent(val proxy: Proxy? = null, val error: String? = null) : Event @Nameable("proxyCheckResult") @WebSocketEvent -class ProxyCheckResultEvent(val proxy: Proxy, val error: String? = null) : Event() +class ProxyCheckResultEvent(val proxy: Proxy, val error: String? = null) : Event @Nameable("proxyEditResult") @WebSocketEvent -class ProxyEditResultEvent(val proxy: Proxy? = null, val error: String? = null) : Event() +class ProxyEditResultEvent(val proxy: Proxy? = null, val error: String? = null) : Event @Nameable("browserReady") -class BrowserReadyEvent(val browser: IBrowser) : Event() +class BrowserReadyEvent(val browser: IBrowser) : Event @Nameable("virtualScreen") @WebSocketEvent -class VirtualScreenEvent(val screenName: String, val action: Action) : Event() { +class VirtualScreenEvent(val screenName: String, val action: Action) : Event { enum class Action { @SerializedName("open") @@ -190,24 +190,24 @@ class VirtualScreenEvent(val screenName: String, val action: Action) : Event() { @Nameable("serverPinged") @WebSocketEvent -class ServerPingedEvent(val server: ServerInfo) : Event() +class ServerPingedEvent(val server: ServerInfo) : Event @Nameable("componentsUpdate") @WebSocketEvent(serializer = GsonInstance.ACCESSIBLE_INTEROP) -class ComponentsUpdate(val components: List) : Event() +class ComponentsUpdate(val components: List) : Event @Nameable("rotationUpdate") -object RotationUpdateEvent : Event() +object RotationUpdateEvent : Event @Nameable("resourceReload") -object ResourceReloadEvent : Event() +object ResourceReloadEvent : Event @Nameable("scaleFactorChange") @WebSocketEvent -class ScaleFactorChangeEvent(val scaleFactor: Double) : Event() +class ScaleFactorChangeEvent(val scaleFactor: Double) : Event @Nameable("scheduleInventoryAction") -class ScheduleInventoryActionEvent(val schedule: MutableList = mutableListOf()) : Event() { +class ScheduleInventoryActionEvent(val schedule: MutableList = mutableListOf()) : Event { fun schedule( constrains: InventoryConstraints, @@ -239,4 +239,4 @@ class SelectHotbarSlotSilentlyEvent(val requester: Any?, val slot: Int): Cancell @Nameable("browserUrlChange") @WebSocketEvent -class BrowserUrlChangeEvent(val index: Int, val url: String) : Event() +class BrowserUrlChangeEvent(val index: Int, val url: String) : Event diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/DrawEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/DrawEvents.kt index 3c85f9b1eed..bd1e1fd7a23 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/DrawEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/DrawEvents.kt @@ -27,13 +27,13 @@ import net.minecraft.client.render.Camera import net.minecraft.client.util.math.MatrixStack @Nameable("gameRender") -object GameRenderEvent : Event() +object GameRenderEvent : Event @Nameable("screenRender") -class ScreenRenderEvent(val context: DrawContext, val partialTicks: Float) : Event() +class ScreenRenderEvent(val context: DrawContext, val partialTicks: Float) : Event @Nameable("worldRender") -class WorldRenderEvent(val matrixStack: MatrixStack, val camera: Camera, val partialTicks: Float) : Event() +class WorldRenderEvent(val matrixStack: MatrixStack, val camera: Camera, val partialTicks: Float) : Event /** * Sometimes, modules might want to contribute something to the glow framebuffer. They can hook this event @@ -47,7 +47,7 @@ class DrawOutlinesEvent( val camera: Camera, val partialTicks: Float, val type: OutlineType, -) : Event() { +) : Event { var dirtyFlag: Boolean = false private set @@ -65,4 +65,4 @@ class DrawOutlinesEvent( } @Nameable("overlayRender") -class OverlayRenderEvent(val context: DrawContext, val tickDelta: Float) : Event() +class OverlayRenderEvent(val context: DrawContext, val tickDelta: Float) : Event diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/EntityEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/EntityEvents.kt index ee7fc5b5af8..007e864853d 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/EntityEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/EntityEvents.kt @@ -37,10 +37,10 @@ class AttackEntityEvent( ) : CancellableEvent() @Nameable("entityMargin") -class EntityMarginEvent(val entity: Entity, var margin: Float) : Event() +class EntityMarginEvent(val entity: Entity, var margin: Float) : Event @Nameable("tagEntityEvent") -class TagEntityEvent(val entity: Entity, var targetingInfo: EntityTargetingInfo) : Event() { +class TagEntityEvent(val entity: Entity, var targetingInfo: EntityTargetingInfo) : Event { val color: PriorityField = PriorityField(null, Priority.NOT_IMPORTANT) /** diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/GameEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/GameEvents.kt index 2b516a1f635..c256fcc799d 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/GameEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/GameEvents.kt @@ -38,7 +38,7 @@ import net.minecraft.item.ItemStack import net.minecraft.text.Text @Nameable("gameTick") -object GameTickEvent : Event() +object GameTickEvent : Event /** * We can use this event to populate the render task queue with tasks that should be @@ -46,25 +46,25 @@ object GameTickEvent : Event() * and allows to also schedule tasks off-schedule. */ @Nameable("gameRenderTaskQueue") -object GameRenderTaskQueueEvent : Event() +object GameRenderTaskQueueEvent : Event @Nameable("key") @WebSocketEvent -class KeyEvent(val key: InputUtil.Key, val action: Int) : Event() +class KeyEvent(val key: InputUtil.Key, val action: Int) : Event // Input events @Nameable("inputHandle") -object InputHandleEvent : Event() +object InputHandleEvent : Event @Nameable("movementInput") class MovementInputEvent( var directionalInput: DirectionalInput, var jump: Boolean, var sneak: Boolean -) : Event() +) : Event @Nameable("sprint") -class SprintEvent(val directionalInput: DirectionalInput, var sprint: Boolean, val source: Source) : Event() { +class SprintEvent(val directionalInput: DirectionalInput, var sprint: Boolean, val source: Source) : Event { enum class Source { INPUT, MOVEMENT_TICK, @@ -77,19 +77,19 @@ class MouseRotationEvent(var cursorDeltaX: Double, var cursorDeltaY: Double) : C @Nameable("keybindChange") @WebSocketEvent -object KeybindChangeEvent: Event() +object KeybindChangeEvent: Event @Nameable("keybindIsPressed") -class KeybindIsPressedEvent(val keyBinding: KeyBinding, var isPressed: Boolean) : Event() +class KeybindIsPressedEvent(val keyBinding: KeyBinding, var isPressed: Boolean) : Event @Nameable("useCooldown") -class UseCooldownEvent(var cooldown: Int) : Event() +class UseCooldownEvent(var cooldown: Int) : Event @Nameable("cancelBlockBreaking") class CancelBlockBreakingEvent : CancellableEvent() @Nameable("autoJump") -class MinecraftAutoJumpEvent(var autoJump: Boolean) : Event() +class MinecraftAutoJumpEvent(var autoJump: Boolean) : Event /** * All events which are related to the minecraft client @@ -97,7 +97,7 @@ class MinecraftAutoJumpEvent(var autoJump: Boolean) : Event() @Nameable("session") @WebSocketEvent -class SessionEvent(val session: Session) : Event() +class SessionEvent(val session: Session) : Event @Nameable("screen") class ScreenEvent(val screen: Screen?) : CancellableEvent() @@ -125,11 +125,11 @@ class ChatReceiveEvent( @Nameable("splashOverlay") @WebSocketEvent -class SplashOverlayEvent(val showingSplash: Boolean) : Event() +class SplashOverlayEvent(val showingSplash: Boolean) : Event @Nameable("splashProgress") @WebSocketEvent -class SplashProgressEvent(val progress: Float, val isComplete: Boolean) : Event() +class SplashProgressEvent(val progress: Float, val isComplete: Boolean) : Event @Nameable("serverConnect") class ServerConnectEvent( @@ -141,14 +141,14 @@ class ServerConnectEvent( @Nameable("disconnect") @WebSocketEvent -object DisconnectEvent : Event() +object DisconnectEvent : Event @Nameable("overlayMessage") @WebSocketEvent -class OverlayMessageEvent(val text: Text, val tinted: Boolean) : Event() +class OverlayMessageEvent(val text: Text, val tinted: Boolean) : Event @Nameable("perspective") -class PerspectiveEvent(var perspective: Perspective) : Event() +class PerspectiveEvent(var perspective: Perspective) : Event @Nameable("itemLoreQuery") -class ItemLoreQueryEvent(val itemStack: ItemStack, val lore: ArrayList) : Event() +class ItemLoreQueryEvent(val itemStack: ItemStack, val lore: ArrayList) : Event diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/NetworkEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/NetworkEvents.kt index 05922cf6954..07adaf58246 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/NetworkEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/NetworkEvents.kt @@ -28,7 +28,7 @@ import net.ccbluex.liquidbounce.utils.client.PacketQueueManager import net.minecraft.network.packet.Packet @Nameable("pipeline") -class PipelineEvent(val channelPipeline: ChannelPipeline, val local: Boolean) : Event() +class PipelineEvent(val channelPipeline: ChannelPipeline, val local: Boolean) : Event @Nameable("packet") class PacketEvent(val origin: TransferOrigin, val packet: Packet<*>, val original: Boolean = true) : CancellableEvent() @@ -38,7 +38,7 @@ class QueuePacketEvent( val packet: Packet<*>?, val origin: TransferOrigin, var action: PacketQueueManager.Action = PacketQueueManager.Action.FLUSH -) : Event() +) : Event enum class TransferOrigin { SEND, RECEIVE diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/PlayerEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/PlayerEvents.kt index 6492a94a9a4..653f9a1027d 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/PlayerEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/PlayerEvents.kt @@ -35,20 +35,20 @@ import net.minecraft.util.math.Vec3d // Entity events bound to client-user entity @Nameable("healthUpdate") -class HealthUpdateEvent(val health: Float, val food: Int, val saturation: Float, val previousHealth: Float) : Event() +class HealthUpdateEvent(val health: Float, val food: Int, val saturation: Float, val previousHealth: Float) : Event @Nameable("death") @WebSocketEvent -object DeathEvent : Event() +object DeathEvent : Event @Nameable("playerTick") class PlayerTickEvent : CancellableEvent() @Nameable("playerPostTick") -object PlayerPostTickEvent : Event() +object PlayerPostTickEvent : Event @Nameable("playerMovementTick") -object PlayerMovementTickEvent : Event() +object PlayerMovementTickEvent : Event @Nameable("playerNetworkMovementTick") class PlayerNetworkMovementTickEvent(val state: EventState, @@ -56,43 +56,43 @@ class PlayerNetworkMovementTickEvent(val state: EventState, var y: Double, var z: Double, var ground: Boolean - ): Event() + ): Event @Nameable("playerPushOut") class PlayerPushOutEvent : CancellableEvent() @Nameable("playerMove") -class PlayerMoveEvent(val type: MovementType, var movement: Vec3d) : Event() +class PlayerMoveEvent(val type: MovementType, var movement: Vec3d) : Event @Nameable("playerJump") class PlayerJumpEvent(var motion: Float) : CancellableEvent() @Nameable("playerAfterJump") -object PlayerAfterJumpEvent : Event() +object PlayerAfterJumpEvent : Event @Nameable("playerUseMultiplier") -class PlayerUseMultiplier(var forward: Float, var sideways: Float) : Event() +class PlayerUseMultiplier(var forward: Float, var sideways: Float) : Event @Nameable("playerSneakMultiplier") -class PlayerSneakMultiplier(var multiplier: Double) : Event() +class PlayerSneakMultiplier(var multiplier: Double) : Event @Nameable("playerInteractedItem") -class PlayerInteractedItem(val player: PlayerEntity, val hand: Hand, val actionResult: ActionResult) : Event() +class PlayerInteractedItem(val player: PlayerEntity, val hand: Hand, val actionResult: ActionResult) : Event @Nameable("playerStrafe") -class PlayerVelocityStrafe(val movementInput: Vec3d, val speed: Float, val yaw: Float, var velocity: Vec3d) : Event() +class PlayerVelocityStrafe(val movementInput: Vec3d, val speed: Float, val yaw: Float, var velocity: Vec3d) : Event @Nameable("playerStride") -class PlayerStrideEvent(var strideForce: Float) : Event() +class PlayerStrideEvent(var strideForce: Float) : Event @Nameable("playerSafeWalk") -class PlayerSafeWalkEvent(var isSafeWalk: Boolean = false) : Event() +class PlayerSafeWalkEvent(var isSafeWalk: Boolean = false) : Event @Nameable("playerStep") -class PlayerStepEvent(var height: Float) : Event() +class PlayerStepEvent(var height: Float) : Event @Nameable("playerStepSuccess") -class PlayerStepSuccessEvent(val movementVec: Vec3d, var adjustedVec: Vec3d) : Event() +class PlayerStepSuccessEvent(val movementVec: Vec3d, var adjustedVec: Vec3d) : Event @Nameable("playerFluidCollisionCheck") class PlayerFluidCollisionCheckEvent(val fluid: TagKey) : CancellableEvent() diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/UserInterfaceEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/UserInterfaceEvents.kt index 4930f35423c..76cd8e5c759 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/UserInterfaceEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/UserInterfaceEvents.kt @@ -27,11 +27,11 @@ import net.ccbluex.liquidbounce.integration.interop.protocol.rest.v1.game.Player @Nameable("fps") @WebSocketEvent -class FpsChangeEvent(val fps: Int) : Event() +class FpsChangeEvent(val fps: Int) : Event @Nameable("clientPlayerData") @WebSocketEvent -class ClientPlayerDataEvent(val playerData: PlayerData) : Event() { +class ClientPlayerDataEvent(val playerData: PlayerData) : Event { companion object { fun fromPlayerStatistics(stats: PlayerData) = ClientPlayerDataEvent(stats) } diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WindowEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WindowEvents.kt index ec2e25d06cd..73035bfe1d8 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WindowEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WindowEvents.kt @@ -28,22 +28,22 @@ import net.minecraft.client.gui.screen.Screen import net.minecraft.client.util.InputUtil @Nameable("windowResize") -class WindowResizeEvent(val width: Int, val height: Int) : Event() +class WindowResizeEvent(val width: Int, val height: Int) : Event @Nameable("frameBufferResize") -class FrameBufferResizeEvent(val width: Int, val height: Int) : Event() +class FrameBufferResizeEvent(val width: Int, val height: Int) : Event @Nameable("mouseButton") -class MouseButtonEvent(val button: Int, val action: Int, val mods: Int) : Event() +class MouseButtonEvent(val button: Int, val action: Int, val mods: Int) : Event @Nameable("mouseScroll") -class MouseScrollEvent(val horizontal: Double, val vertical: Double) : Event() +class MouseScrollEvent(val horizontal: Double, val vertical: Double) : Event @Nameable("mouseScrollInHotbar") class MouseScrollInHotbarEvent(val speed: Int) : CancellableEvent() @Nameable("mouseCursor") -class MouseCursorEvent(val x: Double, val y: Double) : Event() +class MouseCursorEvent(val x: Double, val y: Double) : Event @Nameable("keyboardKey") @WebSocketEvent @@ -54,8 +54,8 @@ class KeyboardKeyEvent( val action: Int, val mods: Int, val screen: Screen? = null -) : Event() +) : Event @Nameable("keyboardChar") @WebSocketEvent -class KeyboardCharEvent(val codePoint: Int, val modifiers: Int) : Event() +class KeyboardCharEvent(val codePoint: Int, val modifiers: Int) : Event diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WorldEvents.kt b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WorldEvents.kt index 2d6ff1c8543..5a6bd28eb69 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WorldEvents.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/event/events/WorldEvents.kt @@ -34,39 +34,39 @@ import net.minecraft.util.math.BlockPos import net.minecraft.util.shape.VoxelShape @Nameable("worldChange") -class WorldChangeEvent(val world: ClientWorld?) : Event() +class WorldChangeEvent(val world: ClientWorld?) : Event @Nameable("chunkUnload") -class ChunkUnloadEvent(val x: Int, val z: Int) : Event() +class ChunkUnloadEvent(val x: Int, val z: Int) : Event @Nameable("chunkLoad") -class ChunkLoadEvent(val x: Int, val z: Int) : Event() +class ChunkLoadEvent(val x: Int, val z: Int) : Event @Nameable("chunkDeltaUpdate") -class ChunkDeltaUpdateEvent(val x: Int, val z: Int) : Event() +class ChunkDeltaUpdateEvent(val x: Int, val z: Int) : Event @Nameable("blockChange") -class BlockChangeEvent(val blockPos: BlockPos, val newState: BlockState) : Event() +class BlockChangeEvent(val blockPos: BlockPos, val newState: BlockState) : Event @Nameable("blockShape") -class BlockShapeEvent(var state: BlockState, var pos: BlockPos, var shape: VoxelShape) : Event() +class BlockShapeEvent(var state: BlockState, var pos: BlockPos, var shape: VoxelShape) : Event @Nameable("blockBreakingProgress") -class BlockBreakingProgressEvent(val pos: BlockPos) : Event() +class BlockBreakingProgressEvent(val pos: BlockPos) : Event @Nameable("blockBreakingProgress") class BlockAttackEvent(val pos: BlockPos) : CancellableEvent() @Nameable("blockVelocityMultiplier") -class BlockVelocityMultiplierEvent(val block: Block, var multiplier: Float) : Event() +class BlockVelocityMultiplierEvent(val block: Block, var multiplier: Float) : Event @Nameable("blockSlipperinessMultiplier") -class BlockSlipperinessMultiplierEvent(val block: Block, var slipperiness: Float) : Event() +class BlockSlipperinessMultiplierEvent(val block: Block, var slipperiness: Float) : Event @Nameable("entityEquipmentChange") class PlayerEquipmentChangeEvent( val player: PlayerEntity, val equipmentSlot: EquipmentSlot, val itemStack: ItemStack -) : Event() +) : Event @Nameable("fluidPush") class FluidPushEvent : CancellableEvent()