Skip to content

Cyclic Dependency with no apparent reason #21

@LordTkay

Description

@LordTkay

I've tried to add a required dependency to my manifest and include the plugin in the start of the dev-server. When doing so the server will crash upon start and throws a circular dependency exception, saying that my plugin requires the external one and the other way around.

The external plugin does not require my plugin or any other plugin in their manifest. Additionally when I build my JAR file and use it in a world together with the other plugin, it works as expected.

I tried implementing the external plugin by putting the JAR in the run/mods folder and also by using the load_user_mods variant. In either way the error will pop up, as long as I declare a dependency in my manifest.

If you have multiple plugins loaded, for example with the load_user_mods option, and declare one dependency in your manifest to throw this exception, it will say that all plugins in the folder require your own plugin for some reason.

Replicating the issues:

  • Clone this hytale-plugin template
  • Take any external plugin, I've could replicate it with the following plugins:
  • Do either of these options
    • Put the JAR file in the run/mods folder, which will appear after you run the server at least once
    • Put the JAR in your UserData-Mods folder and use the load_user_mods option in gradle.properties
  • Add the external plugin you chose as a dependency or optional dependency in your manifest
  • Try to start the server

Exception

{
  "Group": "Example",
  "Name": "ExamplePlugin",
  "Version": "0.0.2",
  "Description": "An example plugin for HyTale!",
  "Authors": [
    {
      "Name": "It's you!"
    }
  ],
  "Website": "example.org",
  "ServerVersion": "*",
  "Dependencies": {
    "Buuz135:BetterModlist": "*"
  },
  "OptionalDependencies": {
  },
  "DisabledByDefault": false,
  "Main": "org.example.plugin.ExamplePlugin",
  "IncludesAssetPack": true
}
19:17:14: Executing ':com.hypixel.hytale.Main.main()'…

> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:processResources NO-SOURCE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar UP-TO-DATE
> Task :compileJava UP-TO-DATE
> Task :updatePluginManifest
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE

> Task :com.hypixel.hytale.Main.main() FAILED
[2026/01/31 18:17:14   INFO] [Hytale] Logger Initialized
[2026/01/31 18:17:14   INFO]           [HytaleServer] Starting HytaleServer
[2026/01/31 18:17:14   INFO]           [HytaleServer] Loading config...
[2026/01/31 18:17:14   INFO]           [HytaleServer] Authentication mode: AUTHENTICATED
[2026/01/31 18:17:15   INFO]      [ServerAuthManager] No server tokens configured. Use /auth login to authenticate, or provide tokens via CLI/environment.
[2026/01/31 18:17:15   INFO]      [ServerAuthManager] Server session ID: b43de70a-d02a-4046-813a-79fbc8c285a8
[2026/01/31 18:17:15   INFO]           [HytaleServer] Booting up HytaleServer - Version: 2026.01.28-87d03be09, Revision: 87d03be09c7f114f385971a3caa437033671b771
[2026/01/31 18:17:15   INFO]           [HytaleServer] Setup phase...
[2026/01/31 18:17:15   INFO]          [PluginManager] Loading pending core plugins!
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ConsoleModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:PermissionsModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:UpdateModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:FlyCameraModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:AssetModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:CommonAssetModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:CosmeticsModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ServerManager
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:I18nModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ItemModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockTypeModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:LegacyModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockStateModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:CollisionModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockSetModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:MigrationModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockHealthModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:PrefabSpawnerModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:TimeModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:InteractionModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:EntityModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:EntityStatsModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:EntityUIModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:DamageModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:SplitVelocity
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:StaminaModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:DebugPlugin
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ProjectileModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ServerPlayerListModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:AccessControlModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:SingleplayerModule
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Universe
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ConnectedBlocksModule
[2026/01/31 18:17:15   INFO]          [PluginManager] Loading pending classpath plugins!
[2026/01/31 18:17:15   INFO]          [PluginManager] - Example:ExamplePlugin
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:AssetEditor
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockSpawner
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockTick
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BlockPhysics
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:BuilderTools
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Crafting
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:CommandMacro
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Instances
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:LANDiscovery
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:NPC
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:NPCObjectives
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ObjectiveReputation
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Objectives
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ObjectiveShop
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Path
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Reputation
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:NPCReputation
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Shop
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:ShopReputation
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:NPCShop
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:NPCEditor
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Stash
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:TagSet
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Teleport
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Fluid
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Weather
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:WorldGen
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Farming
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Camera
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:WorldLocationCondition
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:NPCCombatActionEvaluator
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Model
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Mantling
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:SafetyRoll
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:SprintForce
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:CrouchSlide
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Parkour
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Mounts
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:HytaleGenerator
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Teleporter
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Memories
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Deployables
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Portals
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Beds
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:Ambience
[2026/01/31 18:17:15   INFO]          [PluginManager] - Hytale:CreativeHub
[2026/01/31 18:17:15   INFO]          [PluginManager] Loading pending plugins from directory: mods
[2026/01/31 18:17:15   INFO]          [PluginManager] - Buuz135:BetterModlist from path BetterModlist-1.0.4.jar
[2026/01/31 18:17:15   INFO]          [PluginManager] Loading pending plugins from directory: D:\Programmierung\hytale-template-plugin\src\main
[2026/01/31 18:17:15   INFO]           [HytaleServer] Shutdown triggered!!!
[2026/01/31 18:17:15   INFO]           [HytaleServer] Shutting down... 1  'Failed to start server! Found cyclic dependency between plugins:
  Example:ExamplePlugin waiting on: [Buuz135:BetterModlist]
  Buuz135:BetterModlist waiting on: [Example:ExamplePlugin]
'
[2026/01/31 18:17:15   INFO]           [HytaleServer] Getting Hytale Universe ready...
[2026/01/31 18:17:15   INFO]          [PluginManager] Saving plugins config...
[2026/01/31 18:17:15   INFO]           [HytaleServer] Saving config...
[2026/01/31 18:17:15   INFO]           [HytaleServer] Shutdown completed!
5 actionable tasks: 2 executed, 3 up-to-date
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by io.netty.util.internal.NativeLibraryUtil in an unnamed module (file:/C:/Users/USER/AppData/Roaming/Hytale/install/release/package/game/latest/Server/HytaleServer.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::getLong has been called by com.hypixel.hytale.codec.util.RawJsonReader (file:/C:/Users/USER/AppData/Roaming/Hytale/install/release/package/game/latest/Server/HytaleServer.jar)
WARNING: Please consider reporting this to the maintainers of class com.hypixel.hytale.codec.util.RawJsonReader
WARNING: sun.misc.Unsafe::getLong will be removed in a future release
[2026/01/31 18:17:14 SEVERE]                   [SERR] decodeJson: class com.hypixel.hytale.codec.DocumentContainingCodec
[2026/01/31 18:17:15 SEVERE]           [HytaleServer] Failed to boot HytaleServer!
java.lang.IllegalArgumentException: Found cyclic dependency between plugins:
  Example:ExamplePlugin waiting on: [Buuz135:BetterModlist]
  Buuz135:BetterModlist waiting on: [Example:ExamplePlugin]

	at com.hypixel.hytale.server.core.plugin.pending.PendingLoadPlugin.calculateLoadOrder(PendingLoadPlugin.java:209)
	at com.hypixel.hytale.server.core.plugin.PluginManager.setup(PluginManager.java:199)
	at com.hypixel.hytale.server.core.HytaleServer.boot(HytaleServer.java:373)
	at com.hypixel.hytale.server.core.HytaleServer.<init>(HytaleServer.java:331)
	at com.hypixel.hytale.LateMain.lateMain(LateMain.java:54)
	at com.hypixel.hytale.Main.main(Main.java:43)


FAILURE: Build failed with an exception.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions