Adjustments for latest Calendar initializations.
Thanks to borinet.
This commit is contained in:
parent
8265c45d55
commit
fa1b339898
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -53,16 +53,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -55,16 +55,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -55,16 +55,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -55,16 +55,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -55,16 +55,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -55,16 +55,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -55,16 +55,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -57,16 +57,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -59,16 +59,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -59,16 +59,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -119,6 +119,8 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
|
||||
private CeremonyOfChaos()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule event period end, 1st of next month 00:01.
|
||||
final Calendar periodEnd = Calendar.getInstance();
|
||||
periodEnd.add(Calendar.MONTH, 1);
|
||||
@ -126,18 +128,26 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
periodEnd.set(Calendar.HOUR_OF_DAY, 0);
|
||||
periodEnd.set(Calendar.MINUTE, 1);
|
||||
periodEnd.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> endMonth(), periodEnd.getTimeInMillis() - Chronos.currentTimeMillis(), 2629800000L); // 2629800000 = 1 month
|
||||
if (periodEnd.getTimeInMillis() < currentTime)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (periodEnd.get(Calendar.DAY_OF_MONTH) != 1)
|
||||
{
|
||||
periodEnd.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::endMonth, periodEnd.getTimeInMillis() - currentTime, 2629800000L); // 2629800000 = 1 month
|
||||
|
||||
// Daily task to start event at 18:00.
|
||||
final Calendar startTime = Calendar.getInstance();
|
||||
if ((startTime.get(Calendar.HOUR_OF_DAY) >= 18) && (startTime.get(Calendar.MINUTE) >= 0))
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
startTime.set(Calendar.HOUR_OF_DAY, 18);
|
||||
startTime.set(Calendar.MINUTE, 0);
|
||||
startTime.set(Calendar.SECOND, 0);
|
||||
ThreadPool.scheduleAtFixedRate(() -> startEvent(), startTime.getTimeInMillis() - Chronos.currentTimeMillis(), 86400000); // 86400000 = 1 day
|
||||
if (startTime.getTimeInMillis() < currentTime)
|
||||
{
|
||||
startTime.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
ThreadPool.scheduleAtFixedRate(this::startEvent, startTime.getTimeInMillis() - currentTime, 86400000); // 86400000 = 1 day
|
||||
}
|
||||
|
||||
private void endMonth()
|
||||
@ -207,7 +217,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> registrationEnd(), 300000); // 300000 = 5 minutes
|
||||
ThreadPool.schedule(this::registrationEnd, 300000); // 300000 = 5 minutes
|
||||
}
|
||||
|
||||
private void registrationEnd()
|
||||
@ -232,11 +242,11 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60000, null, null);
|
||||
|
||||
ThreadPool.schedule(() -> prepareForFight(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::prepareForFight, 60000); // 60000 = 1 minute
|
||||
}
|
||||
else // Try again in 10 minutes.
|
||||
{
|
||||
ThreadPool.schedule(() -> startEvent(), 600000); // 600000 = 10 minutes
|
||||
ThreadPool.schedule(this::startEvent, 600000); // 600000 = 10 minutes
|
||||
}
|
||||
}
|
||||
|
||||
@ -902,7 +912,7 @@ public class CeremonyOfChaos extends AbstractNpcAI
|
||||
instance.destroy();
|
||||
}
|
||||
|
||||
ThreadPool.schedule(() -> startEvent(), 60000); // 60000 = 1 minute
|
||||
ThreadPool.schedule(this::startEvent, 60000); // 60000 = 1 minute
|
||||
}
|
||||
|
||||
public List<PlayerInstance> getWinners()
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -59,16 +59,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -57,16 +57,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -57,16 +57,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -57,16 +57,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -57,16 +57,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -57,16 +57,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -59,16 +59,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -55,16 +55,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -59,16 +59,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -59,16 +59,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
@ -42,18 +42,24 @@ public class ClanHallAuctionManager
|
||||
|
||||
protected ClanHallAuctionManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule of the start, next Wednesday at 19:00.
|
||||
final Calendar start = Calendar.getInstance();
|
||||
if ((start.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
start.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
start.set(Calendar.HOUR_OF_DAY, 19);
|
||||
start.set(Calendar.MINUTE, 0);
|
||||
start.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
ThreadPool.scheduleAtFixedRate(() -> onStart(), startDelay, 604800000); // 604800000 = 1 week
|
||||
if (start.getTimeInMillis() < currentTime)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (start.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
start.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long startDelay = Math.max(0, start.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onStart, startDelay, 604800000); // 604800000 = 1 week
|
||||
if (startDelay > 0)
|
||||
{
|
||||
onStart();
|
||||
@ -61,16 +67,20 @@ public class ClanHallAuctionManager
|
||||
|
||||
// Schedule of the end, next Wednesday at 11:00.
|
||||
final Calendar end = Calendar.getInstance();
|
||||
if ((end.get(Calendar.DAY_OF_WEEK) >= Calendar.WEDNESDAY))
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 7);
|
||||
}
|
||||
end.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
|
||||
end.set(Calendar.HOUR_OF_DAY, 11);
|
||||
end.set(Calendar.MINUTE, 0);
|
||||
end.set(Calendar.SECOND, 0);
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(() -> onEnd(), endDelay, 604800000); // 604800000 = 1 week
|
||||
if (end.getTimeInMillis() < currentTime)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
while (end.get(Calendar.DAY_OF_WEEK) != Calendar.WEDNESDAY)
|
||||
{
|
||||
end.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
final long endDelay = Math.max(0, end.getTimeInMillis() - currentTime);
|
||||
_endTask = ThreadPool.scheduleAtFixedRate(this::onEnd, endDelay, 604800000); // 604800000 = 1 week
|
||||
}
|
||||
|
||||
private void onStart()
|
||||
|
@ -59,16 +59,18 @@ public class DailyTaskManager
|
||||
|
||||
protected DailyTaskManager()
|
||||
{
|
||||
final long currentTime = Chronos.currentTimeMillis();
|
||||
|
||||
// Schedule reset everyday at 6:30.
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
if ((calendar.get(Calendar.HOUR_OF_DAY) >= 6) && (calendar.get(Calendar.MINUTE) >= 30))
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 6);
|
||||
calendar.set(Calendar.MINUTE, 30);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - Chronos.currentTimeMillis());
|
||||
if (calendar.getTimeInMillis() < currentTime)
|
||||
{
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
final long startDelay = Math.max(0, calendar.getTimeInMillis() - currentTime);
|
||||
ThreadPool.scheduleAtFixedRate(this::onReset, startDelay, 86400000); // 86400000 = 1 day
|
||||
|
||||
// Global save task.
|
||||
|
Loading…
Reference in New Issue
Block a user