Search in sources :

Example 1 with Lag

use of io.github.wysohn.triggerreactor.tools.Lag in project TriggerReactor by wysohn.

the class BukkitTriggerReactorCore method onCoreEnable.

public void onCoreEnable(AbstractJavaPlugin plugin) {
    Thread.currentThread().setContextClassLoader(plugin.getClass().getClassLoader());
    this.bukkit = plugin;
    ValidationUtil.notNull(WRAPPER);
    super.onCoreEnable();
    for (Entry<String, Class<? extends AbstractAPISupport>> entry : APISupport.getSharedVars().entrySet()) {
        AbstractAPISupport.addSharedVar(sharedVars, entry.getKey(), entry.getValue());
    }
    sem = bukkit.getScriptEngineManager();
    try {
        ScriptEngineInitializer.initScriptEngine(sem);
        initScriptEngine(sem);
    } catch (ScriptException e) {
        initFailed(e);
        return;
    }
    try {
        executorManager = new ExecutorManager(this, sem);
    } catch (ScriptException | IOException e) {
        initFailed(e);
        return;
    }
    try {
        placeholderManager = new PlaceholderManager(this, sem);
    } catch (ScriptException | IOException e) {
        initFailed(e);
        return;
    }
    scriptEditManager = new ScriptEditManager(this);
    locationManager = new PlayerLocationManager(this);
    permissionManager = new PermissionManager(this);
    selectionManager = new AreaSelectionManager(this);
    invEditManager = new InventoryEditManager(this);
    clickManager = new ClickTriggerManager(this);
    walkManager = new WalkTriggerManager(this);
    cmdManager = new CommandTriggerManager(this, bukkit);
    invManager = new InventoryTriggerManager(this);
    areaManager = new AreaTriggerManager(this);
    customManager = new CustomTriggerManager(this);
    repeatManager = new RepeatingTriggerManager(this);
    namedTriggerManager = new NamedTriggerManager(this);
    tpsHelper = new Lag();
    new Thread() {

        @Override
        public void run() {
            try {
                Thread.sleep(50L * 100);
                while (isAlive() && !isInterrupted()) {
                    submitSync(() -> {
                        tpsHelper.run();
                        return null;
                    }).get();
                    Thread.sleep(50L);
                }
            } catch (ExecutionException | InterruptedException ex) {
                getLogger().info("TPS Helper stopped working." + ex);
            }
        }
    }.start();
}
Also used : AbstractCommandTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.command.AbstractCommandTriggerManager) AbstractAreaTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.area.AbstractAreaTriggerManager) ScriptException(javax.script.ScriptException) AbstractNamedTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.named.AbstractNamedTriggerManager) AbstractInventoryTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.inventory.AbstractInventoryTriggerManager) AbstractAPISupport(io.github.wysohn.triggerreactor.core.manager.trigger.share.api.AbstractAPISupport) IOException(java.io.IOException) Lag(io.github.wysohn.triggerreactor.tools.Lag) AbstractRepeatingTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.repeating.AbstractRepeatingTriggerManager) AbstractCustomTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.custom.AbstractCustomTriggerManager)

Example 2 with Lag

use of io.github.wysohn.triggerreactor.tools.Lag in project TriggerReactor by wysohn.

the class TriggerReactor method onConstruct.

@Listener
public void onConstruct(GameInitializationEvent event) {
    onCoreEnable();
    SYNC_EXECUTOR = Sponge.getScheduler().createSyncExecutor(this);
    WRAPPER = new SpongeWrapper();
    try {
        executorManager = new ExecutorManager(this);
    } catch (ScriptException | IOException e) {
        initFailed(e);
        return;
    }
    try {
        placeholderManager = new PlaceholderManager(this);
    } catch (ScriptException | IOException e) {
        initFailed(e);
        return;
    }
    this.scriptEditManager = new ScriptEditManager(this);
    this.locationManager = new PlayerLocationManager(this);
    // this.permissionManager = new PermissionManager(this);
    this.selectionManager = new AreaSelectionManager(this);
    this.invEditManager = new InventoryEditManager(this);
    this.clickManager = new ClickTriggerManager(this);
    this.walkManager = new WalkTriggerManager(this);
    this.cmdManager = new CommandTriggerManager(this);
    this.invManager = new InventoryTriggerManager(this);
    this.areaManager = new AreaTriggerManager(this);
    this.customManager = new CustomTriggerManager(this);
    this.repeatManager = new RepeatingTriggerManager(this);
    this.namedTriggerManager = new NamedTriggerManager(this);
    tpsHelper = new Lag();
    Sponge.getScheduler().createTaskBuilder().execute(tpsHelper).delayTicks(100L).intervalTicks(1L).submit(this);
}
Also used : SpongeWrapper(io.github.wysohn.triggerreactor.sponge.bridge.SpongeWrapper) IOException(java.io.IOException) AbstractCommandTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.command.AbstractCommandTriggerManager) AbstractAreaTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.area.AbstractAreaTriggerManager) ScriptException(javax.script.ScriptException) Lag(io.github.wysohn.triggerreactor.tools.Lag) AbstractRepeatingTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.repeating.AbstractRepeatingTriggerManager) AbstractNamedTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.named.AbstractNamedTriggerManager) AbstractInventoryTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.inventory.AbstractInventoryTriggerManager) AbstractCustomTriggerManager(io.github.wysohn.triggerreactor.core.manager.trigger.custom.AbstractCustomTriggerManager) Listener(org.spongepowered.api.event.Listener)

Aggregations

AbstractAreaTriggerManager (io.github.wysohn.triggerreactor.core.manager.trigger.area.AbstractAreaTriggerManager)2 AbstractCommandTriggerManager (io.github.wysohn.triggerreactor.core.manager.trigger.command.AbstractCommandTriggerManager)2 AbstractCustomTriggerManager (io.github.wysohn.triggerreactor.core.manager.trigger.custom.AbstractCustomTriggerManager)2 AbstractInventoryTriggerManager (io.github.wysohn.triggerreactor.core.manager.trigger.inventory.AbstractInventoryTriggerManager)2 AbstractNamedTriggerManager (io.github.wysohn.triggerreactor.core.manager.trigger.named.AbstractNamedTriggerManager)2 AbstractRepeatingTriggerManager (io.github.wysohn.triggerreactor.core.manager.trigger.repeating.AbstractRepeatingTriggerManager)2 Lag (io.github.wysohn.triggerreactor.tools.Lag)2 IOException (java.io.IOException)2 ScriptException (javax.script.ScriptException)2 AbstractAPISupport (io.github.wysohn.triggerreactor.core.manager.trigger.share.api.AbstractAPISupport)1 SpongeWrapper (io.github.wysohn.triggerreactor.sponge.bridge.SpongeWrapper)1 Listener (org.spongepowered.api.event.Listener)1