Lootr (Forge & NeoForge)

Lootr (Forge & NeoForge)

59M Downloads

[1.20.1] Fabric Crash: Exception in server tick loop

Syvant opened this issue · 3 comments

commented

Description: Exception in server tick loop

java.lang.NullPointerException: Cannot invoke "String.indexOf(int)" because "$$0" is null
	at MC//net.minecraft.util.Identifier.split(Identifier.java:83)
	at MC//net.minecraft.util.Identifier.<init>(Identifier.java:56)
	at [email protected]/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
	at [email protected]/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at [email protected]/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at [email protected]/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at [email protected]/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
	at [email protected]/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at [email protected]/java.util.stream.ReferencePipeline.collect(Unknown Source)
	at net.zestyblaze.lootr.config.LootrModConfig.getLootBlacklist(LootrModConfig.java:335)
	at net.zestyblaze.lootr.config.LootrModConfig.isBlacklisted(LootrModConfig.java:346)
	at net.zestyblaze.lootr.blocks.entities.TileTicker.serverTick(TileTicker.java:86)
	at net.zestyblaze.lootr.registry.LootrEventsInit.lambda$registerEvents$2(LootrEventsInit.java:35)
	at net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents.lambda$static$2(ServerTickEvents.java:43)
	at net.minecraft.server.MinecraftServer.handler$fdg002$fabric-lifecycle-events-v1$onEndTick(MinecraftServer.java:7362)
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:847)
	at MC//net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:105)
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:671)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)
	at [email protected]/java.lang.Thread.run(Unknown Source)

System Details

Minecraft Version: 1.20.1
Minecraft Version ID: 1.20.1
Operating System: Windows 11 (amd64) version 10.0
Java Version: 17.0.10, Azul Systems, Inc.
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Azul Systems, Inc.
Virtual memory max (MB): 43884.04
Virtual memory used (MB): 38485.78
Swap memory total (MB): 11923.05
Swap memory used (MB): 659.25
JVM Flags: 2 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx8192M

Likely related to #265 but I don't know enough about this stuff to tell if it is (so apologies if this is essentially a duplicate).

commented

No, this is unrelated.

Can you upload a copy of your configuration file? Your loot_table_blacklist contains either an empty value or an invalid value: you need to specify a loot table in the format of minecraft:chests/desert_pyramid for example.

The actual issue here is that it's trying to parse the string looking for a ":", but isn't finding one.

Unfortunately, the configuration system for Fabric is nowhere near as flexible as Forge's (not that Forge's doesn't have its own issues), and thus there's no validation for values.

commented

I've pushed a new version which will still error when the configuration is invalid, but it will inform you of which configuration entry is a problem and, if there is a specific entry that's causing it, exactly what that entry is.

This will be included in the next Fabric release, which I'm about to make.

commented

Thank you for your assistance, I did manage to find the entry. Looking forward to the implementation of that feature, should spare some headaches down the line!