Reformatted all the code using the default intelji formatting options.

This commit is contained in:
modmuss50 2015-08-09 11:05:32 +01:00
parent 2f63a24070
commit e0ab0af822
363 changed files with 20524 additions and 23016 deletions

View file

@ -16,81 +16,73 @@ import techreborn.util.LogHelper;
public class MultiBlockCasing extends RectangularMultiblockControllerBase {
public boolean hasLava;
public boolean isStar = false;
public boolean isStar = false;
public MultiBlockCasing(World world) {
super(world);
}
/**
* @return True if the machine is "whole" and should be assembled. False
* otherwise.
*/
@Override
protected void isMachineWhole() throws MultiblockValidationException
{
if (connectedParts.size() < getMinimumNumberOfBlocksForAssembledMachine())
{
throw new MultiblockValidationException("Machine is too small.");
}
/**
* @return True if the machine is "whole" and should be assembled. False
* otherwise.
*/
@Override
protected void isMachineWhole() throws MultiblockValidationException {
if (connectedParts.size() < getMinimumNumberOfBlocksForAssembledMachine()) {
throw new MultiblockValidationException("Machine is too small.");
}
CoordTriplet maximumCoord = getMaximumCoord();
CoordTriplet minimumCoord = getMinimumCoord();
CoordTriplet maximumCoord = getMaximumCoord();
CoordTriplet minimumCoord = getMinimumCoord();
// Quickly check for exceeded dimensions
int deltaX = maximumCoord.x - minimumCoord.x + 1;
int deltaY = maximumCoord.y - minimumCoord.y + 1;
int deltaZ = maximumCoord.z - minimumCoord.z + 1;
// Quickly check for exceeded dimensions
int deltaX = maximumCoord.x - minimumCoord.x + 1;
int deltaY = maximumCoord.y - minimumCoord.y + 1;
int deltaZ = maximumCoord.z - minimumCoord.z + 1;
int maxX = getMaximumXSize();
int maxY = getMaximumYSize();
int maxZ = getMaximumZSize();
int minX = getMinimumXSize();
int minY = getMinimumYSize();
int minZ = getMinimumZSize();
int maxX = getMaximumXSize();
int maxY = getMaximumYSize();
int maxZ = getMaximumZSize();
int minX = getMinimumXSize();
int minY = getMinimumYSize();
int minZ = getMinimumZSize();
if (maxX > 0 && deltaX > maxX)
{
throw new MultiblockValidationException(
String.format(
"Machine is too large, it may be at most %d blocks in the X dimension",
maxX));
}
if (maxY > 0 && deltaY > maxY)
{
throw new MultiblockValidationException(
String.format(
"Machine is too large, it may be at most %d blocks in the Y dimension",
maxY));
}
if (maxZ > 0 && deltaZ > maxZ)
{
throw new MultiblockValidationException(
String.format(
"Machine is too large, it may be at most %d blocks in the Z dimension",
maxZ));
}
if (deltaX < minX)
{
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the X dimension",
minX));
}
if (deltaY < minY)
{
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the Y dimension",
minY));
}
if (deltaZ < minZ)
{
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the Z dimension",
minZ));
}
if (maxX > 0 && deltaX > maxX) {
throw new MultiblockValidationException(
String.format(
"Machine is too large, it may be at most %d blocks in the X dimension",
maxX));
}
if (maxY > 0 && deltaY > maxY) {
throw new MultiblockValidationException(
String.format(
"Machine is too large, it may be at most %d blocks in the Y dimension",
maxY));
}
if (maxZ > 0 && deltaZ > maxZ) {
throw new MultiblockValidationException(
String.format(
"Machine is too large, it may be at most %d blocks in the Z dimension",
maxZ));
}
if (deltaX < minX) {
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the X dimension",
minX));
}
if (deltaY < minY) {
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the Y dimension",
minY));
}
if (deltaZ < minZ) {
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the Z dimension",
minZ));
}
// if(checkIfStarShape(minimumCoord.x, minimumCoord.y, minimumCoord.z)){
@ -100,133 +92,104 @@ public class MultiBlockCasing extends RectangularMultiblockControllerBase {
// isStar = false;
// }
if (deltaY < 4)
{
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the Y dimension",
minY));
if (deltaY < 4) {
throw new MultiblockValidationException(
String.format(
"Machine is too small, it must be at least %d blocks in the Y dimension",
minY));
}
// Now we run a simple check on each block within that volume.
// Any block deviating = NO DEAL SIR
TileEntity te;
RectangularMultiblockTileEntityBase part;
Class<? extends RectangularMultiblockControllerBase> myClass = this
.getClass();
// Now we run a simple check on each block within that volume.
// Any block deviating = NO DEAL SIR
TileEntity te;
RectangularMultiblockTileEntityBase part;
Class<? extends RectangularMultiblockControllerBase> myClass = this
.getClass();
for (int x = minimumCoord.x; x <= maximumCoord.x; x++)
{
for (int y = minimumCoord.y; y <= maximumCoord.y; y++)
{
for (int z = minimumCoord.z; z <= maximumCoord.z; z++)
{
// Okay, figure out what sort of block this should be.
for (int x = minimumCoord.x; x <= maximumCoord.x; x++) {
for (int y = minimumCoord.y; y <= maximumCoord.y; y++) {
for (int z = minimumCoord.z; z <= maximumCoord.z; z++) {
// Okay, figure out what sort of block this should be.
te = this.worldObj.getTileEntity(x, y, z);
if (te instanceof RectangularMultiblockTileEntityBase)
{
part = (RectangularMultiblockTileEntityBase) te;
te = this.worldObj.getTileEntity(x, y, z);
if (te instanceof RectangularMultiblockTileEntityBase) {
part = (RectangularMultiblockTileEntityBase) te;
// Ensure this part should actually be allowed within a
// cube of this controller's type
if (!myClass.equals(part.getMultiblockControllerType()))
{
throw new MultiblockValidationException(
String.format(
"Part @ %d, %d, %d is incompatible with machines of type %s",
x, y, z, myClass.getSimpleName()));
}
} else
{
// This is permitted so that we can incorporate certain
// non-multiblock parts inside interiors
part = null;
}
// Ensure this part should actually be allowed within a
// cube of this controller's type
if (!myClass.equals(part.getMultiblockControllerType())) {
throw new MultiblockValidationException(
String.format(
"Part @ %d, %d, %d is incompatible with machines of type %s",
x, y, z, myClass.getSimpleName()));
}
} else {
// This is permitted so that we can incorporate certain
// non-multiblock parts inside interiors
part = null;
}
// Validate block type against both part-level and
// material-level validators.
int extremes = 0;
if (x == minimumCoord.x)
{
extremes++;
}
if (y == minimumCoord.y)
{
extremes++;
}
if (z == minimumCoord.z)
{
extremes++;
}
// Validate block type against both part-level and
// material-level validators.
int extremes = 0;
if (x == minimumCoord.x) {
extremes++;
}
if (y == minimumCoord.y) {
extremes++;
}
if (z == minimumCoord.z) {
extremes++;
}
if (x == maximumCoord.x)
{
extremes++;
}
if (y == maximumCoord.y)
{
extremes++;
}
if (z == maximumCoord.z)
{
extremes++;
}
if (x == maximumCoord.x) {
extremes++;
}
if (y == maximumCoord.y) {
extremes++;
}
if (z == maximumCoord.z) {
extremes++;
}
if (extremes >= 2)
{
if (part != null)
{
part.isGoodForFrame();
} else
{
isBlockGoodForFrame(this.worldObj, x, y, z);
}
} else if (extremes == 1)
{
if (y == maximumCoord.y)
{
if (part != null)
{
part.isGoodForTop();
} else
{
isBlockGoodForTop(this.worldObj, x, y, z);
}
} else if (y == minimumCoord.y)
{
if (part != null)
{
part.isGoodForBottom();
} else
{
isBlockGoodForBottom(this.worldObj, x, y, z);
}
} else
{
// Side
if (part != null)
{
part.isGoodForSides();
} else
{
isBlockGoodForSides(this.worldObj, x, y, z);
}
}
} else
{
if (part != null)
{
part.isGoodForInterior();
} else
{
isBlockGoodForInterior(this.worldObj, x, y, z);
}
}
}
}
}
}
if (extremes >= 2) {
if (part != null) {
part.isGoodForFrame();
} else {
isBlockGoodForFrame(this.worldObj, x, y, z);
}
} else if (extremes == 1) {
if (y == maximumCoord.y) {
if (part != null) {
part.isGoodForTop();
} else {
isBlockGoodForTop(this.worldObj, x, y, z);
}
} else if (y == minimumCoord.y) {
if (part != null) {
part.isGoodForBottom();
} else {
isBlockGoodForBottom(this.worldObj, x, y, z);
}
} else {
// Side
if (part != null) {
part.isGoodForSides();
} else {
isBlockGoodForSides(this.worldObj, x, y, z);
}
}
} else {
if (part != null) {
part.isGoodForInterior();
} else {
isBlockGoodForInterior(this.worldObj, x, y, z);
}
}
}
}
}
}
@Override
public void onAttachedPartWithMultiblockData(IMultiblockPart part,
@ -347,116 +310,117 @@ public class MultiBlockCasing extends RectangularMultiblockControllerBase {
if (block.getUnlocalizedName().equals("tile.air")) {
} else if (block.getUnlocalizedName().equals("tile.lava")) {
hasLava = true;
hasLava = true;
} else {
super.isBlockGoodForInterior(world, x, y, z);
}
}
/**
* This is horrible code, don't look at this
* @param x
* @param y
* @param z
* @return
*/
public boolean checkIfStarShape(int x, int y, int z){
boolean isSolid = true;
/**
* This is horrible code, don't look at this
*
* @param x
* @param y
* @param z
* @return
*/
TileEntity te;
{//corners
te = this.worldObj.getTileEntity(x, y, z);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
public boolean checkIfStarShape(int x, int y, int z) {
boolean isSolid = true;
te = this.worldObj.getTileEntity(x + 2, y, z);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
TileEntity te;
{//corners
te = this.worldObj.getTileEntity(x, y, z);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x, y, z + 2);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x + 2, y, z);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x + 2, y, z + 2);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x, y, z + 2);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x, y + 2, z);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x + 2, y, z + 2);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x + 2, y + 2, z);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x, y + 2, z);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x, y + 2, z + 2);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x + 2, y + 2, z);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x + 2, y + 2, z + 2);
isSolid = checkTeIsCorner(te);
if(!isSolid){
return false;
}
}
{//middle blocks
for (int i = 0; i < 3; i++) {
te = this.worldObj.getTileEntity(x, y + 2, z + 2);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x + 2, y + 2, z + 2);
isSolid = checkTeIsCorner(te);
if (!isSolid) {
return false;
}
}
{//middle blocks
for (int i = 0; i < 3; i++) {
System.out.println(this.worldObj.getBlock(x, y - 1, z));
te = this.worldObj.getTileEntity(x + 1, y + i, z);
isSolid = checkTeIsCenter(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x, y + i, z + 1);
isSolid = checkTeIsCenter(te);
if(!isSolid){
return false;
}
isSolid = checkTeIsCenter(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x, y + i, z + 1);
isSolid = checkTeIsCenter(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x + 1, y + i, z + 1);
isSolid = checkTeIsCenter(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x + 1, y + i, z + 1);
isSolid = checkTeIsCenter(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x + 2, y + i, z + 1);
isSolid = checkTeIsCenter(te);
if(!isSolid){
return false;
}
te = this.worldObj.getTileEntity(x + 2, y + i, z + 1);
isSolid = checkTeIsCenter(te);
if (!isSolid) {
return false;
}
te = this.worldObj.getTileEntity(x + 1, y + i, z + 2);
isSolid = checkTeIsCenter(te);
if(!isSolid){
return false;
}
}
}
return isSolid;
}
te = this.worldObj.getTileEntity(x + 1, y + i, z + 2);
isSolid = checkTeIsCenter(te);
if (!isSolid) {
return false;
}
}
}
return isSolid;
}
public boolean checkTeIsCorner(TileEntity te){
public boolean checkTeIsCorner(TileEntity te) {
return (te.blockType instanceof BlockMachineCasing && te.blockMetadata == 0);
}
}
public boolean checkTeIsCenter(TileEntity te) {
return (te.blockType instanceof BlockMachineCasing && te.blockMetadata == 1);
}
public boolean checkTeIsCenter(TileEntity te){
return (te.blockType instanceof BlockMachineCasing && te.blockMetadata == 1);
}
}