org.bukkit.util.Vector#getZ ( )源码实例Demo

下面列出了org.bukkit.util.Vector#getZ ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Hawk   文件: AABB.java
public Vector translateAndCollide(Vector vector, World world, int gameVersion) {
    AABB preBox = this.clone();
    preBox.expand(-0.0001, -0.0001, -0.0001);
    List<AABB> collidedBlocksBefore = preBox.getBlockAABBs(world, gameVersion, Material.WEB);

    double pdX = vector.getX();
    double pdY = vector.getY();
    double pdZ = vector.getZ();

    AABB testBox = this.clone();
    testBox.expand(-0.00000001, -0.00000001, -0.00000001);
    pdX = moveOnAxis(testBox, pdX, 0, world, gameVersion, collidedBlocksBefore);
    pdY = moveOnAxis(testBox, pdY, 1, world, gameVersion, collidedBlocksBefore);
    pdZ = moveOnAxis(testBox, pdZ, 2, world, gameVersion, collidedBlocksBefore);

    Vector move = new Vector(pdX, pdY, pdZ);
    translate(move);

    return move;
}
 
源代码2 项目: HoloAPI   文件: HologramImpl.java
@Override
public void move(Vector to) {
    checkNotNull(to, "The Vector object in HologramImpl#move(Vector) is null");
    this.defX = to.getX();
    this.defY = to.getY();
    this.defZ = to.getZ();
    if (!this.isSimple()) {
        HoloAPI.getManager().saveToFile(this);
    }
    for (String ident : this.getPlayerViews().keySet()) {
        Player p = IdentUtil.getPlayerOf(ident);
        if (p != null) {
            this.move(p, to);
        }
    }
}
 
源代码3 项目: PGM   文件: RegionPointProvider.java
@Override
public Location getPoint(Match match, @Nullable Entity entity) {
  Vector pos = this.region.getRandom(match.getRandom());
  PointProviderLocation location =
      new PointProviderLocation(match.getWorld(), pos.getX(), pos.getY(), pos.getZ());

  if (attributes.getYawProvider() != null) {
    location.setYaw(attributes.getYawProvider().getAngle(pos));
    location.setHasYaw(true);
  }

  if (attributes.getPitchProvider() != null) {
    location.setPitch(attributes.getPitchProvider().getAngle(pos));
    location.setHasPitch(true);
  }

  location = makeSafe(location);

  return location;
}
 
源代码4 项目: EntityAPI   文件: ControllableEndermanEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码5 项目: EntityAPI   文件: ControllableMushroomCowEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码6 项目: EntityAPI   文件: ControllableWitchEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码7 项目: EntityAPI   文件: ControllableSkeletonEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码8 项目: EntityAPI   文件: ControllableBatEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码9 项目: EntityAPI   文件: ControllablePigEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码10 项目: EntityAPI   文件: ControllableSheepEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码11 项目: CardinalPGM   文件: PlayerBoundingBox.java
public void teleportBoundingBox(Vector to, boolean onGround) {
    int i = 0;
    for (int x = -1; x < 2; x += 2) {
        for (int z = -1; z < 2; z += 2) {
            Packet teleportPacket = new PacketPlayOutEntityTeleport(zombieID.get(i),
                    to.getX() + (x * DamageIndicator.OFFSET), to.getY() , to.getZ() + (z * DamageIndicator.OFFSET),
                    (byte) 2, (byte) 0, onGround);
            PacketUtils.broadcastPacketByUUID(teleportPacket, viewers);
            i++;
        }
    }
}
 
源代码12 项目: ProjectAres   文件: NMSHacks.java
public static Object particlesPacket(String name, boolean longRange, Vector pos, Vector offset, float data, int count, int... extra) {
    return new PacketPlayOutWorldParticles(EnumParticle.valueOf(EnumParticle.class, name),
                                           longRange,
                                           (float) pos.getX(), (float) pos.getY(), (float) pos.getZ(),
                                           (float) offset.getX(), (float) offset.getY(), (float) offset.getZ(),
                                           data,
                                           count,
                                           extra);
}
 
源代码13 项目: EntityAPI   文件: ControllableSilverfishEntity.java
@Override
public void g(double x, double y, double z) {
    if (this.controllableEntity != null) {
        Vector velocity = this.controllableEntity.getMind().getAttribute(PushAttribute.class).call(this.controllableEntity, new Vector(x, y, z)).getPushVelocity();
        x = velocity.getX();
        y = velocity.getY();
        z = velocity.getZ();
    }
    super.g(x, y, z);
}
 
源代码14 项目: EchoPet   文件: EntityPet.java
public void setVelocity(Vector vel) {
    this.motX = vel.getX();
    this.motY = vel.getY();
    this.motZ = vel.getZ();
    this.velocityChanged = true;
}
 
源代码15 项目: Hawk   文件: FightHitbox.java
private void processDirection(InteractEntityEvent e, float yaw, float pitch) {
    Entity entity = e.getEntity();
    if (!(entity instanceof Player) && !CHECK_OTHER_ENTITIES)
        return;
    Player attacker = e.getPlayer();
    int ping = ServerUtils.getPing(attacker);
    if (ping > PING_LIMIT && PING_LIMIT != -1)
        return;

    HawkPlayer att = e.getHawkPlayer();
    Location attackerEyeLocation = att.getPosition().clone().add(new Vector(0, 1.62, 0)).toLocation(att.getWorld());
    Vector attackerDirection = MathPlus.getDirection(yaw, pitch);

    double maxReach = MAX_REACH;
    if (attacker.getGameMode() == GameMode.CREATIVE)
        maxReach += 1.9;

    Vector victimLocation;
    if (LAG_COMPENSATION)
        //No need to add 50ms; the move and attack are already chronologically so close together
        victimLocation = hawk.getLagCompensator().getHistoryLocation(ping, e.getEntity()).toVector();
    else
        victimLocation = e.getEntity().getLocation().toVector();

    Vector eyePos = new Vector(attackerEyeLocation.getX(), attacker.isSneaking() ? attackerEyeLocation.getY() - 0.08 : attackerEyeLocation.getY(), attackerEyeLocation.getZ());
    Vector direction = new Vector(attackerDirection.getX(), attackerDirection.getY(), attackerDirection.getZ());
    Ray attackerRay = new Ray(eyePos, direction);

    AABB victimAABB;
    victimAABB = WrappedEntity.getWrappedEntity(entity).getHitbox(victimLocation);
    victimAABB.expand(BOX_EPSILON, BOX_EPSILON, BOX_EPSILON);

    Vector intersectVec3d = victimAABB.intersectsRay(attackerRay, 0, Float.MAX_VALUE);

    if (DEBUG_HITBOX) {
        victimAABB.highlight(hawk, attacker.getWorld(), 0.29);
    }

    if (DEBUG_RAY) {
        attackerRay.highlight(hawk, attacker.getWorld(), maxReach, 0.1);
    }

    if (intersectVec3d != null) {
        Location intersect = new Location(attacker.getWorld(), intersectVec3d.getX(), intersectVec3d.getY(), intersectVec3d.getZ());
        double interDistance = intersect.distance(attackerEyeLocation);
        if (interDistance > maxReach) {
            punish(att, 1, true, e, new Placeholder("type", "Reach: " + MathPlus.round(interDistance, 2) + "m"));
            return;
        }
        if (CHECK_OCCLUSION && interDistance > 1D) {
            BlockIterator iter = new BlockIterator(attacker.getWorld(), eyePos, attackerDirection, 0, (int) interDistance + 1);
            while (iter.hasNext()) {
                Block bukkitBlock = iter.next();

                if (bukkitBlock.getType() == Material.AIR || bukkitBlock.isLiquid())
                    continue;

                WrappedBlock b = WrappedBlock.getWrappedBlock(bukkitBlock, att.getClientVersion());
                Vector intersection = b.getHitBox().intersectsRay(new Ray(attackerEyeLocation.toVector(), attackerDirection), 0, Float.MAX_VALUE);
                if (intersection != null) {
                    if (intersection.distance(eyePos) < interDistance) {
                        punish(att, 1, true, e, new Placeholder("type", "Interacted through " + b.getBukkitBlock().getType()));
                        return;
                    }
                }
            }

        }
    } else if (CHECK_BOX_INTERSECTION) {
        punish(att, 1, true, e, new Placeholder("type", "Did not hit hitbox."));
        return;
    }

    reward(att); //reward player
}
 
源代码16 项目: CardinalPGM   文件: PointRegion.java
public PointRegion(String name, Vector vector) {
    this(name, vector.getX(), vector.getY(), vector.getZ());
}
 
源代码17 项目: CardinalPGM   文件: RegionSave.java
public BlockVector blockAlign(Vector vector) {
    return new BlockVector((int) vector.getX() + 0.5d, (int) vector.getY() + 0.5d, (int) vector.getZ() + 0.5d);
}
 
源代码18 项目: EchoPet   文件: EntityPet.java
public void onLive() {
    if (this.pet == null) {
        this.remove(false);
        return;
    }

    if (this.getPlayerOwner() == null || !this.getPlayerOwner().isOnline()) {
        EchoPet.getManager().removePet(this.getPet(), true);
        return;
    }

    if (pet.isOwnerRiding() && this.passenger == null && !pet.isOwnerInMountingProcess()) {
        pet.ownerRidePet(false);
    }

    if (((CraftPlayer) this.getPlayerOwner()).getHandle().isInvisible() != this.isInvisible() && !this.shouldVanish) {
        this.setInvisible(!this.isInvisible());
    }

    if (((CraftPlayer) this.getPlayerOwner()).getHandle().isSneaking() != this.isSneaking()) {
        this.setSneaking(!this.isSneaking());
    }

    if (((CraftPlayer) this.getPlayerOwner()).getHandle().isSprinting() != this.isSprinting()) {
        this.setSprinting(!this.isSprinting());
    }

    if (this.getPet().isHat()) {
        this.lastYaw = this.yaw = (this.getPet().getPetType() == PetType.ENDERDRAGON ? this.getPlayerOwner().getLocation().getYaw() - 180 : this.getPlayerOwner().getLocation().getYaw());
    }

    if (this.getPlayerOwner().isFlying() && EchoPet.getOptions().canFly(this.getPet().getPetType())) {
        Location petLoc = this.getLocation();
        Location ownerLoc = this.getPlayerOwner().getLocation();
        Vector v = ownerLoc.toVector().subtract(petLoc.toVector());

        double x = v.getX();
        double y = v.getY();
        double z = v.getZ();

        Vector vo = this.getPlayerOwner().getLocation().getDirection();
        if (vo.getX() > 0) {
            x -= 1.5;
        } else if (vo.getX() < 0) {
            x += 1.5;
        }
        if (vo.getZ() > 0) {
            z -= 1.5;
        } else if (vo.getZ() < 0) {
            z += 1.5;
        }

        this.setVelocity(new Vector(x, y, z).normalize().multiply(0.3F));
    }
}
 
源代码19 项目: EchoPet   文件: EntityPet.java
public void onLive() {
    if (this.pet == null) {
        this.remove(false);
        return;
    }

    if (this.getPlayerOwner() == null || !this.getPlayerOwner().isOnline() || Bukkit.getPlayerExact(this.getPlayerOwner().getName()) == null) {
        EchoPet.getManager().removePet(this.getPet(), true);
        return;
    }

    if (pet.isOwnerRiding() && this.passenger == null && !pet.isOwnerInMountingProcess()) {
        pet.ownerRidePet(false);
    }

    if (((CraftPlayer) this.getPlayerOwner()).getHandle().isInvisible() != this.isInvisible() && !this.shouldVanish) {
        this.setInvisible(!this.isInvisible());
    }

    if (((CraftPlayer) this.getPlayerOwner()).getHandle().isSneaking() != this.isSneaking()) {
        this.setSneaking(!this.isSneaking());
    }

    if (((CraftPlayer) this.getPlayerOwner()).getHandle().isSprinting() != this.isSprinting()) {
        this.setSprinting(!this.isSprinting());
    }

    if (this.getPet().isHat()) {

        this.lastYaw = this.yaw = (this.getPet().getPetType() == PetType.ENDERDRAGON ? this.getPlayerOwner().getLocation().getYaw() - 180 : this.getPlayerOwner().getLocation().getYaw());
    }

    if (this.getPlayerOwner().isFlying() && EchoPet.getOptions().canFly(this.getPet().getPetType())) {
        Location petLoc = this.getLocation();
        Location ownerLoc = this.getPlayerOwner().getLocation();
        Vector v = ownerLoc.toVector().subtract(petLoc.toVector());

        double x = v.getX();
        double y = v.getY();
        double z = v.getZ();

        Vector vo = this.getPlayerOwner().getLocation().getDirection();
        if (vo.getX() > 0) {
            x -= 1.5;
        } else if (vo.getX() < 0) {
            x += 1.5;
        }
        if (vo.getZ() > 0) {
            z -= 1.5;
        } else if (vo.getZ() < 0) {
            z += 1.5;
        }

        this.setVelocity(new Vector(x, y, z).normalize().multiply(0.3F));
    }
}
 
源代码20 项目: Kettle   文件: Location.java
/**
 * Adds the location by a vector.
 *
 * @param vec Vector to use
 * @return the same location
 * @see Vector
 */
public Location add(Vector vec) {
    this.x += vec.getX();
    this.y += vec.getY();
    this.z += vec.getZ();
    return this;
}