Files
Electro-Magic-Tools/src/main/java/emt/block/BlockSolars.java
T

229 lines
7.1 KiB
Java
Raw Normal View History

2016-03-16 17:49:28 +03:00
package emt.block;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import emt.EMT;
2017-01-15 17:55:14 +01:00
import emt.block.BlockBaseContainer.IconSet;
import emt.tile.TileEntityEMT;
2016-03-16 17:49:28 +03:00
import emt.tile.solar.air.TileEntityAirSolar;
2016-05-25 17:22:04 +03:00
import emt.tile.solar.air.TileEntityDoubleAirSolar;
import emt.tile.solar.air.TileEntityTripleAirSolar;
2016-03-16 17:49:28 +03:00
import emt.tile.solar.compressed.TileEntityCompressedSolar;
import emt.tile.solar.compressed.TileEntityDoubleCompressedSolar;
import emt.tile.solar.compressed.TileEntityTripleCompressedSolar;
import emt.tile.solar.dark.TileEntityDarkSolar;
import emt.tile.solar.dark.TileEntityDoubleDarkSolar;
import emt.tile.solar.dark.TileEntityTripleDarkSolar;
2016-05-25 17:22:04 +03:00
import emt.tile.solar.earth.TileEntityDoubleEarthSolar;
import emt.tile.solar.earth.TileEntityEarthSolar;
import emt.tile.solar.earth.TileEntityTripleEarthSolar;
2016-03-16 17:49:28 +03:00
import emt.tile.solar.fire.TileEntityDoubleFireSolar;
import emt.tile.solar.fire.TileEntityFireSolar;
import emt.tile.solar.fire.TileEntityTripleFireSolar;
import emt.tile.solar.order.TileEntityDoubleOrderSolar;
import emt.tile.solar.order.TileEntityOrderSolar;
import emt.tile.solar.order.TileEntityTripleOrderSolar;
import emt.tile.solar.water.TileEntityDoubleWaterSolar;
import emt.tile.solar.water.TileEntityTripleWaterSolar;
import emt.tile.solar.water.TileEntityWaterSolar;
2014-09-27 20:16:22 -07:00
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
2016-05-25 17:22:04 +03:00
import net.minecraft.util.IIcon;
2017-01-15 17:55:14 +01:00
import net.minecraft.world.IBlockAccess;
2014-09-27 20:16:22 -07:00
import net.minecraft.world.World;
import java.util.List;
2015-12-26 22:50:59 +03:00
public class BlockSolars extends BlockBaseContainer {
2016-05-25 17:22:04 +03:00
public BlockSolars(String name, int countOfMetas, int instance) {
super(name, Material.iron, soundTypeMetal, countOfMetas, instance, 4.0F);
2015-12-06 19:47:41 +03:00
}
2015-12-06 19:47:41 +03:00
@Override
@SideOnly(Side.CLIENT)
2016-05-25 17:22:04 +03:00
public void registerBlockIcons(IIconRegister ir) {
IIcon solarTop = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/solartop");
IIcon doubleSolarTop = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/doublesolartop");
IIcon tripleSolarTop = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/triplesolartop");
IIcon bottom = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/bottom");
if(instance == 0) {
iconSets[0].top = solarTop;
iconSets[1].top = doubleSolarTop;
iconSets[2].top = tripleSolarTop;
iconSets[3].top = solarTop;
iconSets[4].top = doubleSolarTop;
iconSets[5].top = tripleSolarTop;
iconSets[6].top = solarTop;
iconSets[7].top = doubleSolarTop;
iconSets[8].top = tripleSolarTop;
iconSets[9].top = solarTop;
iconSets[10].top = doubleSolarTop;
iconSets[11].top = tripleSolarTop;
iconSets[12].top = solarTop;
iconSets[13].top = doubleSolarTop;
iconSets[14].top = tripleSolarTop;
iconSets[15].top = solarTop;
iconSets[0].bottom = bottom;
iconSets[1].bottom = bottom;
iconSets[2].bottom = bottom;
iconSets[3].bottom = bottom;
iconSets[4].bottom = bottom;
iconSets[5].bottom = bottom;
iconSets[6].bottom = bottom;
iconSets[7].bottom = bottom;
iconSets[8].bottom = bottom;
iconSets[9].bottom = bottom;
iconSets[10].bottom = bottom;
iconSets[11].bottom = bottom;
iconSets[12].bottom = bottom;
iconSets[13].bottom = bottom;
iconSets[14].bottom = bottom;
iconSets[15].bottom = bottom;
IIcon side = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/side");
IIcon waterSide = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/water/waterside");
IIcon darkSide = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/dark/darkside");
IIcon orderSide = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/order/orderside");
IIcon fireSide = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/fire/fireside");
IIcon airSide = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/air/airside");
iconSets[0].side = side;
iconSets[1].side = side;
iconSets[2].side = side;
iconSets[3].side = waterSide;
iconSets[4].side = waterSide;
iconSets[5].side = waterSide;
iconSets[6].side = darkSide;
iconSets[7].side = darkSide;
iconSets[8].side = darkSide;
iconSets[9].side = orderSide;
iconSets[10].side = orderSide;
iconSets[11].side = orderSide;
iconSets[12].side = fireSide;
iconSets[13].side = fireSide;
iconSets[14].side = fireSide;
iconSets[15].side = airSide;
}
if(instance == 1) {
iconSets[0].top = doubleSolarTop;
iconSets[1].top = tripleSolarTop;
iconSets[2].top = solarTop;
iconSets[3].top = doubleSolarTop;
iconSets[4].top = tripleSolarTop;
iconSets[0].bottom = bottom;
iconSets[1].bottom = bottom;
iconSets[2].bottom = bottom;
iconSets[3].bottom = bottom;
iconSets[4].bottom = bottom;
IIcon airSide = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/air/airside");
IIcon earthSide = ir.registerIcon(EMT.TEXTURE_PATH + ":solars/earth/earthside");
iconSets[0].side = airSide;
iconSets[1].side = airSide;
iconSets[2].side = earthSide;
iconSets[3].side = earthSide;
iconSets[4].side = earthSide;
}
2015-12-06 19:47:41 +03:00
}
2015-12-06 19:47:41 +03:00
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item id, CreativeTabs tab, List list) {
2016-05-25 17:22:04 +03:00
if (instance == 0) {
for (int meta = 0; meta < 16; meta++) {
list.add(new ItemStack(id, 1, meta));
}
}
if (instance == 1) {
for (int meta = 0; meta < 5; meta++) {
list.add(new ItemStack(id, 1, meta));
}
2015-12-06 19:47:41 +03:00
}
2016-05-25 17:22:04 +03:00
2015-12-06 19:47:41 +03:00
}
2015-12-06 19:47:41 +03:00
@Override
2016-05-25 17:22:04 +03:00
public IIcon getIcon(int side, int meta) {
if (side < 1) {
return iconSets[meta].bottom;
2015-12-06 19:47:41 +03:00
}
2016-05-25 17:22:04 +03:00
if (side == 1) {
return iconSets[meta].top;
2015-12-06 19:47:41 +03:00
}
2016-05-25 17:22:04 +03:00
return iconSets[meta].side;
}
@Override
public TileEntity createTileEntity(World world, int meta) {
if (instance == 0) {
switch (meta) {
case 0:
return new TileEntityCompressedSolar();
case 1:
return new TileEntityDoubleCompressedSolar();
case 2:
return new TileEntityTripleCompressedSolar();
case 3:
return new TileEntityWaterSolar();
case 4:
return new TileEntityDoubleWaterSolar();
case 5:
return new TileEntityTripleWaterSolar();
case 6:
return new TileEntityDarkSolar();
case 7:
return new TileEntityDoubleDarkSolar();
case 8:
return new TileEntityTripleDarkSolar();
case 9:
return new TileEntityOrderSolar();
case 10:
return new TileEntityDoubleOrderSolar();
case 11:
return new TileEntityTripleOrderSolar();
case 12:
return new TileEntityFireSolar();
case 13:
return new TileEntityDoubleFireSolar();
case 14:
return new TileEntityTripleFireSolar();
case 15:
return new TileEntityAirSolar();
}
2015-12-06 19:47:41 +03:00
}
2016-05-25 17:22:04 +03:00
if (instance == 1) {
switch (meta) {
case 0:
return new TileEntityDoubleAirSolar();
case 1:
return new TileEntityTripleAirSolar();
case 2:
return new TileEntityEarthSolar();
case 3:
return new TileEntityDoubleEarthSolar();
case 4:
return new TileEntityTripleEarthSolar();
}
2015-12-06 19:47:41 +03:00
}
2016-05-25 17:22:04 +03:00
2015-12-06 19:47:41 +03:00
return super.createTileEntity(world, meta);
}
2015-12-06 19:47:41 +03:00
@Override
2016-05-25 17:22:04 +03:00
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
2015-12-06 19:47:41 +03:00
world.removeTileEntity(x, y, z);
2016-05-25 17:22:04 +03:00
super.breakBlock(world, x, y, z, block, meta);
2015-12-06 19:47:41 +03:00
}
}