summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/util/PAPIExpansion.java
blob: c5d70bcd6b02ba2597472b261bf5994ec82c0594 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package net.tylermurphy.hideAndSeek.util;

import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import net.tylermurphy.hideAndSeek.database.Database;
import net.tylermurphy.hideAndSeek.database.PlayerInfo;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;

import java.lang.reflect.Method;
import java.util.Locale;
import java.util.UUID;

public class PAPIExpansion extends PlaceholderExpansion  {

    @Override
    public @NotNull String getIdentifier() {
        return "kenshinshideandseek";
    }

    @Override
    public @NotNull String getAuthor() {
        return "KenshinEto";
    }

    @Override
    public @NotNull String getVersion() {
        return "1.4.3";
    }

    @Override
    public boolean persist() {
        return true;
    }

    @Override
    public String onRequest(OfflinePlayer player, @NotNull String params) {
        switch (params.toLowerCase(Locale.ROOT)) {
            case "hs_stats_total-wins":
                return hs_stats_total_wins(player.getUniqueId());
            case "hs_stats_hider-wins":
                return hs_stats_hider_wins(player.getUniqueId());
            case "hs_stats_seeker-wins":
                return hs_stats_seeker_wins(player.getUniqueId());
            case "hs_stats_total-games":
                return hs_stats_total_games(player.getUniqueId());
            case "hs_stats_hider-games":
                return hs_stats_hider_games(player.getUniqueId());
            case "hs_stats_seeker-games":
                return hs_stats_seeker_games(player.getUniqueId());
            case "hs_stats_total-kills":
                return hs_stats_total_kills(player.getUniqueId());
            case "hs_stats_hider-kills":
                return hs_stats_hider_kills(player.getUniqueId());
            case "hs_stats_seeker-kills":
                return hs_stats_seeker_kills(player.getUniqueId());
            case "hs_stats_total-deaths":
                return hs_stats_total_deaths(player.getUniqueId());
            case "hs_stats_hider-deaths":
                return hs_stats_hider_deaths(player.getUniqueId());
            case "hs_stats_seeker-deaths":
                return hs_stats_seeker_deaths(player.getUniqueId());
            default:
                return null;
        }
    }

    private String hs_stats_total_wins(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_wins + info.seeker_wins);
    }

    private String hs_stats_hider_wins(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_wins);
    }

    private String hs_stats_seeker_wins(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.seeker_wins);
    }

    private String hs_stats_total_games(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_games + info.seeker_games);
    }

    private String hs_stats_hider_games(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_games);
    }

    private String hs_stats_seeker_games(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.seeker_games);
    }

    private String hs_stats_total_kills(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_kills + info.seeker_kills);
    }

    private String hs_stats_hider_kills(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_kills);
    }

    private String hs_stats_seeker_kills(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.seeker_kills);
    }

    private String hs_stats_total_deaths(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_deaths + info.seeker_deaths);
    }

    private String hs_stats_hider_deaths(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.hider_deaths);
    }

    private String hs_stats_seeker_deaths(UUID uuid){
        PlayerInfo info = Database.playerInfo.getInfo(uuid);
        return String.valueOf(info.seeker_deaths);
    }

}