com.hypixel.hytale.builtin.asseteditor
Package: com.hypixel.hytale.builtin.asseteditor
The asset editor module provides a server-side plugin for real-time editing of game assets (models, items, block types, textures, sounds, etc.) through a dedicated editor client. The system supports JSON asset editing with BSON-based incremental updates, undo/redo history, live preview of models/weather/time, and asset pack management. The editor communicates via a custom packet protocol separate from the game client connection.
All types in this package are internal (api_surface: false). They are not part of the public plugin API.
Architecture
Section titled “Architecture”AssetEditorPlugin is the central entry point. It manages editor client connections, asset pack data sources, schema distribution, and coordinates asset updates. EditorClient represents a connected editor session. Packet handling is split between AssetEditorGamePacketHandler (in-game client) and AssetEditorPacketHandler (standalone editor).
| Type | Kind | Description |
|---|---|---|
| AssetEditorPlugin | class | Plugin entry point and central coordinator |
| EditorClient | class | Represents a connected editor session |
| AssetEditorGamePacketHandler | class | Handles editor packets from in-game clients |
| AssetEditorPacketHandler | class | Handles packets from standalone editor clients |
| AssetPath | record | Immutable pack ID + path pair |
| AssetTree | class | Sorted file tree for an asset pack |
| AssetTypeRegistry | class | Registry of asset type handlers |
| AssetSpecificFunctionality | class | Event handlers for model/item/weather preview |
| Messages | class | Localization message constants |
| UndoRedoManager | class | Per-asset undo/redo stack manager |
Asset Type Handlers (sub-package assettypehandler)
Section titled “Asset Type Handlers (sub-package assettypehandler)”| Type | Kind | Description |
|---|---|---|
| AssetTypeHandler | abstract class | Base handler for loading/unloading assets |
| JsonTypeHandler | abstract class | Handler for JSON-based assets |
| AssetStoreTypeHandler | class | Handler for asset-store-backed assets |
| CommonAssetTypeHandler | class | Handler for common assets (textures, models, etc.) |
Data (sub-package data)
Section titled “Data (sub-package data)”| Type | Kind | Description |
|---|---|---|
| AssetState | enum | Asset modification state (CHANGED, NEW, DELETED) |
| AssetUndoRedoInfo | class | Undo/redo command stacks for a single asset |
| ModifiedAsset | class | Tracks a modified asset with metadata |
Data Sources (sub-package datasource)
Section titled “Data Sources (sub-package datasource)”| Type | Kind | Description |
|---|---|---|
| DataSource | interface | Abstract file system operations for asset packs |
| StandardDataSource | class | File-system-backed data source implementation |
Events (sub-package event)
Section titled “Events (sub-package event)”| Type | Kind | Description |
|---|---|---|
| EditorClientEvent | abstract class | Base event carrying an EditorClient reference |
| AssetEditorActivateButtonEvent | class | Button activation in editor UI |
| AssetEditorAssetCreatedEvent | class | New asset created |
| AssetEditorClientDisconnectEvent | class | Editor client disconnected |
| AssetEditorFetchAutoCompleteDataEvent | class | Auto-complete data request |
| AssetEditorRequestDataSetEvent | class | Dataset request (e.g. item categories) |
| AssetEditorSelectAssetEvent | class | Asset selected in editor |
| AssetEditorUpdateWeatherPreviewLockEvent | class | Weather preview lock state change |
Utilities (sub-package util)
Section titled “Utilities (sub-package util)”| Type | Kind | Description |
|---|---|---|
| AssetPathUtil | class | Path validation and filename utilities |
| AssetStoreUtil | class | Asset store index lookup utility |
| BsonTransformationUtil | class | BSON document property manipulation |