Compare commits

..

9 Commits

Author SHA1 Message Date
cf9508ba31 v0.2.1 2020-02-24 16:27:49 +08:00
e0f4c5e77d feat: add nukkit support
Signed-off-by: MiaoWoo <admin@yumc.pw>
2020-02-24 16:25:54 +08:00
e4a87095ce feat: add config support
Signed-off-by: MiaoWoo <admin@yumc.pw>
2020-02-24 16:25:38 +08:00
950575edbc feat: inject config folder
Signed-off-by: MiaoWoo <admin@yumc.pw>
2020-02-24 16:25:16 +08:00
c2a71b9a7a feat: add config support
Signed-off-by: MiaoWoo <admin@yumc.pw>
2020-02-24 16:24:36 +08:00
068ac7b76e feat: update typescript version
Signed-off-by: MiaoWoo <admin@yumc.pw>
2020-02-24 15:28:47 +08:00
05cbd85828 feat: add nukkit support
Signed-off-by: MiaoWoo <admin@yumc.pw>
2020-02-24 04:02:29 +08:00
ea28d20aa1 feat: add nukkit package 2020-02-24 04:01:39 +08:00
d3f33f50e0 feat: add nukkit type defiend 2020-02-24 02:54:05 +08:00
1626 changed files with 53422 additions and 92 deletions

View File

@@ -1,5 +1,5 @@
{
"version": "0.2.0",
"version": "0.2.1",
"useWorkspaces": true,
"npmClient": "yarn",
"packages": [

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/api",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript api package",
"keywords": [
"miaoscript",
@@ -22,13 +22,13 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"dependencies": {
"@ms/container": "^0.2.0",
"@ms/ployfill": "^0.2.0",
"@ms/container": "^0.2.1",
"@ms/ployfill": "^0.2.1",
"source-map-builder": "^0.0.7"
},
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
}
}

View File

@@ -1,20 +1,22 @@
import { Container } from "@ms/container";
export namespace plugin {
/**
* MiaoScript Plugin
*/
export const Plugin = Symbol("Plugin");
/**
* MiaoScript Plugin
*/
export const PluginFolder = Symbol("PluginFolder");
/**
* Runtime Plugin Instance
*/
export const PluginInstance = Symbol("PluginInstance");
/**
* MiaoScript Plugin Manager
* MiaoScript Plugin Manager Symbol
*/
export const PluginManager = Symbol("PluginManager");
/**
* MiaoScript Plugin Manager
* MiaoScript Plugin Manager Interface
*/
export interface PluginManager {
scan(folder: string): void;

View File

@@ -1,7 +1,7 @@
{
"name": "@ms/bukkit",
"version": "0.2.0",
"description": "MiaoScript api package",
"version": "0.2.1",
"description": "MiaoScript bukkit package",
"keywords": [
"miaoscript",
"minecraft",
@@ -24,12 +24,12 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/api": "^0.2.0",
"@ms/common": "^0.2.0",
"@ms/container": "^0.2.0",
"@ms/types": "^0.2.0"
"@ms/api": "^0.2.1",
"@ms/common": "^0.2.1",
"@ms/container": "^0.2.1",
"@ms/types": "^0.2.1"
}
}

View File

@@ -19,7 +19,6 @@ export class BukkitCommand extends command.Command {
init() {
this.commandMap = reflect.on(Bukkit.getPluginManager()).get('commandMap').get();
}
create(plugin: any, command: string) {
var cmd = this.commandMap.getCommand(command)
if (cmd && cmd instanceof PluginCommand) { return cmd };

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/bungee",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript bungee package",
"keywords": [
"miaoscript",
@@ -24,12 +24,12 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/api": "^0.2.0",
"@ms/common": "^0.2.0",
"@ms/container": "^0.2.0",
"@ms/types": "^0.2.0"
"@ms/api": "^0.2.1",
"@ms/common": "^0.2.1",
"@ms/container": "^0.2.1",
"@ms/types": "^0.2.1"
}
}

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@ms/client",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript client package",
"keywords": [
"miaoscript",
@@ -30,6 +30,6 @@
"devDependencies": {
"@nestjs/cli": "^6.14.2",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/common",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript api package",
"keywords": [
"miaoscript",
@@ -24,11 +24,11 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/nashorn": "^0.2.0",
"@ms/ployfill": "^0.2.0"
"@ms/nashorn": "^0.2.1",
"@ms/ployfill": "^0.2.1"
},
"gitHead": "562e2d00175c9d3a99c8b672aa07e6d92706a027"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/compile",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript compile package",
"keywords": [
"miaoscript",
@@ -24,6 +24,6 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/container",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript container package",
"keywords": [
"miaoscript",
@@ -24,7 +24,7 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"inversify-binding-decorators": "^4.0.0"

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/core",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript api package",
"keywords": [
"miaoscript",
@@ -24,15 +24,15 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/api": "^0.2.0",
"@ms/bukkit": "^0.2.0",
"@ms/common": "^0.2.0",
"@ms/container": "^0.2.0",
"@ms/plugin": "^0.2.0",
"@ms/sponge": "^0.2.0"
"@ms/api": "^0.2.1",
"@ms/bukkit": "^0.2.1",
"@ms/common": "^0.2.1",
"@ms/container": "^0.2.1",
"@ms/plugin": "^0.2.1",
"@ms/sponge": "^0.2.1"
},
"gitHead": "781524f83e52cad26d7c480513e3c525df867121"
}

View File

@@ -12,6 +12,8 @@ class MiaoScriptCore {
private Console: Console;
@inject(task.TaskManager)
private taskManager: task.TaskManager;
@inject(plugin.PluginFolder)
private pluginFolder: string;
@inject(plugin.PluginManager)
private pluginManager: plugin.PluginManager;
@@ -38,7 +40,7 @@ class MiaoScriptCore {
loadPlugins() {
let loadPluginStartTime = new Date().getTime()
console.log(`Initialization MiaoScript Plugin System. Please wait...`)
this.pluginManager.scan('plugins');
this.pluginManager.scan(this.pluginFolder);
this.pluginManager.build();
this.pluginManager.load();
this.pluginManager.enable();
@@ -61,6 +63,11 @@ function detectServer() {
return 'sponge'
} catch (ex) {
}
try {
Java.type("cn.nukkit.Nukkit");
return 'nukkit'
} catch (ex) {
}
try {
Java.type("net.md_5.bungee.api.ProxyServer");
return 'bungee'
@@ -73,6 +80,7 @@ function initialize() {
let corePackageStartTime = new Date().getTime()
container.bind(ContainerInstance).toConstantValue(container);
container.bind(plugin.PluginInstance).toConstantValue(base.getInstance());
container.bind(plugin.PluginFolder).toConstantValue('plugins');
let type = detectServer();
console.info(`Detect Compatible Server set ServerType to ${type} ...`)
container.bind(server.ServerType).toConstantValue(type);

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@ms/manager",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript manager package",
"keywords": [
"miaoscript",
@@ -34,6 +34,6 @@
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"ts-node-dev": "^1.0.0-pre.44",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
}
}

View File

@@ -1,5 +1,5 @@
# sponge bukkit jdk bungee
TYPE=bungee
# sponge bukkit jdk bungee nukkit
TYPE=nukkit
TARGET=../types/dist/typings
npx tsc src/build.ts --outDir dist
cd dist

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/nashorn",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript api package",
"keywords": [
"miaoscript",
@@ -25,6 +25,6 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
}
}

View File

@@ -178,7 +178,7 @@ typeMap['Matrix4d'] = 'any /*Matrix4d*/'
function mappingType(type: string): string {
let outType = typeMap[type] || type || 'any';
if (outType.indexOf('.') != -1) {
if (outType.startsWith('java.') || outType.startsWith('org.') || outType.startsWith('net.')) {
if (outType.startsWith('java.') || outType.startsWith('org.') || outType.startsWith('net.') || outType.startsWith('cn.')) {
} else {
outType = `any /*${outType}*/`

View File

@@ -0,0 +1,35 @@
{
"name": "@ms/nukkit",
"version": "0.2.1",
"description": "MiaoScript nukkit package",
"keywords": [
"miaoscript",
"minecraft",
"bukkit",
"sponge"
],
"author": "MiaoWoo <admin@yumc.pw>",
"homepage": "https://github.com/circlecloud/ms.git",
"license": "ISC",
"main": "dist/index.js",
"publishConfig": {
"registry": "https://repo.yumc.pw/repository/npm-hosted/"
},
"scripts": {
"clean": "rimraf dist",
"watch": "tsc --watch",
"build": "yarn clean && tsc",
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/api": "^0.2.1",
"@ms/common": "^0.2.1",
"@ms/container": "^0.2.1",
"@ms/types": "^0.2.1"
}
}

View File

@@ -0,0 +1,41 @@
import '@ms/nashorn'
import { command, plugin } from '@ms/api'
import { injectable, postConstruct, inject } from '@ms/container'
let PluginCommand = Java.type('cn.nukkit.command.PluginCommand');
let CommandExecutor = Java.type('cn.nukkit.command.CommandExecutor');
@injectable()
export class NukkitCommand extends command.Command {
@inject(plugin.PluginInstance)
private pluginInstance: any
private commandMap: any;
@postConstruct()
init() {
this.commandMap = base.getInstance().getServer().getCommandMap();
}
create(plugin: any, command: string) {
var cmd = this.commandMap.getCommand(command)
if (cmd && cmd instanceof PluginCommand) { return cmd };
cmd = new PluginCommand(command, this.pluginInstance)
this.commandMap.register(plugin.description.name, cmd);
return cmd;
}
remove(plugin: any, command: string) {
var cmd = this.commandMap.getCommand(command)
if (cmd && cmd instanceof PluginCommand) {
cmd.unregister(this.commandMap);
}
}
onCommand(plugin: any, command: any, executor: Function) {
// 必须指定需要实现的接口类型 否则MOD服会报错
command.setExecutor(new CommandExecutor({
onCommand: super.setExecutor(plugin, command, executor)
}));
}
onTabComplete(plugin: any, command: any, tabCompleter: Function) {
// Not Support
}
}

View File

@@ -0,0 +1,21 @@
import { MiaoScriptConsole } from '@ms/api'
let Nukkit = base.getInstance().getServer();
let CommandSender = Java.type('cn.nukkit.command.CommandSender')
export class NukkitConsole extends MiaoScriptConsole {
sender(sender, ...args) {
if (!(sender instanceof CommandSender)) {
this.error(`First parameter ${sender} not instanceof cn.nukkit.command.CommandSender can't send message!`)
return;
}
if (Object.prototype.toString.call(args[0]) === "[object Array]") {
args[0].forEach(line => sender.sendMessage(this.prefix + line))
} else {
sender.sendMessage(this.prefix + args.join(' '));
}
}
console(...args: string[]): void {
this.sender(Nukkit.getConsoleSender(), args.join(' '));
}
}

View File

@@ -0,0 +1,47 @@
import { event, server, plugin } from '@ms/api'
import { injectable, inject } from '@ms/container'
const Nukkit: cn.nukkit.Server = base.getInstance().getServer();
const Event = Java.type("cn.nukkit.event.Event");
const Modifier = Java.type("java.lang.reflect.Modifier");
const Listener = Java.type("cn.nukkit.event.Listener");
const EventPriority = Java.type("cn.nukkit.event.EventPriority");
const EventExecutor = Java.type("cn.nukkit.plugin.EventExecutor");
@injectable()
export class NukkitEvent extends event.Event {
@inject(plugin.PluginInstance)
private pluginInstance: any
constructor() {
super('cn/nukkit/event');
}
getJarFile(resource: string) {
return super.getJarFile('cn/nukkit/Nukkit.class')
}
isValidEvent(clazz: any): boolean {
// 继承于 org.bukkit.event.Event
return Event.class.isAssignableFrom(clazz) &&
// 访问符为Public
Modifier.isPublic(clazz.getModifiers()) &&
// 不是抽象类
!Modifier.isAbstract(clazz.getModifiers());
}
register(eventCls: any, exec: Function, priority: event.EventPriority, ignoreCancel: boolean) {
let listener = new Listener({});
Nukkit.getPluginManager().registerEvent(
eventCls,
listener,
EventPriority[priority],
new EventExecutor({
execute: exec
}),
this.pluginInstance,
ignoreCancel);
return listener;
}
unregister(event: any, listener: any): void {
event.getHandlers().unregister(listener);
}
}

View File

@@ -0,0 +1,18 @@
/// <reference types="@ms/types/dist/typings/nukkit" />
import { server, command, event, task } from '@ms/api'
import { Container } from '@ms/container'
import { NukkitConsole } from './console';
import { NukkitEvent } from './event';
import { NukkitServer } from './server';
import { NukkitCommand } from './command';
import { NukkitTaskManager } from './task';
export default function NukkitImpl(container: Container) {
container.bind(server.Console).toConstantValue(NukkitConsole);
container.bind(event.Event).to(NukkitEvent).inSingletonScope();
container.bind(server.Server).to(NukkitServer).inSingletonScope();
container.bind(command.Command).to(NukkitCommand).inSingletonScope();
container.bind(task.TaskManager).to(NukkitTaskManager).inSingletonScope();
}

View File

@@ -0,0 +1,35 @@
import { server } from '@ms/api'
import { injectable } from '@ms/container';
let Nukkit: cn.nukkit.Server = base.getInstance().getServer();
@injectable()
export class NukkitServer implements server.Server {
getPlayer(name: string) {
return Nukkit.getPlayer(name)
}
getVersion(): string {
return Nukkit.getVersion()
}
getOnlinePlayers() {
return Nukkit.getOnlinePlayers() as unknown as any[]
}
getConsoleSender() {
return Nukkit.getConsoleSender()
}
getService(service: string) {
return Nukkit.getServiceManager().getProvider(base.getClass(service))
}
dispatchCommand(sender: string | any, command: string): boolean {
if (typeof sender === 'string') {
sender = this.getPlayer(sender)
}
return Nukkit.dispatchCommand(sender, command)
}
dispatchConsoleCommand(command: string): boolean {
return Nukkit.dispatchCommand(Nukkit.getConsoleSender(), command)
}
sendJson(sender: string | any, json: object | string): void {
throw new Error("Method not implemented.");
}
}

View File

@@ -0,0 +1,35 @@
import { task, plugin } from '@ms/api'
import { injectable, inject } from '@ms/container';
const Nukkit: cn.nukkit.Server = base.getInstance().getServer();
const NukkitRunnable = Java.type('cn.nukkit.scheduler.NukkitRunnable');
const Callable = Java.type('java.util.concurrent.Callable')
@injectable()
export class NukkitTaskManager implements task.TaskManager {
@inject(plugin.PluginInstance)
private pluginInstance: any;
create(func: Function): task.Task {
if (Object.prototype.toString.call(func) !== "[object Function]") { throw TypeError('第一个参数 Task 必须为 function !'); };
return new NukkitTask(this.pluginInstance, func);
}
callSyncMethod(func: Function): any {
return func()
}
}
export class NukkitTask extends task.Task {
submit(): task.Cancelable {
let run = new NukkitRunnable({
run: () => this.run()
})
let funcName = `runTask${this.interval ? 'Timer' : 'Later'}${this.isAsync ? 'Asynchronously' : ''}`
if (this.interval) {
run[funcName](this.plugin, this.laterTime, this.interval);
} else {
run[funcName](this.plugin, this.laterTime);
}
return run;
}
}

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"baseUrl": "src",
"outDir": "dist"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/ployfill",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript ployfill package",
"author": "MiaoWoo <admin@yumc.pw>",
"homepage": "https://github.com/circlecloud/ms.git",
@@ -17,12 +17,12 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"dependencies": {
"@ms/nashorn": "^0.2.0",
"@ms/nashorn": "^0.2.1",
"core-js": "^3.6.4"
},
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/plugin",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript api package",
"keywords": [
"miaoscript",
@@ -22,13 +22,15 @@
"test": "echo \"Error: run tests from root\" && exit 1"
},
"devDependencies": {
"@types/js-yaml": "^3.12.2",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/api": "^0.2.0",
"@ms/common": "^0.2.0",
"@ms/container": "^0.2.0"
"@ms/api": "^0.2.1",
"@ms/common": "^0.2.1",
"@ms/container": "^0.2.1",
"js-yaml": "^3.13.1"
}
}

View File

@@ -0,0 +1,40 @@
import * as yaml from 'js-yaml'
export interface PluginConfigLoader {
load(content: string): any;
dump(variable: any): string;
}
export class YamlPluginConfig implements PluginConfigLoader {
load(content: string) {
return yaml.safeLoad(content);
}
dump(variable: any): string {
return yaml.safeDump(variable);
}
}
export class JsonPluginConfig implements PluginConfigLoader {
load(content: string) {
return JSON.parse(content);
}
dump(variable: any): string {
return JSON.stringify(variable);
}
}
const configLoaderMap = new Map<string, PluginConfigLoader>();
export function getConfigLoader(format: string) {
if (!configLoaderMap.has(format)) { throw new Error(`Unsupport config format ${format} !`) }
return configLoaderMap.get(format);
}
function init() {
configLoaderMap.set("json", new JsonPluginConfig())
let yaml = new YamlPluginConfig()
configLoaderMap.set("yml", yaml)
configLoaderMap.set("yaml", yaml)
}
init()

View File

@@ -24,7 +24,6 @@ export function plugin(metadata: interfaces.PluginMetadata) {
*/
export function cmd(metadata: interfaces.CommandMetadata = {}) {
return function(target: any, key: string, value: any) {
checkFunction("command", target[key]);
metadata.name = metadata.name || key;
metadata.executor = key;
metadata.paramtypes = Reflect.getMetadata("design:paramtypes", target, key)
@@ -40,7 +39,6 @@ export function cmd(metadata: interfaces.CommandMetadata = {}) {
*/
export function tab(metadata: interfaces.TabCompleterMetadata = {}) {
return function(target: any, key: string, value: any) {
checkFunction("tab", target[key]);
metadata.name = metadata.name || (key.startsWith('tab') ? key.split('tab', 2)[1] : key);
if (!metadata.name) { return; }
metadata.executor = key;
@@ -57,7 +55,6 @@ export function tab(metadata: interfaces.TabCompleterMetadata = {}) {
*/
export function listener(metadata: interfaces.ListenerMetadata = {}) {
return function(target: any, key: string, value: any) {
checkFunction("listener", target[key]);
metadata.name = metadata.name || key;
metadata.executor = key;
const previousMetadata: interfaces.ListenerMetadata[] = getPluginListenerMetadata(target)
@@ -65,20 +62,12 @@ export function listener(metadata: interfaces.ListenerMetadata = {}) {
};
}
export function config(metadata: interfaces.ConfigMetadata = { version: 1 }) {
return function(target: any, key: string, value: any) {
if (typeof value === "function") {
throw new Error(`decorate config must config at prototype but is a ${typeof value}!`)
}
export function config(metadata: interfaces.ConfigMetadata = { version: 1, format: 'yml' }) {
return function(target: any, key: string) {
metadata.name = metadata.name || key;
metadata.variable = key;
const previousMetadata: Map<string, interfaces.ConfigMetadata> = getPluginConfigMetadata(target)
previousMetadata.set(metadata.name, metadata);
Reflect.defineMetadata(METADATA_KEY.config, previousMetadata, target.constructor);
}
}
function checkFunction(type: string, value: any) {
if (typeof value !== "function") {
throw new Error(`decorate ${type} must config at function but is a ${typeof value}!`)
}
}

View File

@@ -62,6 +62,8 @@ export namespace interfaces {
}
export interface ConfigMetadata extends BaseMetadata {
version?: number;
variable?: string;
format?: string;
}
export type PluginLike = Plugin | string;
}

View File

@@ -4,6 +4,7 @@ import * as fs from '@ms/common/dist/fs'
import { getPluginMetadatas, getPluginCommandMetadata, getPluginListenerMetadata, getPlugin, getPluginTabCompleterMetadata, getPluginConfigMetadata } from './utils'
import { interfaces } from './interfaces'
import { getConfigLoader } from './config'
@injectable()
export class PluginManagerImpl implements plugin.PluginManager {
@@ -11,6 +12,8 @@ export class PluginManagerImpl implements plugin.PluginManager {
private container: Container
@inject(plugin.PluginInstance)
private pluginInstance: any
@inject(plugin.PluginFolder)
private pluginFolder: string;
@inject(server.ServerType)
private serverType: string
@inject(command.Command)
@@ -51,9 +54,9 @@ export class PluginManagerImpl implements plugin.PluginManager {
load(...args: any[]): void {
this.checkAndGet(args[0]).forEach((plugin: interfaces.Plugin) => {
this.logStage(plugin, "Loading")
this.loadConfig(plugin)
this.runCatch(plugin, 'load')
this.runCatch(plugin, `${this.serverType}load`)
this.loadConfig(plugin)
})
}
@@ -197,9 +200,19 @@ export class PluginManagerImpl implements plugin.PluginManager {
}
}
private loadConfig(pluginInstance: interfaces.Plugin) {
let configs = getPluginConfigMetadata(pluginInstance);
private loadConfig(plugin: interfaces.Plugin) {
let configs = getPluginConfigMetadata(plugin);
for (let [_, config] of configs) {
let configFile = fs.concat(root, this.pluginFolder, plugin.description.name, config.name + '.' + config.format)
console.log(configFile)
let configFactory = getConfigLoader(config.format);
if (!fs.exists(configFile)) {
base.save(configFile, configFactory.dump(plugin[config.variable]))
console.log(`[${plugin.description.name}] config ${config.name}.${config.format} don't exists auto create from default variable...`)
} else {
plugin[config.variable] = configFactory.load(base.read(configFile));
}
}
}
private registryCommand(pluginInstance: interfaces.Plugin) {

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@ms/plugins",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript plugins package",
"keywords": [
"miaoscript",
@@ -25,10 +25,10 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/plugin": "^0.2.0",
"@ms/plugin": "^0.2.1",
"axios": "^0.19.2",
"es6-map": "^0.1.5",
"inversify": "^5.0.1"

View File

@@ -1,6 +1,7 @@
/// <reference types="@ms/types/dist/typings/bukkit" />
/// <reference types="@ms/types/dist/typings/sponge" />
/// <reference types="@ms/types/dist/typings/bungee" />
/// <reference types="@ms/types/dist/typings/nukkit" />
import { server } from '@ms/api';
import { inject } from '@ms/container';
@@ -62,7 +63,7 @@ export class HelloWorld extends interfaces.Plugin {
return ['world']
}
@listener({ servers: ['bukkit'] })
@listener({ servers: ['bukkit', 'nukkit'] })
PlayerJoin(event: org.bukkit.event.player.PlayerJoinEvent) {
let plyaer = event.getPlayer();
this.logger.console(`§cBukkit §aPlayerJoinEvent: §b${plyaer.getName()}`)

View File

@@ -4,7 +4,7 @@
import { server, plugin as pluginApi } from '@ms/api'
import { inject } from '@ms/container';
import { plugin, interfaces, cmd, listener, tab } from '@ms/plugin'
import { plugin, interfaces, cmd, listener, tab, config } from '@ms/plugin'
import Tellraw from '@ms/common/dist/tellraw'
const ByteArrayInputStream = Java.type("java.io.ByteArrayInputStream");
@@ -64,8 +64,9 @@ export class MiaoChat extends interfaces.Plugin {
private spongeChannel: any;
private spongeListener: any;
@config()
private config = {
Version: "1.8.5",
Version: "1.0.0",
BungeeCord: true,
Server: "生存服",
ChatFormats: {

View File

@@ -1,6 +1,6 @@
{
"name": "@ms/sponge",
"version": "0.2.0",
"version": "0.2.1",
"description": "MiaoScript api package",
"keywords": [
"miaoscript",
@@ -24,12 +24,12 @@
"devDependencies": {
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"typescript": "^3.7.5"
"typescript": "^3.8.2"
},
"dependencies": {
"@ms/api": "^0.2.0",
"@ms/common": "^0.2.0",
"@ms/container": "^0.2.0",
"@ms/types": "^0.2.0"
"@ms/api": "^0.2.1",
"@ms/common": "^0.2.1",
"@ms/container": "^0.2.1",
"@ms/types": "^0.2.1"
}
}

View File

@@ -0,0 +1,23 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
class Achievement extends java.lang.Object {
// @ts-ignore
constructor(message: string, requires: string)
// @ts-ignore
public static achievements: java.util.HashMap;
// @ts-ignore
public message: string;
// @ts-ignore
public requires: java.lang.String[];
// @ts-ignore
public static broadcast(player: cn.nukkit.Player, achievementId: string): boolean;
// @ts-ignore
public static add(name: string, achievement: cn.nukkit.Achievement): boolean;
// @ts-ignore
public getMessage(): string;
// @ts-ignore
public broadcast(player: cn.nukkit.Player): void;
}
}
}

View File

@@ -0,0 +1,45 @@
declare namespace cn {
namespace nukkit {
namespace AdventureSettings {
// @ts-ignore
class Type extends java.lang.Enum {
// @ts-ignore
public static WORLD_IMMUTABLE: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static AUTO_JUMP: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static ALLOW_FLIGHT: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static NO_CLIP: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static WORLD_BUILDER: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static FLYING: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static MUTED: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static BUILD_AND_MINE: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static DOORS_AND_SWITCHED: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static OPEN_CONTAINERS: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static ATTACK_PLAYERS: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static ATTACK_MOBS: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static OPERATOR: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static TELEPORT: cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public static values(): cn.nukkit.AdventureSettings.Type[];
// @ts-ignore
public static valueOf(name: string): cn.nukkit.AdventureSettings.Type;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getDefaultValue(): boolean;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
class AdventureSettings extends java.lang.Object {
// @ts-ignore
constructor(player: cn.nukkit.Player)
// @ts-ignore
public static PERMISSION_NORMAL: number;
// @ts-ignore
public static PERMISSION_OPERATOR: number;
// @ts-ignore
public static PERMISSION_HOST: number;
// @ts-ignore
public static PERMISSION_AUTOMATION: number;
// @ts-ignore
public static PERMISSION_ADMIN: number;
// @ts-ignore
public clone(newPlayer: cn.nukkit.Player): cn.nukkit.AdventureSettings;
// @ts-ignore
public set(type: cn.nukkit.AdventureSettings.Type, value: boolean): cn.nukkit.AdventureSettings;
// @ts-ignore
public get(type: cn.nukkit.AdventureSettings.Type): boolean;
// @ts-ignore
public update(): void;
}
}
}

View File

@@ -0,0 +1,82 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
interface IPlayer extends cn.nukkit.permission.ServerOperator, cn.nukkit.metadata.Metadatable {
/**
* 返回这个玩家是否在线。<br>
* Returns if this player is online.
*/
// @ts-ignore
isOnline(): boolean;
/**
* 返回这个玩家的名称。<br>
* Returns the name of this player.
* <p>如果是在线的玩家,这个函数只会返回登录名字。如果要返回显示的名字,参见{@link cn.nukkit.Player#getDisplayName}<br>
* Notice that this will only return its login name. If you need its display name, turn to
* {@link cn.nukkit.Player#getDisplayName}</p>
*/
// @ts-ignore
getName(): string;
// @ts-ignore
getUniqueId(): java.util.UUID;
/**
* 返回这个玩家是否被封禁(ban)。<br>
* Returns if this player is banned.
*/
// @ts-ignore
isBanned(): boolean;
/**
* 设置这个玩家是否被封禁(ban)。<br>
* Sets this player to be banned or to be pardoned.
*/
// @ts-ignore
setBanned(value: boolean): void;
/**
* 返回这个玩家是否已加入白名单。<br>
* Returns if this player is pardoned by whitelist.
*/
// @ts-ignore
isWhitelisted(): boolean;
/**
* 把这个玩家加入白名单,或者取消这个玩家的白名单。<br>
* Adds this player to the white list, or removes it from the whitelist.
*/
// @ts-ignore
setWhitelisted(value: boolean): void;
/**
* 得到这个接口的{@code Player}对象。<br>
* Returns a {@code Player} object for this interface.
*/
// @ts-ignore
getPlayer(): cn.nukkit.Player;
/**
* 返回玩家所在的服务器。<br>
* Returns the server carrying this player.
*/
// @ts-ignore
getServer(): cn.nukkit.Server;
/**
* 得到这个玩家第一次游戏的时间。<br>
* Returns the time this player first played in this server.
*/
// @ts-ignore
getFirstPlayed(): java.lang.Long;
/**
* 得到这个玩家上次加入游戏的时间。<br>
* Returns the time this player last joined in this server.
*/
// @ts-ignore
getLastPlayed(): java.lang.Long;
/**
* 返回这个玩家以前是否来过服务器。<br>
* Returns if this player has played in this server before.
* <p>如果想得到这个玩家是不是第一次玩,可以使用:<br>
* If you want to know if this player is the first time playing in this server, you can use:<br>
* </p>
* <pre>if(!player.hasPlayerBefore()) {...}</pre>
*/
// @ts-ignore
hasPlayedBefore(): boolean;
}
}
}

View File

@@ -0,0 +1,7 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
interface InterruptibleThread {
}
}
}

View File

@@ -0,0 +1,43 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
class Nukkit extends java.lang.Object {
// @ts-ignore
constructor()
// @ts-ignore
public static GIT_INFO: java.util.Properties;
// @ts-ignore
public static VERSION: string;
// @ts-ignore
public static API_VERSION: string;
// @ts-ignore
public static CODENAME: string;
// @ts-ignore
public static MINECRAFT_VERSION: string;
// @ts-ignore
public static MINECRAFT_VERSION_NETWORK: string;
// @ts-ignore
public static PATH: string;
// @ts-ignore
public static DATA_PATH: string;
// @ts-ignore
public static PLUGIN_PATH: string;
// @ts-ignore
public static START_TIME: number;
// @ts-ignore
public static ANSI: boolean;
// @ts-ignore
public static TITLE: boolean;
// @ts-ignore
public static shortTitle: boolean;
// @ts-ignore
public static DEBUG: number;
// @ts-ignore
public static main(args: string): void;
// @ts-ignore
public static setLogLevel(level: Level): void;
// @ts-ignore
public static getLogLevel(): Level;
}
}
}

View File

@@ -0,0 +1,53 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
class OfflinePlayer extends java.lang.Object implements cn.nukkit.IPlayer {
/**
* 初始化这个{@code OfflinePlayer}对象。<br>
* Initializes the object {@code OfflinePlayer}.
*/
// @ts-ignore
constructor(server: cn.nukkit.Server, uuid: java.util.UUID)
// @ts-ignore
constructor(server: cn.nukkit.Server, name: string)
// @ts-ignore
constructor(server: cn.nukkit.Server, uuid: java.util.UUID, name: string)
// @ts-ignore
public isOnline(): boolean;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getUniqueId(): java.util.UUID;
// @ts-ignore
public getServer(): cn.nukkit.Server;
// @ts-ignore
public isOp(): boolean;
// @ts-ignore
public setOp(value: boolean): void;
// @ts-ignore
public isBanned(): boolean;
// @ts-ignore
public setBanned(value: boolean): void;
// @ts-ignore
public isWhitelisted(): boolean;
// @ts-ignore
public setWhitelisted(value: boolean): void;
// @ts-ignore
public getPlayer(): cn.nukkit.Player;
// @ts-ignore
public getFirstPlayed(): java.lang.Long;
// @ts-ignore
public getLastPlayed(): java.lang.Long;
// @ts-ignore
public hasPlayedBefore(): boolean;
// @ts-ignore
public setMetadata(metadataKey: string, newMetadataValue: cn.nukkit.metadata.MetadataValue): void;
// @ts-ignore
public getMetadata(metadataKey: string): java.util.List;
// @ts-ignore
public hasMetadata(metadataKey: string): boolean;
// @ts-ignore
public removeMetadata(metadataKey: string, owningPlugin: cn.nukkit.plugin.Plugin): void;
}
}
}

View File

@@ -0,0 +1,731 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
class Player extends cn.nukkit.entity.EntityHuman implements cn.nukkit.command.CommandSender, cn.nukkit.inventory.InventoryHolder, cn.nukkit.level.ChunkLoader, cn.nukkit.IPlayer {
// @ts-ignore
constructor(interfaz: cn.nukkit.network.SourceInterface, clientID: java.lang.Long, ip: string, port: number)
// @ts-ignore
public static SURVIVAL: number;
// @ts-ignore
public static CREATIVE: number;
// @ts-ignore
public static ADVENTURE: number;
// @ts-ignore
public static SPECTATOR: number;
// @ts-ignore
public static VIEW: number;
// @ts-ignore
public static SURVIVAL_SLOTS: number;
// @ts-ignore
public static CREATIVE_SLOTS: number;
// @ts-ignore
public static CRAFTING_SMALL: number;
// @ts-ignore
public static CRAFTING_BIG: number;
// @ts-ignore
public static CRAFTING_ANVIL: number;
// @ts-ignore
public static CRAFTING_ENCHANT: number;
// @ts-ignore
public static CRAFTING_BEACON: number;
// @ts-ignore
public static DEFAULT_SPEED: number;
// @ts-ignore
public static MAXIMUM_SPEED: number;
// @ts-ignore
public static PERMISSION_CUSTOM: number;
// @ts-ignore
public static PERMISSION_OPERATOR: number;
// @ts-ignore
public static PERMISSION_MEMBER: number;
// @ts-ignore
public static PERMISSION_VISITOR: number;
// @ts-ignore
public static ANVIL_WINDOW_ID: number;
// @ts-ignore
public static ENCHANT_WINDOW_ID: number;
// @ts-ignore
public static BEACON_WINDOW_ID: number;
// @ts-ignore
protected interfaz: cn.nukkit.network.SourceInterface;
// @ts-ignore
public playedBefore: boolean;
// @ts-ignore
public spawned: boolean;
// @ts-ignore
public loggedIn: boolean;
// @ts-ignore
public gamemode: number;
// @ts-ignore
public lastBreak: number;
// @ts-ignore
protected windowCnt: number;
// @ts-ignore
protected windows: any;
// @ts-ignore
protected windowIndex: any;
// @ts-ignore
protected permanentWindows: java.util.Set;
// @ts-ignore
protected messageCounter: number;
// @ts-ignore
public speed: cn.nukkit.math.Vector3;
// @ts-ignore
public achievements: java.util.HashSet;
// @ts-ignore
public craftingType: number;
// @ts-ignore
protected playerUIInventory: cn.nukkit.inventory.PlayerUIInventory;
// @ts-ignore
protected craftingGrid: cn.nukkit.inventory.CraftingGrid;
// @ts-ignore
protected craftingTransaction: cn.nukkit.inventory.transaction.CraftingTransaction;
// @ts-ignore
public creationTime: number;
// @ts-ignore
protected randomClientId: number;
// @ts-ignore
protected forceMovement: cn.nukkit.math.Vector3;
// @ts-ignore
protected teleportPosition: cn.nukkit.math.Vector3;
// @ts-ignore
protected connected: boolean;
// @ts-ignore
protected ip: string;
// @ts-ignore
protected removeFormat: boolean;
// @ts-ignore
protected port: number;
// @ts-ignore
protected username: string;
// @ts-ignore
protected iusername: string;
// @ts-ignore
protected displayName: string;
// @ts-ignore
protected sleeping: cn.nukkit.math.Vector3;
// @ts-ignore
protected clientID: java.lang.Long;
// @ts-ignore
protected stepHeight: number;
// @ts-ignore
public usedChunks: java.util.Map;
// @ts-ignore
protected chunkLoadCount: number;
// @ts-ignore
protected loadQueue: any;
// @ts-ignore
protected nextChunkOrderRun: number;
// @ts-ignore
protected hiddenPlayers: java.util.Map;
// @ts-ignore
protected newPosition: cn.nukkit.math.Vector3;
// @ts-ignore
protected chunkRadius: number;
// @ts-ignore
protected viewDistance: number;
// @ts-ignore
protected chunksPerTick: number;
// @ts-ignore
protected spawnThreshold: number;
// @ts-ignore
protected spawnPosition: cn.nukkit.level.Position;
// @ts-ignore
protected inAirTicks: number;
// @ts-ignore
protected startAirTicks: number;
// @ts-ignore
protected adventureSettings: cn.nukkit.AdventureSettings;
// @ts-ignore
protected checkMovement: boolean;
// @ts-ignore
protected foodData: cn.nukkit.PlayerFood;
// @ts-ignore
protected enableClientCommand: boolean;
// @ts-ignore
protected lastEnderPearl: number;
// @ts-ignore
protected lastChorusFruitTeleport: number;
// @ts-ignore
public breakingBlock: cn.nukkit.block.Block;
// @ts-ignore
public pickedXPOrb: number;
// @ts-ignore
protected formWindowCount: number;
// @ts-ignore
protected formWindows: java.util.Map;
// @ts-ignore
protected serverSettings: java.util.Map;
// @ts-ignore
protected dummyBossBars: java.util.Map;
// @ts-ignore
protected shouldLogin: boolean;
// @ts-ignore
public fishing: cn.nukkit.entity.item.EntityFishingHook;
// @ts-ignore
public lastSkinChange: number;
// @ts-ignore
protected lastRightClickTime: number;
// @ts-ignore
protected lastRightClickPos: cn.nukkit.math.Vector3;
// @ts-ignore
public getStartActionTick(): number;
// @ts-ignore
public startAction(): void;
// @ts-ignore
public stopAction(): void;
// @ts-ignore
public getLastEnderPearlThrowingTick(): number;
// @ts-ignore
public onThrowEnderPearl(): void;
// @ts-ignore
public getLastChorusFruitTeleport(): number;
// @ts-ignore
public onChorusFruitTeleport(): void;
// @ts-ignore
public getViewingEnderChest(): cn.nukkit.block.BlockEnderChest;
// @ts-ignore
public setViewingEnderChest(chest: cn.nukkit.block.BlockEnderChest): void;
// @ts-ignore
public getLeaveMessage(): cn.nukkit.lang.TranslationContainer;
// @ts-ignore
public getClientSecret(): string;
/**
* This might disappear in the future.
* Please use getUniqueId() instead (IP + clientId + name combo, in the future it'll change to real UUID for online auth)
*/
// @ts-ignore
public getClientId(): java.lang.Long;
// @ts-ignore
public isBanned(): boolean;
// @ts-ignore
public setBanned(value: boolean): void;
// @ts-ignore
public isWhitelisted(): boolean;
// @ts-ignore
public setWhitelisted(value: boolean): void;
// @ts-ignore
public getPlayer(): cn.nukkit.Player;
// @ts-ignore
public getFirstPlayed(): java.lang.Long;
// @ts-ignore
public getLastPlayed(): java.lang.Long;
// @ts-ignore
public hasPlayedBefore(): boolean;
// @ts-ignore
public getAdventureSettings(): cn.nukkit.AdventureSettings;
// @ts-ignore
public setAdventureSettings(adventureSettings: cn.nukkit.AdventureSettings): void;
// @ts-ignore
public resetInAirTicks(): void;
// @ts-ignore
public setAllowFlight(value: boolean): void;
// @ts-ignore
public getAllowFlight(): boolean;
// @ts-ignore
public setAllowModifyWorld(value: boolean): void;
// @ts-ignore
public setAllowInteract(value: boolean): void;
// @ts-ignore
public setAllowInteract(value: boolean, containers: boolean): void;
// @ts-ignore
public setAutoJump(value: boolean): void;
// @ts-ignore
public hasAutoJump(): boolean;
// @ts-ignore
public spawnTo(player: cn.nukkit.Player): void;
// @ts-ignore
public getServer(): cn.nukkit.Server;
// @ts-ignore
public getRemoveFormat(): boolean;
// @ts-ignore
public setRemoveFormat(): void;
// @ts-ignore
public setRemoveFormat(remove: boolean): void;
// @ts-ignore
public canSee(player: cn.nukkit.Player): boolean;
// @ts-ignore
public hidePlayer(player: cn.nukkit.Player): void;
// @ts-ignore
public showPlayer(player: cn.nukkit.Player): void;
// @ts-ignore
public canCollideWith(entity: cn.nukkit.entity.Entity): boolean;
// @ts-ignore
public resetFallDistance(): void;
// @ts-ignore
public isOnline(): boolean;
// @ts-ignore
public isOp(): boolean;
// @ts-ignore
public setOp(value: boolean): void;
// @ts-ignore
public isPermissionSet(name: string): boolean;
// @ts-ignore
public isPermissionSet(permission: cn.nukkit.permission.Permission): boolean;
// @ts-ignore
public hasPermission(name: string): boolean;
// @ts-ignore
public hasPermission(permission: cn.nukkit.permission.Permission): boolean;
// @ts-ignore
public addAttachment(plugin: cn.nukkit.plugin.Plugin): cn.nukkit.permission.PermissionAttachment;
// @ts-ignore
public addAttachment(plugin: cn.nukkit.plugin.Plugin, name: string): cn.nukkit.permission.PermissionAttachment;
// @ts-ignore
public addAttachment(plugin: cn.nukkit.plugin.Plugin, name: string, value: java.lang.Boolean): cn.nukkit.permission.PermissionAttachment;
// @ts-ignore
public removeAttachment(attachment: cn.nukkit.permission.PermissionAttachment): void;
// @ts-ignore
public recalculatePermissions(): void;
// @ts-ignore
public isEnableClientCommand(): boolean;
// @ts-ignore
public setEnableClientCommand(enable: boolean): void;
// @ts-ignore
public sendCommandData(): void;
// @ts-ignore
public getEffectivePermissions(): java.util.Map;
// @ts-ignore
protected initEntity(): void;
// @ts-ignore
public isPlayer(): boolean;
// @ts-ignore
public removeAchievement(achievementId: string): void;
// @ts-ignore
public hasAchievement(achievementId: string): boolean;
// @ts-ignore
public isConnected(): boolean;
// @ts-ignore
public getDisplayName(): string;
// @ts-ignore
public setDisplayName(displayName: string): void;
// @ts-ignore
public setSkin(skin: cn.nukkit.entity.data.Skin): void;
// @ts-ignore
public getAddress(): string;
// @ts-ignore
public getPort(): number;
// @ts-ignore
public getNextPosition(): cn.nukkit.level.Position;
// @ts-ignore
public isSleeping(): boolean;
// @ts-ignore
public getInAirTicks(): number;
/**
* Returns whether the player is currently using an item (right-click and hold).
*/
// @ts-ignore
public isUsingItem(): boolean;
// @ts-ignore
public setUsingItem(value: boolean): void;
// @ts-ignore
public getButtonText(): string;
// @ts-ignore
public setButtonText(text: string): void;
// @ts-ignore
public unloadChunk(x: number, z: number): void;
// @ts-ignore
public unloadChunk(x: number, z: number, level: cn.nukkit.level.Level): void;
// @ts-ignore
public getSpawn(): cn.nukkit.level.Position;
// @ts-ignore
public sendChunk(x: number, z: number, packet: cn.nukkit.network.protocol.DataPacket): void;
// @ts-ignore
public sendChunk(x: number, z: number, subChunkCount: number, payload: number): void;
// @ts-ignore
protected sendNextChunk(): void;
// @ts-ignore
protected doFirstSpawn(): void;
// @ts-ignore
protected orderChunks(): boolean;
// @ts-ignore
public batchDataPacket(packet: cn.nukkit.network.protocol.DataPacket): boolean;
/**
* 0 is true
* -1 is false
* other is identifer
*/
// @ts-ignore
public dataPacket(packet: cn.nukkit.network.protocol.DataPacket): boolean;
// @ts-ignore
public dataPacket(packet: cn.nukkit.network.protocol.DataPacket, needACK: boolean): number;
/**
* 0 is true
* -1 is false
* other is identifer
*/
// @ts-ignore
public directDataPacket(packet: cn.nukkit.network.protocol.DataPacket): boolean;
// @ts-ignore
public directDataPacket(packet: cn.nukkit.network.protocol.DataPacket, needACK: boolean): number;
// @ts-ignore
public getPing(): number;
// @ts-ignore
public sleepOn(pos: cn.nukkit.math.Vector3): boolean;
// @ts-ignore
public setSpawn(pos: cn.nukkit.math.Vector3): void;
// @ts-ignore
public stopSleep(): void;
// @ts-ignore
public awardAchievement(achievementId: string): boolean;
// @ts-ignore
public getGamemode(): number;
// @ts-ignore
public setGamemode(gamemode: number): boolean;
// @ts-ignore
public setGamemode(gamemode: number, clientSide: boolean): boolean;
// @ts-ignore
public setGamemode(gamemode: number, clientSide: boolean, newSettings: cn.nukkit.AdventureSettings): boolean;
// @ts-ignore
public sendSettings(): void;
// @ts-ignore
public isSurvival(): boolean;
// @ts-ignore
public isCreative(): boolean;
// @ts-ignore
public isSpectator(): boolean;
// @ts-ignore
public isAdventure(): boolean;
// @ts-ignore
public getDrops(): cn.nukkit.item.Item[];
// @ts-ignore
public setDataProperty(data: cn.nukkit.entity.data.EntityData): boolean;
// @ts-ignore
public setDataProperty(data: cn.nukkit.entity.data.EntityData, send: boolean): boolean;
// @ts-ignore
protected checkGroundState(movX: number, movY: number, movZ: number, dx: number, dy: number, dz: number): void;
// @ts-ignore
protected checkBlockCollision(): void;
// @ts-ignore
protected checkNearEntities(): void;
// @ts-ignore
protected processMovement(tickDiff: number): void;
// @ts-ignore
public addMovement(x: number, y: number, z: number, yaw: number, pitch: number, headYaw: number): void;
// @ts-ignore
public setMotion(motion: cn.nukkit.math.Vector3): boolean;
// @ts-ignore
public sendAttributes(): void;
// @ts-ignore
public onUpdate(currentTick: number): boolean;
// @ts-ignore
public checkInteractNearby(): void;
/**
* Returns the Entity the player is looking at currently
*/
// @ts-ignore
public getEntityPlayerLookingAt(maxDistance: number): cn.nukkit.entity.EntityInteractable;
// @ts-ignore
public checkNetwork(): void;
// @ts-ignore
public canInteract(pos: cn.nukkit.math.Vector3, maxDistance: number): boolean;
// @ts-ignore
public canInteract(pos: cn.nukkit.math.Vector3, maxDistance: number, maxDiff: number): boolean;
// @ts-ignore
protected processLogin(): void;
// @ts-ignore
protected completeLoginSequence(): void;
// @ts-ignore
public handleDataPacket(packet: cn.nukkit.network.protocol.DataPacket): void;
/**
* Sends a chat message as this player. If the message begins with a / (forward-slash) it will be treated
* as a command.
*/
// @ts-ignore
public chat(message: string): boolean;
// @ts-ignore
public kick(): boolean;
// @ts-ignore
public kick(reason: string, isAdmin: boolean): boolean;
// @ts-ignore
public kick(reason: string): boolean;
// @ts-ignore
public kick(reason: cn.nukkit.event.player.PlayerKickEvent.Reason): boolean;
// @ts-ignore
public kick(reason: cn.nukkit.event.player.PlayerKickEvent.Reason, reasonString: string): boolean;
// @ts-ignore
public kick(reason: cn.nukkit.event.player.PlayerKickEvent.Reason, isAdmin: boolean): boolean;
// @ts-ignore
public kick(reason: cn.nukkit.event.player.PlayerKickEvent.Reason, reasonString: string, isAdmin: boolean): boolean;
// @ts-ignore
public setViewDistance(distance: number): void;
// @ts-ignore
public getViewDistance(): number;
// @ts-ignore
public sendMessage(message: string): void;
// @ts-ignore
public sendMessage(message: cn.nukkit.lang.TextContainer): void;
// @ts-ignore
public sendTranslation(message: string): void;
// @ts-ignore
public sendTranslation(message: string, parameters: string): void;
// @ts-ignore
public sendChat(message: string): void;
// @ts-ignore
public sendChat(source: string, message: string): void;
// @ts-ignore
public sendPopup(message: string): void;
// @ts-ignore
public sendPopup(message: string, subtitle: string): void;
// @ts-ignore
public sendTip(message: string): void;
// @ts-ignore
public clearTitle(): void;
/**
* Resets both title animation times and subtitle for the next shown title
*/
// @ts-ignore
public resetTitleSettings(): void;
// @ts-ignore
public setSubtitle(subtitle: string): void;
// @ts-ignore
public setTitleAnimationTimes(fadein: number, duration: number, fadeout: number): void;
// @ts-ignore
public sendTitle(title: string): void;
// @ts-ignore
public sendTitle(title: string, subtitle: string): void;
// @ts-ignore
public sendTitle(title: string, subtitle: string, fadeIn: number, stay: number, fadeOut: number): void;
// @ts-ignore
public sendActionBar(title: string): void;
// @ts-ignore
public sendActionBar(title: string, fadein: number, duration: number, fadeout: number): void;
// @ts-ignore
public close(): void;
// @ts-ignore
public close(message: string): void;
// @ts-ignore
public close(message: string, reason: string): void;
// @ts-ignore
public close(message: string, reason: string, notify: boolean): void;
// @ts-ignore
public close(message: cn.nukkit.lang.TextContainer): void;
// @ts-ignore
public close(message: cn.nukkit.lang.TextContainer, reason: string): void;
// @ts-ignore
public close(message: cn.nukkit.lang.TextContainer, reason: string, notify: boolean): void;
// @ts-ignore
public save(): void;
// @ts-ignore
public save(async: boolean): void;
// @ts-ignore
public getName(): string;
// @ts-ignore
public kill(): void;
// @ts-ignore
protected respawn(): void;
// @ts-ignore
public setHealth(health: number): void;
// @ts-ignore
public setMaxHealth(maxHealth: number): void;
// @ts-ignore
public getExperience(): number;
// @ts-ignore
public getExperienceLevel(): number;
// @ts-ignore
public addExperience(add: number): void;
// @ts-ignore
public static calculateRequireExperience(level: number): number;
// @ts-ignore
public setExperience(exp: number): void;
// @ts-ignore
public setExperience(exp: number, level: number): void;
// @ts-ignore
public sendExperience(): void;
// @ts-ignore
public sendExperience(exp: number): void;
// @ts-ignore
public sendExperienceLevel(): void;
// @ts-ignore
public sendExperienceLevel(level: number): void;
// @ts-ignore
public setAttribute(attribute: cn.nukkit.entity.Attribute): void;
// @ts-ignore
public setMovementSpeed(speed: number): void;
// @ts-ignore
public setMovementSpeed(speed: number, send: boolean): void;
// @ts-ignore
public getKiller(): cn.nukkit.entity.Entity;
// @ts-ignore
public attack(source: cn.nukkit.event.entity.EntityDamageEvent): boolean;
/**
* Drops an item on the ground in front of the player. Returns if the item drop was successful.
*/
// @ts-ignore
public dropItem(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public sendPosition(pos: cn.nukkit.math.Vector3): void;
// @ts-ignore
public sendPosition(pos: cn.nukkit.math.Vector3, yaw: number): void;
// @ts-ignore
public sendPosition(pos: cn.nukkit.math.Vector3, yaw: number, pitch: number): void;
// @ts-ignore
public sendPosition(pos: cn.nukkit.math.Vector3, yaw: number, pitch: number, mode: number): void;
// @ts-ignore
public sendPosition(pos: cn.nukkit.math.Vector3, yaw: number, pitch: number, mode: number, targets: cn.nukkit.Player): void;
// @ts-ignore
protected checkChunks(): void;
// @ts-ignore
protected checkTeleportPosition(): boolean;
// @ts-ignore
protected sendPlayStatus(status: number): void;
// @ts-ignore
protected sendPlayStatus(status: number, immediate: boolean): void;
// @ts-ignore
public teleport(location: cn.nukkit.level.Location, cause: cn.nukkit.event.player.PlayerTeleportEvent.TeleportCause): boolean;
// @ts-ignore
protected forceSendEmptyChunks(): void;
// @ts-ignore
public teleportImmediate(location: cn.nukkit.level.Location): void;
// @ts-ignore
public teleportImmediate(location: cn.nukkit.level.Location, cause: cn.nukkit.event.player.PlayerTeleportEvent.TeleportCause): void;
/**
* Shows a new FormWindow to the player
* You can find out FormWindow result by listening to PlayerFormRespondedEvent
*/
// @ts-ignore
public showFormWindow(window: cn.nukkit.form.window.FormWindow): number;
/**
* Shows a new FormWindow to the player
* You can find out FormWindow result by listening to PlayerFormRespondedEvent
*/
// @ts-ignore
public showFormWindow(window: cn.nukkit.form.window.FormWindow, id: number): number;
/**
* Shows a new setting page in game settings
* You can find out settings result by listening to PlayerFormRespondedEvent
*/
// @ts-ignore
public addServerSettings(window: cn.nukkit.form.window.FormWindow): number;
/**
* Creates and sends a BossBar to the player
*/
// @ts-ignore
public createBossBar(text: string, length: number): number;
/**
* Creates and sends a BossBar to the player
*/
// @ts-ignore
public createBossBar(dummyBossBar: cn.nukkit.utils.DummyBossBar): number;
/**
* Get a DummyBossBar object
*/
// @ts-ignore
public getDummyBossBar(bossBarId: number): cn.nukkit.utils.DummyBossBar;
/**
* Get all DummyBossBar objects
*/
// @ts-ignore
public getDummyBossBars(): java.util.Map;
/**
* Updates a BossBar
*/
// @ts-ignore
public updateBossBar(text: string, length: number, bossBarId: number): void;
/**
* Removes a BossBar
*/
// @ts-ignore
public removeBossBar(bossBarId: number): void;
// @ts-ignore
public getWindowId(inventory: cn.nukkit.inventory.Inventory): number;
// @ts-ignore
public getWindowById(id: number): cn.nukkit.inventory.Inventory;
// @ts-ignore
public addWindow(inventory: cn.nukkit.inventory.Inventory): number;
// @ts-ignore
public addWindow(inventory: cn.nukkit.inventory.Inventory, forceId: java.lang.Integer): number;
// @ts-ignore
public addWindow(inventory: cn.nukkit.inventory.Inventory, forceId: java.lang.Integer, isPermanent: boolean): number;
// @ts-ignore
public getTopWindow(): java.util.Optional;
// @ts-ignore
public removeWindow(inventory: cn.nukkit.inventory.Inventory): void;
// @ts-ignore
public sendAllInventories(): void;
// @ts-ignore
protected addDefaultWindows(): void;
// @ts-ignore
public getUIInventory(): cn.nukkit.inventory.PlayerUIInventory;
// @ts-ignore
public getCursorInventory(): cn.nukkit.inventory.PlayerCursorInventory;
// @ts-ignore
public getCraftingGrid(): cn.nukkit.inventory.CraftingGrid;
// @ts-ignore
public setCraftingGrid(grid: cn.nukkit.inventory.CraftingGrid): void;
// @ts-ignore
public resetCraftingGridType(): void;
// @ts-ignore
public removeAllWindows(): void;
// @ts-ignore
public removeAllWindows(permanent: boolean): void;
// @ts-ignore
public setMetadata(metadataKey: string, newMetadataValue: cn.nukkit.metadata.MetadataValue): void;
// @ts-ignore
public getMetadata(metadataKey: string): java.util.List;
// @ts-ignore
public hasMetadata(metadataKey: string): boolean;
// @ts-ignore
public removeMetadata(metadataKey: string, owningPlugin: cn.nukkit.plugin.Plugin): void;
// @ts-ignore
public onChunkChanged(chunk: cn.nukkit.level.format.FullChunk): void;
// @ts-ignore
public onChunkLoaded(chunk: cn.nukkit.level.format.FullChunk): void;
// @ts-ignore
public onChunkPopulated(chunk: cn.nukkit.level.format.FullChunk): void;
// @ts-ignore
public onChunkUnloaded(chunk: cn.nukkit.level.format.FullChunk): void;
// @ts-ignore
public onBlockChanged(block: cn.nukkit.math.Vector3): void;
// @ts-ignore
public getLoaderId(): number;
// @ts-ignore
public isLoaderActive(): boolean;
// @ts-ignore
public static getChunkCacheFromData(chunkX: number, chunkZ: number, subChunkCount: number, payload: number): cn.nukkit.network.protocol.BatchPacket;
// @ts-ignore
public isFoodEnabled(): boolean;
// @ts-ignore
public setFoodEnabled(foodEnabled: boolean): void;
// @ts-ignore
public getFoodData(): cn.nukkit.PlayerFood;
// @ts-ignore
public switchLevel(level: cn.nukkit.level.Level): boolean;
// @ts-ignore
public setCheckMovement(checkMovement: boolean): void;
// @ts-ignore
public setLocale(locale: java.util.Locale): void;
// @ts-ignore
public getLocale(): java.util.Locale;
// @ts-ignore
public setSprinting(value: boolean): void;
// @ts-ignore
public transfer(address: java.net.InetSocketAddress): void;
// @ts-ignore
public getLoginChainData(): cn.nukkit.utils.LoginChainData;
// @ts-ignore
public pickupEntity(entity: cn.nukkit.entity.Entity, near: boolean): boolean;
// @ts-ignore
public hashCode(): number;
// @ts-ignore
public equals(obj: java.lang.Object): boolean;
/**
* Notifies an ACK response from the client
*/
// @ts-ignore
public notifyACK(identification: number): void;
// @ts-ignore
public isBreakingBlock(): boolean;
/**
* Show a window of a XBOX account's profile
*/
// @ts-ignore
public showXboxProfile(xuid: string): void;
// @ts-ignore
public startFishing(fishingRod: cn.nukkit.item.Item): void;
// @ts-ignore
public stopFishing(click: boolean): void;
// @ts-ignore
public toString(): string;
}
}
}

View File

@@ -0,0 +1,45 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
class PlayerFood extends java.lang.Object {
// @ts-ignore
constructor(player: cn.nukkit.Player, foodLevel: number, foodSaturationLevel: number)
// @ts-ignore
public getPlayer(): cn.nukkit.Player;
// @ts-ignore
public getLevel(): number;
// @ts-ignore
public getMaxLevel(): number;
// @ts-ignore
public setLevel(foodLevel: number): void;
// @ts-ignore
public setLevel(foodLevel: number, saturationLevel: number): void;
// @ts-ignore
public getFoodSaturationLevel(): number;
// @ts-ignore
public setFoodSaturationLevel(fsl: number): void;
// @ts-ignore
public useHunger(): void;
// @ts-ignore
public useHunger(amount: number): void;
// @ts-ignore
public addFoodLevel(food: cn.nukkit.item.food.Food): void;
// @ts-ignore
public addFoodLevel(foodLevel: number, fsl: number): void;
// @ts-ignore
public sendFoodLevel(): void;
// @ts-ignore
public reset(): void;
// @ts-ignore
public sendFoodLevel(foodLevel: number): void;
// @ts-ignore
public update(tickDiff: number): void;
// @ts-ignore
public updateFoodExpLevel(use: number): void;
// @ts-ignore
public setFoodLevel(foodLevel: number): void;
// @ts-ignore
public setFoodLevel(foodLevel: number, saturationLevel: number): void;
}
}
}

View File

@@ -0,0 +1,348 @@
declare namespace cn {
namespace nukkit {
// @ts-ignore
class Server extends java.lang.Object {
// @ts-ignore
public static BROADCAST_CHANNEL_ADMINISTRATIVE: string;
// @ts-ignore
public static BROADCAST_CHANNEL_USERS: string;
// @ts-ignore
public networkCompressionLevel: number;
// @ts-ignore
public broadcastMessage(message: string): number;
// @ts-ignore
public broadcastMessage(message: cn.nukkit.lang.TextContainer): number;
// @ts-ignore
public broadcastMessage(message: string, recipients: cn.nukkit.command.CommandSender): number;
// @ts-ignore
public broadcastMessage(message: string, recipients: java.util.Collection): number;
// @ts-ignore
public broadcastMessage(message: cn.nukkit.lang.TextContainer, recipients: java.util.Collection): number;
// @ts-ignore
public broadcast(message: string, permissions: string): number;
// @ts-ignore
public broadcast(message: cn.nukkit.lang.TextContainer, permissions: string): number;
// @ts-ignore
public static broadcastPacket(players: java.util.Collection, packet: cn.nukkit.network.protocol.DataPacket): void;
// @ts-ignore
public static broadcastPacket(players: cn.nukkit.Player, packet: cn.nukkit.network.protocol.DataPacket): void;
// @ts-ignore
public batchPackets(players: cn.nukkit.Player, packets: cn.nukkit.network.protocol.DataPacket): void;
// @ts-ignore
public batchPackets(players: cn.nukkit.Player, packets: cn.nukkit.network.protocol.DataPacket, forceSync: boolean): void;
// @ts-ignore
public broadcastPacketsCallback(data: number, identifiers: java.util.List): void;
// @ts-ignore
public enablePlugins(type: cn.nukkit.plugin.PluginLoadOrder): void;
// @ts-ignore
public enablePlugin(plugin: cn.nukkit.plugin.Plugin): void;
// @ts-ignore
public disablePlugins(): void;
// @ts-ignore
public dispatchCommand(sender: cn.nukkit.command.CommandSender, commandLine: string): boolean;
// @ts-ignore
public getConsoleSender(): cn.nukkit.command.ConsoleCommandSender;
// @ts-ignore
public reload(): void;
// @ts-ignore
public shutdown(): void;
// @ts-ignore
public forceShutdown(): void;
// @ts-ignore
public start(): void;
// @ts-ignore
public handlePacket(address: string, port: number, payload: number): void;
// @ts-ignore
public tickProcessor(): void;
// @ts-ignore
public onPlayerCompleteLoginSequence(player: cn.nukkit.Player): void;
// @ts-ignore
public onPlayerLogin(player: cn.nukkit.Player): void;
// @ts-ignore
public addPlayer(identifier: string, player: cn.nukkit.Player): void;
// @ts-ignore
public addOnlinePlayer(player: cn.nukkit.Player): void;
// @ts-ignore
public removeOnlinePlayer(player: cn.nukkit.Player): void;
// @ts-ignore
public updatePlayerListData(uuid: java.util.UUID, entityId: number, name: string, skin: cn.nukkit.entity.data.Skin): void;
// @ts-ignore
public updatePlayerListData(uuid: java.util.UUID, entityId: number, name: string, skin: cn.nukkit.entity.data.Skin, xboxUserId: string): void;
// @ts-ignore
public updatePlayerListData(uuid: java.util.UUID, entityId: number, name: string, skin: cn.nukkit.entity.data.Skin, players: cn.nukkit.Player): void;
// @ts-ignore
public updatePlayerListData(uuid: java.util.UUID, entityId: number, name: string, skin: cn.nukkit.entity.data.Skin, xboxUserId: string, players: cn.nukkit.Player): void;
// @ts-ignore
public updatePlayerListData(uuid: java.util.UUID, entityId: number, name: string, skin: cn.nukkit.entity.data.Skin, xboxUserId: string, players: java.util.Collection): void;
// @ts-ignore
public removePlayerListData(uuid: java.util.UUID): void;
// @ts-ignore
public removePlayerListData(uuid: java.util.UUID, players: cn.nukkit.Player): void;
// @ts-ignore
public removePlayerListData(uuid: java.util.UUID, players: java.util.Collection): void;
// @ts-ignore
public sendFullPlayerListData(player: cn.nukkit.Player): void;
// @ts-ignore
public sendRecipeList(player: cn.nukkit.Player): void;
// @ts-ignore
public doAutoSave(): void;
// @ts-ignore
public getNextTick(): number;
// @ts-ignore
public titleTick(): void;
// @ts-ignore
public getQueryInformation(): cn.nukkit.event.server.QueryRegenerateEvent;
// @ts-ignore
public getName(): string;
// @ts-ignore
public isRunning(): boolean;
// @ts-ignore
public getNukkitVersion(): string;
// @ts-ignore
public getCodename(): string;
// @ts-ignore
public getVersion(): string;
// @ts-ignore
public getApiVersion(): string;
// @ts-ignore
public getFilePath(): string;
// @ts-ignore
public getDataPath(): string;
// @ts-ignore
public getPluginPath(): string;
// @ts-ignore
public getMaxPlayers(): number;
// @ts-ignore
public setMaxPlayers(maxPlayers: number): void;
// @ts-ignore
public getPort(): number;
// @ts-ignore
public getViewDistance(): number;
// @ts-ignore
public getIp(): string;
// @ts-ignore
public getServerUniqueId(): java.util.UUID;
// @ts-ignore
public getAutoSave(): boolean;
// @ts-ignore
public setAutoSave(autoSave: boolean): void;
// @ts-ignore
public getLevelType(): string;
// @ts-ignore
public getGenerateStructures(): boolean;
// @ts-ignore
public getGamemode(): number;
// @ts-ignore
public getForceGamemode(): boolean;
// @ts-ignore
public static getGamemodeString(mode: number): string;
// @ts-ignore
public static getGamemodeString(mode: number, direct: boolean): string;
// @ts-ignore
public static getGamemodeFromString(str: string): number;
// @ts-ignore
public static getDifficultyFromString(str: string): number;
// @ts-ignore
public getDifficulty(): number;
// @ts-ignore
public hasWhitelist(): boolean;
// @ts-ignore
public getSpawnRadius(): number;
// @ts-ignore
public getAllowFlight(): boolean;
// @ts-ignore
public isHardcore(): boolean;
// @ts-ignore
public getDefaultGamemode(): number;
// @ts-ignore
public getMotd(): string;
// @ts-ignore
public getSubMotd(): string;
// @ts-ignore
public getForceResources(): boolean;
// @ts-ignore
public getLogger(): cn.nukkit.utils.MainLogger;
// @ts-ignore
public getEntityMetadata(): cn.nukkit.metadata.EntityMetadataStore;
// @ts-ignore
public getPlayerMetadata(): cn.nukkit.metadata.PlayerMetadataStore;
// @ts-ignore
public getLevelMetadata(): cn.nukkit.metadata.LevelMetadataStore;
// @ts-ignore
public getPluginManager(): cn.nukkit.plugin.PluginManager;
// @ts-ignore
public getCraftingManager(): cn.nukkit.inventory.CraftingManager;
// @ts-ignore
public getResourcePackManager(): cn.nukkit.resourcepacks.ResourcePackManager;
// @ts-ignore
public getScheduler(): cn.nukkit.scheduler.ServerScheduler;
// @ts-ignore
public getTick(): number;
// @ts-ignore
public getTicksPerSecond(): number;
// @ts-ignore
public getTicksPerSecondAverage(): number;
// @ts-ignore
public getTickUsage(): number;
// @ts-ignore
public getTickUsageAverage(): number;
// @ts-ignore
public getCommandMap(): cn.nukkit.command.SimpleCommandMap;
// @ts-ignore
public getOnlinePlayers(): java.util.Map;
// @ts-ignore
public addRecipe(recipe: cn.nukkit.inventory.Recipe): void;
// @ts-ignore
public getPlayer(uuid: java.util.UUID): java.util.Optional;
// @ts-ignore
public lookupName(name: string): java.util.Optional;
// @ts-ignore
public getOfflinePlayer(name: string): cn.nukkit.IPlayer;
// @ts-ignore
public getOfflinePlayer(uuid: java.util.UUID): cn.nukkit.IPlayer;
// @ts-ignore
public getOfflinePlayerData(uuid: java.util.UUID): cn.nukkit.nbt.tag.CompoundTag;
// @ts-ignore
public getOfflinePlayerData(uuid: java.util.UUID, create: boolean): cn.nukkit.nbt.tag.CompoundTag;
// @ts-ignore
public getOfflinePlayerData(name: string): cn.nukkit.nbt.tag.CompoundTag;
// @ts-ignore
public getOfflinePlayerData(name: string, create: boolean): cn.nukkit.nbt.tag.CompoundTag;
// @ts-ignore
public saveOfflinePlayerData(uuid: java.util.UUID, tag: cn.nukkit.nbt.tag.CompoundTag): void;
// @ts-ignore
public saveOfflinePlayerData(name: string, tag: cn.nukkit.nbt.tag.CompoundTag): void;
// @ts-ignore
public saveOfflinePlayerData(uuid: java.util.UUID, tag: cn.nukkit.nbt.tag.CompoundTag, async: boolean): void;
// @ts-ignore
public saveOfflinePlayerData(name: string, tag: cn.nukkit.nbt.tag.CompoundTag, async: boolean): void;
// @ts-ignore
public getPlayer(name: string): cn.nukkit.Player;
// @ts-ignore
public getPlayerExact(name: string): cn.nukkit.Player;
// @ts-ignore
public matchPlayer(partialName: string): cn.nukkit.Player[];
// @ts-ignore
public removePlayer(player: cn.nukkit.Player): void;
// @ts-ignore
public getLevels(): java.util.Map;
// @ts-ignore
public getDefaultLevel(): cn.nukkit.level.Level;
// @ts-ignore
public setDefaultLevel(defaultLevel: cn.nukkit.level.Level): void;
// @ts-ignore
public isLevelLoaded(name: string): boolean;
// @ts-ignore
public getLevel(levelId: number): cn.nukkit.level.Level;
// @ts-ignore
public getLevelByName(name: string): cn.nukkit.level.Level;
// @ts-ignore
public unloadLevel(level: cn.nukkit.level.Level): boolean;
// @ts-ignore
public unloadLevel(level: cn.nukkit.level.Level, forceUnload: boolean): boolean;
// @ts-ignore
public loadLevel(name: string): boolean;
// @ts-ignore
public generateLevel(name: string): boolean;
// @ts-ignore
public generateLevel(name: string, seed: number): boolean;
// @ts-ignore
public generateLevel(name: string, seed: number, generator: java.lang.Class): boolean;
// @ts-ignore
public generateLevel(name: string, seed: number, generator: java.lang.Class, options: java.util.Map): boolean;
// @ts-ignore
public generateLevel(name: string, seed: number, generator: java.lang.Class, options: java.util.Map, provider: java.lang.Class): boolean;
// @ts-ignore
public isLevelGenerated(name: string): boolean;
// @ts-ignore
public getLanguage(): cn.nukkit.lang.BaseLang;
// @ts-ignore
public isLanguageForced(): boolean;
// @ts-ignore
public getNetwork(): cn.nukkit.network.Network;
// @ts-ignore
public getConfig(): cn.nukkit.utils.Config;
// @ts-ignore
public getConfig(variable: string): java.lang.Object;
// @ts-ignore
public getConfig(variable: string, defaultValue: java.lang.Object): java.lang.Object;
// @ts-ignore
public getProperties(): cn.nukkit.utils.Config;
// @ts-ignore
public getProperty(variable: string): java.lang.Object;
// @ts-ignore
public getProperty(variable: string, defaultValue: java.lang.Object): java.lang.Object;
// @ts-ignore
public setPropertyString(variable: string, value: string): void;
// @ts-ignore
public getPropertyString(variable: string): string;
// @ts-ignore
public getPropertyString(variable: string, defaultValue: string): string;
// @ts-ignore
public getPropertyInt(variable: string): number;
// @ts-ignore
public getPropertyInt(variable: string, defaultValue: java.lang.Integer): number;
// @ts-ignore
public setPropertyInt(variable: string, value: number): void;
// @ts-ignore
public getPropertyBoolean(variable: string): boolean;
// @ts-ignore
public getPropertyBoolean(variable: string, defaultValue: java.lang.Object): boolean;
// @ts-ignore
public setPropertyBoolean(variable: string, value: boolean): void;
// @ts-ignore
public getPluginCommand(name: string): cn.nukkit.command.PluginIdentifiableCommand;
// @ts-ignore
public getNameBans(): cn.nukkit.permission.BanList;
// @ts-ignore
public getIPBans(): cn.nukkit.permission.BanList;
// @ts-ignore
public addOp(name: string): void;
// @ts-ignore
public removeOp(name: string): void;
// @ts-ignore
public addWhitelist(name: string): void;
// @ts-ignore
public removeWhitelist(name: string): void;
// @ts-ignore
public isWhitelisted(name: string): boolean;
// @ts-ignore
public isOp(name: string): boolean;
// @ts-ignore
public getWhitelist(): cn.nukkit.utils.Config;
// @ts-ignore
public getOps(): cn.nukkit.utils.Config;
// @ts-ignore
public reloadWhitelist(): void;
// @ts-ignore
public getServiceManager(): cn.nukkit.plugin.service.ServiceManager;
// @ts-ignore
public getCommandAliases(): java.util.Map;
// @ts-ignore
public shouldSavePlayerData(): boolean;
// @ts-ignore
public getPlayerSkinChangeCooldown(): number;
/**
* Checks the current thread against the expected primary thread for the
* server.
* <p>
* <b>Note:</b> this method should not be used to indicate the current
* synchronized state of the runtime. A current thread matching the main
* thread indicates that it is synchronized, but a mismatch does not
* preclude the same assumption.
*/
// @ts-ignore
public isPrimaryThread(): boolean;
// @ts-ignore
public getPrimaryThread(): java.lang.Thread;
// @ts-ignore
public isNetherAllowed(): boolean;
// @ts-ignore
public getPlayerDataSerializer(): cn.nukkit.utils.PlayerDataSerializer;
// @ts-ignore
public setPlayerDataSerializer(playerDataSerializer: cn.nukkit.utils.PlayerDataSerializer): void;
// @ts-ignore
public static getInstance(): cn.nukkit.Server;
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace api {
namespace API {
// @ts-ignore
class Definition extends java.lang.Enum {
// @ts-ignore
public static INTERNAL: cn.nukkit.api.API.Definition;
// @ts-ignore
public static PLATFORM_NATIVE: cn.nukkit.api.API.Definition;
// @ts-ignore
public static UNIVERSAL: cn.nukkit.api.API.Definition;
// @ts-ignore
public static values(): cn.nukkit.api.API.Definition[];
// @ts-ignore
public static valueOf(name: string): cn.nukkit.api.API.Definition;
}
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace api {
namespace API {
// @ts-ignore
class Usage extends java.lang.Enum {
// @ts-ignore
public static DEPRECATED: cn.nukkit.api.API.Usage;
// @ts-ignore
public static INCUBATING: cn.nukkit.api.API.Usage;
// @ts-ignore
public static BLEEDING: cn.nukkit.api.API.Usage;
// @ts-ignore
public static EXPERIMENTAL: cn.nukkit.api.API.Usage;
// @ts-ignore
public static MAINTAINED: cn.nukkit.api.API.Usage;
// @ts-ignore
public static STABLE: cn.nukkit.api.API.Usage;
// @ts-ignore
public static values(): cn.nukkit.api.API.Usage[];
// @ts-ignore
public static valueOf(name: string): cn.nukkit.api.API.Usage;
}
}
}
}
}

View File

@@ -0,0 +1,20 @@
declare namespace cn {
namespace nukkit {
namespace api {
// @ts-ignore
interface API {
/**
* Indicates the level of stability of an API element.
* The stability also describes when to use this API element.
*/
// @ts-ignore
usage(): cn.nukkit.api.API.Usage;
/**
* Indicates definition or the platforms this API element supports.
*/
// @ts-ignore
definition(): cn.nukkit.api.API.Definition;
}
}
}
}

View File

@@ -0,0 +1,212 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
abstract class Block extends cn.nukkit.level.Position implements cn.nukkit.metadata.Metadatable, cn.nukkit.math.AxisAlignedBB, cn.nukkit.block.BlockID {
// @ts-ignore
constructor()
// @ts-ignore
public static list: java.lang.Class[];
// @ts-ignore
public static fullList: cn.nukkit.block.Block[];
// @ts-ignore
public static light: number[];
// @ts-ignore
public static lightFilter: number[];
// @ts-ignore
public static solid: boolean[];
// @ts-ignore
public static hardness: number[];
// @ts-ignore
public static transparent: boolean[];
// @ts-ignore
public static hasMeta: boolean[];
// @ts-ignore
public static init(): void;
// @ts-ignore
public static get(id: number): cn.nukkit.block.Block;
// @ts-ignore
public static get(id: number, meta: java.lang.Integer): cn.nukkit.block.Block;
// @ts-ignore
public static get(id: number, meta: java.lang.Integer, pos: cn.nukkit.level.Position): cn.nukkit.block.Block;
// @ts-ignore
public static get(id: number, data: number): cn.nukkit.block.Block;
// @ts-ignore
public static get(fullId: number, level: cn.nukkit.level.Level, x: number, y: number, z: number): cn.nukkit.block.Block;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public canHarvestWithHand(): boolean;
// @ts-ignore
public isBreakable(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public tickRate(): number;
// @ts-ignore
public onBreak(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getBurnChance(): number;
// @ts-ignore
public getBurnAbility(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getFrictionFactor(): number;
// @ts-ignore
public getLightLevel(): number;
// @ts-ignore
public canBePlaced(): boolean;
// @ts-ignore
public canBeReplaced(): boolean;
// @ts-ignore
public isTransparent(): boolean;
// @ts-ignore
public isSolid(): boolean;
// @ts-ignore
public canBeFlowedInto(): boolean;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public hasEntityCollision(): boolean;
// @ts-ignore
public canPassThrough(): boolean;
// @ts-ignore
public canBePushed(): boolean;
// @ts-ignore
public hasComparatorInputOverride(): boolean;
// @ts-ignore
public getComparatorInputOverride(): number;
// @ts-ignore
public canBeClimbed(): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public abstract getName(): string;
// @ts-ignore
public abstract getId(): number;
/**
* The full id is a combination of the id and data.
*/
// @ts-ignore
public getFullId(): number;
// @ts-ignore
public addVelocityToEntity(entity: cn.nukkit.entity.Entity, vector: cn.nukkit.math.Vector3): void;
// @ts-ignore
public getDamage(): number;
// @ts-ignore
public setDamage(meta: number): void;
// @ts-ignore
public setDamage(meta: java.lang.Integer): void;
// @ts-ignore
public position(v: cn.nukkit.level.Position): void;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getBreakTime(item: cn.nukkit.item.Item, player: cn.nukkit.Player): number;
// @ts-ignore
public getBreakTime(item: cn.nukkit.item.Item): number;
// @ts-ignore
public canBeBrokenWith(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public getSide(face: cn.nukkit.math.BlockFace): cn.nukkit.block.Block;
// @ts-ignore
public getSide(face: cn.nukkit.math.BlockFace, step: number): cn.nukkit.block.Block;
// @ts-ignore
public up(): cn.nukkit.block.Block;
// @ts-ignore
public up(step: number): cn.nukkit.block.Block;
// @ts-ignore
public down(): cn.nukkit.block.Block;
// @ts-ignore
public down(step: number): cn.nukkit.block.Block;
// @ts-ignore
public north(): cn.nukkit.block.Block;
// @ts-ignore
public north(step: number): cn.nukkit.block.Block;
// @ts-ignore
public south(): cn.nukkit.block.Block;
// @ts-ignore
public south(step: number): cn.nukkit.block.Block;
// @ts-ignore
public east(): cn.nukkit.block.Block;
// @ts-ignore
public east(step: number): cn.nukkit.block.Block;
// @ts-ignore
public west(): cn.nukkit.block.Block;
// @ts-ignore
public west(step: number): cn.nukkit.block.Block;
// @ts-ignore
public toString(): string;
// @ts-ignore
public collidesWithBB(bb: cn.nukkit.math.AxisAlignedBB): boolean;
// @ts-ignore
public collidesWithBB(bb: cn.nukkit.math.AxisAlignedBB, collisionBB: boolean): boolean;
// @ts-ignore
public onEntityCollide(entity: cn.nukkit.entity.Entity): void;
// @ts-ignore
public getBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public getCollisionBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
protected recalculateBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public getMinX(): number;
// @ts-ignore
public getMinY(): number;
// @ts-ignore
public getMinZ(): number;
// @ts-ignore
public getMaxX(): number;
// @ts-ignore
public getMaxY(): number;
// @ts-ignore
public getMaxZ(): number;
// @ts-ignore
protected recalculateCollisionBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public calculateIntercept(pos1: cn.nukkit.math.Vector3, pos2: cn.nukkit.math.Vector3): cn.nukkit.level.MovingObjectPosition;
// @ts-ignore
public getSaveId(): string;
// @ts-ignore
public setMetadata(metadataKey: string, newMetadataValue: cn.nukkit.metadata.MetadataValue): void;
// @ts-ignore
public getMetadata(metadataKey: string): java.util.List;
// @ts-ignore
public hasMetadata(metadataKey: string): boolean;
// @ts-ignore
public removeMetadata(metadataKey: string, owningPlugin: cn.nukkit.plugin.Plugin): void;
// @ts-ignore
public clone(): cn.nukkit.block.Block;
// @ts-ignore
public getWeakPower(face: cn.nukkit.math.BlockFace): number;
// @ts-ignore
public getStrongPower(side: cn.nukkit.math.BlockFace): number;
// @ts-ignore
public isPowerSource(): boolean;
// @ts-ignore
public getLocationHash(): string;
// @ts-ignore
public getDropExp(): number;
// @ts-ignore
public isNormalBlock(): boolean;
// @ts-ignore
public static equals(b1: cn.nukkit.block.Block, b2: cn.nukkit.block.Block): boolean;
// @ts-ignore
public static equals(b1: cn.nukkit.block.Block, b2: cn.nukkit.block.Block, checkDamage: boolean): boolean;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public canSilkTouch(): boolean;
}
}
}
}

View File

@@ -0,0 +1,37 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockAir extends cn.nukkit.block.BlockTransparent {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public canPassThrough(): boolean;
// @ts-ignore
public isBreakable(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public canBeFlowedInto(): boolean;
// @ts-ignore
public canBePlaced(): boolean;
// @ts-ignore
public canBeReplaced(): boolean;
// @ts-ignore
public isSolid(): boolean;
// @ts-ignore
public getBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public canHarvestWithHand(): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,47 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockAnvil extends cn.nukkit.block.BlockFallable implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getFullId(): number;
// @ts-ignore
public getDamage(): number;
// @ts-ignore
public setDamage(meta: number): void;
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public isTransparent(): boolean;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canHarvestWithHand(): boolean;
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
}
}
}
}

View File

@@ -0,0 +1,39 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBanner extends cn.nukkit.block.BlockTransparentMeta implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
protected recalculateBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public canPassThrough(): boolean;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public getDyeColor(): cn.nukkit.utils.DyeColor;
}
}
}
}

View File

@@ -0,0 +1,33 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBeacon extends cn.nukkit.block.BlockTransparent {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getLightLevel(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public canBePushed(): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,41 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBed extends cn.nukkit.block.BlockTransparentMeta implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getMaxY(): number;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onBreak(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public getDyeColor(): cn.nukkit.utils.DyeColor;
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
}
}
}
}

View File

@@ -0,0 +1,25 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBedrock extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public isBreakable(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public canBePushed(): boolean;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBedrockInvisible extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public isBreakable(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canBePushed(): boolean;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBeetroot extends cn.nukkit.block.BlockCrops {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
}
}
}
}

View File

@@ -0,0 +1,31 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBone extends cn.nukkit.block.BlockSolidMeta implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,33 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBookshelf extends cn.nukkit.block.BlockSolidMeta {
// @ts-ignore
constructor(meta: number)
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getBurnChance(): number;
// @ts-ignore
public getBurnAbility(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canSilkTouch(): boolean;
}
}
}
}

View File

@@ -0,0 +1,43 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBrewingStand extends cn.nukkit.block.BlockSolidMeta {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getLightLevel(): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public hasComparatorInputOverride(): boolean;
// @ts-ignore
public getComparatorInputOverride(): number;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBricks extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,25 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBricksEndStone extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,25 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBricksNether extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,19 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBricksRedNether extends cn.nukkit.block.BlockNetherBrick {
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,35 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockBricksStone extends cn.nukkit.block.BlockSolidMeta {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public static NORMAL: number;
// @ts-ignore
public static MOSSY: number;
// @ts-ignore
public static CRACKED: number;
// @ts-ignore
public static CHISELED: number;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,41 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
abstract class BlockButton extends cn.nukkit.block.BlockFlowable implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public isActivated(): boolean;
// @ts-ignore
public isPowerSource(): boolean;
// @ts-ignore
public getWeakPower(side: cn.nukkit.math.BlockFace): number;
// @ts-ignore
public getStrongPower(side: cn.nukkit.math.BlockFace): number;
// @ts-ignore
public getFacing(): cn.nukkit.math.BlockFace;
// @ts-ignore
public onBreak(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
}
}
}
}

View File

@@ -0,0 +1,19 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockButtonStone extends cn.nukkit.block.BlockButton {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getToolType(): number;
}
}
}
}

View File

@@ -0,0 +1,19 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockButtonWooden extends cn.nukkit.block.BlockButton {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getToolType(): number;
}
}
}
}

View File

@@ -0,0 +1,47 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCactus extends cn.nukkit.block.BlockTransparentMeta {
// @ts-ignore
constructor(meta: number)
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public hasEntityCollision(): boolean;
// @ts-ignore
public getMinX(): number;
// @ts-ignore
public getMinY(): number;
// @ts-ignore
public getMinZ(): number;
// @ts-ignore
public getMaxX(): number;
// @ts-ignore
public getMaxY(): number;
// @ts-ignore
public getMaxZ(): number;
// @ts-ignore
protected recalculateCollisionBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public onEntityCollide(entity: cn.nukkit.entity.Entity): void;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
}
}
}
}

View File

@@ -0,0 +1,51 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCake extends cn.nukkit.block.BlockTransparentMeta {
// @ts-ignore
constructor(meta: number)
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getMinX(): number;
// @ts-ignore
public getMinY(): number;
// @ts-ignore
public getMinZ(): number;
// @ts-ignore
public getMaxX(): number;
// @ts-ignore
public getMaxY(): number;
// @ts-ignore
public getMaxZ(): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public getComparatorInputOverride(): number;
// @ts-ignore
public hasComparatorInputOverride(): boolean;
}
}
}
}

View File

@@ -0,0 +1,39 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCarpet extends cn.nukkit.block.BlockFlowable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
constructor(dyeColor: cn.nukkit.utils.DyeColor)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public isSolid(): boolean;
// @ts-ignore
public getName(): string;
// @ts-ignore
public canPassThrough(): boolean;
// @ts-ignore
protected recalculateBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public getMaxY(): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public getDyeColor(): cn.nukkit.utils.DyeColor;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCarrot extends cn.nukkit.block.BlockCrops {
// @ts-ignore
constructor(meta: number)
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
}
}
}
}

View File

@@ -0,0 +1,45 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCauldron extends cn.nukkit.block.BlockSolidMeta {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public isFull(): boolean;
// @ts-ignore
public isEmpty(): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
protected replaceBucket(oldBucket: cn.nukkit.item.Item, player: cn.nukkit.Player, newBucket: cn.nukkit.item.Item): void;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public hasComparatorInputOverride(): boolean;
// @ts-ignore
public getComparatorInputOverride(): number;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,53 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockChest extends cn.nukkit.block.BlockTransparentMeta implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getMinX(): number;
// @ts-ignore
public getMinY(): number;
// @ts-ignore
public getMinZ(): number;
// @ts-ignore
public getMaxX(): number;
// @ts-ignore
public getMaxY(): number;
// @ts-ignore
public getMaxZ(): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onBreak(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public hasComparatorInputOverride(): boolean;
// @ts-ignore
public getComparatorInputOverride(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
}
}
}
}

View File

@@ -0,0 +1,23 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockChorusFlower extends cn.nukkit.block.BlockTransparent {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
}
}
}
}

View File

@@ -0,0 +1,25 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockChorusPlant extends cn.nukkit.block.BlockTransparent {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockClay extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canSilkTouch(): boolean;
}
}
}
}

View File

@@ -0,0 +1,31 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCoal extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getBurnChance(): number;
// @ts-ignore
public getBurnAbility(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public canHarvestWithHand(): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,25 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCobblestone extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,31 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCobweb extends cn.nukkit.block.BlockFlowable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public onEntityCollide(entity: cn.nukkit.entity.Entity): void;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,61 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCocoa extends cn.nukkit.block.BlockTransparentMeta implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
protected static EAST: cn.nukkit.math.AxisAlignedBB[];
// @ts-ignore
protected static WEST: cn.nukkit.math.AxisAlignedBB[];
// @ts-ignore
protected static NORTH: cn.nukkit.math.AxisAlignedBB[];
// @ts-ignore
protected static SOUTH: cn.nukkit.math.AxisAlignedBB[];
// @ts-ignore
protected static ALL: cn.nukkit.math.AxisAlignedBB[];
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public setDamage(meta: number): void;
// @ts-ignore
public getMinX(): number;
// @ts-ignore
public getMaxX(): number;
// @ts-ignore
public getMinY(): number;
// @ts-ignore
public getMaxY(): number;
// @ts-ignore
public getMinZ(): number;
// @ts-ignore
public getMaxZ(): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
}
}
}
}

View File

@@ -0,0 +1,29 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockConcrete extends cn.nukkit.block.BlockSolidMeta {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public getDyeColor(): cn.nukkit.utils.DyeColor;
}
}
}
}

View File

@@ -0,0 +1,33 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockConcretePowder extends cn.nukkit.block.BlockFallable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getFullId(): number;
// @ts-ignore
public getDamage(): number;
// @ts-ignore
public setDamage(meta: number): void;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, b: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockCraftingTable extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
abstract class BlockCrops extends cn.nukkit.block.BlockFlowable {
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,19 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDandelion extends cn.nukkit.block.BlockFlower {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
protected getUncommonFlower(): cn.nukkit.block.Block;
}
}
}
}

View File

@@ -0,0 +1,23 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDaylightDetector extends cn.nukkit.block.BlockTransparent {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
protected invertDetect(): boolean;
}
}
}
}

View File

@@ -0,0 +1,19 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDaylightDetectorInverted extends cn.nukkit.block.BlockDaylightDetector {
// @ts-ignore
constructor()
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
protected invertDetect(): boolean;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDeadBush extends cn.nukkit.block.BlockFlowable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeReplaced(): boolean;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDiamond extends cn.nukkit.block.BlockSolid {
// @ts-ignore
constructor()
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,31 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDirt extends cn.nukkit.block.BlockSolidMeta {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getName(): string;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,35 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDispenser extends cn.nukkit.block.BlockSolidMeta implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public hasComparatorInputOverride(): boolean;
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getComparatorInputOverride(): number;
// @ts-ignore
public getFacing(): cn.nukkit.math.BlockFace;
// @ts-ignore
public isTriggered(): boolean;
// @ts-ignore
public setTriggered(value: boolean): void;
// @ts-ignore
public canHarvestWithHand(): boolean;
// @ts-ignore
public getDispensePosition(): cn.nukkit.math.Vector3;
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
}
}
}
}

View File

@@ -0,0 +1,49 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
abstract class BlockDoor extends cn.nukkit.block.BlockTransparentMeta implements cn.nukkit.utils.Faceable {
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public static DOOR_OPEN_BIT: number;
// @ts-ignore
public static DOOR_TOP_BIT: number;
// @ts-ignore
public static DOOR_HINGE_BIT: number;
// @ts-ignore
public static DOOR_POWERED_BIT: number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public isSolid(): boolean;
// @ts-ignore
public getFullDamage(): number;
// @ts-ignore
protected recalculateBoundingBox(): cn.nukkit.math.AxisAlignedBB;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onBreak(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public toggle(player: cn.nukkit.Player): boolean;
// @ts-ignore
public isOpen(): boolean;
// @ts-ignore
public isTop(): boolean;
// @ts-ignore
public isTop(meta: number): boolean;
// @ts-ignore
public isRightHinged(): boolean;
// @ts-ignore
public getBlockFace(): cn.nukkit.math.BlockFace;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoorAcacia extends cn.nukkit.block.BlockDoorWood {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoorBirch extends cn.nukkit.block.BlockDoorWood {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoorDarkOak extends cn.nukkit.block.BlockDoorWood {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,35 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoorIron extends cn.nukkit.block.BlockDoor {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
// @ts-ignore
public canHarvestWithHand(): boolean;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoorJungle extends cn.nukkit.block.BlockDoorWood {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,21 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoorSpruce extends cn.nukkit.block.BlockDoorWood {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,27 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoorWood extends cn.nukkit.block.BlockDoor {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public getName(): string;
// @ts-ignore
public getId(): number;
// @ts-ignore
public getHardness(): number;
// @ts-ignore
public getResistance(): number;
// @ts-ignore
public getToolType(): number;
// @ts-ignore
public toItem(): cn.nukkit.item.Item;
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
}
}
}
}

View File

@@ -0,0 +1,47 @@
declare namespace cn {
namespace nukkit {
namespace block {
// @ts-ignore
class BlockDoublePlant extends cn.nukkit.block.BlockFlowable {
// @ts-ignore
constructor()
// @ts-ignore
constructor(meta: number)
// @ts-ignore
public static SUNFLOWER: number;
// @ts-ignore
public static LILAC: number;
// @ts-ignore
public static TALL_GRASS: number;
// @ts-ignore
public static LARGE_FERN: number;
// @ts-ignore
public static ROSE_BUSH: number;
// @ts-ignore
public static PEONY: number;
// @ts-ignore
public static TOP_HALF_BITMASK: number;
// @ts-ignore
public getId(): number;
// @ts-ignore
public canBeReplaced(): boolean;
// @ts-ignore
public getName(): string;
// @ts-ignore
public onUpdate(type: number): number;
// @ts-ignore
public place(item: cn.nukkit.item.Item, block: cn.nukkit.block.Block, target: cn.nukkit.block.Block, face: cn.nukkit.math.BlockFace, fx: number, fy: number, fz: number, player: cn.nukkit.Player): boolean;
// @ts-ignore
public onBreak(item: cn.nukkit.item.Item): boolean;
// @ts-ignore
public getDrops(item: cn.nukkit.item.Item): cn.nukkit.item.Item[];
// @ts-ignore
public getColor(): cn.nukkit.utils.BlockColor;
// @ts-ignore
public canBeActivated(): boolean;
// @ts-ignore
public onActivate(item: cn.nukkit.item.Item, player: cn.nukkit.Player): boolean;
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More