Skip to content

Commit 6b37f10

Browse files
committed
consume entry on update
1 parent 8cab982 commit 6b37f10

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

spigot/plugin/src/main/java/me/hsgamer/topper/spigot/plugin/holder/NumberTopHolder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import me.hsgamer.topper.spigot.plugin.config.MainConfig;
1717
import me.hsgamer.topper.spigot.plugin.event.GenericEntryUpdateEvent;
1818
import me.hsgamer.topper.spigot.plugin.holder.display.ValueDisplay;
19+
import me.hsgamer.topper.spigot.plugin.manager.EntryConsumeManager;
1920
import me.hsgamer.topper.spigot.plugin.manager.TopManager;
2021
import me.hsgamer.topper.value.core.ValueProvider;
2122
import org.bukkit.Bukkit;
@@ -95,6 +96,7 @@ public void start() {
9596
@Override
9697
public void onUpdate(DataEntry<UUID, Double> entry, Double oldValue, Double newValue) {
9798
Bukkit.getPluginManager().callEvent(new GenericEntryUpdateEvent(name, entry.getKey(), oldValue, newValue, true));
99+
instance.get(EntryConsumeManager.class).consume(EntryConsumeManager.DEFAULT_GROUP, name, entry.getKey(), newValue);
98100
}
99101
});
100102
}

spigot/plugin/src/main/java/me/hsgamer/topper/spigot/plugin/manager/EntryConsumeManager.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import java.util.function.BiFunction;
1212

1313
public class EntryConsumeManager implements Loadable {
14+
public static final String DEFAULT_GROUP = "topper";
15+
1416
private final TopperPlugin plugin;
1517
private final Table<String, String, List<BiConsumer<UUID, Double>>> consumerTable = HashBasedTable.create();
1618
private final Map<String, BiFunction<String, UUID, Optional<Double>>> providerMap = new HashMap<>();
@@ -44,9 +46,16 @@ public Optional<Double> getValue(String group, String holder, UUID uuid) {
4446
return function.apply(holder, uuid);
4547
}
4648

49+
public void consume(String group, String holder, UUID uuid, double value) {
50+
List<BiConsumer<UUID, Double>> consumerList = consumerTable.get(group, holder);
51+
if (consumerList != null) {
52+
consumerList.forEach(consumer -> consumer.accept(uuid, value));
53+
}
54+
}
55+
4756
@Override
4857
public void enable() {
49-
addProvider("topper", (holder, uuid) ->
58+
addProvider(DEFAULT_GROUP, (holder, uuid) ->
5059
plugin.get(TopManager.class)
5160
.getTopHolder(holder)
5261
.flatMap(h -> h.getEntry(uuid))

0 commit comments

Comments
 (0)