Skip to content

Commit

Permalink
chore: open class Event -> interface Event (#5593)
Browse files Browse the repository at this point in the history
  • Loading branch information
MukjepScarlet authored Feb 12, 2025
1 parent 6185e44 commit d7ca5c6
Show file tree
Hide file tree
Showing 10 changed files with 99 additions and 97 deletions.
10 changes: 6 additions & 4 deletions src/main/kotlin/net/ccbluex/liquidbounce/event/Event.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,65 +47,65 @@ 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
}
}

@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,
Expand All @@ -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,
Expand All @@ -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")
Expand All @@ -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<Component>) : Event()
class ComponentsUpdate(val components: List<Component>) : 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<InventoryActionChain> = mutableListOf()) : Event() {
class ScheduleInventoryActionEvent(val schedule: MutableList<InventoryActionChain> = mutableListOf()) : Event {

fun schedule(
constrains: InventoryConstraints,
Expand Down Expand Up @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -47,7 +47,7 @@ class DrawOutlinesEvent(
val camera: Camera,
val partialTicks: Float,
val type: OutlineType,
) : Event() {
) : Event {
var dirtyFlag: Boolean = false
private set

Expand All @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -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<Color4b?> = PriorityField(null, Priority.NOT_IMPORTANT)

/**
Expand Down
34 changes: 17 additions & 17 deletions src/main/kotlin/net/ccbluex/liquidbounce/event/events/GameEvents.kt
Original file line number Diff line number Diff line change
Expand Up @@ -38,33 +38,33 @@ 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
* executed in the same frame. This is useful for more responsive task execution
* 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,
Expand All @@ -77,27 +77,27 @@ 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
*/

@Nameable("session")
@WebSocketEvent
class SessionEvent(val session: Session) : Event()
class SessionEvent(val session: Session) : Event

@Nameable("screen")
class ScreenEvent(val screen: Screen?) : CancellableEvent()
Expand Down Expand Up @@ -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(
Expand All @@ -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<Text>) : Event()
class ItemLoreQueryEvent(val itemStack: ItemStack, val lore: ArrayList<Text>) : Event
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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
Expand Down
Loading

0 comments on commit d7ca5c6

Please sign in to comment.