Fix crash when something tries to access itemhandler of pattern storage
This commit is contained in:
parent
8dd27d4368
commit
b8bfddfe97
@ -14,12 +14,10 @@ import net.minecraft.world.level.block.state.BlockState;
|
|||||||
import net.minecraftforge.common.capabilities.Capability;
|
import net.minecraftforge.common.capabilities.Capability;
|
||||||
import net.minecraftforge.common.util.LazyOptional;
|
import net.minecraftforge.common.util.LazyOptional;
|
||||||
import net.minecraftforge.items.CapabilityItemHandler;
|
import net.minecraftforge.items.CapabilityItemHandler;
|
||||||
import ru.dbotthepony.mc.otm.capability.IMatterGridCell;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
|
import ru.dbotthepony.mc.otm.capability.*;
|
||||||
import ru.dbotthepony.mc.otm.matter.MatterGrid;
|
import ru.dbotthepony.mc.otm.matter.MatterGrid;
|
||||||
import ru.dbotthepony.mc.otm.Registry;
|
import ru.dbotthepony.mc.otm.Registry;
|
||||||
import ru.dbotthepony.mc.otm.capability.IMatterHandler;
|
|
||||||
import ru.dbotthepony.mc.otm.capability.IPatternStorage;
|
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability;
|
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer;
|
import ru.dbotthepony.mc.otm.container.MatteryContainer;
|
||||||
import ru.dbotthepony.mc.otm.menu.PatternStorageMenu;
|
import ru.dbotthepony.mc.otm.menu.PatternStorageMenu;
|
||||||
|
|
||||||
@ -41,6 +39,10 @@ public class BlockEntityPatternStorage extends BlockEntityMattery implements IMa
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private final LazyOptional<IItemHandler> resolver_item = LazyOptional.of(() -> patterns.handler(
|
||||||
|
((slot, stack) -> stack.getCapability(MatteryCapability.PATTERN).isPresent())
|
||||||
|
));
|
||||||
|
|
||||||
private void setChangedPatterns() {
|
private void setChangedPatterns() {
|
||||||
setChanged();
|
setChanged();
|
||||||
|
|
||||||
@ -118,8 +120,11 @@ public class BlockEntityPatternStorage extends BlockEntityMattery implements IMa
|
|||||||
@Override
|
@Override
|
||||||
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
|
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (cap == MatteryCapability.PATTERN || cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || cap == MatteryCapability.MATTER_CELL)
|
if (cap == MatteryCapability.PATTERN || cap == MatteryCapability.MATTER_CELL)
|
||||||
return resolver.cast();
|
return resolver.cast();
|
||||||
|
|
||||||
|
if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
|
||||||
|
return resolver_item.cast();
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.getCapability(cap, side);
|
return super.getCapability(cap, side);
|
||||||
|
Loading…
Reference in New Issue
Block a user