diff --git a/src/main/java/net/minecraft/server/StatisticManager.java b/src/main/java/net/minecraft/server/StatisticManager.java new file mode 100644 index 0000000000..ba8e2134e7 --- /dev/null +++ b/src/main/java/net/minecraft/server/StatisticManager.java @@ -0,0 +1,61 @@ +package net.minecraft.server; + +import java.util.HashMap; +import java.util.Map; + +public class StatisticManager { + + protected final Map a = new HashMap(); + + public StatisticManager() { + } + + public boolean a(Achievement achievement) { + return this.a((Statistic) achievement) > 0; + } + + public boolean b(Achievement achievement) { + return achievement.c == null || this.a(achievement.c); + } + + public void b(EntityHuman entityhuman, Statistic statistic, int i) { + if (!statistic.d() || this.b((Achievement) statistic)) { + this.a(entityhuman, statistic, this.a(statistic) + i); + } + } + + public void a(EntityHuman entityhuman, Statistic statistic, int i) { + StatisticWrapper statisticwrapper = (StatisticWrapper) this.a.get(statistic); + + if (statisticwrapper == null) { + statisticwrapper = new StatisticWrapper(); + this.a.put(statistic, statisticwrapper); + } + + statisticwrapper.a(i); + } + + public int a(Statistic statistic) { + StatisticWrapper statisticwrapper = (StatisticWrapper) this.a.get(statistic); + + return statisticwrapper == null ? 0 : statisticwrapper.a(); + } + + public IJsonStatistic b(Statistic statistic) { + StatisticWrapper statisticwrapper = (StatisticWrapper) this.a.get(statistic); + + return statisticwrapper != null ? statisticwrapper.b() : null; + } + + public IJsonStatistic a(Statistic statistic, IJsonStatistic ijsonstatistic) { + StatisticWrapper statisticwrapper = (StatisticWrapper) this.a.get(statistic); + + if (statisticwrapper == null) { + statisticwrapper = new StatisticWrapper(); + this.a.put(statistic, statisticwrapper); + } + + statisticwrapper.a(ijsonstatistic); + return ijsonstatistic; + } +}