用户:
𝙲ℴ𝗌𝔦𝒹ₑ𝑟查看:25 回复:6 评论:25 创建时间:2023-05-08T21:12:55
module.exports = {
get() {
if (!this.key && this.configure.warns.NonSetkey) {
console.warn("SQLc: you have't set uesrkey!");
}
},
setUserkey(player) {
if (typeof (player) != 'Box喵layer') return console.error(`can 't set playerTarget with ${typeof (player)} (value: ${player} )`);
this.key = player.userkey;
},
InitSQLdatebase() {
db.sql` CRATE TABLE player(
id NOT NULL
usrKey char(16) NOT NULL
data json DEFAULT() NOT NULL
) if not exist `
},
getdata(target) {
return target ?
db.sql(`SELECT * FROM player WHERE id = ${target}`)
: db.sql(`SELECT * FROM player WHERE usrKey = ${this.key}`)
},
deldata() {
db.sql`DELETE FROM player WHERE usrKey = ${this.key}`
},
addData(Data, player) {
if (Data === null || Data === undefined) return console.error(`SQLc error: Data must be added (command target:${player})`)
const Rjsys = this.configure.REJECTsys, RjNo = Rjsys.Inputs.includce(Data)
if (RjNo) return console.warn(`SQLc: invalid word "${String(Data)}". \n (at SQLc.addData(...Data,${player})`)
if (Rjsys.Replace[RjNo] == -1 ) { console.warn(`SQLc: invalid word "${String(Data)}". \n Now replace by "${Rjsys.Replace[RjNo]}" (@SQLc.addData(...Data,${player})`) }
db.sql`INSERT INTO player (data,usrKey) VALUES (${Data},${this.key});`
},
configure: {
admins: [],
REJECTsys: {
open: true,
addRejects(...adds) {
adds.forEach(i => {
if (!adds[i]) continue;
this.Inputs.push(adds[i][1]);
this.Replace.push(adds[i][2] ? adds[i][2] : undefined)
})
return this.Inputs, this.Replace;
},
Inputs: [],
Replace: []
},
warns: {
DataNotFind: false,
inputNull: true,
inputInvalids: true,
NonSetkey: true
}
}
}
保存以上代码到一个文件变成一个模块,然后在index用以下方法初始化
const sql = require('./sql.js')
world.onPlayerJoin(({ entity }) => {
sql.setUserkey(entity)
})
sql.InitSQLdatabase()
由于没有测((()
请各位指出其中错误(诶我inputs怎么没有识别成array)
各自功能以后更新()
请关注:SQLc(SQLcommand)