用户:
145a查看:1 回复:4 评论:1 创建时间:2024-02-07T11:56:09
首先,创建一个文件145storage.js
代码链接见回帖

本教程使用的版本为3.8,不同版本有变化。
然后index.js放这些代码:
require("./145storage.js");
const DEFAULT_USER_DATA = {//默认数据
joinTimes: 0//进入次数
};
const dataStorage = storage.get145DataStorage("example", DEFAULT_USER_DATA);
world.onPlayerJoin(async ({ entity }) => {
await dataStorage.setupUser(entity);//初始化玩家数据库
entity.joinTimes += 1;
console.log(await dataStorage.getRank("joinTimes", "进入次数", 100, false));
});
下面解释一下这些代码。
DEFAULT_USER_DATA是默认数据,必须是JSONValue。
storage.get145DataStorage获取了一个特殊的GameDataStorage,example是数据库名称,DEFAULT_USER_DATA是玩家的默认数据。
然后,当玩家进入地图,首先使用dataStorage.setupUser初始化玩家数据。
首次进入地图时,joinTimes为0,因为DEFAULT_USER_DATA里的joinTimes为0。
接下来,更改玩家的joinTimes属性。这个时候,145storage会把这个更改同步到数据库,这是145storage的核心功能之一。DEFAULT_USER_DATA里有数字类型的joinTimes。145storage使用强类型,所以不能设置玩家的joinTimes属性与DEFAULT_USER_DATA内的类型(number)不同的类型。
然后,在控制台输出所有玩家的joinTimes的排行榜,这是145storage的一个功能。joinTimes是类型,进入次数是显示的类型,100是展示前几名,false是降序(如果是true就是升序)。控制台的输出看起来是这样:
用户名 进入次数
145a 1
DEFAULT_USER_DATA也可以添加别的东西,只要是JSONValue就行。这些玩家的属性都会被保存到数据库。这是145storage的核心功能之一。
这些东西在用dataStorage.setupUser初始化玩家后都会成为玩家的属性,并且与数据库同步。
更多内容回帖补()
最新链接喵helloyork/Box3-Tools/blob/main/src/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%B7%A5%E5%85%B7/145storage/145storage.js
点赞0
评论