Skip to content

Commit a295bd8

Browse files
committed
generic task creation for NumberTopHolder
1 parent 7bb7c3a commit a295bd8

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

template/top-player-number/src/main/java/me/hsgamer/topper/template/topplayernumber/TopPlayerNumberTemplate.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ protected TopPlayerNumberTemplate(Settings settings) {
3535

3636
public abstract Optional<ValueProvider<UUID, Double>> createValueProvider(Map<String, Object> settings);
3737

38-
public abstract Agent createTaskAgent(Runnable runnable, boolean async, long delay);
38+
public abstract Agent createTask(Runnable runnable, NumberTopHolder.TaskType taskType);
39+
40+
public abstract Agent createUpdateTask(Runnable runnable, boolean async);
3941

4042
public abstract void logWarning(String message, @Nullable Throwable throwable);
4143

@@ -90,16 +92,10 @@ public NameProviderManager getNameProviderManager() {
9092
public interface Settings {
9193
Map<String, NumberTopHolder.Settings> holders();
9294

93-
int taskSaveDelay();
94-
9595
int taskSaveEntryPerTick();
9696

9797
int taskUpdateEntryPerTick();
9898

99-
int taskUpdateDelay();
100-
101-
int taskUpdateSetDelay();
102-
10399
int taskUpdateMaxSkips();
104100
}
105101
}

template/top-player-number/src/main/java/me/hsgamer/topper/template/topplayernumber/holder/NumberTopHolder.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public NumberTopHolder(TopPlayerNumberTemplate template, String name, Settings s
3939
storageAgent.setMaxEntryPerCall(template.getSettings().taskSaveEntryPerTick());
4040
agents.add(storageAgent);
4141
agents.add(storageAgent.getLoadAgent(this));
42-
agents.add(template.createTaskAgent(storageAgent, true, template.getSettings().taskSaveDelay()));
42+
agents.add(template.createTask(storageAgent, TaskType.STORAGE));
4343
entryAgents.add(storageAgent);
4444

4545
ValueProvider<UUID, Double> valueProvider = template.createValueProvider(settings.valueProvider()).orElseGet(() -> {
@@ -67,15 +67,15 @@ public NumberTopHolder(TopPlayerNumberTemplate template, String name, Settings s
6767
}
6868
updateAgent.setMaxSkips(template.getSettings().taskUpdateMaxSkips());
6969
entryAgents.add(updateAgent);
70-
agents.add(template.createTaskAgent(updateAgent.getUpdateRunnable(template.getSettings().taskUpdateEntryPerTick()), isAsync, template.getSettings().taskUpdateDelay()));
71-
agents.add(template.createTaskAgent(updateAgent.getSetRunnable(), true, template.getSettings().taskUpdateSetDelay()));
70+
agents.add(template.createUpdateTask(updateAgent.getUpdateRunnable(template.getSettings().taskUpdateEntryPerTick()), isAsync));
71+
agents.add(template.createTask(updateAgent.getSetRunnable(), TaskType.SET));
7272

7373
this.snapshotAgent = SnapshotAgent.create(this);
7474
boolean reverseOrder = settings.reverse();
7575
snapshotAgent.setComparator(reverseOrder ? Comparator.naturalOrder() : Comparator.reverseOrder());
7676
snapshotAgent.setFilter(entry -> entry.getValue() != null);
7777
agents.add(snapshotAgent);
78-
agents.add(template.createTaskAgent(snapshotAgent, true, 20L));
78+
agents.add(template.createTask(snapshotAgent, TaskType.SNAPSHOT));
7979

8080
entryAgents.add(new DataEntryAgent<UUID, Double>() {
8181
@Override
@@ -126,6 +126,12 @@ public ValueDisplay getValueDisplay() {
126126
return valueDisplay;
127127
}
128128

129+
public enum TaskType {
130+
STORAGE,
131+
SET,
132+
SNAPSHOT,
133+
}
134+
129135
public interface Settings {
130136
Double defaultValue();
131137

0 commit comments

Comments
 (0)