generated from tilera/1710mod
76 lines
2.6 KiB
Java
76 lines
2.6 KiB
Java
package icbm.core.di;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import icbm.core.ICBMTab;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.IIcon;
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
|
import universalelectricity.prefab.block.BlockAdvanced;
|
|
import universalelectricity.prefab.implement.IRedstoneProvider;
|
|
|
|
public abstract class BICBM extends BlockAdvanced {
|
|
protected IIcon iconTop;
|
|
protected IIcon iconSide;
|
|
protected IIcon iconBottom;
|
|
protected boolean requireSidedTextures;
|
|
|
|
public BICBM(final String name, final Material material) {
|
|
super(material);
|
|
this.requireSidedTextures = false;
|
|
this.setBlockName("icbm:" + name);
|
|
this.setCreativeTab((CreativeTabs)ICBMTab.INSTANCE);
|
|
}
|
|
|
|
@Override
|
|
public int damageDropped(final int metadata) {
|
|
return metadata;
|
|
}
|
|
|
|
@Override
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerBlockIcons(final IIconRegister iconRegister) {
|
|
super.registerBlockIcons(iconRegister);
|
|
if (this.requireSidedTextures) {
|
|
this.iconTop = iconRegister.registerIcon(
|
|
this.getUnlocalizedName().replace("tile.", "") + "_top");
|
|
this.iconSide = iconRegister.registerIcon(
|
|
this.getUnlocalizedName().replace("tile.", "") + "_side");
|
|
this.iconBottom = iconRegister.registerIcon(
|
|
this.getUnlocalizedName().replace("tile.", "") + "_bottom");
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int isProvidingStrongPower(final IBlockAccess par1IBlockAccess,
|
|
final int x, final int y, final int z,
|
|
final int side) {
|
|
final TileEntity tileEntity = par1IBlockAccess.getTileEntity(x, y, z);
|
|
if (tileEntity instanceof IRedstoneProvider) {
|
|
return ((IRedstoneProvider)tileEntity)
|
|
.isPoweringTo(ForgeDirection.getOrientation(side))
|
|
? 15
|
|
: 0;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public int isProvidingWeakPower(final IBlockAccess par1IBlockAccess,
|
|
final int x, final int y, final int z,
|
|
final int side) {
|
|
final TileEntity tileEntity = par1IBlockAccess.getTileEntity(x, y, z);
|
|
if (tileEntity instanceof IRedstoneProvider) {
|
|
return ((IRedstoneProvider)tileEntity)
|
|
.isIndirectlyPoweringTo(ForgeDirection.getOrientation(side))
|
|
? 15
|
|
: 0;
|
|
}
|
|
return 0;
|
|
}
|
|
}
|