MCPcopy Index your code
hub / github.com/GregTech6/gregtech6 / BlockBaseFlower

Class BlockBaseFlower

src/main/java/gregapi/block/misc/BlockBaseFlower.java:61–176  ·  view source on GitHub ↗

@author Gregorius Techneticies

Source from the content-addressed store, hash-verified

59 * @author Gregorius Techneticies
60 */
61@Optional.InterfaceList(value = {
62 @Optional.Interface(iface = "micdoodle8.mods.galacticraft.api.block.IOxygenReliantBlock", modid = ModIDs.GC)
63})
64public abstract class BlockBaseFlower extends BlockFlower implements IBlockBase, IBlockSealable, IOxygenReliantBlock, IGrowable {
65 public final String mNameInternal;
66 public IIconContainer[] mIcons;
67 /** For Creative Subsets, not actually important. */
68 private final byte mMaxMeta;
69
70 /** @param aSpeed is usually 0.4F */
71 public BlockBaseFlower(Class<? extends ItemBlockBase> aItemClass, String aNameInternal, long aMaxMeta, IIconContainer[] aIcons) {
72 super(0);
73 mMaxMeta = (byte)(UT.Code.bind4(aMaxMeta-1)+1);
74 mIcons = aIcons;
75 setStepSound(soundTypeGrass);
76 setBlockName(mNameInternal = aNameInternal);
77 setCreativeTab(CreativeTabs.tabDecorations);
78 ST.register(this, mNameInternal, aItemClass);
79 if (MD.RC.mLoaded) try {EntityTunnelBore.addMineableBlock(this);} catch(Throwable e) {e.printStackTrace(ERR);}
80 if (COMPAT_FR != null) COMPAT_FR.addToBackpacks("forester", ST.make(this, 1, W));
81 }
82
83 @Override public final String getUnlocalizedName() {return mNameInternal;}
84 @Override public String name(byte aMeta) {return mNameInternal + "." + aMeta;}
85 @Override public String getLocalizedName() {return StatCollector.translateToLocal(mNameInternal);}
86 @Override public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {return 0;}
87 @Override public float getExplosionResistance(Entity aEntity, World aWorld, int aX, int aY, int aZ, double eX, double eY, double eZ) {return 0;}
88 @Override public float getExplosionResistance(Entity aEntity) {return 0;}
89 @Override public String getHarvestTool(int aMeta) {return TOOL_sword;}
90 @Override public int getHarvestLevel(int aMeta) {return 0;}
91 @Override public boolean canSilkHarvest() {return canSilkHarvest((byte)0);}
92 @Override public boolean canSilkHarvest(World aWorld, EntityPlayer aPlayer, int aX, int aY, int aZ, int aMeta) {return canSilkHarvest(UT.Code.bind4(aMeta));}
93 @Override public boolean isToolEffective(String aType, int aMeta) {return T;}
94 @Override public boolean canBeReplacedByLeaves(IBlockAccess aWorld, int aX, int aY, int aZ) {return T;}
95 @Override public boolean isNormalCube(IBlockAccess aWorld, int aX, int aY, int aZ) {return F;}
96 @Override public boolean isSideSolid(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aDirection) {return F;}
97 @Override public int damageDropped(int aMeta) {return aMeta;}
98 @Override public int quantityDropped(Random par1Random) {return 1;}
99 @Override public int getDamageValue(World aWorld, int aX, int aY, int aZ) {return WD.meta(aWorld, aX, aY, aZ);}
100 @Override public int getLightOpacity() {return LIGHT_OPACITY_NONE;}
101 @Override public Item getItemDropped(int par1, Random aRandom, int par3) {return Item.getItemFromBlock(this);}
102 @Override public Item getItem(World aWorld, int aX, int aY, int aZ) {return Item.getItemFromBlock(this);}
103 @Override public void registerBlockIcons(IIconRegister aIconRegister) {/**/}
104 @Override public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess aWorld, int aX, int aY, int aZ) {return F;}
105 @SuppressWarnings("unchecked") @Override public void getSubBlocks(Item aItem, CreativeTabs aTab, @SuppressWarnings("rawtypes") List aList) {for (int i = 0; i < maxMeta(); i++) aList.add(ST.make(aItem, 1, i));}
106 @Override public boolean isSealed(World aWorld, int aX, int aY, int aZ, ForgeDirection aDirection) {return F;}
107 @Override public Block getBlock() {return this;}
108 @Override public byte maxMeta() {return mMaxMeta;}
109 @Override public IIcon getIcon(int aSide, int aMeta) {return mIcons[aMeta % mIcons.length].getIcon(0);}
110 @Override public void onOxygenAdded(World aWorld, int aX, int aY, int aZ) {/**/}
111 @Override public void onOxygenRemoved(World aWorld, int aX, int aY, int aZ) {if (!aWorld.isRemote && !WD.oxygen(aWorld, aX, aY, aZ)) {aWorld.setBlock(aX, aY, aZ, NB, 0, 3); return;}}
112
113 @Override public void addInformation(ItemStack aStack, byte aMeta, EntityPlayer aPlayer, List<String> aList, boolean aF3_H) {/**/}
114 @Override public float getExplosionResistance(byte aMeta) {return 0;}
115 @Override public boolean useGravity(byte aMeta) {return F;}
116 @Override public boolean doesWalkSpeed(byte aMeta) {return F;}
117 @Override public boolean doesPistonPush(byte aMeta) {return F;}
118 @Override public boolean canSilkHarvest(byte aMeta) {return T;}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected