Package org.spout.api.math

Examples of org.spout.api.math.IntVector3


    offsetMax(maxOffset);
    return this;
  }

  public PieceCuboidBuilder offsetMin(int x, int y, int z) {
    offsetMin(new IntVector3(x, y, z));
    return this;
  }
View Full Code Here


    offsetMin(new IntVector3(x, y, z));
    return this;
  }

  public PieceCuboidBuilder offsetMax(int x, int y, int z) {
    offsetMax(new IntVector3(x, y, z));
    return this;
  }
View Full Code Here

    this.layout = layout;
    return this;
  }

  public PieceLayoutBuilder setPosition(int x, int y, int z) {
    setPosition(new IntVector3(x, y, z));
    return this;
  }
View Full Code Here

    this.position.set(position);
    return this;
  }

  public PieceLayoutBuilder offsetPosition(int xOff, int yOff, int zOff) {
    offsetPosition(new IntVector3(xOff, yOff, zOff));
    return this;
  }
View Full Code Here

    this.rotation = rotation;
    return this;
  }

  public PieceLayoutBuilder setRotationPoint(int x, int y, int z) {
    setRotationPoint(new IntVector3(x, y, z));
    return this;
  }
View Full Code Here

    this.rotationPoint.set(position);
    return this;
  }

  public PieceLayoutBuilder offsetRotationPoint(int xOff, int yOff, int zOff) {
    offsetRotationPoint(new IntVector3(xOff, yOff, zOff));
    return this;
  }
View Full Code Here

    return true;
  }

  private static void checkSurrounded(BlockMaterial[][][] materials) {
    for (BlockFace face : allFaces) {
      IntVector3 o = face.getIntOffset();
      if (materials[1 + o.getX()][1 + o.getY()][1 + o.getZ()] == null) {
        Spout.getLogger().info("Block is not surrounded");
        return;
      }
    }
  }
View Full Code Here

    }
    return bestInward;
  }

  public static int checkFlowFrom(BlockFace face, BlockMaterial[][][] materials, int[][][] lightLevels) {
    IntVector3 o = face.getIntOffset();
    int ox = o.getX() + 1;
    int oy = o.getY() + 1;
    int oz = o.getZ() + 1;
    BlockMaterial neighbor = materials[ox][oy][oz];
    if (neighbor == null) {
      return 0;
    }
    ByteBitSet occulusion = neighbor.getOcclusion(neighbor.getData());
View Full Code Here

  }

  private void link(Element element, int dx, int dz) {
    element.link(getElement(element.dX + dx, element.dZ + dz));
    for (int i = 0; i < 4; i++) {
      IntVector3 offset = new IntVector3(BlockFaces.NESW.get(i).getOpposite().getOffset());
      if (dx == offset.getX() && dz == offset.getZ()) {
        element.mainDirection.add(this.mainDirections[i]);
      }
    }
  }
View Full Code Here

  public void processHigher(Iterable<IntVector3> coords, IntVector4ExpandableFIFO fifo, ChunkCuboidLightBufferWrapper<VanillaCuboidLightBuffer> light, ImmutableCuboidBlockMaterialBuffer material, ImmutableHeightMapBuffer height, boolean init) {

    Iterator<IntVector3> itr = coords.iterator();

    while (itr.hasNext()) {
      IntVector3 v = itr.next();

      int lightLevel = getLightLevel(light, v.getX(), v.getY(), v.getZ());

      log("(Higher) Root light level", v, lightLevel);

      if (lightLevel < 15) {
        int newLight = this.computeLightLevel(light, material, height, v.getX(), v.getY(), v.getZ());
        log("(Higher) Computed light level", v, newLight);
        if (newLight > lightLevel) {
          setLightLevel(light, v.getX(), v.getY(), v.getZ(), newLight);
          fifo.write(newLight, v.getX(), v.getY(), v.getZ());
          log("(Higher) Set and added to FIFO for ", v, newLight);
          continue;
        }
      }
    }

    Vector3f base = material.getBase();
    int baseX = base.getFloorX();
    int baseY = base.getFloorY();
    int baseZ = base.getFloorZ();

    Vector3f top = material.getTop();
    int topX = top.getFloorX();
    int topY = top.getFloorY();
    int topZ = top.getFloorZ();

    IntVector4 v;
    while ((v = fifo.read()) != null) {
      int center = getLightLevel(light, v.getX(), v.getY(), v.getZ());

      log("(Higher) checking center (W = " + v.getW() + ")", v, center);

      if (center <= 1 || v.getW() != center) {
        continue;
      }

      BlockMaterial m = material.get(v.getX(), v.getY(), v.getZ());

      if (m == BlockMaterial.UNGENERATED) {
        continue;
      }

      final boolean boundary = v.getX() == baseX || v.getX() == (topX - 1) || v.getY() == baseY || v.getY() == topY - 1 || v.getZ() == baseZ || v.getZ() == topZ - 1;

      for (BlockFace face : allFaces) {
        IntVector3 off = face.getIntOffset();
        int nx = v.getX() + off.getX();
        int ny = v.getY() + off.getY();
        int nz = v.getZ() + off.getZ();
        if (boundary && (nx < baseX || nx >= topX || ny <= baseY || ny >= topY || nz < baseZ || nz >= topZ)) {
          continue;
        }

        BlockMaterial other = material.get(nx, ny, nz);
View Full Code Here

TOP

Related Classes of org.spout.api.math.IntVector3

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.