Crash fabric, IllegalArgumentException

96 views Asked by At

I'm creating my own event system similar to forge in Minecraft on fabric.

But I have a problem with the arguments, I created a function (see the first code) and connected the event system annotation to it, specified the required argument and then called it in another place through the EventManger.post(new OnJoinEvent()); method. And the error java.lang.IllegalArgumentException: argument type mismatch. I don`t know what to do

Event

@SubscribeEvent
public static void test(Event event) {
    StorymodServer.sendMessge();
}

Pojo OnJoinEvent

public class OnJoinEvent extends Event{
    public OnJoinEvent(){

    }
}

Event Manager (I know that my annotations are crutchily made differently, they just don't work)

public class EventManger {
    static List<Method> methods = new ArrayList<>();

    public static void register() throws IOException, IllegalAccessException {
        final ClassLoader loader = Thread.currentThread().getContextClassLoader();

        for (final ClassPath.ClassInfo info : ClassPath.from(loader).getTopLevelClasses()) {
            if (info.getName().startsWith("ru.hoprik.")) {
                final Class<?> clazz = info.load();

                for (Annotation declaredAnnotation : clazz.getDeclaredAnnotations()) {
                    if (declaredAnnotation.annotationType().getSimpleName().equals("SubscribeEventListener")) {
                        for (Method method : clazz.getDeclaredMethods()) {
                            for (Annotation methodAnnotation : method.getDeclaredAnnotations()) {
                                if (methodAnnotation.annotationType().getSimpleName().equals("SubscribeEvent")) {
                                    try {
                                        method.setAccessible(true);
                                        methods.add(method);
                                        StorymodServer.logger.info("Registed");
                                    } catch (Exception e) {
                                        throw new RuntimeException(e.getMessage());
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    public static <E extends Event> void post(E event) {
        StorymodServer.logger.info(event.getClass().toString());
        for (Method method : methods) {
            for (Parameter parameter : method.getParameters()) {
                if (parameter.getType().getSimpleName().equals(event.getClass().getSimpleName())) {
                    try {
                        method.setAccessible(true);
                        method.invoke(null, event);
                        StorymodServer.logger.info("work!!!");
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    } catch (InvocationTargetException e) {
                        throw new RuntimeException(e);
                    }

                }
            }
        }
    }
}

CrashLog

---- Minecraft Crash Report ----
// Uh... Did I do that?

Time: 2023-09-19 20:39:54
Description: Initializing game

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'mod'!
    at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51)
    at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
    at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49)
    at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
    at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:52)
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:458)
    at net.minecraft.client.main.Main.main(Main.java:211)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at ru.hoprik.storymod.engine.event.EventManger.post(EventManger.java:60)
    at ru.hoprik.storymod.StorymodServer.onInitialize(StorymodServer.java:64)
    at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47)
    ... 8 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
    at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51)
    at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
    at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49)
    at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
    at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:52)
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:458)

-- Initialization --
Details:
    Modules: 
        ADVAPI32.dll:Windows 32 Extended API Library:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        COMCTL32.dll:Replacement libraries for version control with the user:6.10 (WinBuild.160101.0800):Microsoft
        CRYPT32.dll:API32 cryptography:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        CRYPTBASE.dll:The basic DLL of the cryptographic API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        CRYPTSP.dll:Cryptographic Service Provider API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        DBGHELP.DLL:Windows Image Creation Assistant:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        DNSAPI.dll:Dynamic DNS Client API Library:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        GDI32.dll:GDI DLL Client Library:10.0.22621.2215 (WinBuild.160101.0800):Microsoft Corporation
        IMM32.DLL:Windows IMM32 Multiuser Client API DLL:10.0.22621.1344 (WinBuild.160101.0800):Microsoft Corporation
        IPHLPAPI.DLL:API for accessing IP:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        KERNEL32.DLL:Libraries-Windows NT BASE API client:10.0.22621.2275 (WinBuild.160101.0800):Microsoft Corporation
        KERNELBASE.dll:Windows NT BASE API Client Library:10.0.22621.2275 (WinBuild.160101.0800):Microsoft Corporation
        MpOav.dll:IOfficeAntiVirus module:4.18.23080.2006 (04d8e871ffe7ba6b2204046883e1ad9b7a5989ce):Microsoft
        NSI.dll:NSI User Mode Interface DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        NTASN1.dll:Microsoft ASN.1 API:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        OLEAUT32.dll:OLEAUT32.DLL:10.0.22621.1992 (WinBuild.160101.0800):Microsoft Ole32.dll Corporation
        :Microsoft OLE for Windows:10.0.22621.2338 (WinBuild.160101.0800):Microsoft
        POWRPROF.dll:DLL module to support the power management program:10.0.22621.818 (WinBuild.160101.0800):Microsoft Corporation
        PSAPI.DLL:Process Status Assistant:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        Pdh.dll:Data loading module for Windows:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        RPCRT4.dll:Remote Access Libraries version:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        SHCORE.dll:SHCORE:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        SHELL32.dll:Additional library for Windows:10.0.22621.2275 (WinBuild.160101.0800):Microsoft Corporation
        UMPDC.dll:Coordinator of User mode power dependencies:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        USER32.dll:Windows Multiuser CLIENT API Library:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        USERENV.dll:Userenv:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        VCRUNTIME140.dll:Microsoft® Runtime Library C:14.16.27031.1 created: vcwrkspc:Microsoft Corporation
        VERSION.dll:Libraries for checking the version and installing files:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        WINHTTP.dll:Windows HTTP Services:10.0.22621.2338 (WinBuild.160101.0800):Microsoft
        WINMM.dll:MCI API DLL:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        WS2_32.dll:32-bit Windows Socket 2.0 Library:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        WSOCK32.dll:32-bit DLL for Windows Socket:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        amsi.dll:Malware Scanning Interface:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        bcrypt.dll:Libraries Cryptographic interface for Windows:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        bcryptPrimitives.dll:Windows Cryptographic Primitives Library:10.0.22621.1928 (WinBuild.160101.0800):Microsoft Corporation
       clbcatq.dll:COM+ Configuration directory:2001.12.10941.16384 (WinBuild.160101.0800):Microsoft Corporation
        combase.dll:Microsoft COM for Windows:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        dbgcore.DLL:Windows Kernel Debugging Assistants:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        dhcpcsvc.DLL:DHCP Client Service:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        dhcpcsvc6.DLL:DHCPv6 client:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        fwpuclnt.dll:FWP/IPsec User Interface API:10.0.22621.2338 (WinBuild.160101.0800):Corporation
        Microsoft gdi32full.dll:GDI Client Library:10.0.22621.2215 (WinBuild.160101.0800):Microsoft Corporation
        iertutil.dll:Utility program for connecting to Internet Explorer:11.00.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        java.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        java.exe:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        jemalloc.dll
        jimage.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        jli.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        jna1721872042997710250.dll:Own JNA library:6.1.4:Java(TM) Native Access (JNA)
        jsvml.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        jvm.dll:64-bit OpenJDK VM server:17.0.8.0:Amazon.com Inc.
        kernel.appcore.dll:AppModel API Host:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        lwjgl.dll
        management.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        management_ext.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        msvcp140.dll:Microsoft® Runtime Library C:14.16.27033.0 , created by: vcwrkspc:Microsoft Corporation
        msvcp_win.dll:Microsoft® Runtime Library C:10.0.22621.608 (WinBuild.160101.0800):Microsoft Corporation
        msvcrt.dll:Windows NT CRT DLL:7.0.22621.608 (WinBuild. 160101.0800):Microsoft Corporation
        mswsock.dll:Extended version of the application
        to support the Microsoft Windows Sockets 2.0 API:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation napinsp.dll:Application for downloading information for users email:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        ncrypt.dll:Windows NCrypt Developer:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        net.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        netutils.dll:Net Win32 API Helpers DLL library:10.0.22621.674 (WinBuild.160101.0800):Microsoft Corporation
        nio.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        nlansp_c.dll:NLA DLL Namespace Service Provider:10.0.22621.2070 (WinBuild.160101.0800):Microsoft Corporation
        ntdll.dll:NT System Library:10.0.22621.2275 (WinBuild.160101.0800):Microsoft
        perfos.dll Corporation:Fairing Libraries for Windows operating system:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        pfclient.dll:SysMain client:10.0.22621.1 (WinBuild.160101. 0800):Microsoft Corporation
        pnrpnsp.dll:Software Installer and PNRP password:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        profapi.dll:The basic API of the user profile:10.0.22621.1928 (WinBuild.160101.0800):Microsoft Corporation
        rasadhlp.dll:Assistant for automatic dial-up of remote access:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        rsaenh.dll:Microsoft Enhanced Cryptographic Provider:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        sechost.dll:Host for SCM/SDDL/LSA Search API:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        shlwapi.dll:Libraries Problems in the program:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        srvcli.dll:Client library of the server service:10.0.22621.1928 (WinBuild.160101.0800):Microsoft Corporation
        sunmscapi.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        ucrtbase.dll:Microsoft® Runtime Library C:10.0.22621.608 (WinBuild.160101.0800):Microsoft Corporation
        urlmon.dll:OLE32 registration for Win32:11.00.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        verify.dll:OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
        win32u.dll:Win32u:10.0.22621.2283 (WinBuild.160101.0800):Microsoft Corporation
        windows.storage.dll:Microsoft WinRT API:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        winrnr.dll:LDAP RnR Provider DLL: 10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation
        wintypes.dll:DLL for Windows OS:10.0.22621.2338 (WinBuild.160101.0800):Microsoft Corporation
        wshbth.dll:Windows Sockets Helper DLL:10.0.22621.1778 (WinBuild.160101.0800):Microsoft Corporation
        zip.dll : OpenJDK binary platform:17.0.8.0:Amazon.com Inc.
Stacktrace:
    at net.minecraft.client.main.Main.main(Main.java:211)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)

-- System Details --
Details:
    Minecraft Version: 1.20.1
    Minecraft Version ID: 1.20.1
    Operating System: Windows 11 (amd64) version 10.0
    Java Version: 17.0.8, Amazon.com Inc.
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Amazon.com Inc.
    Memory: 145630752 bytes (138 MiB) / 494927872 bytes (472 MiB) up to 6421479424 bytes (6124 MiB)
    CPUs: 6
    Processor Vendor: GenuineIntel
    Processor Name: Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz
    Identifier: Intel64 Family 6 Model 158 Stepping 10
    Microarchitecture: Coffee Lake
    Frequency (GHz): 2.90
    Number of physical packages: 1
    Number of physical CPUs: 6
    Number of logical CPUs: 6
    Graphics card #0 name: NVIDIA GeForce GTX 1650
    Graphics card #0 vendor: NVIDIA (0x10de)
    Graphics card #0 VRAM (MB): 4095.00
    Graphics card #0 deviceId: 0x1f82
    Graphics card #0 versionInfo: DriverVersion=31.0.15.2647
    Memory slot #0 capacity (MB): 8192.00
    Memory slot #0 clockSpeed (GHz): 2.40
    Memory slot #0 type: DDR4
    Memory slot #1 capacity (MB): 4096.00
    Memory slot #1 clockSpeed (GHz): 2.40
    Memory slot #1 type: DDR4
    Memory slot #2 capacity (MB): 8192.00
    Memory slot #2 clockSpeed (GHz): 2.40
    Memory slot #2 type: DDR4
    Memory slot #3 capacity (MB): 4096.00
    Memory slot #3 clockSpeed (GHz): 2.40
    Memory slot #3 type: DDR4
    Virtual memory max (MB): 30889.77
    Virtual memory used (MB): 19304.91
    Swap memory total (MB): 6400.00
    Swap memory used (MB): 68.38
    JVM Flags: 0 total; 
    Fabric Mods: 
        fabric-api: Fabric API 0.87.0+1.20.1
        fabric-api-base: Fabric API Base 0.4.30+7abfd51577
        fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.35+4d8536c977
        fabric-biome-api-v1: Fabric Biome API (v1) 13.0.10+b3afc78b77
        fabric-block-api-v1: Fabric Block API (v1) 1.0.9+e022e5d177
        fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.40+b3afc78b77
        fabric-client-tags-api-v1: Fabric Client Tags 1.1.1+97bb207577
        fabric-command-api-v1: Fabric Command API (v1) 1.2.33+f71b366f77
        fabric-command-api-v2: Fabric Command API (v2) 2.2.12+b3afc78b77
        fabric-commands-v0: Fabric Commands (v0) 0.2.50+df3654b377
        fabric-containers-v0: Fabric Containers (v0) 0.1.63+df3654b377
        fabric-content-registries-v0: Fabric Content Registries (v0) 4.0.9+b3afc78b77
        fabric-convention-tags-v1: Fabric Convention Tags 1.5.4+a1a980da77
        fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.18+aeb40ebe77
        fabric-data-generation-api-v1: Fabric Data Generation API (v1) 12.2.2+1e61dba177
        fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.53+8536527b77
        fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.22+b3afc78b77
        fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.1+e91849a877
        fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.62+df3654b377
        fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.38+b04edc7a77
        fabric-gametest-api-v1: Fabric Game Test API (v1) 1.2.12+b3afc78b77
        fabric-item-api-v1: Fabric Item API (v1) 2.1.27+b3afc78b77
        fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.10+23d9108177
        fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.36+fb8d95da77
        fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.34+df3654b377
        fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.21+b3afc78b77
        fabric-loot-api-v2: Fabric Loot API (v2) 1.1.39+b3afc78b77
        fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.43+9e7660c677
        fabric-message-api-v1: Fabric Message API (v1) 5.1.7+3265161977
        fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.49+b3afc78b77
        fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.2+709a987177
        fabric-models-v0: Fabric Models (v0) 0.4.1+9386d8a777
        fabric-networking-api-v1: Fabric Networking API (v1) 1.3.10+eeb8eb3677
        fabric-networking-v0: Fabric Networking (v0) 0.3.50+df3654b377
        fabric-object-builder-api-v1: Fabric Object Builder API (v1) 11.1.1+6beca84877
        fabric-particles-v1: Fabric Particles (v1) 1.1.1+201a23a077
        fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.20+b3afc78b77
        fabric-registry-sync-v0: Fabric Registry Sync (v0) 2.3.2+4df89eb277
        fabric-renderer-api-v1: Fabric Renderer API (v1) 3.1.2+6bdb2ed077
        fabric-renderer-indigo: Fabric Renderer - Indigo 1.4.2+6bdb2ed077
        fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.45+df3654b377
        fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.34+b3afc78b77
        fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.27+b3afc78b77
        fabric-rendering-v0: Fabric Rendering (v0) 1.1.48+df3654b377
        fabric-rendering-v1: Fabric Rendering (v1) 3.0.7+b3afc78b77
        fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.5+ea08f9d877
        fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.9+132c48c177
        fabric-screen-api-v1: Fabric Screen API (v1) 2.0.7+b3afc78b77
        fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.29+b3afc78b77
        fabric-sound-api-v1: Fabric Sound API (v1) 1.0.12+b3afc78b77
        fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.0+cdf060b277
        fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.3.0+6c31357e77
        fabricloader: Fabric Loader 0.14.22
        geckolib: Geckolib 4.2.2
        java: OpenJDK 64-Bit Server VM 17
        minecraft: Minecraft 1.20.1
        storymod: storymod 1.0.0
    Launched Version: Fabric
    Backend library: LWJGL version 3.3.1 SNAPSHOT
    Backend API: Unknown
    Window size: <not initialized>
    GL Caps: Using framebuffer using OpenGL 3.2
    GL debug messages: <disabled>
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'
    Type: Client (map_client.txt)
    CPU: <unknown>

UPD: I changed the parameter class to object and everything worked, but I need custom classes

I`m use chat gpt and fix this bug 9 days........

0

There are 0 answers