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

Class BlockBaseRail

src/main/java/gregapi/block/misc/BlockBaseRail.java:63–345  ·  view source on GitHub ↗

@author Gregorius Techneticies

Source from the content-addressed store, hash-verified

61 * @author Gregorius Techneticies
62 */
63public class BlockBaseRail extends BlockRailBase implements IBlockBase, IBlockSealable, IBlockToolable {
64 public final String mNameInternal;
65 public final float mSpeed, mExplosionResistance;
66 public final IIconContainer mIconPrimary, mIconSecondary;
67 public final int mHarvestLevel;
68 public final boolean mPowerRail, mDetectorRail;
69
70 /** @param aSpeed is usually 0.4F */
71 public BlockBaseRail(Class<? extends ItemBlockBase> aItemClass, String aNameInternal, String aLocalName, boolean aPowerRail, boolean aDetectorRail, float aSpeed, float aExplosionResistance, int aHarvestLevel, IIconContainer aIconPrimary, IIconContainer aIconSecondary) {
72 super(aPowerRail || aDetectorRail);
73 setBlockName(mNameInternal = aNameInternal);
74 setCreativeTab(CreativeTabs.tabTransport);
75 ST.register(this, mNameInternal, aItemClass);
76 LH.add(mNameInternal, aLocalName);
77 mExplosionResistance = aExplosionResistance;
78 mHarvestLevel = aHarvestLevel;
79 mSpeed = aSpeed;
80 mIconSecondary = aIconSecondary;
81 mIconPrimary = aIconPrimary;
82 mDetectorRail = aDetectorRail;
83 mPowerRail = aPowerRail;
84 if (aPowerRail) REDSTONE_SINKS.add(this);
85 if (COMPAT_FR != null) COMPAT_FR.addToBackpacks("builder", ST.make(this, 1, W));
86 }
87
88 @Override
89 @SuppressWarnings("unchecked")
90 public void addInformation(ItemStack aStack, byte aMeta, EntityPlayer aPlayer, @SuppressWarnings("rawtypes") List aList, boolean aF3_H) {
91 aList.add(LH.Chat.CYAN + LH.get(LH.TOOLTIP_RAILSPEED) + LH.Chat.GREEN + Math.min(MD.RC.mLoaded ? 3 : 10, mSpeed/0.4F) + "x");
92 }
93
94 @Override public final String getUnlocalizedName() {return mNameInternal;}
95 @Override public String name(byte aMeta) {return mNameInternal;}
96 @Override public String getLocalizedName() {return StatCollector.translateToLocal(mNameInternal);}
97 @Override public float getBlockHardness(World aWorld, int aX, int aY, int aZ) {return Blocks.rail.getBlockHardness(aWorld, aX, aY, aZ);}
98 @Override public float getExplosionResistance(Entity aEntity, World aWorld, int aX, int aY, int aZ, double eX, double eY, double eZ) {return mExplosionResistance;}
99 @Override public float getExplosionResistance(Entity aEntity) {return mExplosionResistance;}
100 @Override public String getHarvestTool(int aMeta) {return TOOL_crowbar;}
101 @Override public int getHarvestLevel(int aMeta) {return mHarvestLevel;}
102 @Override public boolean canSilkHarvest() {return canSilkHarvest((byte)0);}
103 @Override public boolean canSilkHarvest(World aWorld, EntityPlayer aPlayer, int aX, int aY, int aZ, int aMeta) {return canSilkHarvest(UT.Code.bind4(aMeta));}
104 @Override public boolean isToolEffective(String aType, int aMeta) {return getHarvestTool(aMeta).equals(aType);}
105 @Override public boolean canBeReplacedByLeaves(IBlockAccess aWorld, int aX, int aY, int aZ) {return F;}
106 @Override public boolean isNormalCube(IBlockAccess aWorld, int aX, int aY, int aZ) {return F;}
107 @Override public boolean renderAsNormalBlock() {return F;}
108 @Override public boolean isOpaqueCube() {return F;}
109 @Override public boolean isSideSolid(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aDirection) {return F;}
110 @Override public int damageDropped(int aMeta) {return 0;}
111 @Override public int quantityDropped(Random par1Random) {return 1;}
112 @Override public int getDamageValue(World aWorld, int aX, int aY, int aZ) {return 0;}
113 @Override public int getLightOpacity() {return LIGHT_OPACITY_NONE;}
114 @Override public Item getItemDropped(int par1, Random par2Random, int par3) {return Item.getItemFromBlock(this);}
115 @Override public Item getItem(World aWorld, int aX, int aY, int aZ) {return Item.getItemFromBlock(this);}
116 @Override public void registerBlockIcons(IIconRegister aIconRegister) {/**/}
117 @Override public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess aWorld, int aX, int aY, int aZ) {return canCreatureSpawn(WD.meta(aWorld, aX, aY, aZ));}
118 @SuppressWarnings("unchecked") @Override public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, @SuppressWarnings("rawtypes") List aList) {aList.add(ST.make(aItem, 1, 0));}
119 @Override public IIcon getIcon(int aSide, int aMeta) {return ((mPowerRail||mDetectorRail?(aMeta&8)!=0:aMeta>=6)?mIconSecondary:mIconPrimary).getIcon(0);}
120 @Override public boolean isSealed(World aWorld, int aX, int aY, int aZ, ForgeDirection aDirection) {return F;}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected