@Override
public void saveNBTData(NBTTagCompound compound)
{
NBTTagCompound nbt = new NBTTagCompound();
nbt.setTag(EXT_MEC, this.IMEC.saveInventoryToNBT());
}
You are not saving the data to the NBT here.
You are simply in an area out of Minecraft. It is up to you to find what feels best working with.
When I think of voices in Minecraft, i imagine generating on the fly player sounds as resources so that they are loaded into Minecraft sound system like sound effects. But i may be a bit optimistic.
Eclipse is right about the error, but you are taking the wrong fix. You should listen to it and learn what "static" means.
It is basic Java, you need to understand that.
Where is the jar with your manifest ?
It should be in eclipse/mods by default. You can also change the run configuration to load the "loadingplugin" directly.
You can use the ChunkUnloadEvent, I assume.
Check that the chunk is in a group,
if(all chunks in this group are in the "waiting unload" list)
{ unload the group}
else
{add the chunk to the "waiting unload" list}.
You don't need the TileEntity at all.
The vanilla furnace use a TileEntity since it is a Block.
But an Item doesn't need a TileEntity to work. You can store all the extra data in its ItemStack NBTTagCompound.
You are trying to find a TileEntity where the player is located. That is rather unlikely.
You need to give the correct TileEntity coordinates to the "openGui" method.
Can't read the code you posted.
It looks like you use same events twice, which isn't good.
And you should register things at the FMLPreInitializationEvent.