Search in sources :

Example 1 with EditSessionFactory

use of com.sk89q.worldedit.EditSessionFactory in project RedProtect by FabioZumbi12.

the class WEListener method regenRegion.

public static void regenRegion(final br.net.fabiozumbi12.RedProtect.Sponge.Region r, final World w, final Location<World> p1, final Location<World> p2, final int delay, final CommandSource sender, final boolean remove) {
    Sponge.getScheduler().createSyncExecutor(RedProtect.get().container).schedule(() -> {
        if (RPUtil.stopRegen) {
            return;
        }
        Region wreg = new CuboidRegion(new Vector(p1.getX(), p1.getY(), p1.getZ()), new Vector(p2.getX(), p2.getY(), p2.getZ())).getFaces();
        SpongeWorld ws = SpongeWorldEdit.inst().getWorld(w);
        EditSession esession = new EditSessionFactory().getEditSession(ws, -1);
        eSessions.put(r.getID(), esession);
        int delayCount = 1 + delay / 10;
        if (sender != null) {
            if (ws.regenerate(wreg, esession)) {
                RPLang.sendMessage(sender, "[" + delayCount + "]" + " &aRegion " + r.getID().split("@")[0] + " regenerated with success!");
            } else {
                RPLang.sendMessage(sender, "[" + delayCount + "]" + " &cTheres an error when regen the region " + r.getID().split("@")[0] + "!");
            }
        } else {
            if (ws.regenerate(wreg, esession)) {
                RedProtect.get().logger.warning("[" + delayCount + "]" + " &aRegion " + r.getID().split("@")[0] + " regenerated with success!");
            } else {
                RedProtect.get().logger.warning("[" + delayCount + "]" + " &cTheres an error when regen the region " + r.getID().split("@")[0] + "!");
            }
        }
        if (remove) {
            RedProtect.get().rm.remove(r, RedProtect.get().serv.getWorld(r.getWorld()).get());
        }
    }, delay, TimeUnit.MILLISECONDS);
}
Also used : SpongeWorld(com.sk89q.worldedit.sponge.SpongeWorld) CuboidRegion(com.sk89q.worldedit.regions.CuboidRegion) Region(com.sk89q.worldedit.regions.Region) CuboidRegion(com.sk89q.worldedit.regions.CuboidRegion) EditSession(com.sk89q.worldedit.EditSession) Vector(com.sk89q.worldedit.Vector) EditSessionFactory(com.sk89q.worldedit.EditSessionFactory)

Example 2 with EditSessionFactory

use of com.sk89q.worldedit.EditSessionFactory in project modules-extra by CubeEngine.

the class LogEditSessionFactory method shutdown.

public static void shutdown() {
    WorldEdit instance = WorldEdit.getInstance();
    if (instance != null) {
        EditSessionFactory editSessionFactory = instance.getEditSessionFactory();
        if (editSessionFactory instanceof LogEditSessionFactory) {
            ((LogEditSessionFactory) editSessionFactory).module.getLog().debug("WorldEdit EditSessionFactory restored!");
            instance.setEditSessionFactory(((LogEditSessionFactory) editSessionFactory).oldFactory);
        }
    }
}
Also used : WorldEdit(com.sk89q.worldedit.WorldEdit) EditSessionFactory(com.sk89q.worldedit.EditSessionFactory)

Aggregations

EditSessionFactory (com.sk89q.worldedit.EditSessionFactory)2 EditSession (com.sk89q.worldedit.EditSession)1 Vector (com.sk89q.worldedit.Vector)1 WorldEdit (com.sk89q.worldedit.WorldEdit)1 CuboidRegion (com.sk89q.worldedit.regions.CuboidRegion)1 Region (com.sk89q.worldedit.regions.Region)1 SpongeWorld (com.sk89q.worldedit.sponge.SpongeWorld)1