@boem312/minecraft-server
Version:
A pure JS library to create Minecraft Java 1.16.3 servers
260 lines (259 loc) • 294 kB
TypeScript
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Chunk *
*/
export class Chunk{constructor();
/**
* The blocks in the chunk relative to the chunk.
*/
readonly blocks:relativeBlocksSegment;readonly hash:string;
/**
* @package
*/
readonly chunk:unknown;
/**
* @package
*/
readonly chunkData:{biomes:unknown,bitMap:unknown,chunkData:unknown};
/**
* Set a block without sending a packet to the client.
* @param chunkRelativeLocation The location relative to the chunk. Must be between 0 and 15.
* @package
*/
updateBlock(block:blockName,chunkRelativeLocation:{x:number;y:number;z:number;},state?:blockState):this;
/**
* @param chunkRelativeLocation The location relative to the chunk. Must be between 0 and 15.
* @example
* for (let x = 0; x < 16; x++)
* for (let z = 0; z < 16; z++)
* for (let y = 0; y < 100; y++)
* chunk.setBlock('grass_block', { x, y, z }, { snowy: false });
*
*/
setBlock(block:blockName,chunkRelativeLocation:{x:number;y:number;z:number;},state?:blockState):this;}
/**
* @description Create a fake Client that can connect to a server where you can control the packets sent and received.
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/ProxyClient
*/
export class ProxyClient{constructor(information?:{latency?:number;username?:string;uuid?:string;ip?:string;host?:string;port?:number;skinTextureUrl?:string;capeTextureUrl?:string;});latency:number;end():void;sendPacket(name:string,packet:object):void;onPacket(callback:(name:string,packet:object)=>void):void;removeAllListeners():void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Server
* @example
* const server = new Server({
*
* serverList: ({ ip, connection: { host, port }, version, legacy }) => ({
* description: `Hi there!\n${legacy ? "You've sent a legacy ping" : "You've sent a normal ping"}`,
* players: {
* online: server.clients.length,
* max: 100, * hover: [ip, `${host}: ${port}`, version].join('\n')
* },
* version: {
* wrongText: 'Please use version 1.16.3',
* correct: '1.16.3' * },
* favicon: fs.readFileSync('./favicon.png')
* }),
*
* wrongVersionConnect: ({ ip, connection: { host, port }, version, legacy }) =>
* `You've connected with the wrong version!\nExtra info:\nip: ${ip}, host: ${host}, port: ${port}, version: $1.4.7, legacy: ${legacy ? 'yes' : 'no'}`,
*
* defaultClientProperties: client => ({
* clearSky: true,
* difficulty: client.username === 'notch' ? 'hard' : 'normal',
* food: 20,
* foodSaturation: 5,
* gamemode: 'survival',
* health: 20,
* reducedDebugInfo: false,
* showRespawnScreen: true,
* slot: 0
* })
*
* });
*
*/
export class Server{constructor(serverOptions:{
/**
* @example
* serverList: ({ ip }) => ({
*
* description: `A minecraft server\nYour ip is ${ip}`,
* players: {
* online: server.clients.length,
* max: 100
* },
* version: {
* wrongText: 'Please use 1.16.3'
* }
*
* })
*
* @example
* serverList: ({ ip, connection: { host, port }, version }) => ({
*
* description: new Text([
* { text: 'Connected through: ', color: 'gray' },
* { text: `${host}:${port}`, color: 'white', modifiers: ['bold'] },
* { text: '\nYour ip: ', color: 'gray' },
* { text: ip, color: 'white', modifiers: ['bold'] }
* ]),
*
* players: {
* online: server.clients.length + 5,
* max: Math.floor(Math.random() * 100) + 5,
* hover: 'More\nthan\n1\nline!'
* },
*
* version: {
* wrongText: 'Wrong version!',
*
* / * Tell client that the correct version is their version, so they
* always think they have the correct version. Reported client
* version is null when the version of the client is unknown * /
* correct: version === null ? '1.16.3' : version
* },
*
* favicon: fs.readFileSync('./favicon.png')
*
* })
*
*/
serverList?(info:{ip:string,version:version|null,connection:{host:string|null,port:number|null},legacy:boolean}):{version?:{wrongText?:string|Text;correct?:version;};players?:{online?:number;max?:number;hover?:string|{name:string;uuid:string;}[];};description?:Text|textInput;favicon?:Buffer;};wrongVersionConnect?(info:{ip:string,version:newVersion|'legacy',connection:{host:string|null,port:number|null},legacy:boolean}):string|Text|null;defaultClientProperties?(client:Client):defaultClientProperties;});readonly clients:Client[];joinProxyClient(proxyClient:ProxyClient):void;close():Promise<void>;on(event:'listening',callback:()=>void):void;on(event:'join'|'leave'|'connect',callback:(client:Client)=>void):void;on(event:'error',callback:(customError:CustomError)=>void):void;once(event:'listening',callback:()=>void):void;once(event:'join'|'leave'|'connect',callback:(client:Client)=>void):void;once(event:'error',callback:(customError:CustomError)=>void):void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Text
*/
export class Text{
/**
* @example
* const message = new Text([
* {
* text: 'Hello ',
* color: 'darkGreen',
* modifiers: [
* 'bold',
* 'italic'
* ]
* },
* {
* text: 'world',
* color: 'purple',
* modifiers: [
* 'underline',
* 'strike'
* ]
* }
* ]);
*
*/
constructor(text:textInput);array:textArrayComponent[];string:string;uncolored:string;readonly chat:chatComponent;readonly hash:string;[Symbol.toPrimitive](hint:'string'):string;[Symbol.toPrimitive](hint:'number'):number;[Symbol.toPrimitive](hint:'default'):textArrayComponent[];removeAllListeners(event?:'change'):void;on(event:'change',listener:(text:Text)=>void):void;once(event:'change',listener:(text:Text)=>void):void;static stringToArray(text:string):textArrayComponent[];static stringToUncolored(text:string):string;static parseArray(text:optionalTextArray):textArrayComponent[];static arrayToString(text:optionalTextArray):string;static arrayToChat(text:optionalTextArray):chatComponent;static parseChat(text:chatComponent):chatComponent;static minifyChat(text:chatComponent):chatComponent;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Block
*/
declare class Block{
/**
* The absolute x of the block, relative to the world and not to the chunk.
*/
readonly x:number;readonly y:number;
/**
* The absolute z of the block, relative to the world and not to the chunk.
*/
readonly z:number;readonly block:blockName;readonly state:blockState;readonly stateId:number;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/BossBar
*/
declare class BossBar{constructor(client:Client,sendPacket:(packetName:string,packet:object)=>void,bossBarInfo?:optionalBossBarInfo);get title():Text;set title(title:textInput|Text);health:number;color:bossBarColorName;divisionAmount:bossBarDivisionAmount;flags:bossBarFlags;readonly id:string;readonly client:Client;readonly server:Server;remove():void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Changable
*/
declare class Changeable{constructor(changeCallback:(values:{[valueName:string|symbol]:unknown;},oldValues:{[valueName:string|symbol]:unknown;})=>void,startValues:{[valueName:string|symbol]:unknown;});setRaw(values:{[valueName:string|symbol]:unknown;}):void;setRaw(key:string|symbol,value:unknown):void;readonly raw:{[valueName:string|symbol]:unknown;};[valueName:string|symbol]:unknown;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Client
*/
declare class Client{
/**
* @package
*/
constructor(client:unknown,server:Server,earlyInfo:{version:newVersion;ip:string;connection:{host:string;port:number;}},defaultClientProperties?:(client:Client)=>defaultClientProperties);readonly server:Server;readonly username:string;readonly uuid:string;readonly entityId:number;readonly version:newVersion;readonly ip:string;readonly brand:string|null;readonly connection:{readonly host:string;readonly port:number};readonly textures:{readonly skin:string;readonly cape?:string;};readonly locale:{readonly langCode:langCode;readonly englishName:langEnglishName;readonly menuName:langMenuName;readonly serious:boolean;readonly version?:langVersion;readonly region?:langRegion;};readonly chatSettings:{readonly visible:'all'|'commands'|'none';readonly colors:boolean;};readonly visibleSkinParts:{readonly cape:boolean;readonly torso:boolean;readonly leftArm:boolean;readonly rightArm:boolean;readonly leftLeg:boolean;readonly rightLeg:boolean;readonly hat:boolean;};readonly rightHanded:boolean;readonly viewDistance:number;readonly reducedDebugInfo:boolean;
/**
* @package
*/
readonly p:{client:unknown;defaultClientProperties:(client:Client)=>defaultClientProperties;changeEvents:{[currentChangeEventType in changeEventType]:((newValue:changeEventReturn<currentChangeEventType>,oldValue:changeEventReturn<currentChangeEventType>)=>void)[];};events:{[event:string]:((...args:unknown[])=>void)[];};intervals:NodeJS.Timeout[];shutdownCallbacks:(()=>void)[];state:state;stateHandler:{checkReady:()=>boolean;init:()=>void;handleNewState:(currentState:state)=>void;updateState:{set:(stateName:state)=>void;close:()=>void;packetReceived:(packetName:string)=>void;};};timeouts:NodeJS.Timeout[];changeEventHasListeners:(changeEvent:string)=>boolean;clientOn:(name:string,callback:(...args:unknown[])=>void)=>void;emit:(name:string, ...args:unknown[])=>void;emitChange:<currentChangeEventType extends changeEventType>(type:currentChangeEventType,oldValue:changeEventReturn<currentChangeEventType>)=>void;emitError:(customError:CustomError)=>void;emitMove:(info:{x:number;y:number;z:number;yaw:number;pitch:number;})=>void;receivePacket:(name:string,packet:object)=>void;sendAfterLoginPackets:()=>void;sendLoginPacket:()=>void;sendPacket:(name:string,packet:object)=>void;setInterval:(callback:()=>void,time:number)=>void;setTimeout:(callback:()=>void,delay:number)=>void;shutdown:()=>void;bossBars:BossBar[];_brand:string|null;_chatSettings:{visible:'all'|'commands'|'none';colors:boolean;};_difficulty:difficulty;entities:entities;_experience:{bar:number;level:number;};_food:number;_foodSaturation:0|1|2|3|4|5;_gamemode:gamemode;_health:number;_inventory:inventory;_locale:{langCode:langCode;englishName:langEnglishName;menuName:langMenuName;serious:boolean;version?:langVersion;region?:langRegion;};onGround:boolean;positionSet:boolean;_position:{x:number;y:number;z:number;yaw:number;pitch:number;};oldPositions:{x:number;y:number;z:number;yaw:number;pitch:number;isFirst:boolean;};_raining:boolean;_reducedDebugInfo:boolean;_rightHanded:boolean;_showRespawnScreen:boolean;_slot:0|1|2|3|4|5|6|7|8;_sneaking:boolean;_sprinting:boolean;_tabFooter:Text;_tabHeader:Text;_tabItems:TabItem[];_toxicRainLevel:number;_viewDistance:number;_visibleSkinParts:{cape:boolean;torso:boolean;leftArm:boolean;rightArm:boolean;leftLeg:boolean;rightLeg:boolean;hat:boolean;};pubDynProperties:{[property:string]:{info?:{preventSet?:boolean;defaultable?:false;defaultSetTime?:'afterLogin'|'loginPacket';loginPacket:{name:string;minecraftName:string;}[];};get?:()=>unknown;set?:(newValue:unknown,beforeReady?:boolean,loginPacket?:boolean)=>void|{[minecraftName:string]:unknown};init?:()=>void;[otherProperty:string|symbol]:unknown;}};mpEvents:{[event:string]:((...args:unknown[])=>void)[];};defaultProperties:{[property:string]:unknown;};chunksGenerated:boolean;blocksGenerated:boolean;_chunks:(LoadedChunk[])|((()=>LoadedChunk)[]);_blocks:(blocksSegment)|((()=>blocksSegment)[]);};readonly worldBorder:WorldBorder;readonly inventory:inventory;readonly sneaking:boolean;readonly sprinting:boolean;readonly onGround:boolean;readonly online:boolean;readonly ping:number;readonly entities:entities;
/**
* The blocks in the world, not relative to a chunk.
*/
readonly blocks:blocksSegment;readonly bossBars:BossBar[];readonly chunks:LoadedChunk[];readonly tabItems:TabItem[];get tabHeader():Text;get tabFooter():Text;get experience():{bar:number;level:number;};get position():{x:number;y:number;z:number;yaw:number;pitch:number;};set tabHeader(text:textInput|Text);set tabFooter(text:textInput|Text);set experience(experience:Partial<{bar:number;level:number;}>);set position(position:Partial<{x:number;y:number;z:number;yaw:number;pitch:number;}>);raining:boolean;toxicRainLevel:number;showRespawnScreen:boolean;gamemode:gamemode;difficulty:difficulty;slot:0|1|2|3|4|5|6|7|8;health:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20;food:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20;foodSaturation:0|1|2|3|4|5;particle(particleName:noDataParticle,visibleFromFar:boolean,particleAmount:number,position:{x:number;y:number;z:number;},spread:{x:number;y:number;z:number;}):void;explosion(location:{x:number;y:number;z:number;},playerVelocity:{x:number;y:number;z:number;},strength:number,destroyedBlocks:{xOffset:number;yOffset:number;zOffset:number;}[]):void;blockBreakAnimation(location:{x:number;y:number;z:number;},stage:0|1|2|3|4|5|6|7|8|9|10):void;resetCamera():void;cooldown(item:itemName,tickAmount?:number):void;demo(message:demoMessage):void;elderGuardian():void;win(showCredits:boolean):void;kick(reason:textInput|Text):void;chat(message?:textInput|Text):void;
/**
* Crashes the Minecraft client instance
*/
crash():void;
/**
* @param location The absolute location of the block, not relative to a chunk.
*/
setBlock(block:blockName,location:{x:number;y:number;z:number;},state?:blockState):this;
/**
* Set a block without sending a packet to the client.
* @param location The absolute location of the block, not relative to a chunk.
*/
updateBlock(block:blockName,location:{x:number;y:number;z:number;},state?:blockState):this;title(properties:{fadeIn?:number;stay?:number;fadeOut?:number;title?:textInput|Text;subTitle?:textInput|Text;}|textInput|Text):void;actionBar(text?:textInput|Text):void;chunk(chunk:Chunk,chunkPosition:{x:number;z:number;}):void;entity<name extends defaultArgumentEntityName|'experience_orb'|'player'>(entity:name,position:{x:number;y:number;z:number;yaw?:number;pitch?:number;},extraInfo:name extends'experience_orb'?{experience?:number;}:name extends'player'?{tabItem?:TabItem;uuid?:string;skinAccountUuid?:string;name?:string;gamemode?:gamemode;}:never):name extends'player'?Promise<EntityConditional<name>>:EntityConditional<name>;tabItem(tabItemOptions?:{player?:Player;name?:textInput|Text;uuid?:string;skinAccountUuid?:string;ping?:number|null;}):Promise<TabItem>;window(windowType:nonEntityWindowName):void;closeWindow():void;signEditor(signLocation:{x:number;y:number;z:number;}):void;bossBar(bossBarInfo?:optionalBossBarInfo):BossBar;sound(soundInfo:{sound:soundName;channel:soundChannel;position:{x:number;y:number;z:number;};volume:number;pitch:number;}):void;customSound(soundInfo:{sound:string;channel:soundChannel;position:{x:number;y:number;z:number;};volume:number;pitch:number;}):void;stopSounds(filter:{soundName:soundName|string;}):void;stopSounds(filter:{channel:soundChannel;}):void;stopSounds(filter:{soundName:soundName|string;channel:soundChannel;}):void;pufferFishSound():void;noRespawnBlock():void;playerArrowHitSound():void;kill(deathMessage?:textInput|Text):void;acknowledgeDigStart(location:{x:number;y:number;z:number;},successful:boolean,blockName:blockName,blockState:blockState):void;acknowledgeDigCancel(location:{x:number;y:number;z:number;},successful:boolean,blockName:blockName,blockState:blockState):void;acknowledgeBlockBreak(location:{x:number;y:number;z:number;},successful:boolean,blockName:blockName,blockState:blockState):void;removeAllListeners(event?:'itemUse'|'armSwing'|'misbehavior'|'chat'|'signEditorClose'|'itemHandSwap'|'connect'|'join'|'leave'|'windowClose'|'inventoryClose'|'digStart'|'digCancel'|'blockBreak'|'itemDrop'|'leftClick'|'rightClick'):void;
/**
* @example
* client.on('change', 'slot', slot => {
* console.log(`${client.username} switched slot to ${slot}`)
* });
*
*/
on<currentChangeEventType extends changeEventType>(event:'change',type:currentChangeEventType,callback:(newValue:changeEventReturn<currentChangeEventType>,oldValue:changeEventReturn<currentChangeEventType>)=>void):void;on(event:'itemUse'|'armSwing',callback:(isMainHand:boolean)=>void):void;on(event:'misbehavior',callback:(customError:CustomError)=>void):void;on(event:'chat',callback:(message:string)=>void):void;on(event:'signEditorClose',callback:(signText:string[],location:{x:number;y:number;z:number;})=>void):void;on(event:'connect'|'join'|'brandReceive'|'leave'|'windowClose'|'inventoryClose'|'leftClick'|'respawn'|'itemHandSwap',callback:()=>void):void;on(event:'digStart',callback:(location:{x:number;y:number;z:number;},blockFace:blockFace)=>void):void;on(event:'digCancel',callback:(location:{x:number;y:number;z:number;})=>void):void;on(event:'blockBreak',callback:(location:{x:number;y:number;z:number;},previousBlock:Block)=>void):void;on(event:'itemDrop',callback:(stack:boolean)=>void):void;on(event:'rightClick',callback:(clickInfo:{position:{x:number;y:number;z:number;};isMainHand:boolean})=>void):void;on(event:'blockPlace',callback:(placeInfo:{clickedLocation:{x:number;y:number;z:number;};clickedFace:blockFace;isMainHand:boolean;headInsideBlock:boolean;})=>void):void;once<currentChangeEventType extends changeEventType>(event:'change',type:currentChangeEventType,callback:(newValue:changeEventReturn<currentChangeEventType>,oldValue:changeEventReturn<currentChangeEventType>)=>void):void;once(event:'itemUse'|'armSwing',callback:(isMainHand:boolean)=>void):void;once(event:'misbehavior',callback:(customError:CustomError)=>void):void;once(event:'chat',callback:(message:string)=>void):void;once(event:'signEditorClose',callback:(signText:string[],location:{x:number;y:number;z:number;})=>void):void;once(event:'connect'|'join'|'brandReceive'|'leave'|'windowClose'|'inventoryClose'|'leftClick'|'respawn'|'itemHandSwap',callback:()=>void):void;once(event:'digStart',callback:(location:{x:number;y:number;z:number;},blockFace:blockFace)=>void):void;once(event:'digCancel',callback:(location:{x:number;y:number;z:number;})=>void):void;once(event:'blockBreak',callback:(location:{x:number;y:number;z:number;},previousBlock:Block)=>void):void;once(event:'itemDrop',callback:(stack:boolean)=>void):void;once(event:'rightClick',callback:(clickInfo:{position:{x:number;y:number;z:number;};isMainHand:boolean})=>void):void;once(event:'blockPlace',callback:(placeInfo:{clickedLocation:{x:number;y:number;z:number;};clickedFace:blockFace;isMainHand:boolean;headInsideBlock:boolean;})=>void):void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/CustomError
*/
declare class CustomError{constructor(type:'expectationNotMet',causer:'client'|'libraryUser'|'library',valueName:string,expectationInfo:{got:unknown;expectationType:'value';expectation:unknown[];}|{got:unknown;expectationType:'type';expectation:string;externalLink?:string;},context?:Function);type:'expectationNotMet';causer:'client'|'libraryUser'|'library';valueName:string;expectationInfo:{got:unknown;expectationType:'value';expectation:unknown[];}|{got:unknown;expectationType:'type';expectation:string;externalLink?:string;};readonly context:Function;readonly client?:Client;readonly server?:Server;readonly error:Error;[Symbol.toPrimitive](hint:'string'):string;[Symbol.toPrimitive](hint:'default'):string;[Symbol.toPrimitive](hint:'number'):number;generateMessage():string;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Entity
*/
declare class Entity{constructor(client:Client,type:entityName,id:number,position:{x:number;y:number;z:number;yaw?:number;pitch?:number;},sendPacket:(packetName:string,packet:object)=>void,extraInfo?:undefined,overwrites?:{sendSpawnPacket?:boolean,beforeRemove?:(()=>void)[];},whenDone?:(instance:Entity)=>void);readonly client:Client;readonly server:Server;readonly id:number;readonly uuid:string;readonly type:entityName;readonly living:boolean;position:{x:number;y:number;z:number;yaw:number;pitch:number;};camera():void;animation(animationType:entityAnimationType):void;sound(soundInfo:{sound:soundName;channel:soundChannel;volume:number;pitch:number;}):void;remove():void;killClient(deathMessage:textInput|Text):void;observe(observable:'position',callback:(position:{x:number;y:number;z:number;yaw:number;pitch:number;})=>void):void;removeAllListeners(event?:'leftClick'|'rightClick'):void;on(event:'leftClick',callback:()=>void):void;on(event:'rightClick',callback:(clickInfo:{position:{x:number;y:number;z:number;};isMainHand:boolean})=>void):void;once(event:'leftClick',callback:()=>void):void;once(event:'rightClick',callback:(clickInfo:{position:{x:number;y:number;z:number;};isMainHand:boolean})=>void):void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/ExperienceOrb
*/
declare class ExperienceOrb extends Entity{constructor(client:Client,type:entityName,id:number,position:{x:number;y:number;z:number;yaw?:number;pitch?:number;},sendPacket:(packetName:string,packet:object)=>void,extraInfo?:{experience:number;},overwrites?:{sendSpawnPacket?:boolean,beforeRemove?:(()=>void)[];},whenDone?:(instance:ExperienceOrb)=>void);}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Horse
*/
declare class Horse extends Entity{window():void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/LoadedChunk
*/
declare class LoadedChunk extends Chunk{
/**
* @package
*/
constructor(client:Client,pChunk:unknown,chunkPosition:{x:number;z:number});
/**
* @package
*/
sendPacket(name:string,contents:object):void;
/**
* @package
*/
readonly blocksX:number[];readonly client:Client;readonly server:Server;x:number;z:number;remove():void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Player
*/
declare class Player extends Entity{constructor(client:Client,type:entityName,id:number,position:{x:number;y:number;z:number;yaw?:number;pitch?:number;},sendPacket:(packetName:string,packet:object)=>void,extraInfo?:{tabItem?:TabItem;uuid?:string;skinAccountUuid?:string;name?:string;gamemode?:gamemode;},overwrites?:undefined,whenDone?:(instance:Player)=>void);readonly tabItem?:TabItem;uuid:string;skinAccountUuid?:string;get name():Text;set name(name:textInput|Text);gamemode:gamemode;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/Slot
*/
declare class Slot{
/**
* @package
*/
constructor(info:{id:number,amount:number,nbt:unknown});
/**
* @package
*/
readonly id?:number;readonly empty:boolean;readonly amount?:number;readonly name?:itemName;readonly maxStackSize?:number;readonly displayName?:itemDisplayName;static newEmpty():Slot;static stackable(slot1:Slot,slot2:Slot):boolean;static stack(from:Slot,to:Slot):{stack:Slot,rest:Slot};static split(slot:Slot):{bigger:Slot,smaller:Slot};static moveOne(from:Slot,to:Slot):{from:Slot,to:Slot};}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/TabItem
*/
declare class TabItem{constructor(tabItemOptions:{player?:Player;name?:textInput|Text;uuid?:string;skinAccountUuid?:string;ping?:number|null;},client:Client,sendPacket:(packetName:string,packet:object)=>void,finishedCallback:()=>void,{sendSpawnPacket}:{sendSpawnPacket:boolean});readonly client:Client;readonly server:Server;readonly player?:Player;uuid:string;skinAccountUuid?:string;get name():Text;set name(name:textInput|Text);ping:number|null;remove():void;}
/**
* @see https://oscarnow.github.io/minecraft-server/1.4.7/classes/WorldBorder
*/
declare class WorldBorder{constructor();readonly client:Client;readonly server:Server;get center():{x:number;z:number};set center(center:Partial<{x:number;z:number}>);radius:number;warningSeconds:number;warningBlocks:number;transitionRadius(radius:number,millisecondTime:number):void;reset():void;}type bossBarDivisionAmount=0|10|12|20|6;type EntityLike=Entity|Horse;type textInput=optionalTextArray;type version=legacyVersion|newVersion;type blockFace='+X'|'+Y'|'+Z'|'-X'|'-Y'|'-Z';type difficulty='easy'|'hard'|'normal'|'peaceful';type gamemode='adventure'|'creative'|'spectator'|'survival';type entityName=defaultArgumentEntityName|"player"|"experience_orb";type bossBarColorName='blue'|'green'|'pink'|'purple'|'red'|'white'|'yellow';type optionalTextArrayComponent=string|number|boolean|Partial<textArrayComponent>;type optionalTextArray=optionalTextArrayComponent[]|optionalTextArrayComponent;type textModifier='bold'|'italic'|'obfuscated'|'strikethrough'|'underlined';type demoMessage='endScreenshot'|'inventory'|'jump'|'movement'|'startScreen';type bossBarFlags={darkenSky:boolean;playEndMusic:boolean;createFog:boolean;};type entities={readonly[entityId:number]:EntityLike;}&{readonly 0:Client;};type entityAnimationType='critical'|'flashRed'|'leaveBed'|'magicCritical'|'swingMainHand'|'swingOffHand';type blocksSegment={[x:number]:{[y:number]:{[z:number]:Block;};};};type langVersion='Classic'|'LOLCAT'|'Low'|'Pirate'|'Shakespeare'|'Simplified'|'Traditional'|'Traditional'|'Upside down';type soundChannel='ambient'|'block'|'friendlyCreature'|'hostileCreature'|'master'|'music'|'player'|'soundBlock'|'voice'|'weather';type relativeBlocksSegment={[relativeX:number]:{[relativeY:number]:{[relativeZ:number]:Block;};};};type EntityConditional<name extends entityName>=name extends'horse'?Horse:name extends'player'?Player:name extends'experience_orb'?ExperienceOrb:Entity;type state='connecting'|'connected'|'loginSent'|'settingsReceived'|'afterLoginPacketsSent'|'clientSpawned'|'brandReceived'|'offline';type nonEntityWindowName='anvil'|'beacon'|'brewingStand'|'chest'|'container'|'craftingTable'|'dispenser'|'dropper'|'enchanting_table'|'furnace'|'hopper'|'villager';type textColor='aqua'|'black'|'blue'|'darkAqua'|'darkBlue'|'darkGray'|'darkGreen'|'darkRed'|'default'|'gold'|'gray'|'green'|'pink'|'purple'|'red'|'white'|'yellow';type optionalBossBarInfo={title?:textInput|Text;health?:number;color?:bossBarColorName;divisionAmount?:bossBarDivisionAmount;flags?:bossBarFlags;};type minecraftTextColor='aqua'|'black'|'blue'|'dark_aqua'|'dark_blue'|'dark_gray'|'dark_green'|'dark_purple'|'dark_red'|'gold'|'gray'|'green'|'light_purple'|'red'|'reset'|'white'|'yellow';type langRegion='Argentina'|'Australia'|'Austria'|'Brazil'|'Canada'|'Canada'|'Chile'|'Ecuador'|'France'|'Germany'|'Mexico'|'Nederland'|'New Zealand'|'Portugal'|'Saxony'|'Switzerland'|'United Kingdom'|'United States'|'Uruguay'|'Venezuela';type changeEventType='entities'|'chunks'|'bossBars'|'tabItems'|'slot'|'health'|'food'|'foodSaturation'|'toxicRainLevel'|'raining'|'showRespawnScreen'|'sneaking'|'sprinting'|'onGround'|'position'|'gamemode'|'difficulty'|'inventory';type keycode='key.advancements'|'key.attack'|'key.back'|'key.chat'|'key.command'|'key.drop'|'key.forward'|'key.fullscreen'|'key.hotbar.1'|'key.hotbar.2'|'key.hotbar.3'|'key.hotbar.4'|'key.hotbar.5'|'key.hotbar.6'|'key.hotbar.7'|'key.hotbar.8'|'key.hotbar.9'|'key.inventory'|'key.jump'|'key.left'|'key.loadToolbarActivator'|'key.pickItem'|'key.playerlist'|'key.right'|'key.saveToolbarActivator'|'key.screenshot'|'key.smoothCamera'|'key.sneak'|'key.spectatorOutlines'|'key.sprint'|'key.swapOffhand'|'key.togglePerspective'|'key.use';type inventory={readonly cursor?:Slot;readonly armor:{readonly helmet?:Slot;readonly chestplate?:Slot;readonly leggings?:Slot;readonly boots?:Slot;};readonly offhand?:Slot;readonly crafting:{readonly output?:Slot;readonly slots:{0?:Slot;1?:Slot;2?:Slot;3?:Slot;};};readonly hotbar:{0?:Slot;1?:Slot;2?:Slot;3?:Slot;4?:Slot;5?:Slot;6?:Slot;7?:Slot;8?:Slot;};readonly slots:{readonly[slot:number]:Slot|undefined;};};type defaultClientProperties={position?:{x?:number;y?:number;z?:number;yaw?:number;pitch?:number;};experience?:{bar?:number;level?:number;};tabHeader?:textInput|Text;tabFooter?:textInput|Text;raining?:boolean;toxicRainLevel?:number;showRespawnScreen?:boolean;gamemode?:gamemode;difficulty?:difficulty;slot?:0|1|2|3|4|5|6|7|8;health?:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20;food?:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20;foodSaturation?:0|1|2|3|4|5;};type noDataParticle='ambient_entity_effect'|'angry_villager'|'ash'|'barrier'|'bubble'|'bubble_column_up'|'bubble_pop'|'campfire_cosy_smoke'|'campfire_signal_smoke'|'cloud'|'composter'|'crimson_spore'|'crit'|'current_down'|'damage_indicator'|'dolphin'|'dragon_breath'|'dripping_honey'|'dripping_lava'|'dripping_obsidian_tear'|'dripping_water'|'effect'|'elder_guardian'|'enchant'|'enchanted_hit'|'end_rod'|'entity_effect'|'explosion'|'explosion_emitter'|'falling_honey'|'falling_lava'|'falling_nectar'|'falling_obsidian_tear'|'falling_water'|'firework'|'fishing'|'flame'|'flash'|'happy_villager'|'heart'|'instant_effect'|'item_slime'|'item_snowball'|'landing_honey'|'landing_lava'|'landing_obsidian_tear'|'large_smoke'|'lava'|'mycelium'|'nautilus'|'note'|'poof'|'portal'|'rain'|'reverse_portal'|'smoke'|'sneeze'|'snowflake'|'soul'|'soul_fire_flame'|'spit'|'splash'|'sweep_attack'|'totem_of_undying'|'underwater'|'warped_spore'|'witch';type langCode='ar_sa'|'ast_es'|'az_az'|'ba_ru'|'bar'|'be_by'|'bg_bg'|'br_fr'|'brb'|'bs_ba'|'ca_es'|'cs_cz'|'cy_gb'|'da_dk'|'de_at'|'de_ch'|'de_de'|'el_gr'|'en_au'|'en_ca'|'en_gb'|'en_nz'|'en_pt'|'en_ud'|'en_us'|'enp'|'enws'|'eo_uy'|'es_ar'|'es_cl'|'es_ec'|'es_es'|'es_mx'|'es_uy'|'es_ve'|'esan'|'et_ee'|'eu_es'|'fa_ir'|'fi_fi'|'fil_ph'|'fo_fo'|'fr_ca'|'fr_fr'|'fra_de'|'fy_nl'|'ga_ie'|'gd_gb'|'gl_es'|'gv'|'haw_us'|'he_il'|'hi_in'|'hr_hr'|'hu_hu'|'hy_am'|'id_id'|'ig_ng'|'io_en'|'is_is'|'isv'|'it_it'|'ja_jp'|'jbo_en'|'ka_ge'|'kk_kz'|'kn_in'|'ko_kr'|'ksh'|'kw_gb'|'la_la'|'lb_lu'|'li_li'|'lmo_it'|'lol_us'|'lt_lt'|'lv_lv'|'lzh'|'mi_nz'|'mk_mk'|'mn_mn'|'ms_my'|'mt_mt'|'nds_de'|'nl_be'|'nl_nl'|'nn_no'|'no_no'|'oc_fr'|'ovd'|'pl_pl'|'pt_br'|'pt_pt'|'qya_aa'|'ro_ro'|'rpr'|'ru_ru'|'se_no'|'sk_sk'|'sl_si'|'so_so'|'sq_al'|'sr_sp'|'sv_se'|'swg'|'sxu'|'szl'|'ta_in'|'th_th'|'tl_ph'|'tlh_aa'|'tr_tr'|'tt_ru'|'uk_ua'|'val_es'|'vec_it'|'vi_vn'|'yi_de'|'yo_ng'|'zh_cn'|'zh_hk'|'zh_tw';type textArrayComponent={text:string;color:textColor;modifiers:textModifier[];insertion?:string;clickEvent?:{action:'open_url'|'run_command'|'suggest_command'|'change_page';value:string|number;};hoverEvent?:{action:'show_text';value:textArrayComponent[];};}|{keybind:keycode;color:textColor;modifiers:textModifier[];insertion?:string;clickEvent?:{action:'open_url'|'run_command'|'suggest_command'|'change_page';value:string|number;};hoverEvent?:{action:'show_text';value:textArrayComponent[];};}|{translate:chatTranslate;with:textArrayComponent[];color:textColor;modifiers:textModifier[];insertion?:string;clickEvent?:{action:'open_url'|'run_command'|'suggest_command'|'change_page';value:string|number;};hoverEvent?:{action:'show_text';value:textArrayComponent[];};};type changeEventReturn<currentChangeEventType extends changeEventType>=currentChangeEventType extends'entities'?entities:currentChangeEventType extends'blocks'?blocksSegment:currentChangeEventType extends'chunks'?LoadedChunk[]:currentChangeEventType extends'bossBars'?BossBar[]:currentChangeEventType extends'tabItems'?TabItem[]:currentChangeEventType extends'gamemode'?gamemode:currentChangeEventType extends'difficulty'?difficulty:currentChangeEventType extends'inventory'?inventory:currentChangeEventType extends'slot'?number:currentChangeEventType extends'health'?number:currentChangeEventType extends'food'?number:currentChangeEventType extends'foodSaturation'?number:currentChangeEventType extends'toxicRainLevel'?number:currentChangeEventType extends'raining'?boolean:currentChangeEventType extends'showRespawnScreen'?boolean:currentChangeEventType extends'sneaking'?boolean:currentChangeEventType extends'sprinting'?boolean:currentChangeEventType extends'onGround'?boolean:currentChangeEventType extends'position'?{x:number;y:number;z:number;yaw:number;pitch:number;}:never;type defaultArgumentEntityName='area_effect_cloud'|'armor_stand'|'arrow'|'bat'|'bee'|'blaze'|'boat'|'cat'|'cave_spider'|'chest_minecart'|'chicken'|'cod'|'command_block_minecart'|'cow'|'creeper'|'dolphin'|'donkey'|'dragon_fireball'|'drowned'|'egg'|'elder_guardian'|'end_crystal'|'ender_dragon'|'ender_pearl'|'enderman'|'endermite'|'evoker'|'evoker_fangs'|'experience_bottle'|'eye_of_ender'|'falling_block'|'fireball'|'firework_rocket'|'fishing_bobber'|'fox'|'furnace_minecart'|'ghast'|'giant'|'guardian'|'hoglin'|'hopper_minecart'|'horse'|'husk'|'illusioner'|'iron_golem'|'item'|'item_frame'|'leash_knot'|'lightning_bolt'|'llama'|'llama_spit'|'magma_cube'|'minecart'|'mooshroom'|'mule'|'ocelot'|'painting'|'panda'|'parrot'|'phantom'|'pig'|'piglin'|'piglin_brute'|'pillager'|'polar_bear'|'potion'|'pufferfish'|'rabbit'|'ravager'|'salmon'|'sheep'|'shulker'|'shulker_bullet'|'silverfish'|'skeleton'|'skeleton_horse'|'slime'|'small_fireball'|'snow_golem'|'snowball'|'spawner_minecart'|'spectral_arrow'|'spider'|'squid'|'stray'|'strider'|'tnt'|'tnt_minecart'|'trader_llama'|'trident'|'tropical_fish'|'turtle'|'vex'|'villager'|'vindicator'|'wandering_trader'|'witch'|'wither'|'wither_skeleton'|'wither_skull'|'wolf'|'zoglin'|'zombie'|'zombie_horse'|'zombie_villager'|'zombified_piglin';type langEnglishName='Albanian'|'Allgovian German'|'Andalusian'|'Anglish'|'Arabic'|'Armenian'|'Asturian'|'Azerbaijani'|'Bashkir'|'Basque'|'Bavarian'|'Belarusian'|'Bosnian'|'Brabantian'|'Breton'|'Bulgarian'|'Catalan'|'Chinese'|'Chinese'|'Chinese'|'Chinese'|'Cornish'|'Croatian'|'Czech'|'Danish'|'Dutch'|'East Franconian'|'Elfdalian'|'English'|'English'|'English'|'English'|'English'|'English'|'English'|'English'|'English'|'Esperanto'|'Estonian'|'Faroese'|'Filipino'|'Finnish'|'Flemish'|'French'|'French'|'Frisian'|'Galician'|'Georgian'|'German'|'German'|'German'|'German'|'German'|'Greek'|'Hawaiian'|'Hebrew'|'Hindi'|'Hungarian'|'Icelandic'|'Ido'|'Igbo'|'Indonesian'|'Interslavic'|'Irish'|'Italian'|'Japanese'|'Kannada'|'Kazakh'|'Klingon'|'Korean'|'Kölsch/Ripuarian'|'Latin'|'Latvian'|'Limburgish'|'Lithuanian'|'Lojban'|'Lombard'|'Luxembourgish'|'Macedonian'|'Malay'|'Maltese'|'Manx'|'Mongolian'|'Māori'|'Northern Sami'|'Norwegian Bokmål'|'Norwegian Nynorsk'|'Occitan'|'Persian'|'Polish'|'Portuguese'|'Portuguese'|'Quenya'|'Romanian'|'Russian'|'Russian'|'Scottish Gaelic'|'Serbian'|'Silesian'|'Slovak'|'Slovenian'|'Somali'|'Spanish'|'Spanish'|'Spanish'|'Spanish'|'Spanish'|'Spanish'|'Swedish'|'Tagalog'|'Tamil'|'Tatar'|'Thai'|'Turkish'|'Ukrainian'|'Uruguayan Spanish'|'Valencian'|'Venetian'|'Vietnamese'|'Welsh'|'Yiddish'|'Yoruba';type chatComponent=string|number|boolean|chatComponent[]|{text:string;extra?:chatComponent[];bold?:boolean;italic?:boolean;underlined?:boolean;strikethrough?:boolean;obfuscated?:boolean;color?:minecraftTextColor;insertion?:string;clickEvent?:{action:'open_url'|'run_command'|'suggest_command'|'change_page';value:string|number;};hoverEvent?:{action:'show_text';value:chatComponent;};}|{keybind:keycode;extra?:chatComponent[];bold?:boolean;italic?:boolean;underlined?:boolean;strikethrough?:boolean;obfuscated?:boolean;color?:minecraftTextColor;insertion?:string;clickEvent?:{action:'open_url'|'run_command'|'suggest_command'|'change_page';value:string|number;};hoverEvent?:{action:'show_text';value:chatComponent;};}|{translate:chatTranslate;with?:chatComponent[];extra?:chatComponent[];bold?:boolean;italic?:boolean;underlined?:boolean;strikethrough?:boolean;obfuscated?:boolean;color?:minecraftTextColor;insertion?:string;clickEvent?:{action:'open_url'|'run_command'|'suggest_command'|'change_page';value:string|number;};hoverEvent?:{action:'show_text';value:chatComponent;};};type blockState={snowy?:boolean;stage?:0|1;level?:0|1|10|11|12|13|14|15|2|3|4|5|6|7|8|9;axis?:'x'|'y'|'z';persistent?:boolean;distance?:'1'|'2'|'3'|'4'|'5'|'6'|'7'|0|1|2|3|4|5|6|7;triggered?:boolean;facing?:'down'|'east'|'north'|'south'|'up'|'west';powered?:boolean;note?:0|1|10|11|12|13|14|15|16|17|18|19|2|20|21|22|23|24|3|4|5|6|7|8|9;instrument?:'banjo'|'basedrum'|'bass'|'bell'|'bit'|'chime'|'cow_bell'|'didgeridoo'|'flute'|'guitar'|'harp'|'hat'|'iron_xylophone'|'pling'|'snare'|'xylophone';part?:'foot'|'head';occupied?:boolean;shape?:'ascending_east'|'ascending_north'|'ascending_south'|'ascending_west'|'east_west'|'inner_left'|'inner_right'|'north_east'|'north_south'|'north_west'|'outer_left'|'outer_right'|'south_east'|'south_west'|'straight';extended?:boolean;half?:'bottom'|'lower'|'top'|'upper';type?:'bottom'|'double'|'left'|'normal'|'right'|'single'|'sticky'|'top';short?:boolean;unstable?:boolean;west?:'low'|'none'|'side'|'tall'|'up'|false|true;up?:boolean;south?:'low'|'none'|'side'|'tall'|'up'|false|true;north?:'low'|'none'|'side'|'tall'|'up'|false|true;east?:'low'|'none'|'side'|'tall'|'up'|false|true;age?:0|1|10|11|12|13|14|15|16|17|18|19|2|20|21|22|23|24|25|3|4|5|6|7|8|9;waterlogged?:boolean;power?:0|1|10|11|12|13|14|15|2|3|4|5|6|7|8|9;moisture?:0|1|2|3|4|5|6|7;lit?:boolean;rotation?:0|1|10|11|12|13|14|15|2|3|4|5|6|7|8|9;open?:boolean;hinge?:'left'|'right';face?:'ceiling'|'floor'|'wall';layers?:'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8';has_record?:boolean;bites?:0|1|2|3|4|5|6;locked?:boolean;delay?:'1'|'2'|'3'|'4';down?:boolean;in_wall?:boolean;has_bottle_2?:boolean;has_bottle_1?:boolean;has_bottle_0?:boolean;eye?:boolean;attached?:boolean;disarmed?:boolean;conditional?:boolean;mode?:'compare'|'corner'|'data'|'load'|'save'|'subtract';inverted?:boolean;enabled?:boolean;hatch?:0|1|2;eggs?:'1'|'2'|'3'|'4';pickles?:'1'|'2'|'3'|'4';leaves?:'large'|'none'|'small';drag?:boolean;bottom?:boolean;has_book?:boolean;attachment?:'ceiling'|'double_wall'|'floor'|'single_wall';hanging?:boolean;signal_fire?:boolean;orientation?:'down_east'|'down_north'|'down_south'|'down_west'|'east_up'|'north_up'|'south_up'|'up_east'|'up_north'|'up_south'|'up_west'|'west_up';honey_level?:0|1|2|3|4|5;charges?:0|1|2|3|4;};type langMenuName="Säggs'sch(Saggsn)"|"la .lojban. (la jbogu'e)"|"tlhIngan Hol(tlhIngan wo')"|'Af-Soomaali(Soomaaliya)'|'Afrikaans(Suid-Afrika)'|'Andalûh(Andaluçía)'|'Anglish(Foroned Kingdom)'|'Asturianu(Asturies)'|'Azərbaycanca(Azərbaycan)'|'Bahasa Indonesia(Indonesia)'|'Bahasa Melayu(Malaysia)'|'Boarisch(Bayern)'|'Bosanski(Bosna i Hercegovina)'|'Brabants(Nederland)'|'Brezhoneg(Breizh)'|'Català (Catalunya)'|'Català (Valencià)(Comunitat Valenciana)'|'Cymraeg(Cymru)'|'Dansk(Danmark)'|'Davvisámegiella(Sápmi)'|'Deitsch(Österreich)'|'Deutsch(Deutschland)'|'Eesti keel(Eesti)'|'English(Australia)'|'English(Canada)'|'English(New Zealand)'|'English(US)'|'English(United Kingdom)'|'Español(Argentina)'|'Español(Chile)'|'Español(Ecuador)'|'Español(España)'|'Español(México)'|'Español(Uruguay)'|'Español(Venezuela)'|'Esperanto(Esperantujo)'|'Euskara(Euskal Herria)'|'Filipino(Pilipinas)'|'Français(Canada)'|'Français(France)'|'Frysk(Fryslân)'|'Fränggisch(Franggn)'|'Føroyskt(Føroyar)'|'Gaeilge(Éire)'|'Gaelg(Ellan Vannin)'|'Galego(Galicia/Galiza)'|'Gàidhlig(Alba)'|'Hrvatski(Hrvatska)'|'Ido(Idia)'|'Igbo(Naigeria)'|'Italiano(Italia)'|'Kernewek(Kernow)'|'Kölsch/Ripoarisch(Rhingland)'|'LOLCAT(Kingdom of Cats)'|'Latina(Latium)'|'Latviešu(Latvija)'|'Lietuvių (Lietuva)'|'Limburgs(Limburg)'|'Lombard(Lombardia)'|'Lëtzebuergesch(Lëtzebuerg)'|'Magyar(Magyarország)'|'Malti(Malta)'|'Medžuslovjansky(Slovjanščina)'|'Nederlands(Nederland)'|'Norsk Bokmål(Norge)'|'Norsk nynorsk(Noreg)'|'Occitan(Occitània)'|'Oschdallgaiarisch(Allgai)'|'Pirate Speak(The Seven Seas)'|'Plattdüütsch(Düütschland)'|'Polski(Polska)'|'Português(Brasil)'|'Português(Portugal)'|'Quenya(Arda)'|'Română (România)'|'Schwiizerdütsch(Schwiz)'|'Shakespearean English(Kingdom of England)'|'Shqip(Shqipëri)'|'Slovenčina(Slovensko)'|'Slovenščina(Slovenija)'|'Suomi(Suomi)'|'Svenska(Sverige)'|'Tagalog(Pilipinas)'|'Te Reo Māori(Aotearoa)'|'Tiếng Việt(Việt Nam)'|'Türkçe(Türkiye)'|'Vlaams(België)'|'Vèneto(Veneto)'|'Yorùbá (Nàìjíríà)'|'Íslenska(Ísland)'|'Övdalska(Swerre)'|'Čeština(Česko)'|'Ślōnskŏ (Gōrny Ślōnsk)'|'ɥsᴉꞁᵷuƎ (uʍoᗡ ǝpᴉsd∩)'|'ʻŌlelo Hawaiʻi(Hawai‘i)'|'Ελληνικά (Ελλάδα)'|'Башҡортса'|'Беларуская (Беларусь)'|'Български (България)'|'Дореформенный русскiй (русь)'|'Казакша (Казакстан)'|'Македонски (Македонија)'|'Монгол (Монгол Улс)'|'Русский (Россия)'|'Српски (Србија)'|'Татарча (Расай)'|'Українська (Україна)'|'Հայերեն'|'יידיש (לאשכנזישע יידן)'|'עברית (לישראל)'|'فارسی (ایران)'|'ही (भारत)'|'தமிழ (இநந்தலிய)'|'ಕನ್ನಡ'|'ไทย (ประเทศไทย)'|'ქართული'|'文言 (華夏)'|'日本語 (日本)'|'简体中文 (中国)'|'繁體中文 (台灣)'|'繁體中文 (香港)'|'한국어 (대한민국)';type legacyVersion='1.0.0'|'1.0.1'|'1.1'|'1.2'|'1.2.1'|'1.2.2'|'1.2.3'|'1.2.4'|'1.2.5'|'1.3'|'1.3.1'|'1.3.2'|'1.4'|'1.4.1'|'1.4.2'|'1.4.3'|'1.4.4'|'1.4.5'|'1.4.6'|'1.4.7'|'1.5'|'1.5.1'|'1.5.2'|'1.6'|'1.6.1'|'1.6.2'|'1.6.3'|'1.6.4'|'11w47a'|'11w48a'|'11w49a'|'11w50a'|'12w01a'|'12w03a'|'12w04a'|'12w05a'|'12w05b'|'12w06a'|'12w07a'|'12w07b'|'12w08a'|'12w15a'|'12w16a'|'12w17a'|'12w18a'|'12w19a'|'12w21a'|'12w21b'|'12w22a'|'12w23a'|'12w23b'|'12w24a'|'12w25a'|'12w26a'|'12w27a'|'12w30a'|'12w30b'|'12w30c'|'12w30d'|'12w30e'|'12w32a'|'12w34a'|'12w34b'|'12w36a'|'12w37a'|'12w38a'|'12w38b'|'12w39a'|'12w39b'|'12w40a'|'12w40b'|'12w41a'|'12w41b'|'12w42a'|'12w42b'|'12w49a'|'12w50a'|'12w50b'|'13w01a'|'13w01b'|'13w02a'|'13w02b'|'13w03a'|'13w04a'|'13w05a'|'13w05b'|'13w06a'|'13w07a'|'13w09a'|'13w09b'|'13w09c'|'13w10a'|'13w10b'|'13w11a'|'13w12~'|'13w16a'|'13w16b'|'13w17a'|'13w18a'|'13w18b'|'13w18c'|'13w19a'|'13w21a'|'13w21b'|'13w22a'|'13w23a'|'13w23b'|'13w24a'|'13w24b'|'13w25a'|'13w25b'|'13w25c'|'13w26a'|'13w36a'|'13w36b'|'13w37a'|'13w37b'|'13w38a'|'13w38b'|'13w38c'|'13w39a'|'13w39b'|'Alpha server 0.1.0'|'Alpha server 0.1.1'|'Alpha server 0.1.2'|'Alpha server 0.1.2_01'|'Alpha server 0.1.3'|'Alpha server 0.1.4'|'Alpha server 0.2.0'|'Alpha server 0.2.0_01'|'Alpha server 0.2.1'|'Alpha server 0.2.2'|'Alpha server 0.2.2_01'|'Alpha server 0.2.3'|'Alpha server 0.2.4'|'Alpha server 0.2.5'|'Alpha server 0.2.5_01'|'Alpha server 0.2.5_02'|'Alpha server 0.2.6'|'Alpha server 0.2.6_01'|'Alpha server 0.2.6_02'|'Alpha server 0.2.7'|'Alpha server 0.2.8'|'Alpha v1.0.10'|'Alpha v1.0.11'|'Alpha v1.0.12'|'Alpha v1.0.13'|'Alpha v1.0.13_01'|'Alpha v1.0.14'|'Alpha v1.0.15'|'Alpha v1.0.16'|'Alpha v1.0.16_01'|'Alpha v1.0.16_02'|'Alpha v1.0.17_02'|'Alpha v1.0.17_03'|'Alpha v1.0.17_04'|'Alpha v1.0.5'|'Alpha v1.0.5_01'|'Alpha v1.0.6'|'Alpha v1.0.6_01'|'Alpha v1.0.6_02'|'Alpha v1.0.6_03'|'Alpha v1.0.7'|'Alpha v1.0.8'|'Alpha v1.0.8_01'|'Alpha v1.0.9'|'Alpha v1.1.0'|'Alpha v1.1.1'|'Alpha v1.1.2'|'Alpha v1.1.2_01'|'Alpha v1.2.0'|'Alpha v1.2.0_01'|'Alpha v1.2.0_02'|'Alpha v1.2.1'|'Alpha v1.2.1_01'|'Alpha v1.2.2'|'Alpha v1.2.3'|'Alpha v1.2.3_01'|'Alpha v1.2.3_02'|'Alpha v1.2.3_04'|'Alpha v1.2.3_05'|'Alpha v1.2.4_01'|'Alpha v1.2.5'|'Alpha v1.2.6'|'Beta 1.0'|'Beta 1.0.2'|'Beta 1.0_01'|'Beta 1.1'|'Beta 1.1_01'|'Beta 1.1_02'|'Beta 1.2'|'Beta 1.2_01'|'Beta 1.2_02'|'Beta 1.3'|'Beta 1.3_01'|'Beta 1.4'|'Beta 1.4_01'|'Beta 1.5'|'Beta 1.5_01'|'Beta 1.5_02'|'Beta 1.6 Test Build 3'|'Beta 1.6'|'Beta 1.6.1'|'Beta 1.6.2'|'Beta 1.6.3'|'Beta 1.6.4'|'Beta 1.6.5'|'Beta 1.6.6'|'Beta 1.7'|'Beta 1.7.2'|'Beta 1.7.3'|'Beta 1.7_01'|'Beta 1.8 Pre-release 2'|'Beta 1.8 Pre-release'|'Beta 1.8'|'Beta 1.8.1'|'Beta 1.9 Prerelease 2'|'Beta 1.9 Prerelease 3'|'Beta 1.9 Prerelease 4'|'Beta 1.9 Prerelease 5'|'Beta 1.9 Prerelease 6'|'Beta 1.9 Prerelease'|'Classic 0.0.16a_02'|'Classic 0.0.17a'|'Classic 0.0.18a_02'|'Classic 0.0.20a_01'|'Classic 0.0.20a_02'|'Classic 0.0.21a'|'Classic 0.0.21a_01'|'Classic 0.0.22a'|'Classic 0.0.22a_01'|'Classic 0.0.22a_02'|'Classic 0.0.22a_03'|'Classic 0.0.22a_04'|'Classic 0.0.22a_05'|'Classic 0.0.23a'|'Classic 0.0.23a_01'|'Classic 0.24_SURVIVAL_TEST'|'Classic 0.24_SURVIVAL_TEST_01'|'Classic 0.24_SURVIVAL_TEST_02'|'Classic 0.24_SURVIVAL_TEST_03'|'Classic 0.25 SURVIVAL TEST'|'Classic 0.25_05 SURVIVAL TEST'|'Classic 0.26 SURVIVAL TEST'|'Classic 0.27 SURVIVAL TEST'|'Classic 0.28_01'|'Classic 0.29'|'Classic 0.29_01'|'Classic 0.29_02'|'Classic 0.30'|'Classic server 1.10'|'Classic server 1.10.1'|'Classic server 1.2'|'Classic server 1.3'|'Classic server 1.4'|'Classic server 1.4.1'|'Classic server 1.5'|'Classic server 1.6'|'Classic server 1.7'|'Classic server 1.8'|'Classic server 1.8.1'|'Classic server 1.8.2'|'Classic server 1.8.3'|'Classic server 1.9'|'RC1'|'RC2';type newVersion='1.10-pre1'|'1.10-pre2'|'1.10.2'|'1.11'|'1.11-pre1'|'1.11.2'|'1.12'|'1.12-pre1'|'1.12-pre2'|'1.12-pre3'|'1.12-pre4'|'1.12-pre5'|'1.12-pre6'|'1.12-pre7'|'1.12.1'|'1.12.1-pre1'|'1.12.2'|'1.12.2-pre2'|'1.13'|'1.13-pre1'|'1.13-pre10'|'1.13-pre2'|'1.13-pre3'|'1.13-pre4'|'1.13-pre5'|'1.13-pre6'|'1.13-pre7'|'1.13-pre8'|'1.13-pre9'|'1.13.1'|'1.13.1-pre1'|'1.13.1-pre2'|'1.13.2'|'1.13.2-pre1'|'1.13.2-pre2'|'1.14 Pre-Release 1'|'1.14 Pre-Release 2'|'1.14 Pre-Release 3'|'1.14 Pre-Release 4'|'1.14 Pre-Release 5'|'1.14'|'1.14.1 Pre-Release 1'|'1.14.1 Pre-Release 2'|'1.14.1'|'1.14.2 Pre-Release 1'|'1.14.2 Pre-Release 2'|'1.14.2 Pre-Release 3'|'1.14.2 Pre-Release 4'|'1.14.2'|'1.14.3 - Combat Test'|'1.14.3 Pre-Release 1'|'1.14.3 Pre-Release 2'|'1.14.3 Pre-Release 3'|'1.14.3 Pre-Release 4'|'1.14.3'|'1.14.4 Pre-Release 1'|'1.14.4 Pre-Release 2'|'1.14.4 Pre-Release 3'|'1.14.4 Pre-Release 4'|'1.14.4 Pre-Release 5'|'1.14.4 Pre-Release 6'|'1.14.4 Pre-Release 7'|'1.14.4'|'1.15 Pre-Release 2'|'1.15 Pre-release 1'|'1.15 Pre-release 3'|'1.15 Pre-release 4'|'1.15 Pre-release 5'|'1.15 Pre-release 6'|'1.15 Pre-release 7'|'1.15'|'1.15.1 Pre-release 1'|'1.15.1'|'1.15.2 Pre-Release 1'|'1.15.2 Pre-release 2'|'1.15.2'|'1.16 Pre-release 1'|'1.16 Pre-release 2'|'1.16 Pre-release 3'|'1.16 Pre-release 4'|'1.16 Pre-release 5'|'1.16 Pre-release 6'|'1.16 Pre-release 7'|'1.16 Pre-release 8'|'1.16 Release Candidate 1'|'1.16'|'1.16.1'|'1.16.2 Pre-release 1'|'1.16.2 Pre-release 2'|'1.16.2 Pre-release 3'|'1.16.2 Release Candidate 1'|'1.16.2 Release Candidate 2'|'1.16.2'|'1.16.3 Release Candidate 1'|'1.16.3'|'1.16.4 Pre-release 1'|'1.16.4 Pre-release 2'|'1.16.4 Release Candidate 1'|'1.16.4'|'1.16.5 Release Candidate 1'|'1.16.5'|'1.17 Pre-release 1'|'1.17 Pre-release 2'|'1.17 Pre-release 3'|'1.17 Pre-release 4'|'1.17 Pre-release 5'|'1.17 Release Candidate 1'|'1.17 Release Candidate 2'|'1.17'|'1.17.1 Pre-release 1'|'1.17.1 Pre-release 2'|'1.17.1 Pre-release 3'|'1.17.1 Release Candidate 1'|'1.17.1 Release Candidate 2'|'1.17.1'|'1.18 Experimental Snapshot 1'|'1.18 Pre-release 1'|'1.18 Pre-release 2'|'1.18 Pre-release 3'|'1.18 Pre-release 4'|'1.18 Pre-release 5'|'1.18 Pre-release 6'|'1.18 Pre-release 7'|'1.18 Pre-release 8'|'1.18 Release Candidate 1'|'1.18 Release Candidate 2'|'1.18 Release Candidate 3'|'1.18 Release Candidate 4'|'1.18 experimental snapshot 2'|'1.18 experimental snapshot 3'|'1.18 experimental snapshot 4'|'1.18 experimental snapshot 5'|'1.18 experimental snapshot 6'|'1.18 experimental snapshot 7'|'1.18'|'1.18.1 Pre-release 1'|'1.18.1 Release Candidate 1'|'1.18.1 Release Candidate 2'|'1.18.1 Release Candidate 3'|'1.18.1'|'1.18.2 Pre-release 1'|'1.18.2 Pre-release 2'|'1.18.2 Pre-release 3'|'1.18.2 Release Candidate 1'|'1.18.2'|'1.7.1'|'1.7.5'|'1.8-pre1'|'1.8-pre2'|'1.8-pre3'|'1.8.9'|'1.9-pre1'|'1.9-pre2'|'1.9-pre3'|'1.9-pre4'|'1.9.1'|'1.9.1-pre1'|'1.9.3-pre1'|'1.9.4'|'13w41a'|'13w41b'|'13w42b'|'13w43a'|'14w02c'|'14w03b'|'14w04a'|'14w04b'|'14w05b'|'14w06b'|'14w07a'|'14w08a'|'14w10c'|'14w11b'|'14w17a'|'14w18b'|'14w19a'|'14w20b'|'14w21a'|'14w21b'|'14w25a'|'14w25b'|'14w26a'|'14w26b'|'14w26c'|'14w27b'|'14w28a'|'14w28b'|'14w29b'|'14w30b'|'14w30c'|'14w31a'|'14w32a'|'14w32b'|'14w32c'|'14w32d'|'14w33a'|'14w33b'|'14w33c'|'14w34a'|'14w34b'|'14w34c'|'14w34d'|'15w31a'|'15w31b'|'15w31c'|'15w32a'|'15w32b'|'15w32c'|'15w33a'|'15w33b'|'15w33c'|'15w34a'|'15w34b'|'15w34c'|'15w34d'|'15w35a'|'15w35b'|'15w35c'|'15w35d'|'15w35e'|'15w36a'|'15w36b'|'15w36c'|'15w36d'|'15w37a'|'15w38a'|'15w38b'|'15w39c'|'15w40a'|'15w40b'|'15w41a'|'15w41b'|'15w42a'|'15w43a'|'15w43b'|'15w43c'|'15w44a'|'15w44b'|'15w45a'|'15w46a'|'15w47a'|'15w47b'|'15w47c'|'15w49a'|'15w49b'|'15w50a'|'15w51a'|'15w51b'|'16w02a'|'16w03a'|'16w04a'|'16w05a'|'16w05b'|'16w06a'|'16w07a'|'16w07b'|'16w20a'|'16w21a'|'16w21b'|'16w32a'|'16w32b'|'16w33a'|'16w35a'|'16w36a'|'16w38a'|'16w39a'|'16w39b'|'16w39c'|'16w40a'|'16w41a'|'16w42a'|'16w44a'|'17w06a'|'17w13a'|'17w13b'|'17w14a'|'17w15a'|'17w16a'|'17w16b'|'17w17a'|'17w17b'|'17w18a'|'17w18b'|'17w31a'|'17w43a'|'17w43b'|'17w45a'|'17w45b'|'17w46a'|'17w47a'|'17w47b'|'17w48a'|'17w49a'|'17w49b'|'17w50a'|'18w01a'|'18w02a'|'18w03a'|'18w03b'|'18w05a'|'18w06a'|'18w07a'|'18w07b'|'18w07c'|'18w08a'|'18w08b'|'18w09a'|'18w10a'|'18w10b'|'18w10c'|'18w10d'|'18w11a'|'18w14a'|'18w14b'|'18w15a'|'18w16a'|'18w19a'|'18w19b'|'18w20a'|'18w20b'|'18w20c'|'18w21a'|'18w21b'|'18w22a'|'18w22b'|'18w22c'|'18w30a'|'18w30b'|'18w31a'|'18w32a'|'18w33a'|'18w43a'|'18w43b'|'18w43c'|'18w44a'|'18w45a'|'18w46a'|'18w47a'|'18w47b'|'18w48a'|'18w48b'|'18w49a'|'18w50a'|'19w02a'|'19w03a'|'19w03b'|'19w03c'|'19w04a'|'19w04b'|'19w05a'|'19w06a'|'19w07a'|'19w08a'|'19w08b'|'19w09a'|'19w11a'|'19w11b'|'19w12a'|'19w12b'|'19w13a'|'19w13b'|'19w14a'|'19w14b'|'19w34a'|'19w35a'|'19w36a'|'19w37a'|'19w38a'|'19w38b'|'19w39a'|'19w40a'|'19w41a'|'19w42a'|'19w44a'|'19w45a'|'19w45b'|'19w46a'|'19w46b'