[SPIGOT-7668] Using Multiverse-Inventory: java.lang.NullPointerException: Cannot invoke "java.util.function.BiFunction.apply(Object, Object)" because "this.updater" is null Created: 19/May/24  Updated: 25/Dec/24  Resolved: 19/May/24

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: H. Peter Anvin Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux Fedora 39

kernel-6.8.9-200.fc39.x86_64

java-21-openjdk-headless-21.0.3.0.9-1.fc39.x86_64

BedWars-0.2.32.1.jar              Multiverse-NetherPortals-4.2.3.jar  Vault.jar
LuckPerms-Bukkit-5.4.128.jar      Multiverse-Portals-4.2.3.jar        VoidGen-2.2.1.jar
Multiverse-Core-4.3.12.jar        Multiverse-SignPortals-4.2.2.jar
Multiverse-Inventories-4.2.6.jar  SBAHypixelify-1.4.3-all.jar

 


Version: This server is running CraftBukkit version 4169-Spigot-342f493-2ea1e7a (MC: 1.20.6) (Implementing API version 1.20.6-R0.1-SNAPSHOT)
Plugin: Multiverse-Inventories-4.2.6
Guidelines Read: Yes

 Description   

Multiverse-Inventories seems to trigger the following exception inside Spigot/Bukkit:

[20:28:02] [Server thread/INFO]: ProKitten1234 issued server command: /mvtp ProKitten1234 world
[20:28:03] [pool-8-thread-1/ERROR]: Could not call constructor 'public org.bukkit.potion.PotionEffect(java.util.Map)' of class org.bukkit.potion.PotionEffect for deserialization
java.lang.NullPointerException: Cannot invoke "java.util.function.BiFunction.apply(Object, Object)" because "this.updater" is null
at org.bukkit.craftbukkit.v1_20_R4.CraftRegistry.get(CraftRegistry.java:206) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4169-Spigot-342f493-2ea1e7a]
at org.bukkit.craftbukkit.v1_20_R4.CraftRegistry.get(CraftRegistry.java:165) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4169-Spigot-342f493-2ea1e7a]
at org.bukkit.craftbukkit.v1_20_R4.util.CraftMagicNumbers.get(CraftMagicNumbers.java:418) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4169-Spigot-342f493-2ea1e7a]
at org.bukkit.potion.PotionEffect.getEffectType(PotionEffect.java:116) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at org.bukkit.potion.PotionEffect.<init>(PotionEffect.java:109) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]
at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeViaCtor(ConfigurationSerialization.java:107) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at org.bukkit.configuration.serialization.ConfigurationSerialization.deserialize(ConfigurationSerialization.java:145) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeObject(ConfigurationSerialization.java:209) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at com.onarandombox.multiverseinventories.utils.configuration.util.SerializationHelper.deserialize(SerializationHelper.java:125) ~[?:?]
at com.onarandombox.multiverseinventories.utils.configuration.util.SerializationHelper.deserialize(SerializationHelper.java:143) ~[?:?]
at com.onarandombox.multiverseinventories.utils.configuration.util.SerializationHelper.deserialize(SerializationHelper.java:118) ~[?:?]
at com.onarandombox.multiverseinventories.utils.configuration.util.SerializationHelper.deserialize(SerializationHelper.java:116) ~[?:?]
at com.onarandombox.multiverseinventories.utils.configuration.json.JsonConfiguration.convertMapsToSections(JsonConfiguration.java:75) ~[?:?]
at com.onarandombox.multiverseinventories.utils.configuration.json.JsonConfiguration.loadFromString(JsonConfiguration.java:68) ~[?:?]
at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:128) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at com.onarandombox.multiverseinventories.utils.configuration.json.JsonConfiguration.loadConfiguration(JsonConfiguration.java:110) ~[?:?]
at com.onarandombox.multiverseinventories.utils.configuration.json.JsonConfiguration.loadConfiguration(JsonConfiguration.java:131) ~[?:?]
at com.onarandombox.multiverseinventories.FlatFileProfileDataSource.getConfigHandleNow(FlatFileProfileDataSource.java:96) ~[?:?]
at com.onarandombox.multiverseinventories.FlatFileProfileDataSource.processProfileWrite(FlatFileProfileDataSource.java:200) ~[?:?]
at com.onarandombox.multiverseinventories.FlatFileProfileDataSource$FileWriter.call(FlatFileProfileDataSource.java:191) ~[?:?]
at com.onarandombox.multiverseinventories.FlatFileProfileDataSource$FileWriter.call(FlatFileProfileDataSource.java:182) ~[?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]



 Comments   
Comment by H. Peter Anvin [ 19/May/24 ]

Looks like it works!

Comment by H. Peter Anvin [ 19/May/24 ]

I'm trying to build 4170 now.

Comment by md_5 [ 19/May/24 ]

Just use regular BuildTools command, it's been merged

Comment by H. Peter Anvin [ 19/May/24 ]

I tried the buildtools command in Marvin Rieple's comment, but got the error message:

Exception in thread "main" org.eclipse.jgit.api.errors.TransportException: Remote does not have refs/pull-requests/1400/from available for fetch.

Comment by md_5 [ 19/May/24 ]

Should be fixed, try updating!

Comment by H. Peter Anvin [ 19/May/24 ]

If I'm not mistaken, it is:

{"SURVIVAL":{"armorContents":{},"enderChestContents":{},"offHandItem":

{"==":"org.bukkit.inventory.ItemStack","v":3839,"type":"AIR","amount":0}

,"inventoryContents":{},"potions":[

{"==":"PotionEffect","effect":"minecraft:night_vision","duration":599,"amplifier":0,"ambient":false,"has-particles":false,"has-icon":false}

],"stats":

{"ex":"0.0","ma":"300","fl":"20","el":"0","hp":"20.0","xp":"0.0","txp":"0","sa":"10.0","ft":"-20","fd":"0.0","ra":"300"}

}}

Comment by Marvin Rieple [ 19/May/24 ]

Made a PR for this: craftbukkit#1400

You can test it with BuildTools:

java -jar BuildTools.jar --rev 4169 --compile spigot --pr craftbukkit:1400 
Comment by md_5 [ 19/May/24 ]

Please provide the saved inventory for the relevant user.

Generated at Sat Dec 13 13:43:20 UTC 2025 using Jira 10.3.13#10030013-sha1:56dd970ae30ebfeda3a697d25be1f6388b68a422.