From e3e4afc846c4e93e9cba0f8c43a1c169ab8a96ca Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Sun, 2 Aug 2026 19:27:15 +0200 Subject: [PATCH 1/9] change: more robust (fait au cas ou que une feature weekly event a une phase qui bug au lieu de bloquer tt le serveur, on passe la phase, mais l'origine du bug avec le lancement tjr ne vient pas de la, aucune erreur) --- .../weeklyevents/WeeklyEventsManager.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java index 9080bd35e..871efa26d 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java @@ -166,11 +166,16 @@ private static void runPhase(WeeklyEventPhase phase) { data.setActive(true); save(data); - Runnable action = phase.runAction(); - if (action != null) action.run(); - - advancePhase(); - scheduleNextPhase(); + try { + Runnable action = phase.runAction(); + if (action != null) action.run(); + } catch (Exception e) { + OMCLogger.error("Erreur lors de l'exécution de la phase {}", + PlainTextComponentSerializer.plainText().serialize(phase.getName()), e); + } finally { + advancePhase(); + scheduleNextPhase(); + } } /** From 7153b941c29d1ac193f79f1d757b42f5ff4ccc58 Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Mon, 3 Aug 2026 10:11:55 +0200 Subject: [PATCH 2/9] fix: utilize runPhase --- .../events/contents/weeklyevents/WeeklyEventsManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java index 871efa26d..f4065b966 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java @@ -44,8 +44,8 @@ public void init() { WeeklyEventPhase currentPhase = getCurrentPhase(); if (data.isActive() && currentPhase != null && DateUtils.getCurrentDayOfWeek().equals(currentPhase.getStartDay())) { - Runnable action = currentPhase.runAction(); - if (action != null) action.run(); + runPhase(currentPhase); + return; } scheduleNextPhase(); From 7d28a22852a26bd55490c9bb85fcbe14feb93cdd Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Tue, 4 Aug 2026 10:55:21 +0200 Subject: [PATCH 3/9] change: add log to prevent next phase --- .../contents/weeklyevents/WeeklyEventsManager.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java index f4065b966..13af60fb5 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java @@ -20,7 +20,9 @@ import org.bukkit.scheduler.BukkitTask; import java.sql.SQLException; +import java.time.format.TextStyle; import java.util.List; +import java.util.Locale; @Credit(developers = {"iambibi_"}) public class WeeklyEventsManager extends Feature implements LoadAfterItemsAdder, DatabaseFeature { @@ -149,6 +151,18 @@ public static void scheduleNextPhase() { return; } + OMCLogger.infoFormatted("Prochaine Phase ({}) de l'évenement weekly ({}) le" + + nextPhase.getStartDay().getDisplayName(TextStyle.FULL_STANDALONE, Locale.FRENCH) + " " + + nextPhase.getStartHour() + "h" + nextPhase.getStartMinutes() + "m " + + " (dans " + DateUtils.convertSecondToTime(DateUtils.getSecondsUntilDayOfWeekTime( + nextPhase.getStartDay(), + nextPhase.getStartHour(), + nextPhase.getStartMinutes(), + 0 + )) + ")", PlainTextComponentSerializer.plainText().serialize(nextPhase.getName()), + PlainTextComponentSerializer.plainText().serialize(getCurrentEvent().getName())); + + currentTask = Bukkit.getScheduler().runTaskLater(OMCPlugin.getInstance(), () -> { if (findNextPhase() != nextPhase) { scheduleNextPhase(); From d936b004bd8e004feda67fba2a75974e83c64c19 Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Tue, 4 Aug 2026 11:13:34 +0200 Subject: [PATCH 4/9] MONDAY -> WEDNESDAY a changer avant de merge --- .../contents/weeklyevents/contents/contest/ContestPhase.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java index 698305a38..a10e52407 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java @@ -86,8 +86,8 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.MONDAY; - } + return DayOfWeek.WEDNESDAY; + } //todo: A CHANGER @Override public int getStartHour() { From 918bc5b25f96fd93c46e725ed7b08f4d4c2e953b Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Wed, 5 Aug 2026 16:52:59 +0200 Subject: [PATCH 5/9] thursday --- .../contents/weeklyevents/contents/contest/ContestPhase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java index a10e52407..e631aa6b2 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java @@ -86,7 +86,7 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.WEDNESDAY; + return DayOfWeek.THURSDAY; } //todo: A CHANGER @Override From 4a0c11ea6026a871ea55d8640553ddf6a1015101 Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Thu, 6 Aug 2026 10:20:12 +0200 Subject: [PATCH 6/9] fix: try try tRYYYYYYYY --- .../events/contents/weeklyevents/WeeklyEventsManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java index 13af60fb5..c63449628 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java @@ -180,15 +180,15 @@ private static void runPhase(WeeklyEventPhase phase) { data.setActive(true); save(data); + advancePhase(); + scheduleNextPhase(); + try { Runnable action = phase.runAction(); if (action != null) action.run(); } catch (Exception e) { OMCLogger.error("Erreur lors de l'exécution de la phase {}", PlainTextComponentSerializer.plainText().serialize(phase.getName()), e); - } finally { - advancePhase(); - scheduleNextPhase(); } } From 5cb2ac02d0f9886382ebe3d1974fe9ca63d15e23 Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Thu, 6 Aug 2026 10:21:35 +0200 Subject: [PATCH 7/9] friday --- .../contents/weeklyevents/contents/contest/ContestPhase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java index e631aa6b2..4c963c7a0 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java @@ -86,7 +86,7 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.THURSDAY; + return DayOfWeek.FRIDAY; } //todo: A CHANGER @Override From bf1d0d5c57a8859b7903f8f006e1da93628359ed Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Thu, 6 Aug 2026 10:23:07 +0200 Subject: [PATCH 8/9] phase --- .../contents/weeklyevents/contents/contest/ContestPhase.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java index 4c963c7a0..993e851fb 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java @@ -24,7 +24,7 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.FRIDAY; + return DayOfWeek.SATURDAY; } @Override @@ -55,7 +55,7 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.SATURDAY; + return DayOfWeek.MONDAY; } @Override From c6d8c3ee1114d57f315cd10ab221f2a0dec20b18 Mon Sep 17 00:00:00 2001 From: iambibi_ <89582596+iambibi@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:15:56 +0200 Subject: [PATCH 9/9] simplify forceEventAtPhase --- .../weeklyevents/WeeklyEventsManager.java | 17 ++--------------- .../contents/contest/ContestPhase.java | 8 ++++---- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java index c63449628..6b2445bd6 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/WeeklyEventsManager.java @@ -222,24 +222,11 @@ public static void forceEventAtPhase(WeeklyEvent event, WeeklyEventPhase phase) return; } - data.setCurrentEventIndex(eventIndex); - data.setCurrentPhaseIndex(phaseIndex); - data.setActive(true); - save(data); - - Runnable action = phase.runAction(); - if (action != null) action.run(); - - boolean isLastPhase = phaseIndex == event.getPhases().size() - 1; - if (isLastPhase) { - advanceToNextEvent(); - } - - scheduleNextPhase(); - OMCLogger.info("[WeeklyEvents] Event forcé : {} à la phase {}", PlainTextComponentSerializer.plainText().serialize(event.getName()), PlainTextComponentSerializer.plainText().serialize(phase.getName())); + + runPhase(phase); } /** diff --git a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java index 993e851fb..698305a38 100644 --- a/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java +++ b/src/main/java/fr/openmc/core/features/events/contents/weeklyevents/contents/contest/ContestPhase.java @@ -24,7 +24,7 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.SATURDAY; + return DayOfWeek.FRIDAY; } @Override @@ -55,7 +55,7 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.MONDAY; + return DayOfWeek.SATURDAY; } @Override @@ -86,8 +86,8 @@ public List getDescription() { @Override public DayOfWeek getStartDay() { - return DayOfWeek.FRIDAY; - } //todo: A CHANGER + return DayOfWeek.MONDAY; + } @Override public int getStartHour() {