Iterating trough slots

I have been trying to make a plugin to block crafting of certain items and one of the ways I found to do this is iterating trough all the slots on the inventory, getting the crafting output slot and checking if the item there is on the list of the banned items.
It works for items crafted on the player inventory, but i can’t get it to work for crafting table. any suggestions on how to fix this?

> Code:
> 	if (targetInventory instanceof ContainerWorkbench) {
> 		for (Inventory slot : targetInventory.slots()) {
> 			player.sendMessage(Text.of("Hello?"));
> 			if (slot instanceof OutputSlot && slot.peek().isPresent()) {
> 				player.sendMessage(Text.of("is it me you're looking for? ", slot.peek().get().getItem().getName()));
> 			}
> 		}

Error:
java.lang.NullPointerException
at org.spongepowered.common.item.inventory.adapter.impl.SlotCollectionIterator.traverseSpanningTree(SlotCollectionIterator.java:57) ~[SlotCollectionIterator.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.item.inventory.adapter.impl.SlotCollectionIterator.(SlotCollectionIterator.java:53) ~[SlotCollectionIterator.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.item.inventory.lens.impl.collections.SlotCollection.getIterator(SlotCollection.java:145) ~[SlotCollection.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.item.inventory.lens.impl.collections.SlotCollection.getIterator(SlotCollection.java:137) ~[SlotCollection.class:1.10.2-2171-5.1.0-BETA-2005]
at net.minecraft.inventory.Container.slots(Container.java:124) ~[abd.class:?]
at NoCrafting.NoCrafting.onPlayerCraft(NoCrafting.java:105) ~[NoCrafting.class:?]
at org.spongepowered.common.event.listener.ClickInventoryEventListener_NoCrafting_onPlayerCraft2.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:301) ~[SpongeModEventManager.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:330) ~[SpongeModEventManager.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:314) ~[SpongeModEventManager.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:141) ~[SpongeImpl.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.event.tracking.phase.packet.PacketFunction.lambda$static$30(PacketFunction.java:678) ~[PacketFunction.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.event.tracking.phase.packet.PacketPhase.unwind(PacketPhase.java:320) [PacketPhase.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.event.tracking.CauseTracker.completePhase(CauseTracker.java:192) [CauseTracker.class:1.10.2-2171-5.1.0-BETA-2005]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:141) [PacketUtil.class:1.10.2-2171-5.1.0-BETA-2005]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjd000(SourceFile:39) [fl$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fl$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_73]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_73]
at net.minecraft.util.Util.func_181617_a(SourceFile:45) [h.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_73]

whats on line 105?

at NoCrafting.NoCrafting.onPlayerCraft(NoCrafting.java:105) ~[NoCrafting.class:?]

This:

for (Inventory slot : targetInventory.slots())