You can use == to check Block instances, as they are singletons: world.getBlockState(pos).getBlock() == Blocks.BED. This works for all IForgeRegistrys (look at the ForgeRegistries class).
EntityPlayer#inventory is an instance of InventoryPlayer, which implements IInventory.
Whenever something isn't working, you need to post code. We can't help you if we can't see what you changed.
There are new methods in ItemPickupEvent, called ItemPickupEvent#getStack and ItemPickupEvent#getOriginalEntity. ItemPickupEvent#getOriginalEntity will return the same thing as ItemPickupEvent#pickedUp and ItemPickupEvent#getStack returns the stack which was picked up.
This doesn't have anything to do with Microsoft. People need to stop blaming Microsoft for the things that happened after they bought Mojang.
We know, we don't like it either. But you'll have to get used to that.
That's the answer I give you in your other thread, which you didn't respond to.
Don't make multiple threads for the same problem.
Also, don't PM me. I won't help you there.
The disable button doesn't for most mods.
You should create multiple profiles for different sets of mods, and switch between them when you want to play something different.
That's bullshit.
What you described is from modders perspective, not the user perspective.
Let's say you make an Item which attacks all mobs around you. The only thing a user sees is that all mobs around him/her are attacked.
Describe from a user's perspective what should happen. This way we can help you with the implementation details.