Package powercrystals.core.position

Examples of powercrystals.core.position.BlockPosition


    if(worldObj.isRemote)
    {
      return;
    }
   
    BlockPosition ourbp = new BlockPosition(this);
    RedstoneNetwork.log("Cable at %s updating network", ourbp.toString());
   
    if(_network == null)
    {
      for(BlockPosition bp : ourbp.getAdjacent(true))
      {
        TileEntity te = bp.getTileEntity(worldObj);
        if(te instanceof TileEntityRedNetCable)
        {
          TileEntityRedNetCable cable = ((TileEntityRedNetCable)te);
          if(cable.getNetwork() != null && !cable.getNetwork().isInvalid())
          {
            _network = cable.getNetwork();
            break;
          }
        }
      }
    }
    if(_network == null)
    {
      RedstoneNetwork.log("Initializing new network at %s", ourbp.toString());
      setNetwork(new RedstoneNetwork(worldObj));
    }
    for(BlockPosition bp : ourbp.getAdjacent(true))
    {
      TileEntity te = bp.getTileEntity(worldObj);
      if(te instanceof TileEntityRedNetCable)
      {
        TileEntityRedNetCable cable = ((TileEntityRedNetCable)te);
View Full Code Here


    }
    _ignoreUpdates = true;
    RedstoneNetwork.log("Network with ID %d:%d notifying %d single nodes and %d omni nodes", _id, subnet, _singleNodes.get(subnet).size(), _omniNodes.size());
    for(int i = 0; i < _singleNodes.get(subnet).size(); i++)
    {
      BlockPosition bp = _singleNodes.get(subnet).get(i);
      RedstoneNetwork.log("Network with ID %d:%d notifying node %s of power state change to %d", _id, subnet, bp.toString(), _powerLevelOutput[subnet]);
      notifySingleNode(bp, subnet);
    }
    for(int i = 0; i < _omniNodes.size(); i++)
    {
      BlockPosition bp = _omniNodes.get(i);
      RedstoneNetwork.log("Network with ID %d:%d notifying omni node %s of power state change to %d", _id, subnet, bp.toString(), _powerLevelOutput[subnet]);
      notifyOmniNode(bp);
    }
    _ignoreUpdates = false;
  }
View Full Code Here

  }
 
  @Override
  public boolean activateMachine()
  {
    BlockPosition targetCoords = getNextHarvest();
   
    if(targetCoords == null)
    {
      setIdleTicks(getIdleTicksMax());
      return false;
View Full Code Here

    return true;
  }
 
  private BlockPosition getNextHarvest()
  {
    BlockPosition bp = _areaManager.getNextBlock();
   
    int searchId = worldObj.getBlockId(bp.x, bp.y, bp.z);
   
    if(!MFRRegistry.getHarvestables().containsKey(new Integer(searchId)))
    {
      _lastTree = null;
      return null;
    }
   
    IFactoryHarvestable harvestable = MFRRegistry.getHarvestables().get(new Integer(searchId));
    if(harvestable.canBeHarvested(worldObj, _settings, bp.x, bp.y, bp.z))
    {
      if(harvestable.getHarvestType() == HarvestType.Normal)
      {
        _lastTree = null;
        return bp;
      }
      else if(harvestable.getHarvestType() == HarvestType.Column)
      {
        _lastTree = null;
        return getNextVertical(bp.x, bp.y, bp.z, 0);
      }
      else if(harvestable.getHarvestType() == HarvestType.LeaveBottom)
      {
        _lastTree = null;
        return getNextVertical(bp.x, bp.y, bp.z, 1);
      }
      else if(harvestable.getHarvestType() == HarvestType.Tree)
      {
        BlockPosition temp = getNextTreeSegment(bp.x, bp.y, bp.z, false);
        if(temp != null)
        {
          _areaManager.rewindBlock();
        }
        return temp;
      }
      else if(harvestable.getHarvestType() == HarvestType.TreeFlipped)
      {
        BlockPosition temp = getNextTreeSegment(bp.x, bp.y, bp.z, true);
        if(temp != null)
        {
          _areaManager.rewindBlock();
        }
        return temp;
View Full Code Here

    if(highestBlockOffset < 0)
    {
      return null;
    }
   
    return new BlockPosition(x, y + highestBlockOffset, z);
  }
View Full Code Here

      Area a = new Area(x - MFRConfig.treeSearchMaxHorizontal.getInt(), x + MFRConfig.treeSearchMaxHorizontal.getInt(),
          yTreeAreaLowerBound, yTreeAreaUpperBound,
          z - MFRConfig.treeSearchMaxHorizontal.getInt(), z + MFRConfig.treeSearchMaxHorizontal.getInt());
     
      _treeManager = new TreeHarvestManager(a, treeFlipped ? TreeHarvestMode.HarvestInverted : TreeHarvestMode.Harvest);
      _lastTree = new BlockPosition(x, y, z);
    }
    else if(_treeManager.getIsDone())
    {
      _treeManager.reset();
    }
   
    while(true)
    {
      if(_treeManager.getIsDone())
      {
        return null;
      }
     
      BlockPosition bp = _treeManager.getNextBlock();
      blockId = worldObj.getBlockId(bp.x, bp.y, bp.z);
     
      if(MFRRegistry.getHarvestables().containsKey(new Integer(blockId)) && MFRRegistry.getHarvestables().get(new Integer(blockId)).canBeHarvested(worldObj, _settings, bp.x, bp.y, bp.z))
      {
        if(_treeManager.getIsLeafPass() && MFRRegistry.getHarvestables().get(new Integer(blockId)).getHarvestType() == HarvestType.TreeLeaf)
View Full Code Here

    return getDrill() != null;
  }
 
  private TileEntityLaserDrill getDrill()
  {
    BlockPosition bp = new BlockPosition(this);
    bp.orientation = getDirectionFacing();
    bp.moveForwards(1);
   
    if(!worldObj.isAirBlock(bp.x, bp.y, bp.z))
    {
      return null;
    }
   
    bp.moveForwards(1);
   
    TileEntity te = worldObj.getBlockTileEntity(bp.x, bp.y, bp.z);
    if(te instanceof TileEntityLaserDrill)
    {
      return ((TileEntityLaserDrill)te);
View Full Code Here

  protected boolean activateMachine()
  {
    int harvestedBlockId = 0;
    int harvestedBlockMetadata = 0;
   
    BlockPosition targetCoords = getNextTree();
    if(targetCoords == null)
    {
      setIdleTicks(getIdleTicksMax());
      return false;
    }
View Full Code Here

    return true;
  }
 
  private BlockPosition getNextTree()
  {
    BlockPosition bp = _areaManager.getNextBlock();
   
    int searchId = worldObj.getBlockId(bp.x, bp.y, bp.z);
   
    if(!MFRRegistry.getFruitLogBlockIds().contains(searchId))
    {
      _lastTree = null;
      return null;
    }
   
    BlockPosition temp = getNextTreeSegment(bp.x, bp.y, bp.z, false);
    if(temp != null)
    {
      _areaManager.rewindBlock();
    }
    return temp;
View Full Code Here

      Area a = new Area(x - MFRConfig.fruitTreeSearchMaxHorizontal.getInt(), x + MFRConfig.fruitTreeSearchMaxHorizontal.getInt(),
          yTreeAreaLowerBound, yTreeAreaUpperBound,
          z - MFRConfig.fruitTreeSearchMaxHorizontal.getInt(), z + MFRConfig.fruitTreeSearchMaxHorizontal.getInt());
     
      _treeManager = new TreeHarvestManager(a, treeFlipped ? TreeHarvestMode.HarvestInverted : TreeHarvestMode.Harvest);
      _lastTree = new BlockPosition(x, y, z);
    }
    else if(_treeManager.getIsDone())
    {
      _treeManager.reset();
    }
   
    while(true)
    {
      if(_treeManager.getIsDone())
      {
        return null;
      }
     
      BlockPosition bp = _treeManager.getNextBlock();
      blockId = worldObj.getBlockId(bp.x, bp.y, bp.z);

      if(MFRRegistry.getFruits().containsKey(new Integer(blockId)) && MFRRegistry.getFruits().get(new Integer(blockId)).canBePicked(worldObj, bp.x, bp.y, bp.z))
      {
        return bp;
View Full Code Here

TOP

Related Classes of powercrystals.core.position.BlockPosition

Copyright © 2018 www.massapicom. 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.