Java Code Examples for com.sk89q.worldedit.Vector#getY()
The following examples show how to use
com.sk89q.worldedit.Vector#getY() .
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: CuboidRegion.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
/** * Get a region that contains the faces of this cuboid. * * @return a new complex region */ public Region getFaces() { Vector min = getMinimumPoint(); Vector max = getMaximumPoint(); return new RegionIntersection( // Project to Z-Y plane new CuboidRegion(new Vector(min.getX(), pos1.getY(), pos1.getZ()), new Vector(min.getX(), pos2.getY(), pos2.getZ())), new CuboidRegion(new Vector(max.getX(), pos1.getY(), pos1.getZ()), new Vector(max.getX(), pos2.getY(), pos2.getZ())), // Project to X-Y plane new CuboidRegion(new Vector(pos1.getX(), pos1.getY(), min.getZ()), new Vector(pos2.getX(), pos2.getY(), min.getZ())), new CuboidRegion(new Vector(pos1.getX(), pos1.getY(), max.getZ()), new Vector(pos2.getX(), pos2.getY(), max.getZ())), // Project to the X-Z plane new CuboidRegion(new Vector(pos1.getX(), min.getY(), pos1.getZ()), new Vector(pos2.getX(), min.getY(), pos2.getZ())), new CuboidRegion(new Vector(pos1.getX(), max.getY(), pos1.getZ()), new Vector(pos2.getX(), max.getY(), pos2.getZ()))); }
Example 2
Source File: ArbitraryShape.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
public ArbitraryShape(Region extent) { this.extent = extent; Vector min = extent.getMinimumPoint(); Vector max = extent.getMaximumPoint(); cacheOffsetX = min.getBlockX() - 1; cacheOffsetY = min.getBlockY() - 1; cacheOffsetZ = min.getBlockZ() - 1; cacheSizeX = (int) (max.getX() - cacheOffsetX + 2); cacheSizeY = (int) (max.getY() - cacheOffsetY + 2); cacheSizeZ = (int) (max.getZ() - cacheOffsetZ + 2); cache = new short[cacheSizeX * cacheSizeY * cacheSizeZ]; }
Example 3
Source File: CatenaryBrush.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
public static Vector getVertex(Vector pos1, Vector pos2, double lenPercent) { if (lenPercent <= 1) return Vector.getMidpoint(pos1, pos2); double curveLen = pos1.distance(pos2) * lenPercent; double dy = pos2.getY() - pos1.getY(); double dx = pos2.getX() - pos1.getX(); double dz = pos2.getZ() - pos1.getZ(); double dh = Math.sqrt(dx * dx + dz * dz); double g = Math.sqrt(curveLen * curveLen - dy * dy) / 2; double a = 0.00001; for (;g < a * Math.sinh(dh/(2 * a)); a *= 1.00001); double vertX = (dh-a*Math.log((curveLen + dy)/(curveLen - dy)))/2.0; double z = (dh/2)/a; double oY = (dy - curveLen * (Math.cosh(z) / Math.sinh(z))) / 2; double vertY = a * 1 + oY; return pos1.add(pos2.subtract(pos1).multiply(vertX / dh).add(0, vertY, 0)).round(); }
Example 4
Source File: PlotMeWorldEdit.java From PlotMe-Core with GNU General Public License v3.0 | 6 votes |
@Override public boolean setBlock(Vector location, BaseBlock block) throws WorldEditException { if (manager.isPlayerIgnoringWELimit(player)) { return extent.setBlock(location, block); } else { Location loc = new Location(player.getWorld(), location.getX(), location.getY(), location.getZ()); Plot plot = manager.getPlot(loc); if (plot != null) { if (plot.getOwnerId().equals(player.getUniqueId())) { return extent.setBlock(location, block); } Optional<Plot.AccessLevel> member = plot.isMember(actor.getUniqueId()); if (member.isPresent()) { return !(member.get().equals(Plot.AccessLevel.TRUSTED) && !api.getServerBridge().getOfflinePlayer(plot.getOwnerId()).isOnline()) && extent.setBlock(location, block); } } return false; } }
Example 5
Source File: ScaleTransform.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
@Override public boolean setBlock(int x1, int y1, int z1, BaseBlock block) throws WorldEditException { boolean result = false; Vector pos = getPos(x1, y1, z1); double sx = pos.getX(); double sy = pos.getY(); double sz = pos.getZ(); double ex = pos.getX() + dx; double ey = Math.min(maxy, sy + dy); double ez = pos.getZ() + dz; for (pos.mutY(sy); pos.getY() < ey; pos.mutY(pos.getY() + 1)) { for (pos.mutZ(sz); pos.getZ() < ez; pos.mutZ(pos.getZ() + 1)) { for (pos.mutX(sx); pos.getX() < ex; pos.mutX(pos.getX() + 1)) { result |= super.setBlock(pos, block); } } } return result; }
Example 6
Source File: ScaleTransform.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
@Override public boolean setBlock(Vector location, BaseBlock block) throws WorldEditException { boolean result = false; Vector pos = getPos(location); double sx = pos.getX(); double sy = pos.getY(); double sz = pos.getZ(); double ex = sx + dx; double ey = Math.min(maxy, sy + dy); double ez = sz + dz; for (pos.mutY(sy); pos.getY() < ey; pos.mutY(pos.getY() + 1)) { for (pos.mutZ(sz); pos.getZ() < ez; pos.mutZ(pos.getZ() + 1)) { for (pos.mutX(sx); pos.getX() < ex; pos.mutX(pos.getX() + 1)) { result |= super.setBlock(pos, block); } } } return result; }
Example 7
Source File: SpongePlayer.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public void setPosition(Vector pos, float pitch, float yaw) { org.spongepowered.api.world.Location<World> loc = new org.spongepowered.api.world.Location<>( this.player.getWorld(), pos.getX(), pos.getY(), pos.getZ() ); this.player.setLocationAndRotation(loc, new Vector3d(pitch, yaw, 0)); }
Example 8
Source File: AffineTransform.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public Vector apply(Vector vector) { // vector.getX() * m00 + vector.getY() * m01 + vector.getZ() * m02 + m03 // vector.getX() * m10 + vector.getY() * m11 + vector.getZ() * m12 + m13 // vector.getX() * m20 + vector.getY() * m21 + vector.getZ() * m22 + m23 return new Vector( vector.getX() * m00 + vector.getY() * m01 + vector.getZ() * m02 + m03, vector.getX() * m10 + vector.getY() * m11 + vector.getZ() * m12 + m13, vector.getX() * m20 + vector.getY() * m21 + vector.getZ() * m22 + m23); // mutable.mutX((vector.getX() * m00 + vector.getY() * m01 + vector.getZ() * m02 + m03)); // mutable.mutY((vector.getX() * m10 + vector.getY() * m11 + vector.getZ() * m12 + m13)); // mutable.mutZ((vector.getX() * m20 + vector.getY() * m21 + vector.getZ() * m22 + m23)); // return mutable; }
Example 9
Source File: WallMask.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public boolean test(Vector v) { int count = 0; double x = v.getX(); double y = v.getY(); double z = v.getZ(); v.mutX(x + 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutX(x); return true; } v.mutX(x - 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutX(x); return true; } v.mutX(x); v.mutZ(z + 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutZ(z); return true; } v.mutZ(z - 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutZ(z); return true; } v.mutZ(z); return count >= min && count <= max; }
Example 10
Source File: TemporalExtent.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public BaseBlock getLazyBlock(Vector position) { if (position.getX() == x && position.getY() == y && position.getZ() == z) { return block; } return super.getLazyBlock(position); }
Example 11
Source File: TemporalExtent.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public BaseBlock getBlock(Vector position) { if (position.getX() == x && position.getY() == y && position.getZ() == z) { return block; } return super.getBlock(position); }
Example 12
Source File: PatternExtent.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public BaseBlock getBlock(Vector position) { BaseBlock tmp = pattern.apply(position); if (position == target || (position.getX() == target.getX() && position.getY() == target.getY() && position.getZ() == target.getZ())) { block = tmp; } else { block = null; } return tmp; }
Example 13
Source File: NukkitUtil.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
public static BaseBlock getBlock(Level level, Vector position) { Vector3 pos = new Vector3(position.getX(), position.getY(), position.getZ()); Block block = level.getBlock(pos); int id = block.getId(); int data = block.getDamage(); return new BaseBlock(id, data); }
Example 14
Source File: SpongePlayer.java From FastAsyncWorldedit with GNU General Public License v3.0 | 5 votes |
@Override public void setPosition(Vector pos, float pitch, float yaw) { org.spongepowered.api.world.Location<World> loc = new org.spongepowered.api.world.Location<>( this.player.getWorld(), pos.getX(), pos.getY(), pos.getZ() ); this.player.setLocationAndRotation(loc, new Vector3d(pitch, yaw, 0)); }
Example 15
Source File: AdjacentMask.java From FastAsyncWorldedit with GNU General Public License v3.0 | 4 votes |
@Override public boolean test(Vector v) { int count = 0; double x = v.getX(); double y = v.getY(); double z = v.getZ(); v.mutX(x + 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutX(x); return true; } v.mutX(x - 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutX(x); return true; } v.mutX(x); v.mutY(y + 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutY(y); return true; } v.mutY(y - 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutY(y); return true; } v.mutY(y); v.mutZ(z + 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutZ(z); return true; } v.mutZ(z - 1); if (mask.test(v) && ++count == min && max >= 8) { v.mutZ(z); return true; } v.mutZ(z); return count >= min && count <= max; }
Example 16
Source File: NukkitUtil.java From FastAsyncWorldedit with GNU General Public License v3.0 | 4 votes |
public static cn.nukkit.level.Location toLocation(Level world, Vector pt) { return new cn.nukkit.level.Location(pt.getX(), pt.getY(), pt.getZ(), 0, 0, world); }
Example 17
Source File: NukkitWorld.java From FastAsyncWorldedit with GNU General Public License v3.0 | 4 votes |
private Vector3 setMutable(Vector pt) { mutable.x = pt.getX(); mutable.y = pt.getY(); mutable.z = pt.getZ(); return mutable; }
Example 18
Source File: FlattenedClipboardTransform.java From FastAsyncWorldedit with GNU General Public License v3.0 | 4 votes |
/** * Get the transformed region. * * @return the transformed region */ public Region getTransformedRegion() { Region region = original.getRegion(); Vector minimum = region.getMinimumPoint(); Vector maximum = region.getMaximumPoint(); Transform transformAround = new CombinedTransform( new AffineTransform().translate(original.getOrigin().multiply(-1)), transform, new AffineTransform().translate(original.getOrigin())); // new Vector(minimum.getX(), minimum.getY(), minimum.getZ()) // new Vector(maximum.getX(), maximum.getY(), maximum.getZ()) Vector[] corners = new Vector[]{ minimum, maximum, new Vector(maximum.getX(), minimum.getY(), minimum.getZ()), new Vector(minimum.getX(), maximum.getY(), minimum.getZ()), new Vector(minimum.getX(), minimum.getY(), maximum.getZ()), new Vector(minimum.getX(), maximum.getY(), maximum.getZ()), new Vector(maximum.getX(), minimum.getY(), maximum.getZ()), new Vector(maximum.getX(), maximum.getY(), minimum.getZ())}; for (int i = 0; i < corners.length; i++) { corners[i] = transformAround.apply(new Vector(corners[i])); } Vector newMinimum = corners[0]; Vector newMaximum = corners[0]; for (int i = 1; i < corners.length; i++) { newMinimum = Vector.getMinimum(newMinimum, corners[i]); newMaximum = Vector.getMaximum(newMaximum, corners[i]); } // After transformation, the points may not really sit on a block, // so we should expand the region for edge cases newMinimum.mutX(Math.ceil(Math.floor(newMinimum.getX()))); newMinimum.mutY(Math.ceil(Math.floor(newMinimum.getY()))); newMinimum.mutZ(Math.ceil(Math.floor(newMinimum.getZ()))); return new CuboidRegion(newMinimum, newMaximum); }
Example 19
Source File: CuboidRegion.java From FastAsyncWorldedit with GNU General Public License v3.0 | 4 votes |
@Override public void contract(Vector... changes) { checkNotNull(changes); for (Vector change : changes) { if (change.getX() < 0) { if (Math.max(pos1.getX(), pos2.getX()) == pos1.getX()) { pos1 = pos1.add(new Vector(change.getX(), 0, 0)); } else { pos2 = pos2.add(new Vector(change.getX(), 0, 0)); } } else { if (Math.min(pos1.getX(), pos2.getX()) == pos1.getX()) { pos1 = pos1.add(new Vector(change.getX(), 0, 0)); } else { pos2 = pos2.add(new Vector(change.getX(), 0, 0)); } } if (change.getY() < 0) { if (Math.max(pos1.getY(), pos2.getY()) == pos1.getY()) { pos1 = pos1.add(new Vector(0, change.getY(), 0)); } else { pos2 = pos2.add(new Vector(0, change.getY(), 0)); } } else { if (Math.min(pos1.getY(), pos2.getY()) == pos1.getY()) { pos1 = pos1.add(new Vector(0, change.getY(), 0)); } else { pos2 = pos2.add(new Vector(0, change.getY(), 0)); } } if (change.getZ() < 0) { if (Math.max(pos1.getZ(), pos2.getZ()) == pos1.getZ()) { pos1 = pos1.add(new Vector(0, 0, change.getZ())); } else { pos2 = pos2.add(new Vector(0, 0, change.getZ())); } } else { if (Math.min(pos1.getZ(), pos2.getZ()) == pos1.getZ()) { pos1 = pos1.add(new Vector(0, 0, change.getZ())); } else { pos2 = pos2.add(new Vector(0, 0, change.getZ())); } } } recalculate(); }
Example 20
Source File: CuboidRegion.java From FastAsyncWorldedit with GNU General Public License v3.0 | 4 votes |
@Override public void expand(Vector... changes) { checkNotNull(changes); for (Vector change : changes) { if (change.getX() > 0) { if (Math.max(pos1.getX(), pos2.getX()) == pos1.getX()) { pos1 = pos1.add(new Vector(change.getX(), 0, 0)); } else { pos2 = pos2.add(new Vector(change.getX(), 0, 0)); } } else { if (Math.min(pos1.getX(), pos2.getX()) == pos1.getX()) { pos1 = pos1.add(new Vector(change.getX(), 0, 0)); } else { pos2 = pos2.add(new Vector(change.getX(), 0, 0)); } } if (change.getY() > 0) { if (Math.max(pos1.getY(), pos2.getY()) == pos1.getY()) { pos1 = pos1.add(new Vector(0, change.getY(), 0)); } else { pos2 = pos2.add(new Vector(0, change.getY(), 0)); } } else { if (Math.min(pos1.getY(), pos2.getY()) == pos1.getY()) { pos1 = pos1.add(new Vector(0, change.getY(), 0)); } else { pos2 = pos2.add(new Vector(0, change.getY(), 0)); } } if (change.getZ() > 0) { if (Math.max(pos1.getZ(), pos2.getZ()) == pos1.getZ()) { pos1 = pos1.add(new Vector(0, 0, change.getZ())); } else { pos2 = pos2.add(new Vector(0, 0, change.getZ())); } } else { if (Math.min(pos1.getZ(), pos2.getZ()) == pos1.getZ()) { pos1 = pos1.add(new Vector(0, 0, change.getZ())); } else { pos2 = pos2.add(new Vector(0, 0, change.getZ())); } } } recalculate(); }