Package extracells.blocks

Source Code of extracells.blocks.RotatableColorBlock

package extracells.blocks;

import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.MinecraftForge;
import appeng.api.WorldCoord;
import appeng.api.events.GridTileConnectivityEvent;
import appeng.api.me.tiles.IGridTileEntity;

public abstract class RotatableColorBlock extends ColorBlock
{

  public RotatableColorBlock(int id, Material material)
  {
    super(id, material);
    isBlockContainer = true;
  }

  @Override
  public boolean rotateBlock(World worldObj, int x, int y, int z, ForgeDirection axis)
  {
    ForgeDirection rotation = ForgeDirection.getOrientation(worldObj.getBlockMetadata(x, y, z));

    worldObj.setBlockMetadataWithNotify(x, y, z, rotateDirecions(rotation).ordinal(), 3);
    TileEntity te = worldObj.getBlockTileEntity(x, y, z);
    if (te instanceof IGridTileEntity)
    {
      MinecraftForge.EVENT_BUS.post(new GridTileConnectivityEvent((IGridTileEntity) te, worldObj, new WorldCoord(x, y, z)));
    }
    return true;
  }

  public ForgeDirection rotateDirecions(ForgeDirection rotation)
  {
    if (ForgeDirection.VALID_DIRECTIONS.length - 1 > rotation.ordinal())
      return ForgeDirection.VALID_DIRECTIONS[rotation.ordinal() + 1];
    return ForgeDirection.VALID_DIRECTIONS[0];
  }

  public boolean isInValidRotations(World worldObj, int x, int y, int z, ForgeDirection toCheck)
  {
    for (ForgeDirection currentDirection : getValidRotations(worldObj, x, y, z))
    {
      if (currentDirection == toCheck)
        return true;
    }
    return false;
  }

  public ForgeDirection[] getValidRotations(World worldObj, int x, int y, int z)
  {
    return ForgeDirection.VALID_DIRECTIONS;
  }

  public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hiZ, int meta)
  {
    return side;
  }
}
TOP

Related Classes of extracells.blocks.RotatableColorBlock

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.