2013-01-02 19:55:29 +01:00
|
|
|
package liquidmechanics.common.block;
|
2012-11-14 19:16:22 +01:00
|
|
|
|
2013-01-02 19:55:29 +01:00
|
|
|
import liquidmechanics.client.render.BlockRenderHelper;
|
|
|
|
import liquidmechanics.common.LiquidMechanics;
|
|
|
|
import liquidmechanics.common.TabLiquidMechanics;
|
|
|
|
import liquidmechanics.common.tileentity.TileEntityRod;
|
2012-12-22 10:44:17 +01:00
|
|
|
import net.minecraft.block.material.Material;
|
|
|
|
import net.minecraft.entity.EntityLiving;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2012-12-24 06:20:30 +01:00
|
|
|
import net.minecraft.item.ItemStack;
|
2012-12-22 10:44:17 +01:00
|
|
|
import net.minecraft.tileentity.TileEntity;
|
|
|
|
import net.minecraft.util.MathHelper;
|
2012-12-24 06:20:30 +01:00
|
|
|
import net.minecraft.util.MovingObjectPosition;
|
2012-12-22 10:44:17 +01:00
|
|
|
import net.minecraft.world.World;
|
2012-11-14 19:16:22 +01:00
|
|
|
import net.minecraftforge.common.ForgeDirection;
|
|
|
|
|
2012-12-22 14:46:23 +01:00
|
|
|
public class BlockRod extends universalelectricity.prefab.BlockMachine
|
|
|
|
{
|
2012-11-14 19:16:22 +01:00
|
|
|
|
2012-12-22 14:46:23 +01:00
|
|
|
public BlockRod(int par1)
|
|
|
|
{
|
|
|
|
super("MechanicRod", par1, Material.iron);
|
2013-01-02 19:55:29 +01:00
|
|
|
this.setCreativeTab(TabLiquidMechanics.INSTANCE);
|
2012-12-23 11:28:26 +01:00
|
|
|
this.setHardness(1f);
|
|
|
|
this.setResistance(5f);
|
2012-12-22 14:46:23 +01:00
|
|
|
}
|
2012-11-14 19:16:22 +01:00
|
|
|
|
2012-12-22 14:46:23 +01:00
|
|
|
@Override
|
|
|
|
public int damageDropped(int metadata)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2013-01-02 19:55:29 +01:00
|
|
|
public void onBlockPlacedBy(World world, int i, int j, int k,
|
|
|
|
EntityLiving player)
|
2012-12-22 14:46:23 +01:00
|
|
|
{
|
2013-01-02 19:55:29 +01:00
|
|
|
int angle = MathHelper
|
|
|
|
.floor_double((player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
|
2012-12-22 14:46:23 +01:00
|
|
|
int meta = 0;
|
|
|
|
ForgeDirection idr;
|
|
|
|
int dZ = 0;
|
|
|
|
int dX = 0;
|
|
|
|
switch (angle)
|
|
|
|
{
|
|
|
|
case 0:
|
|
|
|
meta = 2;
|
|
|
|
dZ--;
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
meta = 5;
|
|
|
|
dX--;
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
meta = 3;
|
|
|
|
dZ++;
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
meta = 4;
|
|
|
|
dX++;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
world.setBlockAndMetadataWithUpdate(i, j, k, blockID, meta, true);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean onUseWrench(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
|
|
|
|
{
|
|
|
|
int meta = world.getBlockMetadata(x, y, z);
|
|
|
|
if (meta >= 5)
|
|
|
|
{
|
|
|
|
world.setBlockMetadataWithNotify(x, y, z, 0);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
world.setBlockMetadataWithNotify(x, y, z, meta + 1);
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public TileEntity createNewTileEntity(World var1)
|
|
|
|
{
|
|
|
|
return new TileEntityRod();
|
|
|
|
}
|
|
|
|
|
2013-01-02 19:55:29 +01:00
|
|
|
@Override
|
2012-12-22 14:46:23 +01:00
|
|
|
public boolean isOpaqueCube()
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
2013-01-02 19:55:29 +01:00
|
|
|
|
2012-12-24 06:20:30 +01:00
|
|
|
@Override
|
|
|
|
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
|
|
|
|
{
|
2013-01-02 19:55:29 +01:00
|
|
|
return new ItemStack(LiquidMechanics.blockRod, 1, 0);
|
2012-12-24 06:20:30 +01:00
|
|
|
}
|
2013-01-02 19:55:29 +01:00
|
|
|
|
|
|
|
@Override
|
2012-12-22 14:46:23 +01:00
|
|
|
public boolean renderAsNormalBlock()
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2013-01-02 19:55:29 +01:00
|
|
|
@Override
|
2012-12-22 14:46:23 +01:00
|
|
|
public int getRenderType()
|
|
|
|
{
|
2012-12-24 06:20:30 +01:00
|
|
|
return BlockRenderHelper.renderID;
|
2012-12-22 14:46:23 +01:00
|
|
|
}
|
2012-11-14 19:16:22 +01:00
|
|
|
|
|
|
|
}
|