Package com.tommytony.war.volume

Source Code of com.tommytony.war.volume.CenteredVolume

package com.tommytony.war.volume;

import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Block;

/**
*
* @author tommytony
* @deprecated Broken, don't use.
*/
@Deprecated
public class CenteredVolume extends Volume {

  private Block center;
  private int sideSize = -1;
  private final World world;

  public CenteredVolume(String name, Block center, int sideSize, World world) {
    super(name, world);
    this.world = world;
    this.setCenter(center);
    this.setSideSize(sideSize);
  }

  public void changeCenter(Location newCenter) {
    this.changeCenter(this.world.getBlockAt(newCenter.getBlockX(), newCenter.getBlockY(), newCenter.getBlockZ()), this.sideSize);
  }

  public void changeCenter(Block newCenter, int sideSize) {
    this.resetBlocks();
    this.center = newCenter;
    this.sideSize = sideSize;
    this.calculateCorners();
  }

  public void setCenter(Block block) {
    this.center = block;
  }

  public void calculateCorners() {
    int topHalfOfSide = this.sideSize / 2;

    int x = this.center.getX() + topHalfOfSide;
    int y = this.center.getY() + topHalfOfSide;
    int z = this.center.getZ() + topHalfOfSide;
    Block cornerOne = this.world.getBlockAt(x, y, z);
    this.setCornerOne(cornerOne);

    if (this.sideSize % 2 == 0) { // not a real center, bottom half is larger by 1
      int bottomHalfOfSide = this.sideSize - topHalfOfSide;
      x = this.center.getX() - bottomHalfOfSide;
      y = this.center.getY() - bottomHalfOfSide;
      z = this.center.getZ() - bottomHalfOfSide;
      Block cornerTwo = this.world.getBlockAt(x, y, z);
      this.setCornerTwo(cornerTwo);
    } else {
      x = this.center.getX() - topHalfOfSide;
      y = this.center.getY() - topHalfOfSide;
      z = this.center.getZ() - topHalfOfSide;
      Block cornerTwo = this.world.getBlockAt(x, y, z);
      this.setCornerTwo(cornerTwo);
    }
  }

  private void setSideSize(int sideSize) {
    this.sideSize = sideSize;
  }

}
TOP

Related Classes of com.tommytony.war.volume.CenteredVolume

TOP
Copyright © 2018 www.massapi.com. 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.