Boxel 3D API
The Boxel 3D API provides modders the documentation they need to develop new features for Boxel 3D.
Credit: outerbound, Charlieee1
Event Listeners
Boxel 3D events are special “hooks” that modders can hook into during the game lifecycle.
For example, if you want to run code after the player dies, you can add an event listener using the playerKill event name.
Example Event Listener
window.addEventListener("playerRespawn", (event) => {
console.log("Player respawned:", event.detail.player);
});
General Events
| Event Name | Data | Description |
|---|---|---|
beforeSettingsClosed |
{} |
Triggered before settings are closed. |
cameraUpdated |
{ detail: Object } |
Triggered after camera updates. |
closePopup |
{} |
Fires when a popup is closed. |
engineUpdated |
{ detail: Object } |
Triggered after engine loop ends. |
levelStart |
{ detail: Object } |
Called when a level starts. |
levelFinished |
{ detail: Object } |
Triggered when a level is completed. |
openLevelSelectorPopup |
{} |
Fires when the level selector popup opens. |
openPopup |
{ detail: Object } |
Called when a popup is opened. |
pageMounted |
{ detail: String } |
Fired when a page is mounted. |
popupClosed |
{} |
Triggered when a popup is closed. |
popupOpened |
{} |
Fires when a popup is opened. |
renderUpdated |
{ detail: Object } |
Triggered after render loop ends. |
Player Events
| Event Name | Data | Description |
|---|---|---|
playerKill |
{ detail: { player: Object } } |
Triggered when a player is killed. |
playerRespawn |
{ detail: { player: Object } } |
Fires when a player respawns. |
playerRestart |
{ detail: { player: Object } } |
Called when a player restarts. |
UI & Settings Events
| Event Name | Data | Description |
|---|---|---|
setCredit |
{ detail: { text: String } } |
Updates credit text. |
setMode |
{ detail: String } |
Sets the current game mode. |
setPage |
{ detail: String } |
Changes the current page. |
setSelectedObject |
{ detail: Object } |
Sets the selected object in the UI. |
setSelectedMode |
{ detail: String } |
Changes the selected mode. |
setTheme |
{ detail: String } |
Sets the game theme. |
settingsClosed |
{} |
Fires when the settings menu is closed. |
settingsOpened |
{} |
Fires when the settings menu is opened. |
themeSelected |
{ detail: Object } |
Triggered when a theme is selected. |
updateLoading |
{ detail: Object } |
Updates the loading state. |
updateStatsVisibility |
{} |
Updates the visibility of stats. |