package com.demonwav.mcdev.platform;

import com.intellij.openapi.components.AbstractProjectComponent;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupManager;
import org.jetbrains.annotations.NotNull;

public class MinecraftProjectComponent extends AbstractProjectComponent {

    protected MinecraftProjectComponent(@NotNull Project project) {
        super(project);
    }

    @Override
    public void projectOpened() {
        super.projectOpened();
        StartupManager.getInstance(myProject).registerPostStartupActivity(() -> {
            for (Module module : ModuleManager.getInstance(myProject).getModules()) {
                MinecraftModule.getInstance(module);
            }
        });
    }
}

@@ -329,16 +329,44 @@
 tNull;%0A%0A
+import java.util.Optional;%0A%0A
 public c
@@ -794,16 +794,36 @@
         
+Optional.ofNullable(
 Minecraf
@@ -849,16 +849,122 @@
 (module)
+)%0A                    .ifPresent(m -%3E m.getTypes().forEach(t -%3E t.performCreationSettingSetup(myProject)))
 ;%0A      

Set ignored annotations whenever the project is opened, rather than just creation. (Fixes #31)