Помогите WorldEdit selection event. Поймать выделение территории

  • Автор темы Автор темы MOR_IV
  • Дата начала Дата начала

MOR_IV

Активный участник
Пользователь
Баллы
88
Имя в Minecraft
MOR_IV
Мне надо отловить выделение территории игроком, будь то топор, hpos, //move, //expand и т.п.
слушать все команды как то громоздко. Нашел http://wiki.sk89q.com/wiki/WorldEdit/API/Hooking_EditSession
Но ни фига не пойму, можно ли это использовать.

Код ниже в консоли выполнятся только при команде //wand
и то в консоли вижу: 1, 2 повторяющиеся 3 раза.
Походу я идиот или лыжи не едут.
WE 6+
Код:
package ru.mor.iv.lockregion.listeners;

import org.bukkit.Bukkit;

import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.blocks.BaseBlock;
import com.sk89q.worldedit.event.extent.EditSessionEvent;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.extent.logging.AbstractLoggingExtent;
import com.sk89q.worldedit.util.eventbus.Subscribe;

public class SelectionListener {
    @Subscribe
    public void wrapForLogging(EditSessionEvent event) {
        Bukkit.getLogger().info("1");
        Actor actor = event.getActor();
        if (actor != null && actor.isPlayer()) {
            event.setExtent(new MyLogger(actor, event.getExtent()));
        }
    }
   
   
    public class MyLogger extends AbstractLoggingExtent {
        private final Actor actor;
    
        public MyLogger(Actor actor, Extent extent) {
            super(extent);
            this.actor = actor;
            Bukkit.getLogger().info("2");
        }
       
        @Override
        protected void onBlockChange(Vector position, BaseBlock newBlock) {
            Bukkit.getLogger().info("3");
        }
    }
}
 
Назад
Верх