11package com .eternalcode .combat ;
22
3- import com .eternalcode .combat .border .BorderTriggerController ;
43import com .eternalcode .combat .border .BorderService ;
54import com .eternalcode .combat .border .BorderServiceImpl ;
5+ import com .eternalcode .combat .border .BorderTriggerController ;
66import com .eternalcode .combat .border .animation .block .BorderBlockController ;
77import com .eternalcode .combat .border .animation .particle .ParticleController ;
88import com .eternalcode .combat .bridge .BridgeService ;
9- import com .eternalcode .combat .crystalpvp .RespawnAnchorListener ;
10- import com .eternalcode .combat .crystalpvp .EndCrystalListener ;
11- import com .eternalcode .combat .fight .controller .FightBypassAdminController ;
12- import com .eternalcode .combat .fight .controller .FightBypassCreativeController ;
13- import com .eternalcode .combat .fight .controller .FightBypassPermissionController ;
14- import com .eternalcode .combat .fight .controller .FightInventoryController ;
15- import com .eternalcode .combat .fight .death .DeathEffectController ;
16- import com .eternalcode .combat .fight .drop .DropKeepInventoryService ;
17- import com .eternalcode .combat .fight .FightManager ;
18- import com .eternalcode .combat .fight .drop .DropService ;
19- import com .eternalcode .combat .fight .effect .FightEffectService ;
20- import com .eternalcode .combat .fight .firework .FireworkController ;
21- import com .eternalcode .combat .fight .knockback .KnockbackService ;
22- import com .eternalcode .combat .fight .tagout .FightTagOutService ;
23- import com .eternalcode .combat .fight .pearl .FightPearlService ;
24- import com .eternalcode .combat .handler .InvalidUsageHandlerImpl ;
25- import com .eternalcode .combat .handler .MissingPermissionHandlerImpl ;
269import com .eternalcode .combat .config .ConfigService ;
2710import com .eternalcode .combat .config .implementation .PluginConfig ;
28- import com .eternalcode .combat .fight .drop .DropController ;
29- import com .eternalcode .combat .fight .drop .DropKeepInventoryServiceImpl ;
30- import com .eternalcode .combat .fight .drop .DropServiceImpl ;
31- import com .eternalcode .combat .fight .drop .impl .PercentDropModifier ;
32- import com .eternalcode .combat .fight .drop .impl .PlayersHealthDropModifier ;
33- import com .eternalcode .combat .fight .FightTagCommand ;
34- import com .eternalcode .combat .fight .controller .FightActionBlockerController ;
35- import com .eternalcode .combat .fight .controller .FightMessageController ;
36- import com .eternalcode .combat .fight .controller .FightTagController ;
37- import com .eternalcode .combat .fight .controller .FightUnTagController ;
38- import com .eternalcode .combat .fight .effect .FightEffectController ;
11+ import com .eternalcode .combat .crystalpvp .EndCrystalListener ;
12+ import com .eternalcode .combat .crystalpvp .RespawnAnchorListener ;
3913import com .eternalcode .combat .event .EventManager ;
14+ import com .eternalcode .combat .fight .FightManager ;
4015import com .eternalcode .combat .fight .FightManagerImpl ;
16+ import com .eternalcode .combat .fight .FightTagCommand ;
4117import com .eternalcode .combat .fight .FightTask ;
18+ import com .eternalcode .combat .fight .controller .*;
19+ import com .eternalcode .combat .fight .death .DeathEffectController ;
20+ import com .eternalcode .combat .fight .drop .*;
21+ import com .eternalcode .combat .fight .drop .impl .PercentDropModifier ;
22+ import com .eternalcode .combat .fight .drop .impl .PlayersHealthDropModifier ;
23+ import com .eternalcode .combat .fight .effect .FightEffectController ;
24+ import com .eternalcode .combat .fight .effect .FightEffectService ;
4225import com .eternalcode .combat .fight .effect .FightEffectServiceImpl ;
26+ import com .eternalcode .combat .fight .firework .FireworkController ;
27+ import com .eternalcode .combat .fight .knockback .KnockbackRegionController ;
28+ import com .eternalcode .combat .fight .knockback .KnockbackService ;
4329import com .eternalcode .combat .fight .logout .LogoutController ;
4430import com .eternalcode .combat .fight .logout .LogoutService ;
4531import com .eternalcode .combat .fight .pearl .FightPearlController ;
32+ import com .eternalcode .combat .fight .pearl .FightPearlService ;
4633import com .eternalcode .combat .fight .pearl .FightPearlServiceImpl ;
34+ import com .eternalcode .combat .fight .tagout .FightTagOutCommand ;
4735import com .eternalcode .combat .fight .tagout .FightTagOutController ;
36+ import com .eternalcode .combat .fight .tagout .FightTagOutService ;
4837import com .eternalcode .combat .fight .tagout .FightTagOutServiceImpl ;
49- import com .eternalcode .combat .fight .tagout .FightTagOutCommand ;
38+ import com .eternalcode .combat .handler .InvalidUsageHandlerImpl ;
39+ import com .eternalcode .combat .handler .MissingPermissionHandlerImpl ;
5040import com .eternalcode .combat .notification .NoticeService ;
51- import com .eternalcode .combat .fight .knockback .KnockbackRegionController ;
5241import com .eternalcode .combat .region .RegionProvider ;
42+ import com .eternalcode .combat .time .DurationService ;
5343import com .eternalcode .combat .updater .UpdaterNotificationController ;
5444import com .eternalcode .combat .updater .UpdaterService ;
5545import com .eternalcode .commons .adventure .AdventureLegacyColorPostProcessor ;
6151import dev .rollczi .litecommands .bukkit .LiteBukkitFactory ;
6252import dev .rollczi .litecommands .bukkit .LiteBukkitMessages ;
6353import dev .rollczi .litecommands .folia .FoliaExtension ;
64- import java .time .Duration ;
6554import net .kyori .adventure .platform .AudienceProvider ;
6655import net .kyori .adventure .platform .bukkit .BukkitAudiences ;
6756import net .kyori .adventure .text .minimessage .MiniMessage ;
7362import org .bukkit .plugin .java .JavaPlugin ;
7463
7564import java .io .File ;
65+ import java .time .Duration ;
7666import java .util .concurrent .TimeUnit ;
7767import java .util .stream .Stream ;
7868
@@ -109,6 +99,8 @@ public void onEnable() {
10999
110100 MinecraftScheduler scheduler = CombatSchedulerAdapter .getAdaptiveScheduler (this );
111101
102+ DurationService durationService = DurationService .ofConfig (pluginConfig .durationFormat );
103+
112104 this .fightManager = new FightManagerImpl (eventManager );
113105 this .fightPearlService = new FightPearlServiceImpl (pluginConfig .pearl );
114106 this .fightTagOutService = new FightTagOutServiceImpl ();
@@ -134,6 +126,7 @@ public void onEnable() {
134126 server .getPluginManager (),
135127 this .getLogger (),
136128 this ,
129+ durationService ,
137130 this .fightManager
138131 );
139132 bridgeService .init (server );
@@ -151,7 +144,7 @@ public void onEnable() {
151144
152145 .commands (
153146 new FightTagCommand (this .fightManager , noticeService , pluginConfig ),
154- new FightTagOutCommand (this .fightTagOutService , noticeService , pluginConfig ),
147+ new FightTagOutCommand (this .fightTagOutService , noticeService , durationService , pluginConfig ),
155148 new EternalCombatReloadCommand (configService , noticeService )
156149 )
157150
@@ -164,7 +157,7 @@ public void onEnable() {
164157
165158 .build ();
166159
167- FightTask fightTask = new FightTask (server , pluginConfig , this .fightManager , noticeService );
160+ FightTask fightTask = new FightTask (server , pluginConfig , durationService , this .fightManager , noticeService );
168161 scheduler .timer (fightTask , Duration .ofSeconds (1 ), Duration .ofSeconds (1 ));
169162
170163 new Metrics (this , BSTATS_METRICS_ID );
@@ -181,7 +174,7 @@ public void onEnable() {
181174 new FightBypassPermissionController (server , pluginConfig ),
182175 new FightBypassCreativeController (server , pluginConfig ),
183176 new FightActionBlockerController (this .fightManager , noticeService , pluginConfig , server ),
184- new FightPearlController (pluginConfig .pearl , noticeService , this .fightManager , this .fightPearlService ),
177+ new FightPearlController (pluginConfig .pearl , noticeService , durationService , this .fightManager , this .fightPearlService ),
185178 new DeathEffectController (pluginConfig ),
186179 new UpdaterNotificationController (updaterService , pluginConfig , this .audienceProvider , miniMessage ),
187180 new KnockbackRegionController (noticeService , this .regionProvider , this .fightManager , knockbackService , server ),
0 commit comments