ejektaflex / Bountiful

A Minecraft mod adding bounties for specific items.
https://minecraft.curseforge.com/projects/bountiful
GNU General Public License v3.0
82 stars 31 forks source link

[Bug]: "Missing ops" logs (Related to closed issues like #99) #176

Closed Aleon4201 closed 1 year ago

Aleon4201 commented 2 years ago

What happened?

Probably no affects in-game, but same logs for several times in latest.log.

You said you didn't know how to fix it in the issue #99 , I think it's just lack of properties for "copynbt" function - **"ops"_**. References: MC Fandom Wiki

I wanted to test by overriding from my Datapack, but I couldn't because I didn't know what NBTs you wanted to copy. Sorry. If you want to copy several NBTs, yes you can. (The below is from Shulker Box.)

          {
            "function": "minecraft:copy_nbt",
            "source": "block_entity",
            "ops": [
                {
                  "source": "Lock",
                  "target": "BlockEntityTag.Lock",
                  "op": "replace"
                },
                {
                  "source": "LootTable",
                  "target": "BlockEntityTag.LootTable",
                  "op": "replace"
                },
                {
                  "source": "LootTableSeed",
                  "target": "BlockEntityTag.LootTableSeed",
                  "op": "replace"
                }
              ]
            }

How can we reproduce it?

Nothing. Just launch MC, and enter to any world.

Mod Version

1.16.4-3.3.1 (updated in March 15)

Forge Version

36.2.34

Relevant log output

[13:40:51] [main/ERROR]: Couldn't parse loot table bountiful:blocks/bountyboard com.google.gson.JsonSyntaxException: Missing ops, expected to find a JsonArray at net.minecraft.util.JSONUtils.func_151214_t(SourceFile:425) ~[?:?] at net.minecraft.loot.functions.CopyNbt$Serializer.func_186530_b(SourceFile:245) ~[?:?] at net.minecraft.loot.functions.CopyNbt$Serializer.func_186530_b(SourceFile:231) ~[?:?] at net.minecraft.loot.LootFunction$Serializer.func_230423a(SourceFile:99) ~[?:?] at net.minecraft.loot.LootFunction$Serializer.func_230423a(SourceFile:88) ~[?:?] at net.minecraft.loot.LootTypesManager$Serializer.deserialize(SourceFile:83) ~[?:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?] at net.minecraft.util.JSONUtils.func_188179_a(SourceFile:440) ~[?:?] at net.minecraft.util.JSONUtils.func_188177_a(SourceFile:456) ~[?:?] at net.minecraft.loot.StandaloneLootEntry$Serializer.func_230421b(SourceFile:149) ~[?:?] at net.minecraft.loot.StandaloneLootEntry$Serializer.func_230421b(SourceFile:129) ~[?:?] at net.minecraft.loot.LootEntry$Serializer.func_230423a(SourceFile:86) ~[?:?] at net.minecraft.loot.LootEntry$Serializer.func_230423a(SourceFile:74) ~[?:?] at net.minecraft.loot.LootTypesManager$Serializer.deserialize(SourceFile:83) ~[?:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?] at net.minecraft.util.JSONUtils.func_188179_a(SourceFile:440) ~[?:?] at net.minecraft.util.JSONUtils.func_188174_a(SourceFile:448) ~[?:?] at net.minecraft.loot.LootPool$Serializer.deserialize(LootPool.java:183) ~[?:?] at net.minecraft.loot.LootPool$Serializer.deserialize(LootPool.java:180) ~[?:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?] at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[gson-2.8.0.jar:?] at net.minecraft.util.JSONUtils.func_188179_a(SourceFile:440) ~[?:?] at net.minecraft.util.JSONUtils.func_188177_a(SourceFile:456) ~[?:?] at net.minecraft.loot.LootTable$Serializer.deserialize(LootTable.java:252) ~[?:?] at net.minecraft.loot.LootTable$Serializer.deserialize(LootTable.java:249) ~[?:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:887) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:952) ~[gson-2.8.0.jar:?] at com.google.gson.Gson.fromJson(Gson.java:925) ~[gson-2.8.0.jar:?] at net.minecraftforge.common.ForgeHooks.loadLootTable(ForgeHooks.java:888) ~[?:?] at net.minecraft.loot.LootTableManager.lambda$apply$0(LootTableManager.java:40) [?:?] at net.minecraft.loot.LootTableManager$$Lambda$12277/181977741.accept(Unknown Source) [?:?] at dev.latvian.kubejs.core.LootTablesKJS.applyKJS0(LootTablesKJS.java:38) [?:1605.3.19-build.299] at net.minecraft.loot.LootTableManager.redirect$zip000$applyKJS(LootTableManager.java:521) [?:?] at net.minecraft.loot.LootTableManager.func_212853a(LootTableManager.java:38) [?:?] at net.minecraft.loot.LootTableManager.func_212853a(LootTableManager.java:16) [?:?] at net.minecraft.client.resources.ReloadListener.func_215269_a(SourceFile:13) [?:?] at net.minecraft.client.resources.ReloadListener$$Lambda$9425/875541429.accept(Unknown Source) [?:?] at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656) [?:1.8.0_51] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) [?:1.8.0_51] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) [?:1.8.0_51] at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) [?:?] at net.minecraft.resources.AsyncReloader$$Lambda$9652/1965566881.run(Unknown Source) [?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) [?:?] at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) [?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) [?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) [?:?] at net.minecraft.client.Minecraft.func_238189a(Minecraft.java:1865) [?:?] at net.minecraft.client.Minecraft.loadWorld(Minecraft.java:1714) [?:?] at net.minecraft.client.Minecraft.lambda$loadWorld$29(Minecraft.java:1806) [?:?] at net.minecraft.client.Minecraft$$Lambda$12639/837951975.run(Unknown Source) [?:?] at net.minecraft.client.Minecraft.lambda$displayExperimentalConfirmationDialog$30(Minecraft.java:1836) [?:?] at net.minecraft.client.Minecraft$$Lambda$12640/1637578418.proceed(Unknown Source) [?:?] at net.minecraft.client.gui.screen.ConfirmBackupScreen.func_212992_b(SourceFile:40) [?:?] at net.minecraft.client.gui.screen.ConfirmBackupScreen$$Lambda$12648/1897318534.onPress(Unknown Source) [?:?] at net.minecraft.client.gui.widget.button.Button.func_230930b(SourceFile:33) [?:?] at com.legacy.structure_gel.SGClientEvents.skipExperimentalBackupScreen(SGClientEvents.java:66) [?:1.7.8] at com.legacy.structure_gel.SGClientEvents$$Lambda$4211/1324053914.accept(Unknown Source) [?:1.7.8] at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) [eventbus-4.0.0.jar:?] at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) [eventbus-4.0.0.jar:?] at net.minecraftforge.eventbus.EventBus$$Lambda$2943/15481156.invoke(Unknown Source) [eventbus-4.0.0.jar:?] at net.minecraftforge.eventbus.EventBus$$Lambda$3138/486178528.invoke(Unknown Source) [eventbus-4.0.0.jar:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) [eventbus-4.0.0.jar:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) [eventbus-4.0.0.jar:?] at net.minecraftforge.client.ForgeHooksClient.drawScreenInternal(ForgeHooksClient.java:378) [?:?] at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:370) [?:?] at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:492) [?:?] at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:977) [?:?] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] at net.minecraft.client.main.Main.main(Main.java:184) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.2.34.jar:36.2] at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$494/975790343.call(Unknown Source) [forge-1.16.5-36.2.34.jar:36.2] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?]

ejektaflex commented 2 years ago

Yeah, this is the same as #99 . I've tried supplying the right ops, but I can't for the life of me figure out what the problem is! I'll keep this open and see if I can look into it again, thank you.

ejektaflex commented 1 year ago

This is still an outstanding issue - but now that both versions of Bountiful have been unified, I'm going to make this a priority.

ejektaflex commented 1 year ago

Fixed in 6.0.3-1.20.1