Yes it is exactly what you want. Just check every slot first. If you need to know if the inventory is empty iterate over the slots and check each slot if you find one that is empty then it is not full. If you make it through all of them and none of them are empty the inventory is full.
This is never called because you never told forge to look there. You need to register your event. Since it is static you can just add the EventBusSubscriber annotation to the class it's in.
When this line is called in your Main class constructor the Player doesn't exist. I'm not even sure if Minecraft.getMinecraft() returns a non null value.
Interface as a gui?
One block or different types of blocks?
Not sure what this means, How about you give one example of what you are trying to do? Like what will the player do to use your multiblock structure. What will the structure do?
Look at the methods inside it there are two I can think of insertItem and extractItem.
It isn't. The contents are synced from the IItemHandler when they change if you call detectAndSendChanges(I believe that is what it is called).
There is also another method apparently, I'm not sure why Minecraft decided it needed 4 different Shape methods for the Block. You can actually just override getShape and it will be called in all the other shape methods (getCollisionShape, getRenderShape, getRaytraceShape)
No...why doesn't the internet tell you why the error is caused. I'm kinda disappointed in it. The problem is your method signature is wrong. Look in the Block class and find the method called getCollisionShape
That's a Java error not a forge error. Please look it up. If eclipse ever yells at you with a red underline that is a Java error. Don't ask about those here.