@author Gregorius Techneticies
| 54 | * @author Gregorius Techneticies |
| 55 | */ |
| 56 | public abstract class BlockBase extends Block implements IBlockBase { |
| 57 | public final String mNameInternal; |
| 58 | |
| 59 | public BlockBase(Class<? extends ItemBlock> aItemClass, String aNameInternal, Material aMaterial, SoundType aSoundType) { |
| 60 | super(aMaterial); |
| 61 | setStepSound(aSoundType); |
| 62 | setBlockName(mNameInternal = aNameInternal); |
| 63 | setCreativeTab(CreativeTabs.tabBlock); |
| 64 | ST.register(this, mNameInternal, aItemClass); |
| 65 | LH.add(mNameInternal+"."+W, "Any Sub-Block of this one"); |
| 66 | } |
| 67 | |
| 68 | @Override public final String getUnlocalizedName() {return mNameInternal;} |
| 69 | @Override public String getLocalizedName() {return StatCollector.translateToLocal(mNameInternal);} |
| 70 | @Override public String getHarvestTool(int aMeta) {return TOOL_pickaxe;} |
| 71 | @Override public int getHarvestLevel(int aMeta) {return 0;} |
| 72 | @Override public boolean canSilkHarvest() {return canSilkHarvest((byte)0);} |
| 73 | @Override public boolean canSilkHarvest(World aWorld, EntityPlayer aPlayer, int aX, int aY, int aZ, int aMeta) {return canSilkHarvest(UT.Code.bind4(aMeta));} |
| 74 | @Override public boolean isToolEffective(String aType, int aMeta) {return getHarvestTool(aMeta).equals(aType);} |
| 75 | @Override public boolean canBeReplacedByLeaves(IBlockAccess aWorld, int aX, int aY, int aZ) {return F;} |
| 76 | @Override public boolean isNormalCube(IBlockAccess aWorld, int aX, int aY, int aZ) {return T;} |
| 77 | @Override public boolean renderAsNormalBlock() {return T;} |
| 78 | @Override public boolean isOpaqueCube() {return T;} |
| 79 | @Override public boolean func_149730_j() {return isOpaqueCube();} |
| 80 | @Override public boolean isSideSolid(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aDirection) {return isSideSolid(WD.meta(aWorld, aX, aY, aZ), UT.Code.side(aDirection));} |
| 81 | @Override public boolean shouldSideBeRendered(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) {return isOpaqueCube() ? !WD.visOpq(aWorld.getBlock(aX, aY, aZ)) : super.shouldSideBeRendered(aWorld, aX, aY, aZ, aSide);} |
| 82 | @Override public int damageDropped(int aMeta) {return aMeta;} |
| 83 | @Override public int quantityDropped(int aMeta, int aFortune, Random aRandom) {return 1;} |
| 84 | @Override public ItemStack createStackedBlock(int aMeta) {return ST.make(this, 1, damageDropped(aMeta));} |
| 85 | @Override public int getDamageValue(World aWorld, int aX, int aY, int aZ) {return WD.meta(aWorld, aX, aY, aZ);} |
| 86 | @Override public int getLightOpacity() {return LIGHT_OPACITY_MAX;} |
| 87 | @Override public Item getItemDropped(int aMeta, Random aRandom, int aFortune) {return Item.getItemFromBlock(this);} |
| 88 | @Override public Item getItem(World aWorld, int aX, int aY, int aZ) {return Item.getItemFromBlock(this);} |
| 89 | @Override public void registerBlockIcons(IIconRegister aIconRegister) {/**/} |
| 90 | @Override public boolean canSustainPlant(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aSide, IPlantable aPlant) {return F;} |
| 91 | @Override public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess aWorld, int aX, int aY, int aZ) {byte aMeta = WD.meta(aWorld, aX, aY, aZ); return canCreatureSpawn(aMeta) && isSideSolid(aMeta, SIDE_TOP);} |
| 92 | @Override public boolean isFireSource(World aWorld, int aX, int aY, int aZ, ForgeDirection aSide) {return isFireSource(WD.meta(aWorld, aX, aY, aZ));} |
| 93 | @Override public boolean isFlammable(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aSide) {return isFlammable(WD.meta(aWorld, aX, aY, aZ));} |
| 94 | @Override public int getFlammability(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aSide) {return getFlammability(WD.meta(aWorld, aX, aY, aZ));} |
| 95 | @Override public int getFireSpreadSpeed(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aSide) {return getFireSpreadSpeed(WD.meta(aWorld, aX, aY, aZ));} |
| 96 | @Override public float getExplosionResistance(Entity aEntity, World aWorld, int aX, int aY, int aZ, double eX, double eY, double eZ) {return getExplosionResistance(WD.meta(aWorld, aX, aY, aZ));} |
| 97 | @Override public float getExplosionResistance(Entity aEntity) {return getExplosionResistance((byte)0);} |
| 98 | @Override public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {return 1;} |
| 99 | @Override public Block getBlock() {return this;} |
| 100 | @Override public byte maxMeta() {return 1;} |
| 101 | @Override public final void onNeighborBlockChange(World aWorld, int aX, int aY, int aZ, Block aBlock) {if (useGravity(WD.meta(aWorld, aX, aY, aZ))) aWorld.scheduleBlockUpdate(aX, aY, aZ, this, 2); onNeighborBlockChange2(aWorld, aX, aY, aZ, aBlock);} |
| 102 | @Override public final void onBlockAdded(World aWorld, int aX, int aY, int aZ) {if (useGravity(WD.meta(aWorld, aX, aY, aZ))) aWorld.scheduleBlockUpdate(aX, aY, aZ, this, 2); onBlockAdded2(aWorld, aX, aY, aZ);} |
| 103 | @Override public IIcon getIcon(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) {return getIcon(aSide, WD.meta(aWorld, aX, aY, aZ));} |
| 104 | |
| 105 | @Override public String name(byte aMeta) {return aMeta == W ? mNameInternal : mNameInternal + "." + aMeta;} |
| 106 | @Override public boolean useGravity(byte aMeta) {return F;} |
| 107 | @Override public boolean doesWalkSpeed(byte aMeta) {return F;} |
| 108 | @Override public boolean doesPistonPush(byte aMeta) {return F;} |
| 109 | @Override public boolean canSilkHarvest(byte aMeta) {return T;} |
| 110 | @Override public boolean canCreatureSpawn(byte aMeta) {return F;} |
| 111 | @Override public boolean isSealable(byte aMeta, byte aSide) {return isSideSolid(aMeta, aSide);} |
| 112 | @Override public boolean isFireSource(byte aMeta) {return F;} |
| 113 | @Override public boolean isFlammable(byte aMeta) {return getFlammability(aMeta) > 0;} |
nothing calls this directly
no outgoing calls
no test coverage detected