feat: use inversify autoProvide inject
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
		@@ -1,12 +1,12 @@
 | 
			
		||||
import '@ms/nashorn'
 | 
			
		||||
 | 
			
		||||
import { command, plugin } from '@ms/api'
 | 
			
		||||
import { injectable, postConstruct, inject } from '@ms/container'
 | 
			
		||||
import { inject, provideSingleton, postConstruct } from '@ms/container'
 | 
			
		||||
 | 
			
		||||
let PluginCommand = Java.type('cn.nukkit.command.PluginCommand');
 | 
			
		||||
let CommandExecutor = Java.type('cn.nukkit.command.CommandExecutor');
 | 
			
		||||
 | 
			
		||||
@injectable()
 | 
			
		||||
@provideSingleton(command.Command)
 | 
			
		||||
export class NukkitCommand extends command.Command {
 | 
			
		||||
    @inject(plugin.PluginInstance)
 | 
			
		||||
    private pluginInstance: any
 | 
			
		||||
@@ -30,7 +30,6 @@ export class NukkitCommand extends command.Command {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    onCommand(plugin: any, command: any, executor: Function) {
 | 
			
		||||
        // 必须指定需要实现的接口类型 否则MOD服会报错
 | 
			
		||||
        command.setExecutor(new CommandExecutor({
 | 
			
		||||
            onCommand: super.setExecutor(plugin, command, executor)
 | 
			
		||||
        }));
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
import { event, server, plugin } from '@ms/api'
 | 
			
		||||
import { injectable, inject } from '@ms/container'
 | 
			
		||||
import { event, plugin } from '@ms/api'
 | 
			
		||||
import { inject, provideSingleton } from '@ms/container'
 | 
			
		||||
 | 
			
		||||
const Nukkit: cn.nukkit.Server = base.getInstance().getServer();
 | 
			
		||||
const Event = Java.type("cn.nukkit.event.Event");
 | 
			
		||||
@@ -8,7 +8,7 @@ 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()
 | 
			
		||||
@provideSingleton(event.Event)
 | 
			
		||||
export class NukkitEvent extends event.Event {
 | 
			
		||||
    @inject(plugin.PluginInstance)
 | 
			
		||||
    private pluginInstance: any
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,14 @@
 | 
			
		||||
/// <reference types="@ms/types/dist/typings/nukkit" />
 | 
			
		||||
 | 
			
		||||
import { server, command, event, task } from '@ms/api'
 | 
			
		||||
import { server } 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';
 | 
			
		||||
import './event';
 | 
			
		||||
import './server';
 | 
			
		||||
import './command';
 | 
			
		||||
import './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();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,9 @@
 | 
			
		||||
import { server } from '@ms/api'
 | 
			
		||||
import { injectable } from '@ms/container';
 | 
			
		||||
import { provideSingleton } from '@ms/container';
 | 
			
		||||
 | 
			
		||||
let Nukkit: cn.nukkit.Server = base.getInstance().getServer();
 | 
			
		||||
 | 
			
		||||
@injectable()
 | 
			
		||||
@provideSingleton(server.Server)
 | 
			
		||||
export class NukkitServer implements server.Server {
 | 
			
		||||
    getPlayer(name: string) {
 | 
			
		||||
        return Nukkit.getPlayer(name)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,9 @@
 | 
			
		||||
import { task, plugin } from '@ms/api'
 | 
			
		||||
import { injectable, inject } from '@ms/container';
 | 
			
		||||
import { inject, provideSingleton } 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()
 | 
			
		||||
@provideSingleton(task.TaskManager)
 | 
			
		||||
export class NukkitTaskManager implements task.TaskManager {
 | 
			
		||||
    @inject(plugin.PluginInstance)
 | 
			
		||||
    private pluginInstance: any;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user