Refixing Tool paradigm and adding some more stuff to the Encampment

This commit is contained in:
WayofTime 2014-06-25 19:28:51 -04:00
parent cce90ce8fd
commit 6aec0a87ea
12 changed files with 387 additions and 54 deletions

View file

@ -13,6 +13,9 @@ public class BuildingSchematic
public String name;
public int doorX;
public int doorZ;
public int doorY;
public int buildingTier;
public int buildingType;
public List<BlockSet> blockList;
public BuildingSchematic()
@ -26,6 +29,9 @@ public class BuildingSchematic
blockList = new ArrayList();
this.doorX = 0;
this.doorZ = 0;
this.doorY = 0;
this.buildingTier = 0;
this.buildingType = DemonBuilding.BUILDING_HOUSE;
}
public void addBlockWithMeta(Block block, int meta, int xOffset, int yOffset, int zOffset)
@ -62,7 +68,7 @@ public class BuildingSchematic
{
int gridX = (int)((coords.xCoord+2*Math.signum(coords.xCoord))/5);
int gridZ = (int)((coords.zCoord+2*Math.signum(coords.zCoord))/5);
holder.setGridSpace(gridX, gridZ, new GridSpace(GridSpace.HOUSE,0));
}
}
@ -75,6 +81,49 @@ public class BuildingSchematic
int gridX = (int)((doorX+2*Math.signum(doorX))/5);
int gridZ = (int)((doorZ+2*Math.signum(doorZ))/5);
return new Int3(gridX, 0, gridZ);
return new Int3(gridX, doorY, gridZ);
}
public void destroyAllInField(World world, int xCoord, int yCoord, int zCoord, ForgeDirection dir)
{
GridSpaceHolder grid = this.createGSH();
for(int i=this.getMinY(); i<=this.getMaxY(); i++)
{
grid.destroyAllInGridSpaces(world, xCoord, yCoord + i, zCoord, dir);
}
}
public int getMinY()
{
int min = 0;
for(BlockSet set : blockList)
{
for(Int3 pos : set.getPositions())
{
if(pos.yCoord < min)
{
min = pos.yCoord;
}
}
}
return min;
}
public int getMaxY()
{
int max = 0;
for(BlockSet set : blockList)
{
for(Int3 pos : set.getPositions())
{
if(pos.yCoord > max)
{
max = pos.yCoord;
}
}
}
return max;
}
}