Guard Villagers

Guard Villagers

46M Downloads

Guard Villagers (guardvillagers) has Failed to Load Correctly

Coraline774477 opened this issue ยท 8 comments

commented

Minecraft: 1.19.3
Forge: 44.0.18
Guard Villagers: 1.5.4

I was just testing out all currently 34 1.19.3 mods while still waiting for the rest of the other mods that I play with to port to 1.19.3 (as of writing this) and I ran into a crash with Guard Villagers 1.19.3 1.5.4 on forge 44.0.18 NOT 44.0.11 which I bet that 1.5.4 was originally built for forge 44.0.11 not 44.0.18 which was released on the Dec 12th.

Here's the crash report;

https://gist.github.com/Coraline774477/514766355001a62b0c335defb2789ec8

BTW I looked through the report and apparently either Mojang or Lex may have changed the way that the creeper is named in the code?

Exception message: com.electronwill.nightconfig.core.io.ParsingException: Invalid value: minecraft:creeper
Stacktrace:
at com.electronwill.nightconfig.toml.ValueParser.parseNumber(ValueParser.java:102) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.toml.ValueParser.parse(ValueParser.java:64) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.toml.ArrayParser.parse(ArrayParser.java:32) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.toml.ValueParser.parse(ValueParser.java:33) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.toml.ValueParser.parse(ValueParser.java:69) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.toml.TableParser.parseNormal(TableParser.java:57) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:88) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:37) ~[toml-3.6.4.jar%2386!/:?] {}
at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:113) ~[core-3.6.4.jar%2385!/:?] {}
at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:219) ~[core-3.6.4.jar%2385!/:?] {}
at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:202) ~[core-3.6.4.jar%2385!/:?] {}
at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.load(WriteSyncFileConfig.java:73) ~[core-3.6.4.jar%2385!/:?] {}
at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.load(AutosaveCommentedFileConfig.java:85) ~[core-3.6.4.jar%2385!/:?] {}
at tallestegg.guardvillagers.configuration.GuardConfig.loadConfig(GuardConfig.java:62) ~[guardvillagers-1.19.3-1.5.4.jar%23162!/:1.19.3-1.5.4] {re:classloading}
at tallestegg.guardvillagers.GuardVillagers.(GuardVillagers.java:28) ~[guardvillagers-1.19.3-1.5.4.jar%23162!/:1.19.3-1.5.4] {re:classloading}
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] {}
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?] {}
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] {}
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] {}
at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:68) ~[javafmllanguage-1.19.3-44.0.18.jar%23170!/:?] {}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:121) ~[fmlcore-1.19.3-44.0.18.jar%23169!/:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {}

I didn't made a mistake when I added the creeper to the blacklist which that was way before 1.19.x so that the guard villagers won't target the creepers or else the guard villagers would purposely kill themselves when trying to kill creepers with weapons that aren't powerful enough to kill a creeper quickly enough and the fact that it got annoying/frustrating when the guard villagers would constantly be killing themselves trying to defend a village or a home base against creepers.

Since the creeper is actually pretty powerful when it's target/enemy is standing too close or latterly right next to it and blows it's target/enemy to bits from no armor on all the way to at least netherite armor (without blast protection) since a player would almost die from a creeper explosion with diamond armor without blast protection of any level and would instantly die from standing too close to a exploding creeper or when springing towards a exploding creeper with non enchanted iron armor on

Anyways, I don't know why minecraft:creeper is invalid when it should be..

commented

What does your config file look like?

commented
commented

So was that changed to have quotations in the config? When I first added those two mobs the curseforge description didn't state to put quotations

commented

image

Put each mob id in quotes, like this
"minecraft:creeper", "minecraft:enderman"

commented

It was always like that, I just forgot to put in the instruction to put it in quotations when I first implemented this config.

commented

I think that the mod's cursforge description needs an update then, also this proves that I've been playing with this mod for a long time but never noticed that there was a change in it's configuration. Or maybe on 8/23/22 (which was when the mod got ported to 1.19 possibly) that my config was updated and somehow kept my old configuration without the quotations since the mod never crashed from missing quotations before.
Also I'm no modder by any means but now to come to think about it when the game was telling me/us what's wrong it clearly states that this crash was caused by the config not having proper writing on my part even tho in previous versions what I wrote in there in the blacklist section (when I added the creeper and enderman) worked for some reason but obviously it's not working now.

One last thing, I don't play with Guard Villagers alot since I had gotten bored and burned out with the mod as well as I was able to get equipped too quickly from the guard villagers when they die from the mobs or when I *give myself hero of the village effect or naturally gain the status effect after warding off a raid.
So I took a break from it and I think that I'm still on break from it right now but I was originally just testing out all 1.19.3 mods to see if they work with the latest version(s) of forge 1.19.3 (since 1.19.3 is still fairly new right now) and with my upcoming 1.19.3 world it's gonna be a simi-modded vanilla world just like it's 1.19.2 counterpart with nearly the same mods without a few (First Aid being one of them) which Guard Villagers might/might not be in it (Probably not since I don't really want to get well equipped when I find a village)
Speaking of when I find a village, most times when I do find one that has alot of job blocks and nearly half of the village is a guard instead of an unemployed villager...

*why I would do that is cause what if a guard villager naturally spawns in with a piece of diamond armor and I want it really badly but I don't want to try to just kill him for it, I would damage the armor as well as having the rest of them coming after me for murdering one of them and I would get lower rep with the villagers, I would rather let the zombies kill him (despite the piece of diamond armor taking damage) or give myself Hero of the Village since it's my singleplayer worlds afterall.

NOTE: I possibly never played Guard Villagers 1.19.x yet since my 1.19 worlds are currently full as is due to performace reasons as well as I'm still on break from the mod anyways. The last time I played with the mod was on one of my old dead 1.18.x worlds I think? Since my memory ain't so great unfortunately...

commented

BTW the instructions aren't on the mod's curseforge page, they're in the common config and the instructions in the common config needs an update to include quotations when adding mobs to either the blacklist or whitelist.

But maybe add the instructions in the mod's description on curseforge as well?

commented

I was able to get equipped too quickly from the guard villagers when they die from the mobs
You can change their drop rates in the config now (might need to regenerate configs for this)
Also I included the instructions to include quotes in the config some updates ago but I guess due to forge shenanigans it doesn't show up for you.
Anyways I'm closing this since I think the issue has been solved now + this is becoming more of a discussion thing now instead of a simple bug report