Module Events
Events from various server modules.
Damage Module
Section titled “Damage Module”Package: com.hypixel.hytale.server.core.modules.entity.damage.event
KillFeedEvent
Section titled “KillFeedEvent”Dispatched during death processing after an entity is killed.
ECS events for kill feed display. All subclasses are cancellable.
Class: com.hypixel.hytale.server.core.modules.entity.damage.event.KillFeedEvent
These events are dispatched TO entities (killer and deceased) to build the kill feed message.
KillFeedEvent.KillerMessage
Section titled “KillFeedEvent.KillerMessage”Invoked on the killer entity to get their display name. This event is cancellable.
| Field | Type | Description |
|---|---|---|
damage | Damage | The damage that caused death |
targetRef | Ref<EntityStore> | Reference to deceased entity |
message | Message | Mutable - set the killer’s name |
Methods:
| Signature | Description |
|---|---|
Damage getDamage() | Returns the damage instance that caused the death |
Ref<EntityStore> getTargetRef() | Returns a reference to the deceased entity |
Message getMessage() | Returns the current killer display message, or null if not set |
void setMessage(Message message) | Sets the killer’s display name message |
KillFeedEvent.DecedentMessage
Section titled “KillFeedEvent.DecedentMessage”Invoked on the deceased entity to get their display name. This event is cancellable.
| Field | Type | Description |
|---|---|---|
damage | Damage | The damage that caused death |
message | Message | Mutable - set the deceased’s name |
Methods:
| Signature | Description |
|---|---|
Damage getDamage() | Returns the damage instance that caused the death |
Message getMessage() | Returns the current deceased display message, or null if not set |
void setMessage(Message message) | Sets the deceased’s display name message |
KillFeedEvent.Display
Section titled “KillFeedEvent.Display”Controls broadcast of the kill feed. This event is cancellable.
| Field | Type | Description |
|---|---|---|
damage | Damage | The damage that caused death |
icon | String | Mutable - death icon |
broadcastTargets | List<PlayerRef> | Who receives the message |
Methods:
| Signature | Description |
|---|---|
Damage getDamage() | Returns the damage instance that caused the death |
String getIcon() | Returns the current death icon, or null if not set |
void setIcon(String icon) | Sets the death icon for the kill feed display |
List<PlayerRef> getBroadcastTargets() | Returns the mutable list of players who will receive the kill feed message |
How Kill Feed Works
Section titled “How Kill Feed Works”From DeathSystems.KillFeed:
// 1. Get killer's display nameKillFeedEvent.KillerMessage killerEvent = new KillFeedEvent.KillerMessage(damage, deceasedRef);store.invoke(killerRef, killerEvent); // dispatched TO killer entityif (killerEvent.isCancelled()) return;Message killerName = killerEvent.getMessage();
// 2. Get deceased's display nameKillFeedEvent.DecedentMessage decedentEvent = new KillFeedEvent.DecedentMessage(damage);store.invoke(deceasedRef, decedentEvent); // dispatched TO deceased entityif (decedentEvent.isCancelled()) return;Message decedentName = decedentEvent.getMessage();
// 3. NPCs cancel DecedentMessage (NPC deaths don't show in feed)// players set their display name via DisplayNameComponenti18n Module
Section titled “i18n Module”Package: com.hypixel.hytale.server.core.modules.i18n.event
GenerateDefaultLanguageEvent
Section titled “GenerateDefaultLanguageEvent”Fired by /i18n gen command to collect translation keys.
Class: com.hypixel.hytale.server.core.modules.i18n.event.GenerateDefaultLanguageEvent
| Field | Type | Description |
|---|---|---|
translationFiles | ConcurrentHashMap<String, TranslationMap> | Collected translations |
Methods:
| Signature | Description |
|---|---|
void putTranslationFile(String filename, TranslationMap translations) | Adds a translation file to the collection |
MessagesUpdated
Section titled “MessagesUpdated”Fired when translations are hot-reloaded or dynamically added.
Class: com.hypixel.hytale.server.core.modules.i18n.event.MessagesUpdated
| Field | Type | Description |
|---|---|---|
changedMessages | Map<String, Map<String, String>> | Language -> key/value changes |
removedMessages | Map<String, Map<String, String>> | Language -> removed keys |
Methods:
| Signature | Description |
|---|---|
Map<String, Map<String, String>> getChangedMessages() | Returns the map of changed translation messages (language code -> key/value pairs) |
Map<String, Map<String, String>> getRemovedMessages() | Returns the map of removed translation messages (language code -> key/value pairs) |
Example (from AssetEditorPlugin)
Section titled “Example (from AssetEditorPlugin)”events.register(MessagesUpdated.class, event -> { // push translation updates to connected editor clients for (EditorClient client : connectedClients) { UpdateTranslations[] packets = i18nModule.getUpdatePacketsForChanges( client.getLanguage(), event.getChangedMessages(), event.getRemovedMessages() ); client.send(packets); }});Singleplayer Module
Section titled “Singleplayer Module”Package: com.hypixel.hytale.server.core.modules.singleplayer
SingleplayerRequestAccessEvent
Section titled “SingleplayerRequestAccessEvent”Fired when a client requests singleplayer access.
Class: com.hypixel.hytale.server.core.modules.singleplayer.SingleplayerRequestAccessEvent
| Field | Type | Description |
|---|---|---|
access | Access | The access data from the request |
Methods:
| Signature | Description |
|---|---|
Access getAccess() | Returns the access data from the singleplayer request |