Fix hopping item interface

This commit is contained in:
Mrbysco 2024-03-13 01:02:49 +01:00
parent 26758cb41b
commit 5a1eabeac4
3 changed files with 12 additions and 10 deletions

View file

@ -198,16 +198,15 @@ public class TileEntityItemInterface extends TileEntityBase {
int slotsQueried = 0;
for (GenericItemHandlerInfo info : this.genericInfos) {
if (!info.isLoaded()) continue;
for (SlotlessableItemHandlerWrapper handler : info.handlers) {
Optional<IItemHandler> normalHandler = Optional.ofNullable(handler.getNormalHandler());
slotsQueried += normalHandler.map(cap -> {
int queried = 0;
for (int i = 0; i < cap.getSlots(); i++) {
this.itemHandlerInfos.put(queried, new IItemHandlerInfo(cap, i, info.relayInQuestion));
queried++;
IItemHandler normalHandler = handler.getNormalHandler();
if (normalHandler != null) {
for (int i = 0; i < normalHandler.getSlots(); i++) {
this.itemHandlerInfos.put(slotsQueried, new IItemHandlerInfo(normalHandler, i, info.relayInQuestion));
slotsQueried++;
}
return queried;
}).orElse(0);
}
// TODO: [port] add back
// if (ActuallyAdditions.commonCapsLoaded) {

View file

@ -41,6 +41,7 @@ import net.neoforged.neoforge.event.EventHooks;
import net.neoforged.neoforge.event.level.BlockEvent.BreakEvent;
import net.neoforged.neoforge.fluids.FluidStack;
import net.neoforged.neoforge.fluids.capability.IFluidHandler;
import net.neoforged.neoforge.items.IItemHandler;
import java.util.ArrayList;
import java.util.List;
@ -94,7 +95,7 @@ public final class WorldUtil {
}
if (!StackUtil.isValid(extracted)) {
/* IItemHandler handler = extractWrapper.getNormalHandler();
IItemHandler handler = extractWrapper.getNormalHandler();
if (handler != null) {
for (int i = Math.max(0, slotStart); i < Math.min(slotEnd, handler.getSlots()); i++) {
if (filter == null || !filter.needsCheck() || filter.check(handler.getStackInSlot(i))) {
@ -105,7 +106,7 @@ public final class WorldUtil {
}
}
}
}*/
}
}
return extracted;

View file

@ -16,6 +16,7 @@ public class SlotlessableItemHandlerWrapper {
//TODO: Check if we need this wrapper at all? The previous implementation used CommonCapabilities ISlotlessItemhandler
private final IItemHandler normalHandler;
@Deprecated
private final Object slotlessHandler;
public SlotlessableItemHandlerWrapper(IItemHandler normalHandler, Object slotlessHandler) {
@ -27,6 +28,7 @@ public class SlotlessableItemHandlerWrapper {
return this.normalHandler;
}
@Deprecated
public Object getSlotlessHandler() {
return this.slotlessHandler;
}