Package buildcraft.core.builders.patterns

Source Code of buildcraft.core.builders.patterns.PatternHorizon

/**
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
*
* BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.builders.patterns;

import net.minecraft.world.World;
import buildcraft.api.blueprints.SchematicMask;
import buildcraft.core.Box;
import buildcraft.core.blueprints.BptBuilderTemplate;
import buildcraft.core.blueprints.Template;

public class PatternHorizon extends FillerPattern {

  public PatternHorizon() {
    super("horizon");
  }

  @Override
  public Template getTemplate (Box box, World world) {
    int xMin = (int) box.pMin().x;
    int yMin = box.pMin().y > 0 ? (int) box.pMin().y - 1 : 0;
    int zMin = (int) box.pMin().z;

    int xMax = (int) box.pMax().x;
    int yMax = world.getActualHeight();
    int zMax = (int) box.pMax().z;

    Template bpt = new Template(box.sizeX(), yMax - yMin + 1, box.sizeZ());

    if (box.pMin().y > 0) {
      for (int x = xMin; x <= xMax; ++x) {
        for (int z = zMin; z <= zMax; ++z) {
          bpt.contents[x - xMin][0][z - zMin] = new SchematicMask(true);
        }
      }
    }

    return bpt;
  }

  @Override
  public BptBuilderTemplate getTemplateBuilder (Box box, World world) {
    int yMin = box.pMin().y > 0 ? (int) box.pMin().y - 1 : 0;

    return new BptBuilderTemplate(getTemplate(box, world), world, box.xMin, yMin, box.zMin);
  }
}
TOP

Related Classes of buildcraft.core.builders.patterns.PatternHorizon

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.