3668dc883a
Just a few fixes for 7.1.18, whenever it comes out.
55 lines
1.6 KiB
Java
55 lines
1.6 KiB
Java
/**
|
|
* Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team
|
|
* http://www.mod-buildcraft.com
|
|
* <p/>
|
|
* 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.api.statements.IStatementParameter;
|
|
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, IStatementParameter[] parameters) {
|
|
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.getHeight();
|
|
int zMax = (int) box.pMax().z;
|
|
|
|
Template bpt = new Template(box.sizeX(), yMax - yMin + 1, box.sizeZ());
|
|
|
|
if (box.sizeY() > 0) {
|
|
for (int x = xMin; x <= xMax; ++x) {
|
|
for (int z = zMin; z <= zMax; ++z) {
|
|
bpt.put(x - xMin, 0, z - zMin, new SchematicMask(true));
|
|
}
|
|
}
|
|
}
|
|
|
|
return bpt;
|
|
}
|
|
|
|
@Override
|
|
public BptBuilderTemplate getTemplateBuilder(Box box, World world, IStatementParameter[] parameters) {
|
|
int yMin = box.pMin().y > 0 ? (int) box.pMin().y - 1 : 0;
|
|
|
|
return new BptBuilderTemplate(getTemplate(box, world, parameters), world, box.xMin, yMin, box.zMin);
|
|
}
|
|
}
|