ElegantNetworking краш

Версия Minecraft
1.12.2
API
Forge
30
2
5
Установил ElegantNetworking, но что-то не так, крашится, а в логе пишет, что пакет не зарегистрирован и нужно добавить аннотацию, хотя она есть, подскажите пожалуйста.

Через пакеты хочу синхронизировать капу, отправил для теста пустой пакет и с капой, всё одно и тоже.

JSON:
---- Minecraft Crash Report ----
// I'm sorry, Dave.

Time: 9/9/21 7:54 PM
Description: Ticking player

java.lang.IllegalArgumentException: Packet is not registered: ru.gamindan.common.network.BloodSyncPacket. Need to add @ElegantPacket annotation to packet class
    at hohserg.elegant.networking.impl.Registry.getPacketId(Registry.java:29)
    at hohserg.elegant.networking.impl.ForgeNetworkImpl.preparePacket(ForgeNetworkImpl.java:69)
    at hohserg.elegant.networking.impl.ForgeNetworkImpl.sendToPlayer(ForgeNetworkImpl.java:27)
    at hohserg.elegant.networking.api.ServerToClientPacket.sendToPlayer(ServerToClientPacket.java:26)
    at ru.gamindan.common.init.capability.blood.BloodModifer.onPlayerUpdate(BloodModifer.java:9)
    at ru.gamindan.common.init.capability.CapabilityEvents.onPlayerUpdate(CapabilityEvents.java:57)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_14_CapabilityEvents_onPlayerUpdate_LivingUpdateEvent.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
    at net.minecraftforge.common.ForgeHooks.onLivingUpdate(ForgeHooks.java:567)
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2313)
    at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:272)
    at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:423)
    at net.minecraft.network.NetHandlerPlayServer.update(NetHandlerPlayServer.java:185)
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.update(NetworkDispatcher.java:212)
    at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307)
    at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:197)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:865)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592)
    at java.lang.Thread.run(Thread.java:748)


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

-- Head --
Thread: Server thread
Stacktrace:
    at hohserg.elegant.networking.impl.Registry.getPacketId(Registry.java:29)
    at hohserg.elegant.networking.impl.ForgeNetworkImpl.preparePacket(ForgeNetworkImpl.java:69)
    at hohserg.elegant.networking.impl.ForgeNetworkImpl.sendToPlayer(ForgeNetworkImpl.java:27)
    at hohserg.elegant.networking.api.ServerToClientPacket.sendToPlayer(ServerToClientPacket.java:26)
    at ru.gamindan.common.init.capability.blood.BloodModifer.onPlayerUpdate(BloodModifer.java:9)
    at ru.gamindan.common.init.capability.CapabilityEvents.onPlayerUpdate(CapabilityEvents.java:57)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_14_CapabilityEvents_onPlayerUpdate_LivingUpdateEvent.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
    at net.minecraftforge.common.ForgeHooks.onLivingUpdate(ForgeHooks.java:567)
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2313)
    at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:272)

-- Player being ticked --
Details:
    Entity Type: null (net.minecraft.entity.player.EntityPlayerMP)
    Entity ID: 0
    Entity Name: Player985
    Entity's Exact location: 13.36, 4.00, 9.02
    Entity's Block location: World: (13,4,9), Chunk: (at 13,0,9 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Entity's Momentum: 0.00, -0.08, 0.00
    Entity's Passengers: []
    Entity's Vehicle: ~~ERROR~~ NullPointerException: null
Stacktrace:
    at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:423)
    at net.minecraft.network.NetHandlerPlayServer.update(NetHandlerPlayServer.java:185)
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.update(NetworkDispatcher.java:212)
    at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:307)

-- Ticking connection --
Details:
    Connection: net.minecraft.network.NetworkManager@4dc55074
Stacktrace:
    at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:197)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:865)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592)
    at java.lang.Thread.run(Thread.java:748)

-- System Details --
Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.8.0_271, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 175214448 bytes (167 MB) / 509083648 bytes (485 MB) up to 831520768 bytes (793 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP 9.42 Powered by Forge 14.23.5.2777 6 mods loaded, 6 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

    | State     | ID                 | Version      | Source                           | Signature |
    |:--------- |:------------------ |:------------ |:-------------------------------- |:--------- |
    | UCHIJAAAA | minecraft          | 1.12.2       | minecraft.jar                    | None      |
    | UCHIJAAAA | mcp                | 9.42         | minecraft.jar                    | None      |
    | UCHIJAAAA | FML                | 8.0.99.99    | forgeSrc-1.12.2-14.23.5.2777.jar | None      |
    | UCHIJAAAA | forge              | 14.23.5.2777 | forgeSrc-1.12.2-14.23.5.2777.jar | None      |
    | UCHIJAAAA | gamindan           | 0.0.1 Alpha  | main                             | None      |
    | UCHIJAAAA | elegant_networking | 3.10         | elegant-networking-1.12-3.10.jar | None      |

    Loaded coremods (and transformers):
    GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
    Profiler Position: N/A (disabled)
    Player Count: 1 / 8; [EntityPlayerMP['Player985'/0, l='New World', x=13.36, y=4.00, z=9.02]]
    Type: Integrated Server (map_client.txt)
    Is Modded: Definitely; Client brand changed to 'fml,forge'

Java:
package ru.gamindan.common.network;

import hohserg.elegant.networking.api.ElegantPacket;
import hohserg.elegant.networking.api.ServerToClientPacket;
import net.minecraft.client.Minecraft;

@ElegantPacket
public class BloodSyncPacket implements ServerToClientPacket {

    @Override
    public void onReceive(Minecraft mc) {
        System.out.println("Пакет пришёл");
    }

}

Gradle (Groovy):
buildscript {
    repositories {
        jcenter()
        maven { url = "https://files.minecraftforge.net/maven" }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
    }
}
apply plugin: 'net.minecraftforge.gradle.forge'
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.


version = "1.0"
group = "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"

sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
compileJava {
    sourceCompatibility = targetCompatibility = '1.8'
}

minecraft {
    version = "1.12.2-14.23.5.2777"
    runDir = "run"
    
    // the mappings can be changed at any time, and must be in the following format.
    // snapshot_YYYYMMDD   snapshot are built nightly.
    // stable_#            stables are built at the discretion of the MCP team.
    // Use non-default mappings at your own risk. they may not always work.
    // simply re-run your setup task after changing the mappings to update your workspace.
    mappings = "snapshot_20171003"
    // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}

dependencies {
    compile deobfCompile("io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:3.10")
    annotationProcessor "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
    // you may put jars on which you depend on in ./libs
    // or you may define them like so..
    //compile "some.group:artifact:version:classifier"
    //compile "some.group:artifact:version"
      
    // real examples
    //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev'  // adds buildcraft to the dev env
    //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env

    // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
    //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'

    // the deobf configurations:  'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided,
    // except that these dependencies get remapped to your current MCP mappings
    //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev'
    //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev'

    // for more info...
    // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
    // http://www.gradle.org/docs/current/userguide/dependency_management.html

}

processResources {
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'
                
        // replace version and mcversion
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
        
    // copy everything else except the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}

Вызываю:
new BloodSyncPacket().sendToPlayer(player);
 
Сорри, что так поздно, не видел тему.
compile deobfCompile("io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:3.10")
annotationProcessor "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
Поменяй на
Gradle (Groovy):
deobfCompile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:3.10"
annotationProcessor "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
compileOnly "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
 
Всё равно, всё тоже самое. Пишет про аннотацию.
Может быть это проблема с либами? Когда я пытаюсь открыть некоторые классы из annotation-processor-3.10.jar, у меня пишет что нет ресурсов.
 
Последнее редактирование:
Всё равно, всё тоже самое. Пишет про аннотацию.
Выполни gradlew build и посмотри, че собралось:
В архиве мода должен появиться файл /META-INF/services/hohserg.elegant.networking.impl.IPacketProvider
Скинь его содержимое.
Если файла нету, то процессор аннотаций не подключен
 
Последнее редактирование:
Назад
Сверху