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
Entityclass 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): stringts
/**
* 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
Worldclass 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 rollbacksubcommand 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
inputInfoproperty.
Commands ​
- Fixed the
\butalias of the\butchercommand. - Fixed the
\butdesalias of the\butcherdespawncommand. - Fixed the \ec alias of the \enderchest command.
