Files
refinedstorage/src/main/java/storagecraft/block/BlockController.java
Raoul Van den Berge 6c3c113521 initial 1.8 port
2015-12-25 18:51:58 +01:00

86 lines
2.1 KiB
Java

package storagecraft.block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import storagecraft.StorageCraft;
import storagecraft.StorageCraftGUI;
import storagecraft.tile.TileController;
public class BlockController extends BlockBase implements ITileEntityProvider
{
public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 15);
public BlockController()
{
super("controller");
}
@Override
protected BlockState createBlockState()
{
return new BlockState(this, new IProperty[]
{
ENERGY
});
}
@Override
public IBlockState getStateFromMeta(int meta)
{
return getDefaultState().withProperty(ENERGY, meta);
}
@Override
public int getMetaFromState(IBlockState state)
{
return ((Integer) state.getValue(ENERGY));
}
@Override
public TileEntity createNewTileEntity(World world, int meta)
{
return new TileController();
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(StorageCraft.INSTANCE, StorageCraftGUI.CONTROLLER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
@Override
public void onBlockDestroyedByPlayer(World world, BlockPos pos, IBlockState state) // @TODO: What about explosions?
{
((TileController) world.getTileEntity(pos)).onDestroyed();
super.onBlockDestroyedByPlayer(world, pos, state);
}
@Override
public boolean hasComparatorInputOverride()
{
return true;
}
@Override
public int getComparatorInputOverride(World world, BlockPos pos)
{
TileController tile = (TileController) world.getTileEntity(pos);
return tile.getEnergyScaled(15);
}
}