當前位置: 首頁>>代碼示例>>Java>>正文


Java Vector.getZ方法代碼示例

本文整理匯總了Java中com.sk89q.worldedit.Vector.getZ方法的典型用法代碼示例。如果您正苦於以下問題:Java Vector.getZ方法的具體用法?Java Vector.getZ怎麽用?Java Vector.getZ使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.sk89q.worldedit.Vector的用法示例。


在下文中一共展示了Vector.getZ方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: ArbitraryShape

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
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];
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:17,代碼來源:ArbitraryShape.java

示例2: setBlock

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
@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;
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:20,代碼來源:ScaleTransform.java

示例3: getFaces

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
/**
 * 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())));
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:23,代碼來源:CuboidRegion.java

示例4: getVertex

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
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();
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:17,代碼來源:CatenaryBrush.java

示例5: adapt

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
private static org.bukkit.Location adapt(org.bukkit.World world, Vector position) {
    checkNotNull(world);
    checkNotNull(position);
    return new org.bukkit.Location(
            world,
            position.getX(), position.getY(), position.getZ());
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:8,代碼來源:BukkitWorld.java

示例6: setPosition

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
@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));
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:9,代碼來源:SpongePlayer.java

示例7: getWalls

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
/**
 * Get a region that contains the walls (all faces but the ones parallel to
 * the X-Z plane) of this cuboid.
 *
 * @return a new complex region
 */
public Region getWalls() {
    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())));
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:20,代碼來源:CuboidRegion.java

示例8: checkConfirmationStack

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
public void checkConfirmationStack(String command, Region region, int times) throws RegionOperationException {
    if (command == null || getMeta("cmdConfirmRunning", false)) {
        return;
    }
    if (region != null) {
        Vector min = region.getMinimumPoint();
        Vector max = region.getMaximumPoint();
        long area = (long) ((max.getX() - min.getX()) * (max.getZ() - min.getZ() + 1)) * times;
        if (area > 2 << 18) {
            setMeta("cmdConfirm", command);
            throw new RegionOperationException(BBC.WORLDEDIT_CANCEL_REASON_CONFIRM.f(min, max, command));
        }
    }
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:15,代碼來源:FawePlayer.java

示例9: getBlock

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
@Override
public BaseBlock getBlock(Vector position) {
    if (position.getX() == x && position.getY() == y && position.getZ() == z) {
        return block;
    }
    return super.getBlock(position);
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:8,代碼來源:TemporalExtent.java

示例10: setBiome

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
@Override
public boolean setBiome(Vector2D position, BaseBiome biome) {
    boolean result = false;
    Vector pos = getPos(position.getBlockX(), 0, position.getBlockZ());
    double sx = pos.getX();
    double sz = pos.getZ();
    double ex = pos.getX() + dx;
    double ez = pos.getZ() + dz;
    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.setBiome(pos.toVector2D(), biome);
        }
    }
    return result;
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:16,代碼來源:ScaleTransform.java

示例11: any90Rotate

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
private Vector any90Rotate(Vector normal) {
    normal = normal.normalize();
    if (normal.getX() == 1 || normal.getY() == 1 || normal.getZ() == 1) {
        return new Vector(normal.getZ(), normal.getX(), normal.getY());
    }
    AffineTransform affine = new AffineTransform();
    affine = affine.rotateX(90);
    affine = affine.rotateY(90);
    affine = affine.rotateZ(90);
    Vector random = affine.apply(normal);
    return random.cross(normal).normalize();
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:13,代碼來源:CircleBrush.java

示例12: apply

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
@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;
    }
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:15,代碼來源:AffineTransform.java

示例13: expand

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
@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();
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:51,代碼來源:CuboidRegion.java

示例14: setMutable

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
private Vector3 setMutable(Vector pt) {
    mutable.x = pt.getX();
    mutable.y = pt.getY();
    mutable.z = pt.getZ();
    return mutable;
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:7,代碼來源:NukkitWorld.java

示例15: toLocation

import com.sk89q.worldedit.Vector; //導入方法依賴的package包/類
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);
}
 
開發者ID:boy0001,項目名稱:FastAsyncWorldedit,代碼行數:4,代碼來源:NukkitUtil.java


注:本文中的com.sk89q.worldedit.Vector.getZ方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。