1.12.2 编译和运行arm版本的QtE-4.7.0

1.12.2 编译和运行arm版本的QtE-4.7.0
注意,请务必使用我们光盘中提供的交叉编译器arm-linux-gcc-4.5.1,并基于Fedora9平台,Fedora9的安装步骤见1.3.1,我们不能保证所制作的脚本可以在其他平台环境下顺利执行,对此我们也不提供支持。和Qtopia-2.2.0十分类似,我们也为QtE-4.7.0的编译制作了现成的脚本build-all,进入源代码目录执行: #cd /opt/FriendlyARM/mini6410/linux/arm-qte-4.7.0 #./build-all 这个过程将十分漫长,根据机器配置不同,会有不同的编译时间,请耐心等待。当顺利执行完毕,再运行mktarget脚本,将会从编译好的目标文件目录中,提取出必要的QtE-4.7.0库文件和可执行二进制示例,并打包为target-qte-4.7.0.tgz,把它在开发板的根目录下解压,就可以使用了,如下命令#tar xvzf target-qte-4.7.0.tgz–C / 这样,就会在/usr/local/目录下创建生成Trolltech目录,它里面包含了运行所需要的所有库文件和可执行程序。使用说明:因为目标板中预装的Linux已经包含了QtE-4.7.0,测试之前,你可以先删除原有的,它位于/usr/local/Trolltech目录,把该目录使用rm命令完全删除就可以了。要运行QtE-4..6.3,建议先停止正在运行的Qtopia-2.2.0,点“设置”中的“关机”可出现如下界面,点“Terminate Server”即可关闭Qtopia-2.2.0系统。
也可以使用其他的方法,比如在启动脚本/etc/init.d/rcS中注释掉qtopia启动项,再重新系统系统;或者使用killall命令杀死相关的进程(比较多;甚至是直接删除/opt目录中的所
第- 134 -页
有内容重启。 关闭qtopia-2.2.0之后,在命令行输入qt4命令,即可启动刚刚解压安装的QtE-4.7.0了,如图:
[02:30:58 ERROR]: Could not pass event EntityDamageEvent to MythicMobs v4.7.2-FREE org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:92) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:579) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:565) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:611) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityLiving.damageEntity0(EntityLiving.java:1339) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityLiving.damageEntity(EntityLiving.java:863) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityMonster.damageEntity(EntityMonster.java:44) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityZombie.damageEntity(EntityZombie.java:163) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.Entity.Y(Entity.java:433) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityLiving.Y(EntityLiving.java:199) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityInsentient.Y(EntityInsentient.java:186) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.Entity.B_(Entity.java:314) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityLiving.B_(EntityLiving.java:1866) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityInsentient.B_(EntityInsentient.java:246) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.EntityMonster.B_(EntityMonster.java:28) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.World.entityJoinedWorld(World.java:1633) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.World.h(World.java:1603) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.World.tickEntities(World.java:1437) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.WorldServer.tickEntities(WorldServer.java:665) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:817) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot-1.12.2.jar:git-Spigot-7754231-94b0980] at java.lang.Thread.run(Unknown Source) [?:1.8.0_211] Caused by: java.lang.NullPointerException
最新发布
04-02
<think>嗯,用户遇到了一个Minecraft服务器的错误日志,具体是MythicMobs插件在处理EntityDamageEvent时抛出了空指针异常。我需要帮他们分析可能的原因解决办法。首先,我应该先理解这个错误的上下文。 错误发生在MythicMobs的v4.7.2免费版本,而服务器是Spigot 1.12.2。从堆栈跟踪来看,问题出在EntityDamageEvent传递过程中,导致空指针异常。可能的原因有哪些呢?常见的空指针异常可能是插件代码没有正确处理某些情况,比如事件中的某个参数为null。 接下来,堆栈跟踪显示异常是在EntityZombie的damageEntity方法中触发的。这可能意味着在处理僵尸实体受到伤害时,某个变量或对象没有正确初始化。或者,MythicMobs在处理这个事件时,可能尝试访问一个不存在的配置项或技能。 然后,用户可能需要检查他们的MythicMobs配置,尤其是与僵尸相关的怪物设定,是否有错误的技能或条件配置。另外,插件版本过旧也可能导致兼容性问题,尤其是在较新的Spigot版本运行,虽然这里是1.12.2,但MythicMobs的版本是否支持需要确认。 此外,其他插件可能与此事件冲突,比如有插件修改了伤害事件的处理,但没有正确处理null值。用户可能需要通过排除法,禁用其他插件看看问题是否解决。 还有,查看服务器日志中是否有更详细的错误信息,或者MythicMobs的调试信息,这有助于定位问题。更新MythicMobs到最新版本,或者查看是否有已知的类似问题修复,也是解决办法之一。 总结下来,可能的解决步骤包括检查配置、更新插件、排查冲突插件、查看详细日志。需要将这些步骤清晰地传达给用户,帮助他们一步步解决问题。</think>该错误是Minecraft服务器运行MythicMobs插件时发生的空指针异常。以下是逐步分析及解决方案: --- ### **1. 错误类型定位** 错误日志显示: ``` Caused by: java.lang.NullPointerException ``` 表示插件尝试访问一个未初始化的对象(`null`)。具体触发点: ``` EntityZombie.damageEntity(EntityZombie.java:163) ``` 发生在处理僵尸实体伤害事件时。 --- ### **2. 核心原因分析** 可能原因包括: - **配置错误**:MythicMobs的怪物配置文件中存在未定义的技能/属性引用。 - **插件冲突**:其他插件修改了伤害事件(如Combat插件、自定义AI插件)。 - **版本兼容性**:MythicMobs v4.7.2与Spigot 1.12.2存在兼容性问题(需验证版本适配)。 - **事件监听缺陷**:MythicMobs的事件监听器未正确处理`EntityDamageEvent`中的某些参数。 --- ### **3. 解决步骤** #### **第一步:检查MythicMobs配置** 1. 定位到与僵尸相关的怪物配置文件(如`Zombies.yml`)。 2. 检查以下字段是否引用了不存在的技能或条件: ```yaml Skills: - skill_name @条件 ``` 3. 注释掉可疑配置后重启服务器测试。 #### **第二步:更新插件** - 下载最新版MythicMobs([官方页面](https://www.spigotmc.org/resources/mythicmobs.5702/)),v4.x版本1.12.2支持较好。 - 确保依赖插件(如PacketListener、ModelEngine)均为兼容版本。 #### **第三步:排查插件冲突** 1. 临时禁用其他与实体伤害相关的插件(如McMMO、WorldGuard)。 2. 使用`/reload confirm`逐步加载插件,观察错误是否复现。 #### **第四步:调试事件监听** 在MythicMobs配置文件`config.yml`中启用调试模式: ```yaml Debug: true ``` 检查日志中是否有更详细的错误上下文(如具体触发技能的名称)。 --- ### **4. 备用解决方案** 若问题仍未解决: 1. **回退服务端版本**:尝试使用Spigot 1.12.2构建号`git-Spigot-7754231-94b0980`的纯净服务端。 2. **重置配置**:删除MythicMobs配置文件夹,重新生成默认文件。 3. **查看官方支持**:在[MythicMobs问题追踪](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues)中搜索类似报错。 --- ### **5. 数学公式补充说明** 若需理解事件传递机制,可用以下公式类比插件事件处理: $$ P(\text{事件处理}) = \frac{\text{有效监听器}}{\text{总监听器}} \times \text{兼容性系数} $$ 当某个监听器(如MythicMobs)无法处理事件时,错误链会逐级向上抛出,最终导致`NullPointerException`。 --- 请按以上步骤操作,若需进一步帮助可提供完整配置文件片段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值