1- import { ScoreboardObjective , ScoreboardIdentity , Entity } from "@minecraft/server" ;
2- //////////////////////////////////////
3- // NBT-SERIALIZER.D.TS
4- //////////////////////////////////////
5-
6- type StringBase = 16 | 8 | 32 ;
7- type IStreamType = number | number | { buffer : ArrayBuffer } ;
8- declare class Stream extends DataView {
9- constructor ( buffer : ArrayBuffer | number , offset ?: number )
10- protected __offset__ : number
11- readonly offset : number
12- readonly size : number
13- readonly EndOfStream : boolean
14- setOffset ( num : number ) : void
15- static fromString ( text : string , options ?: { bufferLength ?: number , base ?:StringBase } , ...params : any ) : Stream
16- /**@param {Stream } stream @param {8|16|32 } base*/
17- static toString ( stream : Stream , base ?: StringBase ) : string
18- toString ( base ?: StringBase ) : string
19- }
20- declare class BinaryStreamWriter extends Stream {
21- constructor ( stream : IStreamType )
22- writeBytes ( buffer : ArrayBuffer , length ?:number ) : number
23- writeString ( text : string , base ?: StringBase ) : number
24- writeByte ( num : number ) : number
25- writeUint8 ( num : number ) : number
26- writeInt8 ( num : number ) : number
27- writeInt16 ( num : number ) : number
28- writeUint16 ( num : number ) : number
29- writeInt32 ( num : number ) : number
30- writeUint32 ( num : number ) : number
31- writeFloat32 ( num : number ) : number
32- writeFloat64 ( num : number ) : number
33- static fromString ( text : string , options ?: { bufferLength ?: number , base ?:StringBase } , ...params : any ) : BinaryStreamWriter
34- }
35- declare class BinaryStreamReader extends Stream {
36- constructor ( stream : IStreamType )
37- readBytes ( length ?: number ) : Uint8Array
38- readString ( length : number , base ?: StringBase ) :string
39- readByte ( ) :number
40- readUint8 ( ) :number
41- readInt8 ( ) :number
42- readInt16 ( ) :number
43- readUint16 ( ) :number
44- readInt32 ( ) :number
45- readUint32 ( ) :number
46- readFloat32 ( ) :number
47- readFloat64 ( ) :number
48- static fromString ( text : string , options ?: { bufferLength ?: number , base ?:StringBase } , ...params : any ) : BinaryStreamReader
49- }
50- declare class EndOfStreamError extends Error { }
51- declare enum NBTTypes {
52- "EndOfCompoud" = 0 ,
53- "Compoud" = 1 ,
54- "Array" = 2 ,
55- "TypedArray" = 3 ,
56- "Uint8" = 4 ,
57- "Uint16" = 5 ,
58- "Int32" = 6 ,
59- "Double" = 7 ,
60- "String" = 8 ,
61- "Empty" = 9 ,
62- "Boolean" = 10
63- }
64- declare class NBTStreamWriter extends BinaryStreamWriter {
65- constructor ( stream : IStreamType , options ?: object | NBTStreamWriter )
66- protected __options__ : NBTWriterOptions ;
67- writeTypedArray < t > ( array : Array < t > ) : number
68- writeBoolean ( bool : boolean ) :number
69- writeString ( text : string ) : number
70- writeArray ( array : any [ ] ) : number
71- writeCompoud ( object : object ) : number
72- writeEmpty ( ) : number
73- writeType ( type : NBTTypes ) : number
74- static fromString ( text : string , options ?: { bufferLength ?: number , base ?:StringBase } , ...params : any ) : NBTStreamWriter
75- }
76- declare class NBTStreamReader extends BinaryStreamReader {
77- constructor ( stream : IStreamType , options ?: object | NBTReaderOptions )
78- protected __options__ : NBTReaderOptions ;
79- readTypedArray ( ) : Array < any >
80- readBoolean ( ) : boolean
81- readString ( ) : string
82- readArray ( ) : any [ ]
83- readCompoud ( ) : object
84- readEmpty ( ) : undefined
85- readType ( ) : NBTTypes
86- static fromString ( text : string , options ?: { bufferLength ?: number , base ?:StringBase } , ...params : any ) : NBTStreamReader
87- }
88- declare const NBT : {
89- ReadNBT ( stream : NBTStreamReader ) : any
90- WriteNBT ( data : any , stream : NBTStreamWriter , type ?: NBTTypes ) : number
91- getType ( data : any ) : NBTTypes
92- stringify ( object :any , options ?: NBTWriterOptions ) : string
93- parse ( string : string , options ?: NBTReaderOptions ) : any
94- createNewWriters < t extends Partial < typeof defaultWriters > > ( object ?: t ) : t & typeof defaultWriters
95- createNewReaders < t extends Partial < typeof defualtReaders > > ( object ?: t ) : t & typeof defualtReaders
96- }
97- type WriterCall = ( stream : NBTStreamWriter , data : any ) => number
98- type ReaderCall = ( stream : NBTStreamReader ) => any
99- declare const defaultWriters : {
100- [ NBTTypes . Compoud ] :WriterCall ,
101- [ NBTTypes . Empty ] :WriterCall ,
102- [ NBTTypes . Array ] :WriterCall ,
103- [ NBTTypes . String ] :WriterCall ,
104- [ NBTTypes . Boolean ] :WriterCall ,
105- [ NBTTypes . Uint8 ] :WriterCall ,
106- [ NBTTypes . Uint16 ] :WriterCall ,
107- [ NBTTypes . Int32 ] :WriterCall ,
108- [ NBTTypes . Double ] :WriterCall ,
109- [ NBTTypes . TypedArray ] :WriterCall
110- }
111- declare const defualtReaders : {
112- [ NBTTypes . Compoud ] :ReaderCall ,
113- [ NBTTypes . Empty ] :ReaderCall ,
114- [ NBTTypes . Array ] :ReaderCall ,
115- [ NBTTypes . String ] :ReaderCall ,
116- [ NBTTypes . Boolean ] :ReaderCall ,
117- [ NBTTypes . Uint8 ] :ReaderCall ,
118- [ NBTTypes . Uint16 ] :ReaderCall ,
119- [ NBTTypes . Int32 ] :ReaderCall ,
120- [ NBTTypes . Double ] :ReaderCall ,
121- [ NBTTypes . TypedArray ] :ReaderCall
122- }
123- declare class NBTStreamOptions {
124- nbtTypes : object & NBTTypes
125- getType :( data : any ) => NBTStreamOptions [ "nbtTypes" ] [ keyof NBTStreamOptions [ "nbtTypes" ] ]
126- }
127- declare class NBTWriterOptions extends NBTStreamOptions {
128- writers : ReturnType < typeof NBT [ "createNewWriters" ] > ;
129- }
130- declare class NBTReaderOptions extends NBTStreamOptions {
131- readers : ReturnType < typeof NBT [ "createNewReaders" ] > ;
132- }
133-
134-
135-
136-
137- //////////////////////////////////////
138- // DATABASE.JS
139- //////////////////////////////////////
140- export enum DatabaseSavingModes {
141- OneTimeSave = "OneTimeSave" ,
142- EndTickSave = "EndTickSave" ,
143- TickInterval = "TickInterval"
144- }
145- export enum ChangeAction {
146- Change = 0 ,
147- Remove = 1
148- }
149- /**@extends {Map<string,any> }*/
150- declare class ScoreboardDatabaseManager extends Map < string , any > {
151- private _saveMode_ : DatabaseSavingModes ;
152- private _loadingPromise_ ?: Promise < this> ;
153- private hasChanges : boolean ;
154- private readonly _scoreboard_ : ScoreboardObjective ;
155- protected readonly _source_ : Map < string , string | ScoreboardIdentity | Entity > ;
156- protected readonly _parser_ : { stringify :( data : any ) => string , parse :( data : string ) => any } ;
157- constructor ( objective : string | ScoreboardObjective , saveMode ?: DatabaseSavingModes ) ;
158- constructor ( objective : string | ScoreboardObjective , saveMode : DatabaseSavingModes . EndTickSave , interval ?: number ) ;
159- /**@inheritdoc */
160- set ( key : string , value : any ) : this
161- /**@inheritdoc */
1+ import { World , Entity } from "@minecraft/server" ;
2+ declare class DynamicDatabase extends Map {
3+ protected constructor ( ) ;
4+ set ( key : string , value : any )
1625 delete ( key : string ) : boolean
163- /**@inheritdoc */
1646 clear ( ) : void
165- load ( ) : this
166- loadAsync ( ) : Promise < this>
167- rebuild ( ) : this;
168- rebuildAsync ( ) : Promise < this> ;
169- readonly objective : ScoreboardObjective
170- readonly id : string ;
171- readonly loaded : boolean ;
172- readonly maxLength : number ;
173- readonly savingMode : DatabaseSavingModes ;
174- readonly type : "DefualtJsonType" | "JsonType" | "NBTType" | "CustomType" ;
175- readonly loadingAwaiter : Promise < this> ;
176- }
177- export class JsonDatabase extends ScoreboardDatabaseManager { }
178- export class NBTDatabase extends ScoreboardDatabaseManager { }
179- export class CustomDatabase extends ScoreboardDatabaseManager {
180- constructor ( parser : { parse :( data :string ) => any , stringify :( data : any ) => string } , objective : string | ScoreboardObjective , saveMode ?: DatabaseSavingModes ) ;
181- constructor ( parser : { parse :( data :string ) => any , stringify :( data : any ) => string } , objective : string | ScoreboardObjective , saveMode : DatabaseSavingModes . EndTickSave , interval ?: number ) ;
182- }
7+ isValid ( ) : boolean
8+ dispose ( ) : void
9+ readonly isDisposed : boolean
10+ }
11+ //@ts -ignore
12+ export class JsonDatabase extends DynamicDatabase { constructor ( source : World | Entity , id : string ) ; }
13+ //@ts -ignore
14+ export class WorldDatabase extends JsonDatabase { constructor ( id : string ) }
0 commit comments