@Override public double getDistance() { return Math.max(duct.getDuct(DuctToken.ITEMS).getDuctLength(), 0); }
public void tickClientForward(DuctUnitItem homeTile) { progress += step; if (progress >= homeTile.getDuctLength()) { progress %= homeTile.getDuctLength(); if (shouldDie) { homeTile.removeItem(this, true); } else { homeTile.removeItem(this, false); shouldDie = true; TileEntity newTile = BlockHelper.getAdjacentTileEntity(homeTile.parent, direction); if (newTile instanceof IDuctHolder) { DuctUnitItem itemDuct = ((IDuctHolder) newTile).getDuct(DuctToken.ITEMS); if (itemDuct != null) { oldDirection = direction; itemDuct.myItems.add(this); if (!TickHandlerClient.tickBlocks.contains(itemDuct) && !TickHandlerClient.tickBlocksToAdd.contains(itemDuct)) { TickHandlerClient.tickBlocksToAdd.add(itemDuct); } } } } } }
public void tickForward(DuctUnitItem homeTile) { progress += step; if (myPath == null) { bounceItem(homeTile); } else if (progress >= homeTile.getDuctLength()) { progress %= homeTile.getDuctLength(); advanceTile(homeTile); } else if (progress >= homeTile.getPipeHalfLength() && progress - step < homeTile.getPipeHalfLength()) { if (reRoute || homeTile.getRenderConnectionType(direction) == BlockDuct.ConnectionType.NONE) { bounceItem(homeTile); } } }
continue; double v = (renderItem.progress + frame * renderItem.step) / (duct.getDuctLength());