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); } } }
@Override public ConnectionType getConnectionType(byte side) { if(this.tileCache[side] == null) { this.tileCache[side] = new Cache(pipe, null); } return cofh.thermaldynamics.duct.ConnectionType.NORMAL; }
public void insertNewItem(TravelingItem travelingItem) { grid.poll(travelingItem); transferItem(travelingItem); }
@Override public void refreshTileCacheOnSide(EnumFacing side) { if (duct.getDuct(DuctToken.ITEMS).getGrid() == null) return; duct.getDuct(DuctToken.ITEMS).getGrid().destroyAndRecreate(); }
@Override public void insertNewItem(TravelingItem travelingItem) { if (enderEnergy.getGrid() != null && enderEnergy.getGrid().myStorage.getEnergyStored() >= TDProps.ENDER_TRANSMIT_COST && enderEnergy.getGrid().myStorage.extractEnergy(TDProps.ENDER_TRANSMIT_COST, true) >= TDProps.ENDER_TRANSMIT_COST) { enderEnergy.getGrid().myStorage.extractEnergy(TDProps.ENDER_TRANSMIT_COST, false); multiAdvance(travelingItem, true); } else { super.insertNewItem(travelingItem); } }
public RouteCache<DuctUnitItem, GridItem> getCache() { return getCache(true); }
public StackMap.ItemEntry getStackEntry() { if (stack.isEmpty()) { return null; } if (stackItemEntry == null || stackItemEntry.side != getLastSide()) { stackItemEntry = new StackMap.ItemEntry(stack, getLastSide()); } return stackItemEntry; }
public boolean addItemstack(ItemStack itemStack, int side) { adjustOrPutValue(new ItemEntry(itemStack, side), itemStack.getCount(), itemStack.getCount()); return true; }
@Override public int getWeight() { if (pathWeightType == DuctItem.PATHWEIGHT_DENSE) { return 1000; } else if (pathWeightType == DuctItem.PATHWEIGHT_VACUUM) { return -1000; } else { return getDuctType().pathWeight; } }
@Override public int getDuctLength() { return isPowered() ? 1 : 60; }
public void pulseLine() { pulseLineDo(63); }
public boolean addItemEntry(ItemEntry entry, int amount) { if (entry == null) { return false; } adjustOrPutValue(entry, amount, amount); return true; }
@Override public void transferItem(TravelingItem travelingItem) { super.transferItem(travelingItem); }
@Override public boolean shouldRenderInPass(int pass) { return pass == 0 && (powered || super.shouldRenderInPass(pass)); }
@Override public boolean isOutput() { return isNode(); }
public IteratorItemstack() { iterator = StackMap.this.iterator(); }
public IItemHandler getItemHandler(int face) { return getItemHandler(EnumFacing.VALUES[face]); }
public int getDuctLength() { return _DUCT_LEN[getDuctType().type]; }
@Override public int getPipeHalfLength() { return isPowered() ? 1 : 30; }
public void pulseLine(byte dir1, byte dir2) { pulseLineDo((1 << dir1) | (1 << dir2)); }