ClayCoffee / ClayTech

An addon for slimefun.
GNU Affero General Public License v3.0
17 stars 15 forks source link

[BUG]兼容性问题以及世界无法正常生成 #80

Closed LobbyTech-MC closed 4 years ago

LobbyTech-MC commented 4 years ago

Describe 描述 出现报错(大概率与Mypet与Elitemobs相关) [18:46:14 ERROR]: Could not pass event EntityDeathEvent to ClayTech v1.2.14 java.lang.NullPointerException: null at cn.claycoffee.ClayTech.listeners.PlanetListener.EntityDeathEvent(PlanetListener.java:454) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor893.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:801) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.EntityLiving.d(EntityLiving.java:1491) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.EntityLiving.die(EntityLiving.java:1420) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.craftbukkit.v1_16_R2.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:123) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at com.magmaguy.elitemobs.mobconstructor.EliteMobEntity.damage(EliteMobEntity.java:481) ~[?:?] at com.magmaguy.elitemobs.api.EliteMobDamagedEvent.(EliteMobDamagedEvent.java:27) ~[?:?] at com.magmaguy.elitemobs.api.EliteMobDamagedEvent$EliteMobDamageEventFilter.onEntityDamageByEntityEvent(EliteMobDamagedEvent.java:73) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor532.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callEvent(CraftEventFactory.java:252) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:1042) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:929) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:885) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:1074) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.EntityLiving.damageEntity0(EntityLiving.java:1825) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.EntityLiving.damageEntity(EntityLiving.java:1160) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.EntityMonster.damageEntity(EntityMonster.java:52) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.EntityPiglin.damageEntity(SourceFile:393) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at de.Keyle.MyPet.compat.v1_16_R2.skill.skills.ranged.nms.MyPetSnowball.a(MyPetSnowball.java:69) ~[?:?] at net.minecraft.server.v1_16_R2.EntityProjectile.tick(EntityProjectile.java:53) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.WorldServer.entityJoinedWorld(WorldServer.java:1282) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.World.a(World.java:898) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.WorldServer.doTick(WorldServer.java:949) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1416) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:376) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1267) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:999) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.2.jar:git-Tuinity-"4468be2"] at java.lang.Thread.run(Unknown Source) [?:1.8.0_231]

To Reproduce 如何复现 可能与Mypet和EliteMobs有关 另外启动时也有如下NPE 在注册物品时发生错误:

[16:49:25] [Server thread/WARN]: at cn.claycoffee.ClayTech.implementation.Planets.Moon.getDefaultPopulators(Moon.java:69) [16:49:25] [Server thread/WARN]: at net.minecraft.server.v1_16_R2.MinecraftServer.initWorld(MinecraftServer.java:482) [16:49:25] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_16_R2.CraftServer.createWorld(CraftServer.java:1157) [16:49:25] [Server thread/WARN]: at org.bukkit.Bukkit.createWorld(Bukkit.java:581) [16:49:25] [Server thread/WARN]: at org.bukkit.WorldCreator.createWorld(WorldCreator.java:325) [16:49:25] [Server thread/WARN]: at cn.claycoffee.ClayTech.api.Planet.register(Planet.java:144) [16:49:25] [Server thread/WARN]: at cn.claycoffee.ClayTech.implementation.Planets.Moon.(Moon.java:26) [16:49:25] [Server thread/WARN]: at cn.claycoffee.ClayTech.ClayTech.registerPlanets(ClayTech.java:423) [16:49:25] [Server thread/WARN]: at cn.claycoffee.ClayTech.ClayTech.onEnable(ClayTech.java:240) [16:49:25] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) [16:49:25] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) [16:49:25] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) [16:49:25] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:499) [16:49:25] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:413) [16:49:25] [Server thread/WARN]: at net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:468) [16:49:25] [Server thread/WARN]: at net.minecraft.server.v1_16_R2.DedicatedServer.init(DedicatedServer.java:242) [16:49:25] [Server thread/WARN]: at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:939) [16:49:25] [Server thread/WARN]: at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) [16:49:25] [Server thread/WARN]: at java.lang.Thread.run(Unknown Source)

Running Environment 运行环境 git-Tuinity-"4468be2" Slimefun v4.3-nightly 此为截至20200906的build CS-CoreLib - DEV 90 (git 9dd4a) ClayTech-1.2.14 MyPet-3.11-SNAPSHOT-B1562 EliteMobs v. 7.1.43

Screenshots 截图

ClayCoffee commented 4 years ago

① 前几个commit已修复 ② 无法复现

LobbyTech-MC commented 4 years ago

不对,跟MV无关,删除世界后,就会出现这个问题,而且CMars世界文件夹好像没有,CMoon有但是报错(无法注册物品...)

LobbyTech-MC commented 4 years ago

我把Moon.java的getDefaultPopulators方法删了就好了

ClayCoffee commented 4 years ago

我把Moon.java的getDefaultPopulators方法删了就好了

因为CMoon加载出错之后,跳到了错误捕捉部分,下面的不加载,由于世界是最后加载的,所以物品还在且没火星

ClayCoffee commented 4 years ago

Paper1.16.2-b148+mv4.1.0无法复现

ClayCoffee commented 4 years ago

我把判断部分直接删了,问题结束