Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

假人分世界保存以支持多世界插件 #411

Open
Senmo-awa opened this issue Feb 11, 2025 · 7 comments
Open

假人分世界保存以支持多世界插件 #411

Senmo-awa opened this issue Feb 11, 2025 · 7 comments
Labels
for: future Issue scheduled for resolution at some point in the future. pr welcome Won't do, but accept PRs status: accepted Disputed bug is accepted as valid or Feature accepted as desired to be added

Comments

@Senmo-awa
Copy link

服务端版本 Leaves Version

This server is running Leaves version 1.21.1-81-master@ec5a806 (2024-11-16T03:56:27Z) (Implementing API version 1.21.1-R0.1-SNAPSHOT)

预期的行为 Expected behavior

配置文件当中开启了假人保存功能后,重启服务器,假人会重新加入到服务器内

观测到的实际行为 Observed/Actual behavior

配置文件当中开启了假人保存功能后,重启服务器,假人仅会在指定的默认世界中重新加入,使用了myworld多世界管理插件而创造的其他世界的假人不会被重新加入

复现步骤 Steps/models to reproduce

加入myworld插件,通过插件创造或导入一个新的世界,在该世界中创建假人,重启服务器后,假人不会重新加入

插件与数据包列表。 Plugin and Datapack List.

Server Plugins (27):
[19:43:00 信息]: Paper Plugins:
[19:43:00 信息]: - BKCommonLib, ISeeYou
[19:43:00 信息]: Bukkit Plugins:
[19:43:00 信息]: - AllMusic3, AnimatedScoreboard, AuthMe, BlockLocker, ColorfulMap, CoreProtect, GSit, InventoryRollbackPlus, InvSeePlusPlus, InvSeePlusPlus_Clear
[19:43:00 信息]: InvSeePlusPlus_Give, LastLoginAPI, LuckPerms, MiniMOTD, My_Worlds, Parties, PlaceholderAPI, PlayerTitle, ProtocolLib
[19:43:00 信息]: SimpleTpa, SkinsRestorer, voicechat, *XinxinBotApi

更多详细信息。 The more information.

No response

@s-yh-china
Copy link
Member

假人的加载位置早于 POSTWORLD 的插件加载。因此在原版世界被加载后,插件加载世界之前,假人就会被尝试加载,而保存于插件加载世界的假人自然会加载失败。
我并不确定这是否是设计如此,即使这是我设计的,因为实际上这是一个未定义行为,我在使用服务端时并没有使用多世界插件,因此并没有考虑这些问题。
要解决这个问题,可以将假人改为分世界保存和加载,在每个世界被加载时读取其中存储的假人,如果我有时间,这个功能会在 1.21.4 中的后续更新推出,又或者是 1.21.5 我并不确定我们是否能赶上 mojang 的更新进度。

@s-yh-china s-yh-china changed the title 假人保存在多世界插件中仅能在指定的默认世界保存 假人分世界保存以支持多世界插件 Feb 11, 2025
@Senmo-awa
Copy link
Author

1.21.4修复了一些原版的生电特性,我希望在1.21.1的版本中获得此修复的最新构建,拜托了我什么都会做的QAQ

@s-yh-china
Copy link
Member

s-yh-china commented Feb 11, 2025

修复了什么特性?你可以在这里或 #398 内指出,我们会将其添加进 minecraft-old 配置项中
我们不会为低版本提供支持,我们并没有足够的时间去维护每个版本的开发,甚至 1.21.1 已经落后了两个版本

Lumine1909 added a commit to Lumine1909/LeavesAddons that referenced this issue Feb 11, 2025
@Lumine1909
Copy link
Contributor

https://github.com/Lumine1909/LeavesAddons/releases/tag/alpha-1.5
没有环境测试 你试试还有没有问题?(

@Senmo-awa
Copy link
Author

[18:53:51 信息]: [LeavesAddons] Enabling LeavesAddons valpha-1.5
[18:53:51 ERROR]: Error occurred while enabling LeavesAddons valpha-1.5 (Is it up to date?)
java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "injector" is null
at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.listener.BotFixListener.(BotFixListener.java:44) ~[LeavesAddons-alpha-1.5.jar:?]
at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.LeavesAddons.registerListeners(LeavesAddons.java:26) ~[LeavesAddons-alpha-1.5.jar:?]
at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.LeavesAddons.onEnable(LeavesAddons.java:22) ~[LeavesAddons-alpha-1.5.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:288) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:646) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806]
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:595) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:298) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1215) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "injector" is null
at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.listener.BotFixListener.(BotFixListener.java:36) ~[LeavesAddons-alpha-1.5.jar:?]
... 12 more

@Lumine1909
Copy link
Contributor

[18:53:51 信息]: [LeavesAddons] Enabling LeavesAddons valpha-1.5 [18:53:51 ERROR]: Error occurred while enabling LeavesAddons valpha-1.5 (Is it up to date?) java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "injector" is null at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.listener.BotFixListener.(BotFixListener.java:44) ~[LeavesAddons-alpha-1.5.jar:?] at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.LeavesAddons.registerListeners(LeavesAddons.java:26) ~[LeavesAddons-alpha-1.5.jar:?] at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.LeavesAddons.onEnable(LeavesAddons.java:22) ~[LeavesAddons-alpha-1.5.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:288) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:646) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:595) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:298) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1215) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "injector" is null at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.listener.BotFixListener.(BotFixListener.java:36) ~[LeavesAddons-alpha-1.5.jar:?] ... 12 more

你的authme是什么版本的?我无法复现

@Lumine1909
Copy link
Contributor

Lumine1909 commented Feb 13, 2025

[18:53:51 信息]: [LeavesAddons] Enabling LeavesAddons valpha-1.5 [18:53:51 ERROR]: Error occurred while enabling LeavesAddons valpha-1.5 (Is it up to date?) java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "injector" is null at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.listener.BotFixListener.(BotFixListener.java:44) ~[LeavesAddons-alpha-1.5.jar:?] at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.LeavesAddons.registerListeners(LeavesAddons.java:26) ~[LeavesAddons-alpha-1.5.jar:?] at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.LeavesAddons.onEnable(LeavesAddons.java:22) ~[LeavesAddons-alpha-1.5.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:288) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:646) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:595) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:298) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1215) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326) ~[leaves-1.21.1.jar:1.21.1-81-ec5a806] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "injector" is null at LeavesAddons-alpha-1.5.jar/io.github.lumine1909.listener.BotFixListener.(BotFixListener.java:36) ~[LeavesAddons-alpha-1.5.jar:?] ... 12 more

我尝试修复了一下 你看看现在能不能用qwq

https://github.com/Lumine1909/LeavesAddons/releases/tag/alpha-1.6

@s-yh-china s-yh-china added for: future Issue scheduled for resolution at some point in the future. status: accepted Disputed bug is accepted as valid or Feature accepted as desired to be added pr welcome Won't do, but accept PRs labels Feb 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
for: future Issue scheduled for resolution at some point in the future. pr welcome Won't do, but accept PRs status: accepted Disputed bug is accepted as valid or Feature accepted as desired to be added
Projects
None yet
Development

No branches or pull requests

3 participants