diff --git a/fabric-lifecycle-events-v1/README.md b/fabric-lifecycle-events-v1/README.md new file mode 100644 index 000000000..3911c28ee --- /dev/null +++ b/fabric-lifecycle-events-v1/README.md @@ -0,0 +1,78 @@ +# Fabric Lifecycle Events (V1) + +Contains events which indicate when the lifecycle of a Minecraft client, Minecraft server and the lifecycle objects which exist on the client and server has changed. + +## Organization + +Events in this module belong to a single class which relates to the category of events. +The event callbacks to be implemented are nested classes within. + +For example, if you are listening to `ServerLifecycleEvents.SERVER_STARTING` in `ServerLifecycleEvents` the callback interface that would be implemented is `ServerLifecycleEvents.ServerStarting`. + +# Server Events + +Events related to objects on a logical server. +These classes are located in `net.fabricmc.fabric.api.event.lifecycle.v1`. + +## `ServerLifecycleEvents` + +Contains lifecycle events related to a Minecraft server. +This includes events which indicate when a server is starting up, is in a data pack reload or shutting down. + +## `ServerTickEvents` + +Contains events related to the ticking of a Minecraft server. +There are events that indicate the beginning and end of the tick for the server and each `ServerWorld`. + +## `ServerWorldEvents` + +Events related to the lifecycle a `ServerWorld`. +Currently, this contains events related to loading and unloading `ServerWorld`s. + +## `ServerChunkEvents` + +Events related to the lifecycle of chunks in a `ServerWorld`. +Currently, this contains events related to loading and unloading chunks in a `ServerWorld`. + +## `ServerEntityEvents` + +Events related to the lifecycle of entities in a `ServerWorld`. +Currently, this only contains an event for an entity being loaded into a `ServerWorld`. +The unload event has not been implemented yet. + +## `ServerBlockEntityEvents` + +Events related to the lifecycle of block entities in a `ServerWorld`. +Currently, this contains events related to loading and unloading block entities in a `ServerWorld`. + +# Client Events + +Events related to objects on a logical client. +These classes are located in `net.fabricmc.fabric.api.client.event.lifecycle.v1`. + +**Note: These events are only available on a client. Trying to access these events on a dedicated server will cause the game to crash.** + +## `ClientLifecycleEvents` + +Events related to the lifecycle of a Minecraft client. +Currently, this contains events related to when the Minecraft Client is starting or stopping. + +## `ClientTickEvents` + +Events related to ticking of a Minecraft client. +There are events that indicate the beginning and end of the tick for the client and the `ClientWorld` if in game. + +## `ClientChunkEvents` + +Events related to the lifecycle of chunks on a Minecraft client. +Currently, this contains events related to loading and unloading chunks in a `ClientWorld`. + +## `ClientEntityEvents` + +Events related to the lifecycle of entities in a `ClientWorld`. +Currently, this contains event for an entity being loaded into a `ClientWorld`. + +## `ClientBlockEntityEvents` + +Events related to the lifecycle of block entities in a `ClientWorld`. +Currently, this contains events related to loading and unloading block entities in a `ClientWorld`.