net.morbz.minecraft.blocks
Class SpecialRailBlock

java.lang.Object
  extended by net.morbz.minecraft.blocks.SpecialRailBlock
All Implemented Interfaces:
IBlock

public class SpecialRailBlock
extends java.lang.Object
implements IBlock

The class for special rails (powered, detector and activator). There are straight and sloped rails that can be created via the makeStraight() and makeSloped() methods. Special rails cannot be curved.

Author:
MorbZ

Nested Class Summary
static class SpecialRailBlock.SpecialRailMaterial
          The type of the special rail.
 
Method Summary
 byte getBlockData()
          Returns the block data.
 byte getBlockId()
          Returns the block ID.
 int getTransparency()
          Returns the transparency level of this block. 0 means fully opaque, 1 means fully transparent and values > 1 mean transparent but the light level is decreased by n at this block.
static SpecialRailBlock makeSloped(SpecialRailBlock.SpecialRailMaterial material, Facing4State facing, boolean isActive)
          Creates straight rails that are sloped.
static SpecialRailBlock makeStraight(SpecialRailBlock.SpecialRailMaterial material, Facing2State facing, boolean isActive)
          Creates straight, flat rails going either in north/south or east/west direction.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

makeStraight

public static SpecialRailBlock makeStraight(SpecialRailBlock.SpecialRailMaterial material,
                                            Facing2State facing,
                                            boolean isActive)
Creates straight, flat rails going either in north/south or east/west direction.

Parameters:
material - The type of the special rails
facing - The direction of the rails
isActive - Whether the rails are active
Returns:
A new special rails block

makeSloped

public static SpecialRailBlock makeSloped(SpecialRailBlock.SpecialRailMaterial material,
                                          Facing4State facing,
                                          boolean isActive)
Creates straight rails that are sloped.

Parameters:
material - The type of the special rails
facing - The direction in which the rails are ascending
isActive - Whether the rails are active
Returns:
A new special rails block

getBlockId

public byte getBlockId()
Returns the block ID. That is the basic ID of the material without additional data.

Specified by:
getBlockId in interface IBlock
Returns:
The block ID

getBlockData

public byte getBlockData()
Returns the block data. It can hold additional information about the block depending on the material.

Specified by:
getBlockData in interface IBlock
Returns:
The block data. Only the 4 rightmost bits are relevant.

getTransparency

public int getTransparency()
Returns the transparency level of this block. 0 means fully opaque, 1 means fully transparent and values > 1 mean transparent but the light level is decreased by n at this block.

Specified by:
getTransparency in interface IBlock
Returns:
The transparency level