SYMBOL INDEX (301 symbols across 55 files) FILE: TestFabricMod/src/main/java/io/github/natanfudge/nectest/NecTestCrash.java class NecTestCrash (line 3) | public class NecTestCrash extends RuntimeException{ method NecTestCrash (line 4) | public NecTestCrash(String message){ FILE: TestFabricMod/src/main/java/io/github/natanfudge/nectest/NecTestMod.java class NecTestMod (line 10) | public class NecTestMod implements ModInitializer { method getTestMode (line 11) | public static String getTestMode() { method onInitialize (line 26) | @Override FILE: TestFabricMod/src/main/java/io/github/natanfudge/nectest/NecTestModClient.java class NecTestModClient (line 10) | public class NecTestModClient implements ClientModInitializer { method onInitializeClient (line 24) | @Override FILE: TestFabricMod/src/main/java/io/github/natanfudge/nectest/TestSuppressedCloseable.java class TestSuppressedCloseable (line 3) | public class TestSuppressedCloseable implements AutoCloseable { method close (line 5) | @Override FILE: TestFabricMod/src/main/java/io/github/natanfudge/nectest/mixin/ExampleMixin.java class ExampleMixin (line 9) | @Mixin(TitleScreen.class) method init (line 11) | @Inject(at = @At("HEAD"), method = "init()V") FILE: TestFabricMod/src/main/java/io/github/natanfudge/nectest/mixin/MixinMinecraftServer.java class MixinMinecraftServer (line 11) | @Mixin(MinecraftServer.class) method testServerCrash (line 15) | @Inject(method = "runServer", at = @At(value = "INVOKE", target = "Lne... FILE: TestForgeMod/src/main/java/io/github/natanfudge/nectest/NecTestCrash.java class NecTestCrash (line 3) | public class NecTestCrash extends RuntimeException{ method NecTestCrash (line 4) | public NecTestCrash(String message){ FILE: TestForgeMod/src/main/java/io/github/natanfudge/nectest/NecTestMod.java class NecTestMod (line 22) | @Mod("nec_testmod") method getTestMode (line 24) | public static String getTestMode() { method NecTestMod (line 42) | public NecTestMod() { method setup (line 58) | private void setup(final FMLCommonSetupEvent event) { class RegistryEvents (line 66) | @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE) method onClientTick (line 70) | @SubscribeEvent FILE: TestForgeMod/src/main/java/io/github/natanfudge/nectest/NecTestModClient.java class NecTestModClient (line 7) | public class NecTestModClient { method onKeyRegister (line 10) | public static void onKeyRegister(RegisterKeyMappingsEvent event) { FILE: TestForgeMod/src/main/java/io/github/natanfudge/nectest/mixin/ExampleMixin.java class ExampleMixin (line 9) | @Mixin(TitleScreen.class) method init (line 11) | @Inject(at = @At("HEAD"), method = "init()V") FILE: TestForgeMod/src/main/java/io/github/natanfudge/nectest/mixin/MixinMinecraftServer.java class MixinMinecraftServer (line 11) | @Mixin(MinecraftServer.class) method testServerCrash (line 15) | @Inject(method = "runServer", at = @At(value = "INVOKE", target = "Lne... FILE: common/src/main/java/fudge/notenoughcrashes/NotEnoughCrashes.java class NotEnoughCrashes (line 16) | public class NotEnoughCrashes { method getLogger (line 21) | public static Logger getLogger() { method logDebug (line 28) | public static void logDebug(String message) { method enableGameloopCatching (line 32) | public static boolean enableGameloopCatching() { method enableEntrypointCatching (line 36) | public static boolean enableEntrypointCatching() { method getMetadata (line 42) | public static CommonModMetadata getMetadata() { method ensureDirectoryExists (line 48) | public static void ensureDirectoryExists() throws IOException { method initialize (line 52) | public static void initialize() { FILE: common/src/main/java/fudge/notenoughcrashes/config/ButtonEntry.java class ButtonEntry (line 20) | public class ButtonEntry extends ElementListWidget.Entry { method ButtonEntry (line 28) | public ButtonEntry(List buttons, Text text, EntryInfo... method render (line 45) | public void render(DrawContext context, int mouseX, int mouseY, boolea... method mouseClicked (line 64) | @Override method children (line 71) | public List children() { method selectableChildren (line 75) | public List selectableChildren() { FILE: common/src/main/java/fudge/notenoughcrashes/config/EntryInfo.java class EntryInfo (line 13) | public class EntryInfo { method EntryInfo (line 29) | public EntryInfo(Field field, String modid) { method setValue (line 50) | public void setValue(Object value) { method toTemporaryValue (line 60) | public String toTemporaryValue() { method updateFieldValue (line 69) | public void updateFieldValue() { method updateConditions (line 77) | public void updateConditions() { method writeList (line 92) | public void writeList(int index, T value) { method getTooltip (line 100) | public Tooltip getTooltip(boolean isButton) { FILE: common/src/main/java/fudge/notenoughcrashes/config/MidnightConfig.java class MidnightConfig (line 34) | @SuppressWarnings("unchecked") method shouldSkipClass (line 42) | public boolean shouldSkipClass(Class clazz) { return false; } method shouldSkipField (line 43) | public boolean shouldSkipField(FieldAttributes fieldAttributes) { retu... method write (line 46) | public void write(JsonWriter out, Identifier id) throws IOException { ... method read (line 47) | public Identifier read(JsonReader in) throws IOException { return Iden... method createInstance (line 58) | public static T createInstance(String modid... method init (line 69) | public static void init(String modid, Class ... method addClientEntry (line 83) | public void addClientEntry(Field field, EntryInfo info) { method getUnderlyingType (line 111) | public static Class getUnderlyingType(Field field) { method textField (line 119) | private static void textField(EntryInfo info, Function ... method getEnumTranslatableText (line 157) | protected Text getEnumTranslatableText(Object value, EntryInfo info) { method loadValuesFromJson (line 164) | public void loadValuesFromJson() { method write (line 182) | public static void write(String modid) { method writeChanges (line 186) | @Deprecated method writeChanges (line 191) | public void writeChanges() { method getJsonFilePath (line 200) | public Path getJsonFilePath() { method getDefaultValue (line 204) | @SuppressWarnings("unused") // Utility for mod authors method onTabInit (line 211) | public void onTabInit(String tabName, MidnightConfigListWidget list, M... method getScreen (line 214) | public static MidnightConfigScreen getScreen(Screen parent, String mod... method getScreen (line 217) | public MidnightConfigScreen getScreen(Screen parent) { FILE: common/src/main/java/fudge/notenoughcrashes/config/MidnightConfigListWidget.java class MidnightConfigListWidget (line 13) | public class MidnightConfigListWidget extends ElementListWidget buttons, Text text, EntryI... method clear (line 37) | public void clear() { method getRowWidth (line 41) | @Override FILE: common/src/main/java/fudge/notenoughcrashes/config/MidnightConfigScreen.java class MidnightConfigScreen (line 30) | public class MidnightConfigScreen extends Screen { method MidnightConfigScreen (line 42) | public MidnightConfigScreen(Screen parent, String modid) { method tick (line 68) | @Override method updateButtons (line 86) | public void updateButtons() { method keyPressed (line 100) | @Override method close (line 105) | @Override method init (line 120) | @Override method updateList (line 144) | public void updateList() { method render (line 255) | @Override FILE: common/src/main/java/fudge/notenoughcrashes/config/MidnightSliderWidget.java class MidnightSliderWidget (line 6) | public class MidnightSliderWidget extends SliderWidget { method MidnightSliderWidget (line 10) | public MidnightSliderWidget(int x, int y, int width, int height, Text ... method updateMessage (line 16) | @Override method applyValue (line 21) | @Override FILE: common/src/main/java/fudge/notenoughcrashes/config/NecConfig.java method getCurrent (line 7) | public static NecConfig getCurrent() { FILE: common/src/main/java/fudge/notenoughcrashes/config/NecMidnightConfig.java class NecMidnightConfig (line 4) | public class NecMidnightConfig extends MidnightConfig { FILE: common/src/main/java/fudge/notenoughcrashes/config/OldNecConfig.java class OldNecConfig (line 11) | public class OldNecConfig { class CrashUpload (line 24) | public static class CrashUpload { type CrashLogUploadDestination (line 34) | public enum CrashLogUploadDestination { method CrashLogUploadDestination (line 43) | CrashLogUploadDestination(@Nullable Integer defaultPriority) { class Gist (line 48) | public static class Gist { class Pastebin (line 53) | public static class Pastebin { type Privacy (line 54) | public enum Privacy { method Privacy (line 60) | Privacy(String apiValue) { type Expiry (line 65) | public enum Expiry { method Expiry (line 78) | Expiry(String pastebinExpiry) { method instance (line 88) | public static OldNecConfig instance() { FILE: common/src/main/java/fudge/notenoughcrashes/gui/CrashScreen.java class CrashScreen (line 18) | @Environment(EnvType.CLIENT) method CrashScreen (line 23) | public CrashScreen(CrashReport report) { method init (line 28) | @Override method centeredText (line 81) | private TextWidget centeredText(int centreX, int y, Text text, int col... method centeredText (line 90) | private TextWidget centeredText(int centreX, int y, String translation... method addBodyLine (line 98) | private int addBodyLine(int centreX, int currentY, int offset, String ... method addBodyLine (line 106) | private int addBodyLine(int centreX, int currentY, int offset, String ... FILE: common/src/main/java/fudge/notenoughcrashes/gui/InitErrorScreen.java class InitErrorScreen (line 12) | @Environment(EnvType.CLIENT) method InitErrorScreen (line 17) | public InitErrorScreen(CrashReport report) { method init (line 24) | @Override method centeredText (line 66) | private TextWidget centeredText(int centreX, int y, Text text, int col... method centeredText (line 75) | private TextWidget centeredText(int centreX, int y, String keyOrLitera... method addBodyLine (line 83) | private int addBodyLine(int centreX, int currentY, int offset, String ... method addBodyLine (line 87) | private int addBodyLine(int centreX, int currentY, int offset, String ... FILE: common/src/main/java/fudge/notenoughcrashes/gui/ProblemScreen.java class ProblemScreen (line 26) | @Environment(EnvType.CLIENT) method ProblemScreen (line 42) | protected ProblemScreen(CrashReport report) { method getSuspectedModsText (line 48) | private Text getSuspectedModsText() { method addSuspectedModsWidget (line 74) | private void addSuspectedModsWidget() { method handleLegacyLinkClick (line 82) | private void handleLegacyLinkClick(ButtonWidget buttonWidget) { method init (line 96) | @Override method mouseClicked (line 113) | @Override method shouldCloseOnEsc (line 124) | @Override method getFileNameString (line 129) | String getFileNameString() { method render (line 135) | @Override FILE: common/src/main/java/fudge/notenoughcrashes/mixinhandlers/EntryPointCatcher.java class EntryPointCatcher (line 15) | public class EntryPointCatcher { method crashedDuringStartup (line 18) | public static boolean crashedDuringStartup() { method handleEntryPointError (line 25) | @Environment(EnvType.CLIENT) method displayInitErrorScreen (line 38) | @Environment(EnvType.CLIENT) FILE: common/src/main/java/fudge/notenoughcrashes/mixinhandlers/InGameCatcher.java class InGameCatcher (line 20) | public class InGameCatcher { method handleClientCrash (line 27) | public static void handleClientCrash(CrashReport report) { method resetStates (line 39) | private static void resetStates() { method cleanupBeforeMinecraft (line 46) | public static void cleanupBeforeMinecraft() { method resetCriticalGameState (line 58) | private static void resetCriticalGameState() { method resetModState (line 72) | private static void resetModState() { method handleServerCrash (line 78) | public static void handleServerCrash(CrashReport report) { method getClient (line 84) | private static MinecraftClient getClient() { method addInfoToCrash (line 88) | public static void addInfoToCrash(CrashReport report) { method displayCrashScreen (line 93) | public static void displayCrashScreen(CrashReport report, int crashCou... FILE: common/src/main/java/fudge/notenoughcrashes/mixins/MixinCrashReport.java class MixinCrashReport (line 17) | @Mixin(value = CrashReport.class, priority = 500) method getThis (line 24) | private CrashReport getThis() { method beforeSystemDetailsAreWritten (line 31) | @Inject(method = "addDetails", at = @At(value = "INVOKE", target = "Ln... FILE: common/src/main/java/fudge/notenoughcrashes/mixins/MixinTileEntity.java class MixinTileEntity (line 10) | @Mixin(value = BlockEntity.class, priority = 10000) method onPopulateCrashReport (line 15) | @SuppressWarnings("UnreachableCode") FILE: common/src/main/java/fudge/notenoughcrashes/mixins/client/MixinKeyboard.java class MixinKeyboard (line 10) | @Mixin(Keyboard.class) method pollDebugCrashDontCrashInfinitely (line 16) | @Inject(method = "pollDebugCrash()V", at = @At("HEAD"), cancellable = ... FILE: common/src/main/java/fudge/notenoughcrashes/mixins/client/MixinMinecraftClient.java class MixinMinecraftClient (line 28) | @Mixin(MinecraftClient.class) method printCrashReport (line 37) | @Shadow method getRecorder (line 41) | @Override method setRecorder (line 46) | @Override method MixinMinecraftClient (line 51) | public MixinMinecraftClient(String string_1) { method setScreenDontResetCrashScreen (line 59) | @Inject(method = "setScreen(Lnet/minecraft/client/gui/screen/Screen;)V... method beforeRun (line 64) | @Inject(method = "run()V", at = @At("HEAD")) method onCheckGameCrashed (line 74) | @Inject(method = "printCrashReport()V", at = @At("HEAD")) method atTheEndOfFirstCatchBeforePrintingCrashReport (line 89) | @ModifyArg(method = "run()V", at = @At(value = "INVOKE", target = "Lne... method atTheEndOfSecondCatchBeforePrintingCrashReport (line 100) | @ModifyArg(method = "run()V", at = @At(value = "INVOKE", target = "Lne... method beforeCleanUpAfterCrash (line 116) | @Inject(method = "cleanUpAfterCrash()V", at = @At("HEAD")) method redirectForgePrintCrashReport (line 138) | @SuppressWarnings({"MixinAnnotationTarget", "UnresolvedMixinReference"}) FILE: common/src/main/java/fudge/notenoughcrashes/mixins/client/MixinMinecraftServerClientOnly.java class MixinMinecraftServerClientOnly (line 17) | @Mixin(MinecraftServer.class) method disableIntegratedServerWriteToFileOnCrash (line 23) | @Redirect(method = "runServer()V", at = @At(value = "INVOKE", target =... FILE: common/src/main/java/fudge/notenoughcrashes/patches/MinecraftClientAccess.java type MinecraftClientAccess (line 5) | public interface MinecraftClientAccess { method getRecorder (line 6) | Recorder getRecorder(); method setRecorder (line 7) | void setRecorder(Recorder recorder); FILE: common/src/main/java/fudge/notenoughcrashes/platform/ModsByLocation.java class ModsByLocation (line 14) | public class ModsByLocation { method stringify (line 17) | private static String stringify(Set mods) { method toString (line 21) | @Override method ModsByLocation (line 28) | public ModsByLocation(Map> locationToMod) { method get (line 36) | public Set get(URI path) { method get (line 40) | @Nullable method getOrEmpty (line 45) | @NotNull method normalizePathString (line 52) | private static String normalizePathString(String path) { method removeLastPercentSymbol (line 67) | private static String removeLastPercentSymbol(String str) { method removeSuffix (line 79) | private static String removeSuffix(String str, String suffix) { method removePrefix (line 83) | private static String removePrefix(String str, String suffix) { method removeAndBefore (line 87) | private static String removeAndBefore(String str, String toRemove) { method removeAndAfter (line 93) | private static String removeAndAfter(String str, String toRemove) { FILE: common/src/main/java/fudge/notenoughcrashes/platform/NecPlatform.java type NecPlatform (line 9) | public interface NecPlatform { method instance (line 10) | static NecPlatform instance() { method isForge (line 14) | boolean isForge(); method isModLoaded (line 16) | boolean isModLoaded(String modId); method getModsAtLocationsInDisk (line 19) | ModsByLocation getModsAtLocationsInDisk(); method getGameDirectory (line 21) | Path getGameDirectory(); method getConfigDirectory (line 23) | Path getConfigDirectory(); method isDevelopmentEnvironment (line 25) | boolean isDevelopmentEnvironment(); method getResource (line 30) | @Nullable method getModMetadatas (line 36) | List getModMetadatas(String modId); method getAllMods (line 38) | List getAllMods(); method modContainsFile (line 40) | boolean modContainsFile(CommonModMetadata mod, String path); method irisExists (line 42) | default boolean irisExists() { method isClient (line 46) | boolean isClient(); method isClientEnv (line 48) | default boolean isClientEnv() { FILE: common/src/main/java/fudge/notenoughcrashes/platform/NecPlatformStorage.java class NecPlatformStorage (line 3) | public class NecPlatformStorage { FILE: common/src/main/java/fudge/notenoughcrashes/stacktrace/CrashUtils.java class CrashUtils (line 17) | public final class CrashUtils { method outputClientReport (line 29) | public static void outputClientReport(CrashReport report) { method outputReport (line 34) | public static void outputReport(CrashReport report, boolean isClient) { FILE: common/src/main/java/fudge/notenoughcrashes/stacktrace/ModIdentifier.java class ModIdentifier (line 27) | public final class ModIdentifier { method getSuspectedModsOf (line 33) | public static Set getSuspectedModsOf(CrashReport re... method identifyFromStacktrace (line 37) | @NotNull method visitChildrenThrowables (line 51) | private static void visitChildrenThrowables(Throwable e, Consumer identifyFromThrowable(Throwable ... method debug (line 85) | private static void debug(Supplier message) { method identifyFromClass (line 89) | @NotNull method findMixinMerged (line 128) | @Nullable method identifyFromMixin (line 149) | @NotNull method getMixinInfo (line 163) | @Nullable method getModsAt (line 176) | @NotNull class Reflection (line 216) | private static class Reflection { method getMixinInfo (line 228) | @Nullable FILE: common/src/main/java/fudge/notenoughcrashes/upload/CrashyUpload.java class CrashyUpload (line 20) | @SuppressWarnings("ConstantValue") type CrashyMode (line 23) | private enum CrashyMode { method uploadToCrashy (line 37) | public static CompletableFuture uploadToCrashy(String text) th... method uploadToCrashySync (line 64) | public static String uploadToCrashySync(String text) throws IOExceptio... method java11PostAsync (line 68) | private static CompletableFuture> java11PostAsync... method gzip (line 78) | private static byte[] gzip(String string) throws IOException { method rememberCrashCode (line 87) | private static void rememberCrashCode(String id, String code) throws I... class UploadCrashSuccess (line 98) | static class UploadCrashSuccess { FILE: common/src/main/java/fudge/notenoughcrashes/upload/LegacyCrashLogUpload.java class LegacyCrashLogUpload (line 18) | public final class LegacyCrashLogUpload { method GIST_ACCESS_TOKEN_PART_1 (line 19) | private static String GIST_ACCESS_TOKEN_PART_1() { method GIST_ACCESS_TOKEN_PART_2 (line 23) | private static String GIST_ACCESS_TOKEN_PART_2() { class GistPost (line 31) | private static class GistPost { method GistPost (line 36) | public GistPost(boolean isPublic, Map files) { class GistFile (line 42) | private static class GistFile { method GistFile (line 45) | public GistFile(String content) { method upload (line 51) | public static String upload(String text) throws IOException { method uploadToByteBin (line 163) | private static String uploadToByteBin(String text) throws IOException { method createStringEntity (line 181) | private static StringEntity createStringEntity(String text) { FILE: common/src/main/java/fudge/notenoughcrashes/upload/UploadToCrashyError.java class UploadToCrashyError (line 3) | public abstract class UploadToCrashyError extends RuntimeException { method UploadToCrashyError (line 4) | public UploadToCrashyError(String message) { class InvalidCrash (line 8) | public static class InvalidCrash extends UploadToCrashyError { method InvalidCrash (line 9) | public InvalidCrash() { class TooLarge (line 14) | public static class TooLarge extends UploadToCrashyError { method TooLarge (line 15) | public TooLarge() { FILE: common/src/main/java/fudge/notenoughcrashes/utils/GlUtil.java class GlUtil (line 11) | public class GlUtil { method resetState (line 19) | public static void resetState() { FILE: common/src/main/java/fudge/notenoughcrashes/utils/NecLocalization.java class NecLocalization (line 26) | public class NecLocalization { method localize (line 34) | public static String localize(String translationKey) { method localizeCustom (line 39) | @NotNull method localizeCustom (line 50) | @Nullable method translatedText (line 58) | public static Text translatedText(String translationKey) { class LanguageTranslations (line 63) | @SuppressWarnings("ClassCanBeRecord") method LanguageTranslations (line 67) | private LanguageTranslations(Map translations) { method get (line 71) | @Nullable String get(String translationKey) { method getCurrentLanguageCode (line 78) | private static String getCurrentLanguageCode() { method loadLanguage (line 82) | private static LanguageTranslations loadLanguage(String code) { method getLocalizations (line 99) | @Nullable method parseTranslations (line 107) | private static Map parseTranslations(String raw) { FILE: common/src/main/java/fudge/notenoughcrashes/utils/SystemExitBlockedException.java class SystemExitBlockedException (line 3) | class SystemExitBlockedException extends SecurityException { method SystemExitBlockedException (line 4) | public SystemExitBlockedException(String s) { FILE: fabric/src/main/java/fudge/notenoughcrashes/fabric/NotEnoughCrashesFabric.java class NotEnoughCrashesFabric (line 8) | public class NotEnoughCrashesFabric implements ModInitializer { method onInitialize (line 10) | @Override FILE: fabric/src/main/java/fudge/notenoughcrashes/fabric/config/ModMenuConfigIntegration.java class ModMenuConfigIntegration (line 8) | public class ModMenuConfigIntegration implements ModMenuApi { method getModConfigScreenFactory (line 9) | @Override FILE: fabric/src/main/java/fudge/notenoughcrashes/fabric/mixinhandlers/ModLoaders.java class ModLoaders (line 7) | public class ModLoaders { method fabricEntrypoints (line 8) | public static void fabricEntrypoints(File runDir, Object gameInstance) { method quiltEntrypoints (line 11) | public static void quiltEntrypoints(File runDir, Object gameInstance) { FILE: fabric/src/main/java/fudge/notenoughcrashes/fabric/mixins/MixinMain.java class MixinMain (line 11) | @Mixin(Main.class) method createPlatformInstanceAsSoonAsPossibleOnClient (line 13) | @Inject(method = "main", at = @At("HEAD"), remap = false) FILE: fabric/src/main/java/fudge/notenoughcrashes/fabric/mixins/client/CatchInitMinecraftClientMixin.java class CatchInitMinecraftClientMixin (line 13) | @Mixin(MinecraftClient.class) method catchFabricInit (line 18) | @Redirect(method = "", require = 0, at = @At(value = "INVOKE", t... method catchQuiltInit (line 32) | @Redirect(method = "", require = 0, at = @At(value = "INVOKE", t... FILE: fabric/src/main/java/fudge/notenoughcrashes/fabric/mixins/client/MixinMain.java class MixinMain (line 11) | @Mixin(Main.class) method asSoonAsPossible (line 13) | @Inject(method = "main", at = @At("HEAD"), remap = false) FILE: fabric/src/main/java/fudge/notenoughcrashes/fabric/platform/FabricPlatform.java class FabricPlatform (line 24) | public class FabricPlatform implements NecPlatform { method setIrisExists (line 27) | public void setIrisExists() { method isForge (line 31) | @Override method isModLoaded (line 36) | @Override method getModsAtLocationsInDisk (line 41) | @Override method getGameDirectory (line 52) | @Override method getConfigDirectory (line 57) | @Override method isDevelopmentEnvironment (line 62) | @Override method getResourcesDirectory (line 67) | private Path getResourcesDirectory() { method getResource (line 78) | @Override method getModMetadatas (line 93) | @Override method getAllMods (line 99) | @Override method modContainsFile (line 106) | @Override method irisExists (line 118) | @Override method isClient (line 123) | @Override method getIssuesPage (line 136) | private static String getIssuesPage(ContactInformation contactInformat... method toCommon (line 144) | private static CommonModMetadata toCommon(ModContainer modContainer) { FILE: neoforge/src/main/java/fudge/notenoughcrashes/forge/NotEnoughCrashesForge.java class NotEnoughCrashesForge (line 9) | @Mod(NotEnoughCrashes.MOD_ID) method NotEnoughCrashesForge (line 11) | public NotEnoughCrashesForge() { FILE: neoforge/src/main/java/fudge/notenoughcrashes/forge/client/NotEnoughCrashesForgeClient.java class NotEnoughCrashesForgeClient (line 11) | @Mod(value = NotEnoughCrashes.MOD_ID, dist = Dist.CLIENT) method NotEnoughCrashesForgeClient (line 13) | public NotEnoughCrashesForgeClient(ModContainer container) { FILE: neoforge/src/main/java/fudge/notenoughcrashes/forge/mixins/MixinMain.java class MixinMain (line 11) | @Mixin(Main.class) method createPlatformInstanceAsSoonAsPossibleOnClient (line 13) | @Inject(method = "main", at = @At("HEAD"), remap = false) FILE: neoforge/src/main/java/fudge/notenoughcrashes/forge/mixins/client/MixinMain.java class MixinMain (line 11) | @Mixin(Main.class) method createPlatformInstanceAsSoonAsPossibleOnClient (line 13) | @Inject(method = "main", at = @At("HEAD"), remap = false) FILE: neoforge/src/main/java/fudge/notenoughcrashes/forge/platform/ForgePlatform.java class ForgePlatform (line 25) | public class ForgePlatform implements NecPlatform { method isForge (line 26) | @Override method isModLoaded (line 31) | @Override method getModsAtLocationsInDisk (line 36) | @Override method getGameDirectory (line 52) | @Override method getConfigDirectory (line 57) | @Override method isDevelopmentEnvironment (line 62) | @Override method getResource (line 67) | @Override method getModMetadatas (line 72) | @Override method getAllMods (line 79) | @Override method modContainsFile (line 86) | @Override method isClient (line 102) | @Override method toCommon (line 107) | private static CommonModMetadata toCommon(IModInfo imod) {