nikosgram / gringotts

Gringotts is an item-based economy plugin for the Bukkit Minecraft server platform. Unlike earlier economy plugins, all currency value and money transactions are based on actual items in Minecraft, per default emeralds.
https://www.spigotmc.org/resources/gringotts.42071/
BSD 2-Clause "Simplified" License
42 stars 35 forks source link

2.12.4 working in MC 1.20.1 but 2.12.5 is introducing gamebreaking bugs #149

Closed Haui1112 closed 1 year ago

Haui1112 commented 1 year ago

Describe the bug A player tried to withdraw currency into their inventory but they never arrived. I checked their balance and they had been withdrawn. i tried myself and it works for me as admin. Also, money send does not work anymore. deposit works. Will probably downgrade to 2.12.4 again since that worked.

To Reproduce Steps to reproduce the behavior:

  1. Go to 1.20.1 ingame
  2. Type /money send playername amoung
  3. It will throw an error
  4. See error

Expected behavior Should not throw errors since the last version just works for some reason

Desktop (please complete the following information):

Additional context

[12:55:56 INFO]: Haui111 issued server command: /money send __Funni 74
[12:55:56 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'money' in plugin Gringotts v2.12.5-SNAPSHOT
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(CraftServer.java:933) ~[paper-1.20.1.jar:git-Paper-37]
        at org.bukkit.craftbukkit.v1_20_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.20.1.jar:git-Paper-37]
        at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:265) ~[paper-1.20.1.jar:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:324) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:308) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2298) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2258) ~[?:?]
        at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-37]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-37]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-37]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-37]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-37]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1287) ~[paper-1.20.1.jar:git-Paper-37]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1175) ~[paper-1.20.1.jar:git-Paper-37]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-37]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: org.gestern.gringotts.GringottsException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.ItemStack.getType()" because "itemStack" is null
        at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:470) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.GringottsAccount.remove(GringottsAccount.java:304) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsEco$ValidAccount.remove(GringottsEco.java:659) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsTransaction.to(GringottsTransaction.java:48) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsTaxedTransaction.to(GringottsTaxedTransaction.java:46) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.commands.GringottsAbstractExecutor.pay(GringottsAbstractExecutor.java:92) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:80) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        ... 23 more
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.ItemStack.getType()" because "itemStack" is null
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[?:?]
        at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:468) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.GringottsAccount.remove(GringottsAccount.java:304) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsEco$ValidAccount.remove(GringottsEco.java:659) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsTransaction.to(GringottsTransaction.java:48) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsTaxedTransaction.to(GringottsTaxedTransaction.java:46) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.commands.GringottsAbstractExecutor.pay(GringottsAbstractExecutor.java:92) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:80) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        ... 23 more
Caused by: java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.ItemStack.getType()" because "itemStack" is null
        at org.gestern.gringotts.GringottsAccount.removeFromShulkerBox(GringottsAccount.java:332) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.GringottsAccount.lambda$remove$2(GringottsAccount.java:265) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.GringottsAccount.lambda$callSync$0(GringottsAccount.java:54) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.GringottsAccount.callSync(GringottsAccount.java:61) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.GringottsAccount.remove(GringottsAccount.java:304) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsEco$ValidAccount.remove(GringottsEco.java:659) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsTransaction.to(GringottsTransaction.java:48) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.api.impl.GringottsTaxedTransaction.to(GringottsTaxedTransaction.java:46) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.commands.GringottsAbstractExecutor.pay(GringottsAbstractExecutor.java:92) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:80) ~[gringotts-2.12.5-SNAPSHOT.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        ... 23 more
nikosgram commented 1 year ago

There is probably something wrong with the configuration. Is it possible to share it so I can provide more help :)

Haui1112 commented 1 year ago

Hi! Sorry, I am pretty busy atm so I totally forgot to reply. Here is the Config. i recently had to change it to two digits so players coult not exploit its rounding mechanism (there was a bug where you could sell something for .55 diamonds and it would give you a diamond every time. Maybe that is the problem?

I also had to rename the config.yml to text so it can be uploaded.

Thanks for helping! :)

latest(5).log config(2).txt

dchurch315 commented 1 year ago

This might need to be a separate bug but I too had issues with 2.12.5 running on Paper 1.20.1 that I didn't see with 2.12.4 - complete default install with just Luck Perms assigning the default perms. Here is the error:

error `[18:35:18] [Server thread/ERROR]: Could not pass event PlayerVaultCreationEvent to Gringotts v2.12.5 org.gestern.gringotts.GringottsException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:470) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.event.VaultCreator.registerVault(VaultCreator.java:35) ~[gringotts-2.12.5.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor19.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:git-Paper-84] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.1.jar:git-Paper-84] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.1.jar:git-Paper-84] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.gestern.gringotts.event.AccountListener.onSignChange(AccountListener.java:64) ~[gringotts-2.12.5.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor16.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:git-Paper-84] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.1.jar:git-Paper-84] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.1.jar:git-Paper-84] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at net.minecraft.world.level.block.entity.SignBlockEntity.setMessages(SignBlockEntity.java:227) ~[?:?] at net.minecraft.world.level.block.entity.SignBlockEntity.lambda$updateSignText$4(SignBlockEntity.java:188) ~[?:?] at net.minecraft.world.level.block.entity.SignBlockEntity.updateText(SignBlockEntity.java:202) ~[?:?] at net.minecraft.world.level.block.entity.SignBlockEntity.updateSignText(SignBlockEntity.java:187) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.updateSignText(ServerGamePacketListenerImpl.java:3459) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleSignUpdate$26(ServerGamePacketListenerImpl.java:3440) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1287) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1175) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-84] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[?:?] at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:468) ~[gringotts-2.12.5.jar:?] ... 40 more Caused by: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.data.EBeanDAO.retrieveCents(EBeanDAO.java:360) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$add$1(GringottsAccount.java:155) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$callSync$0(GringottsAccount.java:54) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.callSync(GringottsAccount.java:61) ~[gringotts-2.12.5.jar:?] ... 40 more [18:35:32] [Server thread/ERROR]: Could not pass event PlayerVaultCreationEvent to Gringotts v2.12.5 org.gestern.gringotts.GringottsException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:470) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.event.VaultCreator.registerVault(VaultCreator.java:35) ~[gringotts-2.12.5.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor19.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:git-Paper-84] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.1.jar:git-Paper-84] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.1.jar:git-Paper-84] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.gestern.gringotts.event.AccountListener.onSignChange(AccountListener.java:64) ~[gringotts-2.12.5.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor16.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:git-Paper-84] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.1.jar:git-Paper-84] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.1.jar:git-Paper-84] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at net.minecraft.world.level.block.entity.SignBlockEntity.setMessages(SignBlockEntity.java:227) ~[?:?] at net.minecraft.world.level.block.entity.SignBlockEntity.lambda$updateSignText$4(SignBlockEntity.java:188) ~[?:?] at net.minecraft.world.level.block.entity.SignBlockEntity.updateText(SignBlockEntity.java:202) ~[?:?] at net.minecraft.world.level.block.entity.SignBlockEntity.updateSignText(SignBlockEntity.java:187) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.updateSignText(ServerGamePacketListenerImpl.java:3459) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleSignUpdate$26(ServerGamePacketListenerImpl.java:3440) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1287) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1175) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-84] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[?:?] at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:468) ~[gringotts-2.12.5.jar:?] ... 40 more Caused by: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.data.EBeanDAO.retrieveCents(EBeanDAO.java:360) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$add$1(GringottsAccount.java:155) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$callSync$0(GringottsAccount.java:54) ~[gringotts-2.12.5.jar:?] at org.gestern.gringotts.GringottsAccount.callSync(GringottsAccount.java:61) ~[gringotts-2.12.5.jar:?] ... 40 more`

Only plugins that were installed are Luck Perms, Vault, DecentHolograms, Graves and Chunky. I got same error also with just Gringotts, Vault and Luck Perms as well.

spikehidden commented 1 year ago

I encountered the same problem as it seems. But it only appear on new users that joined after I updated the Plugin.

Log ----------------- ``` [15:12:06 INFO]: Spikehidden13 issued server command: /moneyadm add [REDACTED] 1 [15:12:06 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'moneyadm' in plugin Gringotts v2.12.5-SNAPSHOT at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:921) ~[purpur-1.19.4.jar:git-Purpur-1976] at org.bukkit.craftbukkit.v1_19_R3.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[purpur-1.19.4.jar:git-Purpur-1976] at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264) ~[purpur-1.19.4.jar:?] at net.minecraft.commands.Commands.performCommand(Commands.java:330) ~[?:?] at net.minecraft.commands.Commands.performCommand(Commands.java:314) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2389) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$21(ServerGamePacketListenerImpl.java:2349) ~[?:?] at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.19.4.jar:git-Purpur-1976] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1369) ~[purpur-1.19.4.jar:git-Purpur-1976] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[purpur-1.19.4.jar:git-Purpur-1976] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1346) ~[purpur-1.19.4.jar:git-Purpur-1976] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1339) ~[purpur-1.19.4.jar:git-Purpur-1976] at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:114) ~[?:?] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1455) ~[purpur-1.19.4.jar:git-Purpur-1976] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1195) ~[purpur-1.19.4.jar:git-Purpur-1976] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-1976] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: org.gestern.gringotts.GringottsException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:470) ~[gringotts.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.getAccount(GringottsEco.java:140) ~[gringotts.jar:?] at org.gestern.gringotts.commands.MoneyAdminExecutor.onCommand(MoneyAdminExecutor.java:75) ~[gringotts.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] ... 23 more Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[?:?] at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:468) ~[gringotts.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.getAccount(GringottsEco.java:140) ~[gringotts.jar:?] at org.gestern.gringotts.commands.MoneyAdminExecutor.onCommand(MoneyAdminExecutor.java:75) ~[gringotts.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] ... 23 more Caused by: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.data.EBeanDAO.retrieveCents(EBeanDAO.java:360) ~[gringotts.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$add$1(GringottsAccount.java:155) ~[gringotts.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$callSync$0(GringottsAccount.java:54) ~[gringotts.jar:?] at org.gestern.gringotts.GringottsAccount.callSync(GringottsAccount.java:61) ~[gringotts.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.getAccount(GringottsEco.java:140) ~[gringotts.jar:?] at org.gestern.gringotts.commands.MoneyAdminExecutor.onCommand(MoneyAdminExecutor.java:75) ~[gringotts.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] ... 23 more ``` ---------------------------
nikosgram commented 1 year ago

I made a few changes regards this issue. Can the problem be reproduced with Gringotts version 2.12.6-SNAPSHOT and send the log in this thread?

You can find the Gringotts snapshot on the link below:

https://github.com/nikosgram/gringotts/releases/download/2.12.6-SNAPSHOT/gringotts-2.12.6-SNAPSHOT.jar

dchurch315 commented 1 year ago

Just put the new version on - got the following on running a balance command for my OP user, default config file with no changes.

Log from running balance command on 2.12-6 [13:30:27] [Server thread/INFO]: D************ issued server command: /balance -- [13:30:27] [Server thread/ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'balance' in plugin Gringotts v2.12.6-SNAPSHOT at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(CraftServer.java:1006) ~[paper-1.20.1.jar:git-Paper-84] at org.bukkit.craftbukkit.v1_20_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.20.1.jar:git-Paper-84] at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:265) ~[paper-1.20.1.jar:?] at net.minecraft.commands.Commands.performCommand(Commands.java:324) ~[?:?] at net.minecraft.commands.Commands.performCommand(Commands.java:308) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2299) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2259) ~[?:?] at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1386) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1171) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-84] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: org.gestern.gringotts.GringottsException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:488) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:249) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] ... 23 more Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[?:?] at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:486) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:249) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] ... 23 more Caused by: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.data.EBeanDAO.retrieveCents(EBeanDAO.java:360) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$add$1(GringottsAccount.java:154) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$callSync$0(GringottsAccount.java:53) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.callSync(GringottsAccount.java:60) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:249) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] ... 23 more [13:30:40] [Server thread/INFO]: DarkMaven issued server command: /balance [13:30:40] [Server thread/ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'balance' in plugin Gringotts v2.12.6-SNAPSHOT at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(CraftServer.java:1006) ~[paper-1.20.1.jar:git-Paper-84] at org.bukkit.craftbukkit.v1_20_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.20.1.jar:git-Paper-84] at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:265) ~[paper-1.20.1.jar:?] at net.minecraft.commands.Commands.performCommand(Commands.java:324) ~[?:?] at net.minecraft.commands.Commands.performCommand(Commands.java:308) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2299) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2259) ~[?:?] at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:114) ~[?:?] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1425) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1171) ~[paper-1.20.1.jar:git-Paper-84] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-84] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: org.gestern.gringotts.GringottsException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:488) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:249) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] ... 23 more Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[?:?] at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:486) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:249) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] ... 23 more Caused by: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null at org.gestern.gringotts.data.EBeanDAO.retrieveCents(EBeanDAO.java:360) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$add$1(GringottsAccount.java:154) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.lambda$callSync$0(GringottsAccount.java:53) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.callSync(GringottsAccount.java:60) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:249) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts-2.12.6-SNAPSHOT.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] ... 23 more
nikosgram commented 1 year ago

@dchurch315, what's the configuration you using?

dchurch315 commented 1 year ago

I can't seem to recreate the error now. The only thing I can think of is that perhaps I did not clear the Gringotts folder between snapshot 5 and 6 the last time I tried, which I did today. (Which might point to some sort of DB or config file parsing? I didn't think we had to erase the DB between versions)

Just in case, here is the config that I am using if it helps.

OS: Bookworm x64, 8GB RAM System, LAN only MC: PaperMC 1.20.1-84 RAM 5GB alloted to Paper, 8 players Plugins: Huskhomes4.4.5, Chunky1.3.92, DecentHolograms2.8.3, Graves4.9, GriefPrevention16.18.1-7, Gringotts, Luckperms5.4.98, Pl3xMap1.20.1-469, Pl3xMap-Claims1.20.1-30, PlayerKits2.27.1, QuickShop5.1.2.2, Vault1.7.3-b131, voicechat2.4.15, WorldEdit7.2.15+6463-5ca4dff Gringotts config: default config file with no changes at all

Let me know if you need any more info, log files, etc.

nikosgram commented 1 year ago

We are planning to move away from the current database structure. That's going to solve lots of issues.

nikosgram commented 1 year ago

Closing the ticket as it cannot be reproduced anymore :)

spikehidden commented 1 year ago

Well, for me the issue persists even after deleting the database file.

I'm using v1.12.5 and Gringotts-Towny doesn't load anymore at all.


[20:53:54 INFO]: [PLAYER NAME REDACTED] issued server command: /balance
[20:53:54 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'balance' in plugin Gringotts v2.12.5
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:921) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at org.bukkit.craftbukkit.v1_19_R3.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264) ~[purpur-1.19.4.jar:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:330) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:314) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2389) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$21(ServerGamePacketListenerImpl.java:2349) ~[?:?]
        at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1369) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1346) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1339) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1317) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1205) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-1976]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: org.gestern.gringotts.GringottsException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null
        at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:470) ~[gringotts.jar:?]
        at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts.jar:?]
        at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts.jar:?]
        at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts.jar:?]
        at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts.jar:?]
        at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
        ... 23 more
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[?:?]
        at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:468) ~[gringotts.jar:?]
        at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts.jar:?]
        at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts.jar:?]
        at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts.jar:?]
        at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts.jar:?]
        at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
        ... 23 more
Caused by: java.lang.NullPointerException: Cannot read field "cents" because the return value of "com.avaje.ebean.ExpressionList.findUnique()" is null
        at org.gestern.gringotts.data.EBeanDAO.retrieveCents(EBeanDAO.java:360) ~[gringotts.jar:?]
        at org.gestern.gringotts.GringottsAccount.lambda$add$1(GringottsAccount.java:155) ~[gringotts.jar:?]
        at org.gestern.gringotts.GringottsAccount.lambda$callSync$0(GringottsAccount.java:54) ~[gringotts.jar:?]
        at org.gestern.gringotts.GringottsAccount.callSync(GringottsAccount.java:61) ~[gringotts.jar:?]
        at org.gestern.gringotts.GringottsAccount.add(GringottsAccount.java:231) ~[gringotts.jar:?]
        at org.gestern.gringotts.data.EBeanDAO.storeAccount(EBeanDAO.java:130) ~[gringotts.jar:?]
        at org.gestern.gringotts.Accounting.getAccount(Accounting.java:23) ~[gringotts.jar:?]
        at org.gestern.gringotts.api.impl.GringottsEco.player(GringottsEco.java:58) ~[gringotts.jar:?]
        at org.gestern.gringotts.commands.MoneyExecutor.onCommand(MoneyExecutor.java:45) ~[gringotts.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?]
        ... 23 more
dchurch315 commented 1 year ago

Well, for me the issue persists even after deleting the database file.

I'm using v1.12.5 and Gringotts-Towny doesn't load anymore at all.


[20:53:54 INFO]: [PLAYER NAME REDACTED] issued server command: /balance
[20:53:54 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'balance' in plugin Gringotts v2.12.5

@spikehidden - According to your log you are running the previous build, try again with 2-12.6 SNAPSHOT that nikosgram mentioned with the DB deleted.

spikehidden commented 1 year ago

Well, for me the issue persists even after deleting the database file. I'm using v1.12.5 and Gringotts-Towny doesn't load anymore at all.

[20:53:54 INFO]: [PLAYER NAME REDACTED] issued server command: /balance
[20:53:54 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'balance' in plugin Gringotts v2.12.5

@spikehidden - According to your log you are running the previous build, try again with 2-12.6 SNAPSHOT that nikosgram mentioned with the DB deleted.

@dchurch315 Well, my problem is that I also use gringotts-towny which always have to be on the same version. That's why I didn't try it. But I probably will try it in the hope the addon won't have a problem with it.