Краш при отправке пакета с помощью Elegant Networking

Версия Minecraft
1.7.10
API
Forge
48
2
9
Знаю, что пару дней назад уже писали с такой же ошибкой, но в моем случае то решение не помогло.
Собственно, выдает ошибку о том, что мне нужно подключить аннотацию @ElegantPacket для того, чтобы пакер зарегистрировался. Вот код моего пакета, где видно, что аннотация подключена. Суть пакета - спавн сущности пули при выстреле из оружия (пока просто спавн без всяких проверок).
BulletPacket:
@ElegantPacket
public class BulletPacket implements ClientToServerPacket {
    @Override
    public void onReceive(EntityPlayerMP player) {
        if (!CompilationFlag.SERVER) {
            return;
        }
        player.worldObj.spawnEntityInWorld(new EntityBullet(player.worldObj, player, 3.0F, 1.0F, 4));
    }
}

Вот как я отправляю пакет:
Java:
BulletPacket packet = new BulletPacket();
packet.sendToServer();

Мой build.gradle:
build.gradle:
buildscript {
    repositories {
        mavenCentral()
        maven {
            name = "forge"
            url = "https://maven.minecraftforge.net/"
        }
        maven {
            name = "sonatype"
            url = "https://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
            changing = true
        }
    }
}

plugins {
    id 'java-library'
    id 'maven-publish'
    id 'eclipse'
}

apply plugin: 'forge'

// These settings allow you to choose what version of Java you want to be compatible with. Forge 1.7.10 runs on Java 6 to 8.
sourceCompatibility = 1.6
targetCompatibility = 1.6

version = project.version
group = project.group

minecraft {
    version = project.minecraft_version + "-" + project.forge_version
    runDir = "run"
}

jar {
    manifest {
        attributes 'FMLAT': 'thecaribbean_at.cfg'
    }
}

dependencies {
    compile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.10"
    compileOnly "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
    annotationProcessor "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
}

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 values in only mcmod.info.
    filesMatching('mcmod.info') {
        // Replace version and mcversion.
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
}

// Ensures that the encoding of source files is set to UTF-8, see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

// This task creates a .jar file containing the source code of this mod.
task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = "sources"
    from sourceSets.main.allSource
}

// This task creates a .jar file containing a deobfuscated version of this mod, for other developers to use in a development environment.
task devJar(type: Jar) {
    classifier = "dev"
    from sourceSets.main.output
}

// Creates the listed artifacts on building the mod.
artifacts {
    archives sourcesJar
    archives devJar
}

// This block configures any maven publications you want to make.
publishing {
    publications {
        mavenJava(MavenPublication) {
        // Add any other artifacts here that you would like to publish!
            artifact(jar) {
                builtBy build
            }
            artifact(sourcesJar) {
                builtBy sourcesJar
            }
            artifact(devJar) {
                builtBy devJar
            }
        }
    }

    // This block selects the repositories you want to publish to.
    repositories {
        // Add the repositories you want to publish to here.
    }
}

После изменения в build.gradle я выполнил команду gradlew clean setupDecompWorkspace --refresh-dependencies

Для разработки использую Eclipse.
 
Краш-лог
java.lang.IllegalArgumentException: Packet is not registered: tcguns.packets.BulletPacket. Need to add @ElegantPacket annotation to packet class
at hohserg.elegant.networking.impl.Registry.getPacketId(Registry.java:29) ~[Registry.class:?]
at hohserg.elegant.networking.impl.ForgeNetworkImpl.preparePacket(ForgeNetworkImpl.java:76) ~[ForgeNetworkImpl.class:?]
at hohserg.elegant.networking.impl.ForgeNetworkImpl.sendToServer(ForgeNetworkImpl.java:62) ~[ForgeNetworkImpl.class:?]
at hohserg.elegant.networking.api.ClientToServerPacket.sendToServer(ClientToServerPacket.java:21) ~[ClientToServerPacket.class:?]
at tcguns.handlers.EventsHandler.onMouseInput(EventsHandler.java:69) ~[EventsHandler.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_8_EventsHandler_onMouseInput_MouseInputEvent.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
at cpw.mods.fml.common.FMLCommonHandler.fireMouseInput(FMLCommonHandler.java:535) [FMLCommonHandler.class:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1826) [Minecraft.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1039) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_301]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
Краш-лог:
java.lang.IllegalArgumentException: Packet is not registered: tcguns.packets.BulletPacket. Need to add @ElegantPacket annotation to packet class
	at hohserg.elegant.networking.impl.Registry.getPacketId(Registry.java:29) ~[Registry.class:?]
	at hohserg.elegant.networking.impl.ForgeNetworkImpl.preparePacket(ForgeNetworkImpl.java:76) ~[ForgeNetworkImpl.class:?]
	at hohserg.elegant.networking.impl.ForgeNetworkImpl.sendToServer(ForgeNetworkImpl.java:62) ~[ForgeNetworkImpl.class:?]
	at hohserg.elegant.networking.api.ClientToServerPacket.sendToServer(ClientToServerPacket.java:21) ~[ClientToServerPacket.class:?]
	at tcguns.handlers.EventsHandler.onMouseInput(EventsHandler.java:69) ~[EventsHandler.class:?]
	at cpw.mods.fml.common.eventhandler.ASMEventHandler_8_EventsHandler_onMouseInput_MouseInputEvent.invoke(.dynamic) ~[?:?]
	at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
	at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
	at cpw.mods.fml.common.FMLCommonHandler.fireMouseInput(FMLCommonHandler.java:535) [FMLCommonHandler.class:?]
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1826) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1039) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_301]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
	at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
	at GradleStart.main(Unknown Source) [start/:?]
Решение
Решил теперь все-же перейти с Eclipse на Idea
Отличная идея)

Мне начало кидать ошибку, что не может загрузить OBJ модель, ибо файл не найден (файл на самом деле есть, по пути src\main\resources\assets\thecaribbean\obj\saber.obj).

Как я понял, оно не может найти hohserg.elegant.networking.api.ClientToServerPacket из либы
А ты закинул либу в mods обычного клиента?
Скачай ее с курса или мавена и закинь
7,099
324
1,510
Попробуй запустить через gradlew runClient, если поможет, значит, проблема в использовании процессора аннотаций в eclipse.
 
48
2
9
Попробуй запустить через gradlew runClient
Запустил через это, все равно выдает ошибку. В этот раз, правда, уже другую, о том, что не смогло зарегистрировать канал
Java:
[19:03:02] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception
java.lang.NoSuchFieldError: field_147369_b
        at hohserg.elegant.networking.impl.ForgeNetworkImpl.lambda$registerChannel$1(ForgeNetworkImpl.java:110) ~[ForgeNetworkImpl.class:?]
        at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?]
        at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?]
        at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
        at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
        at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?]
        at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
        at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
        at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
        at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
[19:03:02] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel tcguns
java.lang.NoSuchFieldError: field_147369_b
        at hohserg.elegant.networking.impl.ForgeNetworkImpl.lambda$registerChannel$1(ForgeNetworkImpl.java:110) ~[ForgeNetworkImpl.class:?]
        at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?]
        at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?]
        at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
        at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
        at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?]
        at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
        at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
        at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
        at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
Как оказалось, у меня в Eclipse так же не был включен annotation processing, но даже с ним проблема никуда не ушла. На стэке там так же сказано, что нужно добавить jar в factory path. Нужно ли это делать в моем случае?
 
7,099
324
1,510
java.lang.NoSuchFieldError: field_147369_b
compile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.10"
Либо используй deobfCompile, либо добавь CodeChickenCore в mods
Как оказалось, у меня в Eclipse так же не был включен annotation processing, но даже с ним проблема никуда не ушла
Какая из двух проблем?
 
48
2
9
Либо используй deobfCompile, либо добавь CodeChickenCore в mods
Заменил compile в dependecies на deobfCompile

Gradle (Groovy):
dependencies {
    deobfCompile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.10"
    compileOnly "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
    annotationProcessor "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
}
Но при пересборке gradlew clean setupDecompWorkspace --refresh-dependencies вылетает ошибка:
Java:
> Could not find method deobfCompile() for arguments [io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.10] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Я как-то не правильно применяю deobfCompile?

Какая из двух проблем?
Первая. При запуске из Eclipse все еще пишет, что нету аннотации, хотя я включил их обработку. Правда, как я понял, там необходимо еще и добавить jar либы, чтобы оно заработало. А я не совсем доганяю где его взять.
 
7,099
324
1,510
Я как-то не правильно применяю deobfCompile?
Из стандартного билд-скрипта:
Gradle (Groovy):
// 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'
Хз, почему у тебя не работает. Добавь CodeChickenCore и не парься. Это нужно только для деобфусцированной среды во время разработки
Правда, как я понял, там необходимо еще и добавить jar либы, чтобы оно заработало
В idea есть фича поиска процессоров среди зависимостей. Если в eclipse нету, то скачай процессор с мавена, закинь куда-нить и укажи до него путь

1635195767484.png
 
Последнее редактирование:
48
2
9
Добавь CodeChickenCore и не парься
Добавил его в папку mods рантайма, теперь при запуске через gradlew runClient все работает.

Решил теперь все-же перейти с Eclipse на Idea (Community), ибо очень уж было все не удобно там. Я включил в настройках Obtain processors from projects classpath, но я не могу проверить работает ли оно. Мне начало кидать ошибку, что не может загрузить OBJ модель, ибо файл не найден (файл на самом деле есть, по пути src\main\resources\assets\thecaribbean\obj\saber.obj). Вот ошибка:
Error:
net.minecraftforge.client.model.ModelFormatException: IO Exception reading model format
    at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:60) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at net.minecraftforge.client.model.obj.ObjModelLoader.loadInstance(ObjModelLoader.java:27) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at net.minecraftforge.client.model.AdvancedModelLoader.loadModel(AdvancedModelLoader.java:65) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at thecaribbean.renderers.RenderItemSteelArm.<init>(RenderItemSteelArm.java:47) ~[main/:?]
    at thecaribbean.proxy.ProxyClient.registerItemsRenderers(ProxyClient.java:45) ~[main/:?]
    at thecaribbean.proxy.ProxyClient.init(ProxyClient.java:38) ~[main/:?]
    at thecaribbean.Main.init(Main.java:37) ~[main/:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_302]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_302]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_302]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_302]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_302]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_302]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) [Loader.class:?]
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) [FMLClientHandler.class:?]
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:942) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_302]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_302]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
    at GradleStart.main(Unknown Source) [start/:?]
Caused by: java.io.FileNotFoundException: thecaribbean:obj/saber.obj
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:71) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:55) ~[forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar:?]
    ... 45 more
[18:48:05] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: ---- Minecraft Crash Report ----
Это может быть как-то связано с неправильными настройками Idea? Ибо через gradlew runClient все работает. Вот мои конфигурации запуска их Idea:1635264177142.png

И еще так же я попытался запустить собранный мод на обычном майнкрафте (TLauncher), и при отсылке пакета мне выдало ошибку:
Error:
java.lang.NoClassDefFoundError: thecaribbean/packets/BulletPacket
    at thecaribbean.handlers.EventsHandler.onMouseInput(EventsHandler.java:68)
    at cpw.mods.fml.common.eventhandler.ASMEventHandler_49_EventsHandler_onMouseInput_MouseInputEvent.invoke(.dynamic)
    at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
    at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140)
    at cpw.mods.fml.common.FMLCommonHandler.fireMouseInput(FMLCommonHandler.java:535)
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1735)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Caused by: java.lang.ClassNotFoundException: thecaribbean.packets.BulletPacket
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 15 more
Caused by: java.lang.NoClassDefFoundError: hohserg/elegant/networking/api/ClientToServerPacket
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
    ... 17 more
Caused by: java.lang.ClassNotFoundException: hohserg.elegant.networking.api.ClientToServerPacket
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 21 more
Caused by: java.lang.NullPointerException
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
    ... 23 more
Как я понял, оно не может найти hohserg.elegant.networking.api.ClientToServerPacket из либы, ибо я в jar посмотрел и там мой thecaribbean.packets.BulletPacket лежит.
 
7,099
324
1,510
Решил теперь все-же перейти с Eclipse на Idea
Отличная идея)

Мне начало кидать ошибку, что не может загрузить OBJ модель, ибо файл не найден (файл на самом деле есть, по пути src\main\resources\assets\thecaribbean\obj\saber.obj).

Как я понял, оно не может найти hohserg.elegant.networking.api.ClientToServerPacket из либы
А ты закинул либу в mods обычного клиента?
Скачай ее с курса или мавена и закинь
 
48
2
9

tox1cozZ

aka Agravaine
8,456
598
2,892
Спасибо тебе за помощь, теперь все работает)

Хотел только еще спросить. Можно ли как-то собрать мод так, чтобы либа уже была внутри него и не нужно было бы докидывать ее дополнительно в mods?
shadow jar гугли
 
7,099
324
1,510
Можно ли как-то собрать мод так, чтобы либа уже была внутри него и не нужно было бы докидывать ее дополнительно в mods?
Короткий ответ: нет.
Но можно есть некоторые обходные варианты:
  • Сделать far jar, например, при помощи shadow gradle plugin. Не знаю, как будет вести себя либа в этом случае. Однако, точно понадобится relocate of packages
  • Чекать, есть ли EN в текущем модпаке и загружать, если отсутствует
  • Если делаешь паблик-мод, можно полагаться на CurseLauncher, он сам скачает все зависимости
  • Если делаешь приватный мод, то должно быть, тебе все равно, какие там зависимости, кастомный лаунчер просто скачает сборку целиком
 
  • Like
Реакции: klas
Сверху