Lightman's Currency

Lightman's Currency

331k Downloads

BUG: Render thread/WARN + Modern FIX + Jeresources

Krimatoria opened this issue · 3 comments

commented

Minecraft Version

1.19.2

Forge Version

Forge 43.3.5

Lightman's Currency Version

lightmanscurrency-1.19.2-2.2.0.3a.jar

Environment Type

Minecraft Client (Bug/crash happened in a single-player world or while the game was booting)

Other relevant Mods

modernfix-forge-5.13.0+mc1.19.2.jar

Describe the bug

Render thread/WARN

[09Feb2024 13:15:46.843] [Render thread/WARN] [ModernFix/]: PathResourcePack base class instantiated with root path of mod file lightmanscurrency-1.19.2-2.2.0.3a.jar. This probably means a mod should be calling ResourcePackLoader.createPackForMod instead. Applying workaround.

[09Feb2024 13:18:12.730] [Render thread/WARN] [jeresources/]: Exception caught when registering villager
6868 | java.lang.NullPointerException: Cannot read field "f_19853_" because "trader" is null
6869 | at .....

The rest is at the bottom, it's just a piece.

#191 - The previous error has been resolved) With the updated mod, I only see this in the logs. I attached them below.

To Reproduce

lightmanscurrency-1.19.2-2.2.0.3a.jar
modernfix-forge-5.13.0+mc1.19.2.jar

Screenshots/Logs/Crash Reports

[09Feb2024 13:15:46.843] [Render thread/WARN] [ModernFix/]: PathResourcePack base class instantiated with root path of mod file lightmanscurrency-1.19.2-2.2.0.3a.jar. This probably means a mod should be calling ResourcePackLoader.createPackForMod instead. Applying workaround.

[09Feb2024 13:18:12.730] [Render thread/WARN] [jeresources/]: Exception caught when registering villager
6868 | java.lang.NullPointerException: Cannot read field "f_19853_" because "trader" is null
6869 | at io.github.lightman314.lightmanscurrency.common.villager_merchant.listings.ItemsForMapTrade.m_213663_(ItemsForMapTrade.java:63) ~[lightmanscurrency-1.19.2-2.2.0.3a.jar%23552!/:1.19.2-2.2.0.3a]
6870 | at jeresources.collection.TradeList.addMerchantRecipe(TradeList.java:58) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6871 | at jeresources.collection.TradeList.addITradeList(TradeList.java:69) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6872 | at jeresources.entry.AbstractVillagerEntry.addITradeLists(AbstractVillagerEntry.java:30) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6873 | at jeresources.entry.AbstractVillagerEntry.(AbstractVillagerEntry.java:23) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6874 | at jeresources.entry.VillagerEntry.(VillagerEntry.java:19) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6875 | at jeresources.util.VillagersHelper.initRegistry(VillagersHelper.java:23) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6876 | at jeresources.compatibility.Compatibility.init(Compatibility.java:33) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6877 | at jeresources.proxy.CommonProxy.initCompatibility(CommonProxy.java:14) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6878 | at jeresources.jei.JEIConfig.registerCategories(JEIConfig.java:98) ~[JustEnoughResources-1.19.2-1.2.3.243.jar%23540!/:...]
6879 | at mezz.jei.library.load.PluginLoader.lambda$createRecipeCategories$3(PluginLoader.java:88) ~[jei-1.19.2-forge-11.6.0.1018.jar%23536!/:11.6.0.1018]
6880 | at mezz.jei.library.load.PluginCaller.callOnPlugins(PluginCaller.java:25) ~[jei-1.19.2-forge-11.6.0.1018.jar%23536!/:11.6.0.1018]
6881 | at mezz.jei.library.load.PluginLoader.createRecipeCategories(PluginLoader.java:88) ~[jei-1.19.2-forge-11.6.0.1018.jar%23536!/:11.6.0.1018]
6882 | at mezz.jei.library.load.PluginLoader.createRecipeManager(PluginLoader.java:117) ~[jei-1.19.2-forge-11.6.0.1018.jar%23536!/:11.6.0.1018]
6883 | at mezz.jei.library.startup.JeiStarter.start(JeiStarter.java:114) ~[jei-1.19.2-forge-11.6.0.1018.jar%23536!/:11.6.0.1018]
6884 | at mezz.jei.forge.startup.StartEventObserver.transitionState(StartEventObserver.java:137) ~[jei-1.19.2-forge-11.6.0.1018.jar%23536!/:11.6.0.1018]
6885 | at mezz.jei.forge.startup.StartEventObserver.onEvent(StartEventObserver.java:100) ~[jei-1.19.2-forge-11.6.0.1018.jar%23536!/:11.6.0.1018]
6886 | at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.3.jar%23106!/:?]
6887 | at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.3.jar%23106!/:?]
6888 | at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%23106!/:?]
6889 | at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%23106!/:?]
6890 | at net.minecraft.client.multiplayer.ClientPacketListener.m_5859_(ClientPacketListener.java:1321) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6891 | at net.minecraft.network.protocol.game.ClientboundUpdateTagsPacket.m_5797_(ClientboundUpdateTagsPacket.java:35) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6892 | at net.minecraft.network.protocol.game.ClientboundUpdateTagsPacket.m_5797_(ClientboundUpdateTagsPacket.java:11) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6893 | at net.minecraft.network.protocol.PacketUtils.m_131356_(PacketUtils.java:22) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6894 | at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:157) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6895 | at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6896 | at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:131) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6897 | at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:116) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6898 | at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1072) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6899 | at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:700) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6900 | at net.minecraft.client.main.Main.m_239872_(Main.java:212) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6901 | at net.minecraft.client.main.Main.main(Main.java:51) ~[client-1.19.2-20220805.130853-srg.jar%23677!/:?]
6902 | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
6903 | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
6904 | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
6905 | at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
6906 | at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.2-43.3.5.jar%23122!/:?]
6907 | at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.8.jar%23109!/:?]
6908 | at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.8.jar%23109!/:?]
6909 | at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.8.jar%23109!/:?]
6910 | at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-10.0.8.jar%23109!/:?]
6911 | at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-10.0.8.jar%23109!/:?]
6912 | at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.8.jar%23109!/:?]
6913 | at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-10.0.8.jar%23109!/:?]
6914 | at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?]
6915 | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
6916 | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
6917 | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
6918 | at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
6919 | at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:67) [ForgeWrapper-mmc4.jar:mmc4]
6920 | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
6921 | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
6922 | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
6923 | at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
6924 | at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196) [NewLaunch.jar:?]
6925 | at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231) [NewLaunch.jar:?]
6926 | at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
6927 | at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]

commented

Both of these issues are cause by other mods and I will not take responsibility for their actions.

The first issue (ModernFix) is 100% a false claim, as the method they're claiming I should use in the issue only works for including the default resources (which is done by forge automatically), and not for adding optional built-in packs (In this case it's the Rupee Pack and the Closer Items Pack that are built-in to my mod, but can still be enabled/disabled at will in the Resource Packs menu in-game).

The JEResources issue is from them inserting a null villager entity into the ItemListing#getOffer function that only has non-null inputs (and is flagged as such by mojang themselves). They appear to be catching the errors that result from this safely, but even if they weren't that's an issue that they need to take care of, especially since the item listing in question is literally a near-exact copy of the vanilla TreasureMapForEmeralds item listing including its lack of null-check.

commented

Обе эти проблемы вызваны другими модами, и я не несу ответственности за их действия.

Первая проблема (ModernFix) на 100% является ложным утверждением, поскольку метод, который, по их утверждению, я должен использовать в этой проблеме, работает только для включения ресурсов по умолчанию (что выполняется автоматически), а не для добавления дополнительных встроенных пакеты (в данном случае это Rupee Pack и Closer Items Pack, которые встроены в мой мод, но их все равно можно включить/отключить по желанию в меню «Пакеты ресурсов» в игре).

Проблема JEResources заключается в том, что они вставляют нулевой объект деревенского жителя в функцию ItemListing#getOffer, которая имеет только ненулевые входные данные (и помечена как таковая самим mojang). Похоже, они безопасно улавливают ошибки, возникающие в результате этого, но даже если бы это было не так, это проблема, о которой им нужно позаботиться, тем более, что рассматриваемый список предметов буквально является почти точной копией списка ванильных предметов TreasureMapForEmeralds. включая отсутствие проверки на ноль.

No problem) I'll just make a branch for these mods on GitHub and with a mark for them)

commented

Обе эти проблемы вызваны другими модами, и я не несу ответственности за их действия.

Первая проблема (ModernFix) на 100% является ложным утверждением, поскольку метод, который, по их утверждению, я должен использовать в этой проблеме, работает только для включения ресурсов по умолчанию (что выполняется автоматически), а не для добавления дополнительных встроенных пакеты (в данном случае это Rupee Pack и Closer Items Pack, которые встроены в мой мод, но их все равно можно включить/отключить по желанию в меню «Пакеты ресурсов» в игре).

Проблема JEResources заключается в том, что они вставляют нулевой объект деревенского жителя в функцию ItemListing#getOffer, которая имеет только ненулевые входные данные (и помечена как таковая самим mojang). Похоже, они безопасно улавливают ошибки, возникающие в результате этого, но даже если бы это было не так, это проблема, о которой им нужно позаботиться, тем более, что рассматриваемый список предметов буквально является почти точной копией списка ванильных предметов TreasureMapForEmeralds. включая отсутствие проверки на ноль.

Modern Fix answered here, if you are interested