TechReborn/src/main/java/techreborn/tiles/TileMachineCasing.java

103 lines
2 KiB
Java
Raw Normal View History

package techreborn.tiles;
2015-05-04 09:44:44 +02:00
import codechicken.multipart.MultiPartRegistry;
import erogenousbeef.coreTR.multiblock.MultiblockRegistry;
import erogenousbeef.coreTR.multiblock.MultiblockWorldRegistry;
2015-04-24 15:20:09 +02:00
import techreborn.multiblocks.MultiBlockCasing;
import erogenousbeef.coreTR.multiblock.MultiblockControllerBase;
import erogenousbeef.coreTR.multiblock.MultiblockValidationException;
import erogenousbeef.coreTR.multiblock.rectangular.RectangularMultiblockTileEntityBase;
2015-05-04 09:44:44 +02:00
import techreborn.multiblocks.MultiblockImplosionCompressor;
public class TileMachineCasing extends RectangularMultiblockTileEntityBase {
2015-05-04 09:44:44 +02:00
int ticks;
boolean isStarShape = false;
2015-04-24 15:20:09 +02:00
@Override
public boolean canUpdate()
{
2015-05-04 09:44:44 +02:00
return true;
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
@Override
public void onMachineActivated()
{
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
@Override
public void onMachineDeactivated()
{
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
@Override
public MultiblockControllerBase createNewMultiblock()
{
2015-05-04 09:44:44 +02:00
if(isStarShape)
{
return new MultiblockImplosionCompressor(worldObj);
}
2015-04-24 15:20:09 +02:00
return new MultiBlockCasing(worldObj);
}
2015-04-24 15:20:09 +02:00
@Override
public Class<? extends MultiblockControllerBase> getMultiblockControllerType()
{
2015-05-04 09:44:44 +02:00
if(isStarShape)
{
return MultiblockImplosionCompressor.class;
}
2015-04-24 15:20:09 +02:00
return MultiBlockCasing.class;
}
2015-04-24 15:20:09 +02:00
@Override
public void isGoodForFrame() throws MultiblockValidationException
{
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
@Override
public void isGoodForSides() throws MultiblockValidationException
{
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
@Override
public void isGoodForTop() throws MultiblockValidationException
{
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
@Override
public void isGoodForBottom() throws MultiblockValidationException
{
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
@Override
public void isGoodForInterior() throws MultiblockValidationException
{
2015-04-24 15:20:09 +02:00
}
2015-04-24 15:20:09 +02:00
public MultiBlockCasing getMultiblockController()
{
return (MultiBlockCasing) super.getMultiblockController();
}
2015-05-04 09:44:44 +02:00
@Override
public void updateEntity() {
super.updateEntity();
if(getMultiblockController() == null || !getMultiblockController().isAssembled()){
ticks ++;
if(ticks == 20){
isStarShape = !isStarShape;
ticks = 0;
//TODO recalculate multiblock
}
}
}
}