当前位置: 首页 > 知识库问答 >
问题:

在Eclipse中使用Pixelmon mod 1.12.2-6.3.1运行Minecraft Forge服务器/客户端

薛钧
2023-03-14

我能够运行一个服务器与Pixelmon mod的方式,他们的指示,即。使用锻造发射器。我想为Pixelmon编写一个边mod,并尝试在Eclipse中运行forge服务器。服务器和客户机运行良好,我自己的mod,或没有其他mod,除了打包的moddforge,但它崩溃时,我把pixelmon jar在mods文件夹(参见下面的跟踪)。

到目前为止我已经查过了:

  • Forge版本2705对Pixelmon 6.3.1正确
  • 使用Java 8
  • jar文件上的zip扩展名
  • 未提取jar文件
  • 无OOM问题
  • Minecraft 1.12.2对于Pixelmon 6.3.1是正确的

有什么想法,我可能做错了,可以尝试下一个吗?

(来自崩溃日志)

-- System Details --
Details:
    Minecraft Version: 1.12.2
    Operating System: Mac OS X (x86_64) version 10.13.4
    Java Version: 1.8.0_101, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 774347184 bytes (738 MB) / 900726784 bytes (859 MB) up to 3817865216 bytes (3641 MB)
    JVM Flags: 0 total; 
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP 9.42 Powered by Forge 14.23.4.2705 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 |
|:----- |:---------- |:------------ |:----------------------------------- |:--------- |
| UC    | minecraft  | 1.12.2       | minecraft.jar                       | None      |
| UC    | mcp        | 9.42         | minecraft.jar                       | None      |
| UC    | FML        | 8.0.99.99    | forgeSrc-1.12.2-14.23.4.2705.jar    | None      |
| UC    | forge      | 14.23.4.2705 | forgeSrc-1.12.2-14.23.4.2705.jar    | None      |
| UC    | examplemod | 1.0          | main                                | None      |
| U     | pixelmon   | 6.3.1        | Pixelmon-1.12.2-6.3.1-universal.jar | None      |

Loaded coremods (and transformers): 
Profiler Position: N/A (disabled)
Is Modded: Definitely; Server brand changed to 'fml,forge'
Type: Dedicated Server (map_server.txt)

此处跟踪:

[10:39:42] [Server thread/ERROR] [net.minecraft.server.MinecraftServer]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: com/pixelmonmod/pixelmon/config/PixelmonConfig
    at com.pixelmonmod.pixelmon.storage.PixelmonStorage.<clinit>(PixelmonStorage.java:26) ~[PixelmonStorage.class:?]
    at com.pixelmonmod.pixelmon.Pixelmon.<clinit>(Pixelmon.java:121) ~[Pixelmon.class:?]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_101]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_101]
    at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:530) ~[forgeSrc-1.12.2-14.23.4.2705.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
    at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
    at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:218) ~[forgeSrc-1.12.2-14.23.4.2705.jar:?]
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:196) ~[forgeSrc-1.12.2-14.23.4.2705.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
    at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
    at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135) ~[LoadController.class:?]
    at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:593) ~[Loader.class:?]
    at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:97) ~[FMLServerHandler.class:?]
    at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:332) ~[FMLCommonHandler.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.init(DedicatedServer.java:128) ~[DedicatedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:552) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: java.lang.ClassNotFoundException: com.pixelmonmod.pixelmon.config.PixelmonConfig
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 36 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: info.pixelmon.repack.ninja.leaping.configurate.objectmapping.ObjectMappingException
    at org.objectweb.asm.ClassWriter.getCommonSuperClass(ClassWriter.java:1728) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1698) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.Frame.merge(Frame.java:1530) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.Frame.merge(Frame.java:1441) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1516) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.commons.LocalVariablesSorter.visitMaxs(LocalVariablesSorter.java:165) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1634) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1032) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:708) ~[asm-debug-all-5.2.jar:5.2]
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:521) ~[asm-debug-all-5.2.jar:5.2]
    at net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer.transform(DeobfuscationTransformer.java:51) ~[forgeSrc-1.12.2-14.23.4.2705.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 36 more

共有1个答案

钱弘壮
2023-03-14

关于混淆的名字的旁白

Minecraft有3个级别的命名:

  1. 缺口名称--这些是Minecraft在分发时使用的方法和字段的名称。通常是a.aab.cf2。这是完全模糊状态
  2. SRG名称--这些是由Forge在运行游戏时执行的运行时去模糊处理过程为方法和字段指定的名称。编译后的MOD使用这些名称,因为它们在次要版本之间是一致的
  3. MCP名称-这些是您在Eclipse中看到的人类可读的名称。当有人通过IRC上的MCP Bot计算出某个字段或方法的作用时,这些名称是手工提供的。在运行gradlew setup
  4. 时,使用MDK安装Forge开发环境将获取“当前”映射

为了在开发环境中运行一个mod,您需要首先对其进行去模糊化处理,将SRG名称更改为MCP名称,以便它能够在开发环境中运行。

这有两种方法:

  1. 从mod的作者那里获取一个“源代码”jar(取决于作者的想法;可能是也可能不是公共或开放源码,有API等等)
  2. 使用Code Chicken Core在Eclipse中执行运行时deobf(可能工作,也可能不工作;注意:您需要源代码jar)
  3. 使用BON2这样的工具(从未使用过,应该可以使用)
  4. 使用Gradle对mod进行去模糊处理(应始终有效)

这里选项4的问题是,虽然我知道这是可能的,但我无法(并且已经有一段时间了)找到必要的说明。我现在能找到的东西,由知道如何做4的人发布的建议做3。

 类似资料:
  • 问题内容: 当我在Eclipse中转到 文件- >新建->其他-> Web服务-> Web服务客户端并选择“ Web服务运行时”时,我看到“ Apache CFX 2.x”,但是完成按钮被禁用,我得到了对话框中的以下内容: “从运行时和部署服务器列表中选择,或使用默认设置。” 我是否真的必须设置服务器才能在Eclipse中使用CXF生成Web服务客户端? 提前致谢。 问题答案: 是的,看起来确实如

  • 我将创建一个身份验证服务器,它本身与一组不同的Oauth2.0服务器交互。Netty似乎是在这里实现网络部分的一个很好的候选者。但在开始之前,我需要澄清一些关于netty的细节,因为我是新手。例行程序如下: > < li> 服务器接受来自客户端的HTTPS连接。 然后,不关闭第一个连接,它通过HTTPS与远程OAuth2.0服务器建立另一个连接并获取数据 毕竟,服务器将结果发送回客户端,客户端应该

  • 编译 本例涉及到多模块 Maven 项目的组织 在例子 chapter2 目录下,执行 mvn clean package 输出如下 Listing 2.6 Build Output chapter2>mvn clean package [INFO] Scanning for projects... [INFO] -----------------------------------------

  • 我有一个RESTful服务在Java14SpringBoot微服务上运行。我从运行在Java 7应用程序上的客户机调用这个。 我有一个调用api的RESful客户端。当我从test方法调用它时,它成功工作,我得到了预期的结果,客户端和服务器上没有错误。 问题 当我在JBoss中启动Java7(Struts)应用程序,并通过同一个RESTful客户端调用api时,我收到了错误。 在 Java 14

  • 如何将JBoss或JBoss EAP库添加到Eclipse中项目的Java构建路径? 我的平台:带有WindowsXPSP3、JDK7和JRE7的虚拟机、面向Web开发人员的EclipseJavaEEIDE(版本:开普勒服务发行版2)、Eclipse中新的干净工作区 我所做的: 从市场上为开普勒安装了JBoss工具 文件夹与解压缩的JBoss EAP-我尝试与jboss-eap-6.2.0.zip

  • 您好,我正在尝试从计算机中的本地客户端连接我的服务器。我有一个远程服务器正在运行。。当我从Netbeans运行代码时,一切都正常。。。当我从CMD尝试时,我得到了这个错误 Java语言com上的lang.NullPointerException。太阳企业命名。实施。SerialContext。com上的getORB(SerialContext.java:347)。太阳企业命名。实施。SerialC