Java Code Examples for com.sk89q.worldedit.EditSession#flushQueue()
The following examples show how to use
com.sk89q.worldedit.EditSession#flushQueue() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PlayerWrapper.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
@Override public void floatAt(final int x, final int y, final int z, final boolean alwaysGlass) { RuntimeException caught = null; try { EditSession edit = new EditSessionBuilder(parent.getWorld()).player(FawePlayer.wrap(this)).build(); edit.setBlockFast(new Vector(x, y - 1, z), new BaseBlock(BlockType.GLASS.getID())); edit.flushQueue(); LocalSession session = Fawe.get().getWorldEdit().getSession(this); if (session != null) { session.remember(edit, true, FawePlayer.wrap(this).getLimit().MAX_HISTORY); } } catch (RuntimeException e) { caught = e; } TaskManager.IMP.sync(new RunnableVal<Object>() { @Override public void run(Object value) { setPosition(new Vector(x + 0.5, y, z + 0.5)); } }); if (caught != null) { throw caught; } }
Example 2
Source File: SinglePickaxe.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
@Override public boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session, com.sk89q.worldedit.util.Location clicked) { World world = (World) clicked.getExtent(); final int blockType = world.getBlockType(clicked.toVector()); if (blockType == BlockID.BEDROCK && !player.canDestroyBedrock()) { return true; } EditSession editSession = session.createEditSession(player); editSession.getSurvivalExtent().setToolUse(config.superPickaxeDrop); try { if (editSession.setBlock(clicked.getBlockX(), clicked.getBlockY(), clicked.getBlockZ(), EditSession.nullBlock)) { world.playEffect(clicked.toVector(), 2001, blockType); } } finally { editSession.flushQueue(); session.remember(editSession); } return true; }
Example 3
Source File: FloodFillTool.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
@Override public boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session, Location clicked) { World world = (World) clicked.getExtent(); int initialType = world.getBlockType(clicked.toVector()); if (initialType == BlockID.AIR) { return true; } if (initialType == BlockID.BEDROCK && !player.canDestroyBedrock()) { return true; } EditSession editSession = session.createEditSession(player); try { recurse(server, editSession, world, clicked.toVector().toBlockVector(), clicked.toVector(), range, initialType, new HashSet<BlockVector>()); } catch (WorldEditException e) { throw new RuntimeException(e); } editSession.flushQueue(); session.remember(editSession); return true; }
Example 4
Source File: RecursivePickaxe.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session, com.sk89q.worldedit.util.Location clicked) { World world = (World) clicked.getExtent(); final Vector pos = clicked.toVector(); EditSession editSession = session.createEditSession(player); BaseBlock block = editSession.getBlock(pos); int initialType = block.getType(); if (initialType == BlockID.AIR || (initialType == BlockID.BEDROCK && !player.canDestroyBedrock())) { editSession.flushQueue(); return true; } editSession.getSurvivalExtent().setToolUse(config.superPickaxeManyDrop); final int radius = (int) range; final BlockReplace replace = new BlockReplace(editSession, (editSession.nullBlock)); editSession.setMask((Mask) null); RecursiveVisitor visitor = new RecursiveVisitor(new IdMask(editSession), replace, radius, editSession); visitor.visit(pos); Operations.completeBlindly(visitor); editSession.flushQueue(); session.remember(editSession); return true; }
Example 5
Source File: AreaPickaxe.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session, com.sk89q.worldedit.util.Location clicked) { int ox = clicked.getBlockX(); int oy = clicked.getBlockY(); int oz = clicked.getBlockZ(); int initialType = ((World) clicked.getExtent()).getBlockType(clicked.toVector()); if (initialType == 0) { return true; } if (initialType == BlockID.BEDROCK && !player.canDestroyBedrock()) { return true; } EditSession editSession = session.createEditSession(player); editSession.getSurvivalExtent().setToolUse(config.superPickaxeManyDrop); for (int x = ox - range; x <= ox + range; ++x) { for (int z = oz - range; z <= oz + range; ++z) { for (int y = oy + range; y >= oy - range; --y) { if (editSession.getLazyBlock(x, y, z).getId() != initialType) { continue; } editSession.setBlock(x, y, z, air); } } } editSession.flushQueue(); session.remember(editSession); return true; }
Example 6
Source File: LongRangeBuildTool.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public boolean actSecondary(Platform server, LocalConfiguration config, Player player, LocalSession session) { WorldVectorFace pos = getTargetFace(player); if (pos == null) return false; EditSession eS = session.createEditSession(player); if (secondary.getType() == BlockID.AIR) { eS.setBlockFast(pos, secondary); } else { eS.setBlockFast(pos.getFaceVector(), secondary); } eS.flushQueue(); return true; }
Example 7
Source File: LongRangeBuildTool.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session) { WorldVectorFace pos = getTargetFace(player); if (pos == null) return false; EditSession eS = session.createEditSession(player); if (primary.getType() == BlockID.AIR) { eS.setBlockFast(pos, primary); } else { eS.setBlockFast(pos.getFaceVector(), primary); } eS.flushQueue(); return true; }
Example 8
Source File: CopyPastaBrush.java From FastAsyncWorldedit with GNU General Public License v3.0 | 4 votes |
@Override public void build(final EditSession editSession, Vector position, Pattern pattern, double size) throws MaxChangedBlocksException { FawePlayer fp = editSession.getPlayer(); ClipboardHolder clipboard = session.getExistingClipboard(); if (clipboard == null) { if (editSession.getExtent() instanceof VisualExtent) { return; } Mask mask = editSession.getMask(); if (mask == null) { mask = Masks.alwaysTrue(); } final ResizableClipboardBuilder builder = new ResizableClipboardBuilder(editSession.getWorld()); final int size2 = (int) (size * size); final int minY = position.getBlockY(); mask = new AbstractDelegateMask(mask) { @Override public boolean test(Vector vector) { if (super.test(vector) && vector.getBlockY() >= minY) { BaseBlock block = editSession.getLazyBlock(vector); if (block.getId() != 0) { builder.add(vector, EditSession.nullBlock, block); return true; } } return false; } }; // Add origin mask.test(position); RecursiveVisitor visitor = new RecursiveVisitor(mask, new NullRegionFunction(), (int) size, editSession); visitor.visit(position); Operations.completeBlindly(visitor); // Build the clipboard Clipboard newClipboard = builder.build(); newClipboard.setOrigin(position); ClipboardHolder holder = new ClipboardHolder(newClipboard, editSession.getWorld().getWorldData()); session.setClipboard(holder); int blocks = builder.size(); BBC.COMMAND_COPY.send(fp, blocks); return; } else { AffineTransform transform = null; if (randomRotate) { if (transform == null) transform = new AffineTransform(); int rotate = 90 * PseudoRandom.random.nextInt(4); transform = transform.rotateY(rotate); } if (autoRotate) { if (transform == null) transform = new AffineTransform(); Location loc = editSession.getPlayer().getPlayer().getLocation(); float yaw = loc.getYaw(); float pitch = loc.getPitch(); transform = transform.rotateY((-yaw) % 360); transform = transform.rotateX(pitch - 90); } if (transform != null && !transform.isIdentity()) { clipboard.setTransform(transform); } Clipboard faweClip = clipboard.getClipboard(); Region region = faweClip.getRegion(); Operation operation = clipboard .createPaste(editSession, editSession.getWorldData()) .to(position.add(0, 1, 0)) .ignoreAirBlocks(true) .build(); Operations.completeLegacy(operation); editSession.flushQueue(); } }