BentoBoxWorld / MagicCobblestoneGenerator

Addon for BentoBox to customize ores being generated by a cobblestone generator.
Eclipse Public License 2.0
11 stars 19 forks source link

Problems with Level addon hooking #105

Closed Kesims closed 3 years ago

Kesims commented 3 years ago

Expected behavior

Level hooks into MCG after every server restart / bbox reload.

Observed/Actual behavior

Level hooks only sometimes, like 40% times. It seems like it depends if Level is loaded fast enough before CG addon starts. There are not any errors from these addons in the server console.

Steps/models to reproduce

Start server on paper 1.17 with latest BentoBox, Level and MagicCobbleGen. Sometimes it will hook, sometimes not.

BentoBox version

[16:47:02 INFO]: Running PAPER 1.17.1. [16:47:02 INFO]: BentoBox verze: 1.17.2 [16:47:02 INFO]: Database: JSON [16:47:02 INFO]: Loaded Game Worlds: [16:47:02 INFO]: bskyblock_world (BSkyBlock): Overworld, [nether_color]Nether, [end_color]End [16:47:02 INFO]: Loaded Addons: [16:47:02 INFO]: Biomes 1.13.0 (ENABLED) [16:47:02 INFO]: Border 3.1.1 (ENABLED) [16:47:02 INFO]: BSkyBlock 1.15.1 (ENABLED) [16:47:02 INFO]: Challenges 0.8.5-SNAPSHOT-b452 (ENABLED) [16:47:02 INFO]: Chat 1.1.4 (ENABLED) [16:47:02 INFO]: Level 2.7.2 (ENABLED) [16:47:02 INFO]: MagicCobblestoneGenerator 2.4.0-SNAPSHOT-b226 (ENABLED) [16:47:02 INFO]: Warps 1.11.1 (ENABLED)

Plugin list

AdvancedChests, AdvancedDevelopmentLibrary, AdvancedEnchantments, AnvilLot, ArmorStandEditor, AsyncWorldEdit, AuctionHouse, BentoBox, BungeeTabListPlus, ChatSentry, ChestShop, Citizens, CMI, CMILib, CommandNPC, CommandSync, CoreProtect, CraftingStore, CrateReloaded, CustomCrafting, DiscordSRV, dtlTraders, EpicBackpacks, FlightPlus, FoxStats, HackedCore, HackedServer, HeadZ, HolographicDisplays, InteractionVisualizer, InteractiveBoard, JetsAntiAFKPro, JetsHoppers, JetsMinions, JetsRepairTokens, KiteBoard, LightAPI, LoneLibs, MineableSpawners, MobFarmManager, Multiverse-Core, MysqlPlayerDataBridge, PermissionsEx, PlaceholderAPI, PlayerHeads, ProtocolLib, SafariNet, SkinsRestorer, SkyFoxUtils, SponsoredSlots, SuperbVote, TabuuCore, TreeAssist, UltraCustomizer, Vault, VoidGen, VoidSpawn, Votifier, Voting, WolfyUtilities, WorldEdit, WorldGuard, WorldGuardExtraFlags

Other

No response

BONNe commented 3 years ago

Could you share a log file in situations when it says that it did not hook into Level addon?

Kesims commented 3 years ago

It doesnt say anything in log.. But when you join the game and oben /bsb generator or /is generator, the level just isnt there sometimes.. and sometimes is :/

But there is log on not-loaded case: latest.log

Kesims commented 3 years ago

Oops, wait, there is an error that I didnt notice before.. [17:27:18] [Server thread/ERROR]: [BentoBox] Skipping MagicCobblestoneGenerator due to an unhandled exception... [17:27:18] [Server thread/ERROR]: [BentoBox] java.lang.ClassCastException: class world.bentobox.level.Level cannot be cast to class world.bentobox.level.Level (world.bentobox.level.Level is in unnamed module of loader 'Level-2.7.2.jar' @13c8904b; world.bentobox.level.Level is in unnamed module of loader 'Level-2.7.2.jar' @62e1454) at world.bentobox.magiccobblestonegenerator.StoneGeneratorAddon.findLevel(StoneGeneratorAddon.java:318) at world.bentobox.magiccobblestonegenerator.StoneGeneratorAddon.setupAddon(StoneGeneratorAddon.java:102) at world.bentobox.magiccobblestonegenerator.StoneGeneratorAddon.onEnable(StoneGeneratorAddon.java:85) at BentoBox-1.17.2.jar//world.bentobox.bentobox.managers.AddonsManager.enableAddon(AddonsManager.java:294) 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.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) 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.17.2.jar//world.bentobox.bentobox.managers.AddonsManager.enableAddons(AddonsManager.java:239) at BentoBox-1.17.2.jar//world.bentobox.bentobox.managers.AddonsManager.reloadAddons(AddonsManager.java:390) at BentoBox-1.17.2.jar//world.bentobox.bentobox.commands.BentoBoxReloadCommand.lambda$execute$0(BentoBoxReloadCommand.java:54) at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1559) at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:479) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1475) at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1274) at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) at java.base/java.lang.Thread.run(Thread.java:831)

Sorry for that missinformation, my bad

Kesims commented 3 years ago

And there are also reports for other addons.. so it is possibly fault of Level addon?

BONNe commented 3 years ago

Hmm, can you confirm, that you have just one Level addon .jar file in /plugins/bentobox/addons/ folder?

Kesims commented 3 years ago

obrazek yep, only one level jar

tastybento commented 3 years ago

And there are also reports for other addons.. so it is possibly fault of Level addon?

Share your whole log so we can understand the context.

BONNe commented 3 years ago

Oh I get it...

Yea... is possible that reload could crash some things. That is known limitation to any plugin and reload command: https://github.com/YouHaveTrouble/minecraft-optimization/blob/main/README.md#plugins-enablingdisabling-other-plugins https://madelinemiller.dev/blog/problem-with-reload/

It is Java limitation, which can lead to instabilities.

Just do not use /reload or /bentobox reload without a necessity.