Skip to content

Commit

Permalink
Fix auto ejecting from the digital miner directly into transporters n…
Browse files Browse the repository at this point in the history
…ot working
  • Loading branch information
pupnewfster committed Mar 3, 2024
1 parent 79e8d6e commit 8deff87
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 5 deletions.
Expand Up @@ -381,8 +381,8 @@ private boolean recalculate(int stackId, TransporterStack stack, BlockPos from)
return true;
}

public TransitResponse insert(BlockEntity outputter, TransitRequest request, @Nullable EnumColor color, boolean doEmit, int min) {
return insert(outputter, outputter.getBlockPos(), request, color, doEmit, stack -> stack.recalculatePath(request, this, min, doEmit));
public TransitResponse insert(BlockEntity outputter, BlockPos outputterPos, TransitRequest request, @Nullable EnumColor color, boolean doEmit, int min) {
return insert(outputter, outputterPos, request, color, doEmit, stack -> stack.recalculatePath(request, this, min, doEmit));
}

public TransitResponse insert(BlockPos outputterPos, TransitRequest request, @Nullable EnumColor color, boolean doEmit, int min) {
Expand Down
Expand Up @@ -66,11 +66,17 @@ public static TransitRequest definedItem(IItemHandler inventory, int min, int ma
@NotNull
public TransitResponse eject(BlockEntity outputter, BlockPos targetPos, @Nullable BlockEntity target, Direction side, int min,
Function<TileEntityLogisticalTransporterBase, EnumColor> outputColor) {
return eject(outputter, outputter.getBlockPos(), targetPos, target, side, min, outputColor);
}

@NotNull
public TransitResponse eject(BlockEntity outputter, BlockPos outputterPos, BlockPos targetPos, @Nullable BlockEntity target, Direction side, int min,
Function<TileEntityLogisticalTransporterBase, EnumColor> outputColor) {
if (isEmpty()) {//Short circuit if our request is empty
return getEmptyResponse();
}
if (target instanceof TileEntityLogisticalTransporterBase transporter) {
return transporter.getTransmitter().insert(outputter, this, outputColor.apply(transporter), true, min);
return transporter.getTransmitter().insert(outputter, outputterPos, this, outputColor.apply(transporter), true, min);
}
return addToInventory(outputter.getLevel(), targetPos, target, side, min);
}
Expand Down
Expand Up @@ -133,7 +133,7 @@ private TransitResponse emitItemToTransporter(BlockPos frontPos, BlockEntity fro
if (roundRobin) {
return transporter.insertRR(this, request, filterColor, true, min);
}
return transporter.insert(this, request, filterColor, true, min);
return transporter.insert(this, getBlockPos(), request, filterColor, true, min);
}
return request.addToInventory(level, frontPos, front, getDirection(), min);
}
Expand Down
Expand Up @@ -266,7 +266,7 @@ protected void onUpdateServer() {
if (!ejectMap.isEmpty()) {
BlockPos ejectInvPos = getBlockPos().above().relative(oppositeDirection, 2);
BlockEntity ejectInv = WorldUtils.getTileEntity(level, ejectInvPos);
TransitResponse response = ejectMap.eject(this, ejectInvPos, ejectInv, oppositeDirection, 0, transporter -> transporter.getTransmitter().getColor());
TransitResponse response = ejectMap.eject(this, ejectPos, ejectInvPos, ejectInv, oppositeDirection, 0, transporter -> transporter.getTransmitter().getColor());
if (!response.isEmpty()) {
response.useAll();
}
Expand Down

0 comments on commit 8deff87

Please sign in to comment.