package zmaster587.advancedRocketry.tile.multiblock.machine;
import java.util.List;
import java.util.Set;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import zmaster587.advancedRocketry.api.AdvancedRocketryBlocks;
import zmaster587.advancedRocketry.inventory.TextureResources;
import zmaster587.libVulpes.LibVulpes;
import zmaster587.libVulpes.api.LibVulpesBlocks;
import zmaster587.libVulpes.block.BlockMeta;
import zmaster587.libVulpes.interfaces.IRecipe;
import zmaster587.libVulpes.inventory.modules.ModuleBase;
import zmaster587.libVulpes.inventory.modules.ModuleProgress;
import zmaster587.libVulpes.recipe.RecipesMachine;
import zmaster587.libVulpes.tile.multiblock.TileMultiBlock;
import zmaster587.libVulpes.tile.multiblock.TileMultiblockMachine;
public class TileChemicalReactor extends TileMultiblockMachine {
public static final Object[][][] structure = {
{{null, 'c',null},
{'L', 'I','L'}},
{{'P', AdvancedRocketryBlocks.blockMotor, 'P'},
{'l', new BlockMeta(LibVulpesBlocks.blockStructureBlock), 'O'}},
};
@Override
public boolean shouldHideBlock(World world, int x, int y, int z, Block tile) {
TileEntity tileEntity = world.getTileEntity(x, y, z);
return !TileMultiBlock.getMapping('P').contains(new BlockMeta(tile, BlockMeta.WILDCARD)) && tileEntity != null && !(tileEntity instanceof TileChemicalReactor);
}
@Override
public Object[][][] getStructure() {
return structure;
}
@Override
public ResourceLocation getSound() {
return TextureResources.sndRollingMachine;
}
@Override
public int getSoundDuration() {
return 30;
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return AxisAlignedBB.getBoundingBox(xCoord -2,yCoord -2, zCoord -2, xCoord + 2, yCoord + 2, zCoord + 2);
}
@Override
public List<ModuleBase> getModules(int ID, EntityPlayer player) {
List<ModuleBase> modules = super.getModules(ID, player);
modules.add(new ModuleProgress(100, 4, 0, TextureResources.crystallizerProgressBar, this));
return modules;
}
@Override
public String getMachineName() {
return "tile.chemreactor.name";
}
}