diff --git a/src/main/java/com/mythlane/gravityflip/GravityFlipPlugin.java b/src/main/java/com/mythlane/gravityflip/GravityFlipPlugin.java index b96cb0e..6c422c3 100644 --- a/src/main/java/com/mythlane/gravityflip/GravityFlipPlugin.java +++ b/src/main/java/com/mythlane/gravityflip/GravityFlipPlugin.java @@ -14,6 +14,7 @@ import com.mythlane.gravityflip.physics.GravityApplier; import com.mythlane.gravityflip.region.GravityFlipRegion; import com.mythlane.gravityflip.region.RegionRegistry; import com.mythlane.gravityflip.tick.RegionTickLoop; +import com.mythlane.gravityflip.command.GravityFlipCommand; import com.mythlane.gravityflip.viz.RegionVisualizer; import com.mythlane.gravityflip.wand.GravityFlipWandInteraction; import com.mythlane.gravityflip.wand.WandSelectionStore; @@ -122,6 +123,11 @@ public class GravityFlipPlugin extends JavaPlugin { getTaskRegistry().registerTask(vf); } catch (Throwable ignored) { /* manual shutdown() fallback */ } + // Plan 04-02 : enregistrer la commande racine /gravityflip + sous-commande `wand`. + // Pattern : CommandRegistry.register(...) ajoute automatiquement un shutdownTask qui + // unregister au teardown (cf. CommandRegistry base class). Pas de cleanup manuel. + getCommandRegistry().registerCommand(new GravityFlipCommand(this)); + getLogger().at(Level.INFO).log( "Gravity Flip enabled — %d region(s) loaded, detector @100ms, gravity inversion active", cfg.getRegions().size());