BentoBoxWorld / BentoBox

Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.
https://bentobox.world
Eclipse Public License 2.0
333 stars 137 forks source link

BentoBox Error on Server Startup: Error updating locale file 'locales/ro.yml'. #1930

Closed Waterman1001 closed 2 years ago

Waterman1001 commented 2 years ago

Expected behavior

I would expect there to be no error.

Observed/Actual behavior

I actually received an error on startup. I tried to remove the locales file in order to prevent it, but it did not solve the problem. I also tried to only remove the ro.yml file, as I don't need it, but this also did not solve the problem. It keeps regenerating.

Steps/models to reproduce

Start up the server with Bentobox installed.

BentoBox version

[13:28:37 INFO]: Running PAPER 1.18.1. [13:28:37 INFO]: BentoBox version: 1.20.0-SNAPSHOT-b2221 [13:28:37 INFO]: Database: JSON [13:28:37 INFO]: Loaded Game Worlds: [13:28:37 INFO]: bskyblock_world (BSkyBlock): Overworld, Nether, The End [13:28:37 INFO]: Loaded Addons: [13:28:37 INFO]: Biomes 1.14.1-SNAPSHOT-b214 (ENABLED) [13:28:37 INFO]: BSkyBlock 1.15.2-SNAPSHOT-b717 (ENABLED)

Plugin list

[13:28:57 INFO]: Plugins (48): BentoBox, BroadcasterSVG, BuycraftX, ChatControl, Citizens, CombatLogX, CommandHook, CoreProtect, dynmap, EchoPet, Essentials, EssentialsAntiBuild, EssentialsChat, EssentialsProtect, EssentialsSpawn, EventSVG, floodgate, Geyser-Spigot, HideAndSeek, HungerGames, LaunchpadsSVG, LibsDisguises, LumiaSVG, MapsCompletedSVG, MobHunting, Multiverse-Core, Multiverse-Inventories, Multiverse-NetherPortals, Multiverse-Portals, NameColorSVG, ParkourProSVG, PermissionsEx*, PetShopSVG, PlotSquared, ProtocolLib, SirBlobmanCore (SirBlobmanAPI, XSeries), SpawnDropSVG, SpawnSelectorSVG, SvestiGames, TNTRun_reloaded, TutorialSVG, Vault, VipFlySVG, VIPHeadsSVG, VoteListenerSVG, Votifier, WorldEdit, WorldGuard

Other

The error output that I receive is the following:

[13:22:35 INFO]: [BentoBox] Loading addons...
[13:22:35 ERROR]: [BentoBox] Error updating locale file 'locales/ro.yml': Cannot set to an empty path
[13:22:35 ERROR]: [BentoBox] java.lang.IllegalArgumentException: Cannot set to an empty path
at org.apache.commons.lang.Validate.notEmpty(Validate.java:321)
at org.bukkit.configuration.MemorySection.set(MemorySection.java:190)
at org.bukkit.configuration.file.YamlConfiguration.fromNodeTree(YamlConfiguration.java:158)
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:115)
at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.api.addons.Addon.getYamlFromJar(Addon.java:316)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.LocalesManager.updateLocale(LocalesManager.java:171)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.LocalesManager.lambda$copyLocalesFromAddonJar$0(LocalesManager.java:159)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.LocalesManager.copyLocalesFromAddonJar(LocalesManager.java:155)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.AddonsManager.initializeAddon(AddonsManager.java:205)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.AddonsManager.loadAddon(AddonsManager.java:199)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.AddonsManager.loadAddons(AddonsManager.java:142)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.BentoBox.onEnable(BentoBox.java:165)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500)
at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugin(CraftServer.java:564)
at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugins(CraftServer.java:478)
at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:286)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1202)
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317)
at java.base/java.lang.Thread.run(Thread.java:833)
[13:22:35 ERROR]: [BentoBox] Could not load 'ro.yml' : Cannot set to an empty path with the following cause 'null'. The file has likely an invalid YML format or has been made unreadable during the process.

Thank you in advance for resolving this issue :)

tastybento commented 2 years ago

Weird.

As a work around, try setting the ro.yml file to just a blank file. i.e., it should exist, but put nothing in it.

I have not seen this error, so I'm not sure why it is occurring. I'll need to study this.

Waterman1001 commented 2 years ago

Thank you for your reply. I will try that for now :)

Waterman1001 commented 2 years ago

I tried to change it to just a blank file. However, the error persists and is still there. It is really strange šŸ¤”

I also tried the changes that BONNe requests here in the Pull Request (So with the quotations in the ro.yml file for example) but the error is still there :(

I changed the ro.yml of BSkyBlock to:

---
bskyblock:
  sign:
    line0: "&cBSkyBlock"
    line1: "Bine ai venit!"
    line2: "[name]"
    line3: "Sa nu cazi! &c<3"

As this was the requested changes. However, it does not seem to resolve the problem, I get the same error still.

BONNe commented 2 years ago

Please navigate to: /plugins/Bentobox/locales/BSkyBlock/ folder and delete RO.yml, or set that file empty.

Waterman1001 commented 2 years ago

Please navigate to: /plugins/Bentobox/locales/BSkyBlock/ folder and delete RO.yml, or set that file empty.

I will try this :)

Waterman1001 commented 2 years ago

Please navigate to: /plugins/Bentobox/locales/BSkyBlock/ folder and delete RO.yml, or set that file empty.

I stopped the server, Removed the ro.yml inside BSkyBlock locales folder. Started my server again. Error is still there on start-up:

[23:32:41 INFO]: [BentoBox] Enabling BentoBox v1.20.0-SNAPSHOT-b2221
[23:32:41 INFO]: [BentoBox] Loading Settings from config.yml...
[23:32:42 INFO]: [BentoBox] Loading addons...
[23:32:42 ERROR]: [BentoBox] Error updating locale file 'locales/ro.yml': Cannot set to an empty path
[23:32:42 ERROR]: [BentoBox] java.lang.IllegalArgumentException: Cannot set to an empty path
at org.apache.commons.lang.Validate.notEmpty(Validate.java:321)
at org.bukkit.configuration.MemorySection.set(MemorySection.java:190)
at org.bukkit.configuration.file.YamlConfiguration.fromNodeTree(YamlConfiguration.java:158)
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:115)
at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.api.addons.Addon.getYamlFromJar(Addon.java:316)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.LocalesManager.updateLocale(LocalesManager.java:171)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.LocalesManager.lambda$copyLocalesFromAddonJar$0(LocalesManager.java:159)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.LocalesManager.copyLocalesFromAddonJar(LocalesManager.java:155)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.AddonsManager.initializeAddon(AddonsManager.java:205)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.AddonsManager.loadAddon(AddonsManager.java:199)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.managers.AddonsManager.loadAddons(AddonsManager.java:142)
at BentoBox-1.20.0-SNAPSHOT-b2221.jar//world.bentobox.bentobox.BentoBox.onEnable(BentoBox.java:165)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500)
at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugin(CraftServer.java:564)
at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugins(CraftServer.java:478)
at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:286)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1202)
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317)
at java.base/java.lang.Thread.run(Thread.java:833)
[23:32:42 ERROR]: [BentoBox] Could not load 'ro.yml' : Cannot set to an empty path with the following cause 'null'. The file has likely an invalid YML format or has been made unreadable during the process.
[23:32:42 INFO]: [BentoBox] Loaded 2 addons.

Also tried to set the file to empty (remove everything) Still the error pops up.

BONNe commented 2 years ago

Could you share output of '/Bentobox version'

Waterman1001 commented 2 years ago

Could you share output of '/Bentobox version'

I already did at the beginning of this issue thread. But I will do it again :)

bentobox version
[23:44:57 INFO]: Running PAPER 1.18.1.
[23:44:57 INFO]: BentoBox version: 1.20.0-SNAPSHOT-b2221
[23:44:57 INFO]: Database: JSON
[23:44:57 INFO]: Loaded Game Worlds:
[23:44:57 INFO]: bskyblock_world (BSkyBlock): Overworld, Nether, The End
[23:44:57 INFO]: Loaded Addons:
[23:44:57 INFO]: Biomes 1.14.1-SNAPSHOT-b214 (ENABLED)
[23:44:57 INFO]: BSkyBlock 1.15.2-SNAPSHOT-b717 (ENABLED)
BONNe commented 2 years ago

Hmm, that is weird... I tried with removing both ro.yml files and I do not have any errors, and they do not appear back. That is strange that it is happening.

Could you try to update your paper server version? May be they optimized something too much.

Waterman1001 commented 2 years ago

Hmm, indeed that is very strange šŸ¤” Also a little annoying, as it makes my story seem like it does not happen while i'm not lying of course haha.

Actually, I am running the latest version of paper:

[23:50:09 INFO]: This server is running Paper version git-Paper-175 (MC: 1.18.1) (Implementing API version 1.18.1-R0.1-SNAPSHOT) (Git: 9490475)