v1.28.4 Changelog
Critical Bug Fixes
Player Data Auto Save System
- Fixed a bug where the player data auto save system would stop and give a stack overflow error after a period of time.
Additions
Technical
- Added
var errorLog: {playerDataAutoSave: {time: number, error: Error}[] ; [logCategory: string]: {time: number, error: Error}[];};
toglobalThis
. - Added the following methods to the
Entity
class prototype:
ts
/**
* Retrieves a concatenated string from an entity's dynamic properties.
*
* @param {string} propertyName - The base name of the dynamic property to retrieve.
* @param {string} zeroLengthPlaceholder - A placeholder string to return if the dynamic property length is zero. Defaults to an empty string.
* @returns {string} The concatenated string from the entity's dynamic properties, or the zeroLengthPlaceholder if the length is zero.
* @throws {TypeError} If the propertyName is not a string.
*/
getStringFromDynamicProperties(propertyName: string, zeroLengthPlaceholder?: string): string
ts
/**
* Saves a string to an entity's dynamic properties, optionally clearing old properties first.
*
* @param {string} string - The string to save to the entity's dynamic properties.
* @param {string} propertyName - The base name of the dynamic property where the string will be saved.
* @param {boolean} clearOldProperties - Whether to clear old properties before saving the new string. Defaults to `true`.
* @param {number | bigint} chunkSize - The size of each chunk of the string to save. Defaults to `32760`.
*
* @throws {TypeError} If `propertyName` is not a string.
* @throws {TypeError} If `clearOldProperties` is not a boolean.
*/
saveStringToDynamicProperties(string: string, propertyName: string, clearOldProperties?: boolean, chunkSize?: number | bigint): void
- Added the following methods to the
World
class prototype:
ts
/**
* Retrieves a concatenated string from dynamic properties based on the provided property name.
*
* @param {string} propertyName - The base name of the dynamic property to retrieve the string from.
* @param {string} zeroLengthPlaceholder - A placeholder string to return if the length of the dynamic property is zero. Defaults to an empty string.
* @returns {string} The concatenated string from the dynamic properties, or the zeroLengthPlaceholder if the length is zero.
* @throws {TypeError} If the provided propertyName is not a string.
*/
getStringFromDynamicProperties(propertyName: string, zeroLengthPlaceholder?: string): string;
ts
/**
* Saves a string to dynamic properties, optionally clearing old properties first and splitting the string into chunks.
*
* @param {string} string - The string to save to dynamic properties.
* @param {string} propertyName - The name of the property to save the string under.
* @param {boolean} clearOldProperties - Whether to clear old properties before saving the new string. Defaults to true.
* @param {number | bigint} chunkSize - The size of each chunk to split the string into. Defaults to 32760.
*
* @throws {TypeError} If `propertyName` is not a string.
* @throws {TypeError} If `clearOldProperties` is not a boolean.
*/
saveStringToDynamicProperties(string: string, propertyName: string, clearOldProperties?: boolean, chunkSize?: number | bigint): void;
Changes
Ultra Security Mode
- Reworked the permissions system.
Commands
- Slightly sped up the
\snapshot rollback
subcommand when the world has a large amount of structures saved.
UIs
- Updated the Security Settings menu.
Fixes
UIs
- Fixed a bug where when viewing raw player data in the manage players menu, you wouldn't be able to see the
inputInfo
property.
Commands
- Fixed the
\but
alias of the\butcher
command. - Fixed the
\butdes
alias of the\butcherdespawn
command. - Fixed the \ec alias of the \enderchest command.