ChangeGameModeEvent
ChangeGameModeEvent
Section titled “ChangeGameModeEvent”Package:
com.hypixel.hytale.server.core.event.events.ecsExtends:CancellableEcsEventImplements:ICancellableEcsEventCancellable: Yes
ECS event dispatched when a player’s game mode is about to change. Cancelling this event prevents the game mode change. The gameMode field is mutable, allowing listeners to redirect the change to a different game mode.
Fields / Accessors
Section titled “Fields / Accessors”| Field | Type | Accessor | Mutable | Nullable |
|---|---|---|---|---|
gameMode | GameMode | getGameMode() | Yes | No |
- gameMode — The game mode being switched to. Mutable — changing this alters which game mode the player will be placed in.
Fired By
Section titled “Fired By”Player.setGameMode(line 796) viacomponentAccessor.invoke(playerRef, event)— ECS dispatch when a player’s game mode changes.
Listening
Section titled “Listening”ECS events are handled by EntityEventSystem subclasses, not by getEventRegistry().register().
public class MyGameModeHandler extends EntityEventSystem<EntityStore, ChangeGameModeEvent> { @Override public Query<EntityStore> getQuery() { return MY_COMPONENT_TYPE; }
@Override public void handle(int index, ArchetypeChunk<EntityStore> chunk, Store<EntityStore> store, CommandBuffer<EntityStore> commandBuffer, ChangeGameModeEvent event) { GameMode requestedMode = event.getGameMode();
// Example: prevent switching to creative mode if (requestedMode == GameMode.CREATIVE) { event.setCancelled(true); }
// Example: redirect spectator requests to adventure if (requestedMode == GameMode.SPECTATOR) { event.setGameMode(GameMode.ADVENTURE); } }}
// Register in plugin setup():getEntityStoreRegistry().registerSystem(new MyGameModeHandler());Related Events
Section titled “Related Events”There are no directly related ECS events. Game mode changes are a standalone player state transition.