package dev.loki.loparkour.mode.base; import dev.loki.loparkour.api.core.Registry; import dev.loki.loparkour.duels.DuelsMode; import dev.loki.loparkour.elytra.close.CloseMode; import dev.loki.loparkour.elytra.core.ElytraMode; import dev.loki.loparkour.elytra.minspeed.MinSpeedMode; import dev.loki.loparkour.elytra.obstacle.ObstacleMode; import dev.loki.loparkour.elytra.speeddemon.SpeedDemonMode; import dev.loki.loparkour.elytra.timetrial.TimeTrialMode; import dev.loki.loparkour.mode.impl.barrier.InvisibleBarrierMode; import dev.loki.loparkour.mode.impl.multi.CoopMode; import dev.loki.loparkour.mode.impl.multi.RaceMode; import dev.loki.loparkour.mode.impl.multi.SpectatorMode; import dev.loki.loparkour.mode.impl.solo.DefaultMode; import dev.loki.loparkour.mode.impl.solo.GravityShiftMode; import dev.loki.loparkour.mode.impl.solo.SpeedrunMode; public final class Modes { private Modes() { } private static DefaultMode defaultMode; private static SpectatorMode spectator; private static SpeedrunMode speedrun; private static InvisibleBarrierMode invisibleBarrier; private static RaceMode race; private static CoopMode coop; private static GravityShiftMode gravityShift; private static ElytraMode elytra; private static SpeedDemonMode speedDemon; private static MinSpeedMode minSpeed; private static TimeTrialMode timeTrial; private static CloseMode close; private static ObstacleMode obstacle; private static DuelsMode duels; public static void init() { defaultMode = (DefaultMode) Registry.getMode("default"); spectator = (SpectatorMode) Registry.getMode("spectator"); speedrun = (SpeedrunMode) Registry.getMode("speedrun"); invisibleBarrier = (InvisibleBarrierMode) Registry.getMode("invisible-barrier"); race = (RaceMode) Registry.getMode("race"); coop = (CoopMode) Registry.getMode("coop"); gravityShift = (GravityShiftMode) Registry.getMode("gravity-shift"); elytra = (ElytraMode) Registry.getMode("elytra"); speedDemon = (SpeedDemonMode) Registry.getMode("speeddemon"); minSpeed = (MinSpeedMode) Registry.getMode("minspeed"); timeTrial = (TimeTrialMode) Registry.getMode("timetrial"); close = (CloseMode) Registry.getMode("close"); obstacle = (ObstacleMode) Registry.getMode("obstacle"); duels = (DuelsMode) Registry.getMode("duels"); } public static DefaultMode defaultMode() { return defaultMode; } public static SpectatorMode spectator() { return spectator; } public static SpeedrunMode speedrun() { return speedrun; } public static InvisibleBarrierMode invisibleBarrier() { return invisibleBarrier; } public static RaceMode race() { return race; } public static CoopMode coop() { return coop; } public static GravityShiftMode gravityShift() { return gravityShift; } public static ElytraMode elytra() { return elytra; } public static SpeedDemonMode speedDemon() { return speedDemon; } public static MinSpeedMode minSpeed() { return minSpeed; } public static TimeTrialMode timeTrial() { return timeTrial; } public static CloseMode close() { return close; } public static ObstacleMode obstacle() { return obstacle; } public static DuelsMode duels() { return duels; } }