blob: 311fcee918d6f3ba7744eff0d3f0f4fe2a0a6d5e (
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 static net.tylermurphy.hideAndSeek.configuration.Config.*;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import net.tylermurphy.hideAndSeek.database.Database;
import net.tylermurphy.hideAndSeek.database.PlayerInfo;
import org.bukkit.OfflinePlayer;
import org.jetbrains.annotations.NotNull;
import java.util.UUID;
public class PAPIExpansion extends PlaceholderExpansion {
@Override
public @NotNull String getIdentifier() {
return "hs";
}
@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) {
String[] args = params.split("_");
System.out.println();
if(args.length < 1) return null;
if(args[0].equals("stats") && args.length == 2){
PlayerInfo info = Database.playerInfo.getInfo(player.getUniqueId());
return getValue(info, args[1]);
} else if(args[0].equals("stats") && args.length == 3){
UUID uuid;
try { uuid = UUIDFetcher.getUUID(args[2]); } catch (Exception e) { return placeholderError; }
PlayerInfo info = Database.playerInfo.getInfo(uuid);
return getValue(info, args[1]);
} else if((args[0].equals("rank-score") || args[0].equals("rank-name") ) && args.length == 3){
int place;
try { place = Integer.parseInt(args[2]); } catch (NumberFormatException e) { return placeholderError; }
if(place < 1) { return placeholderError; }
if(getRanking(args[1]) == null) { return placeholderError; }
PlayerInfo info = Database.playerInfo.getInfoRanking(getRanking(args[1]), place);
if(info == null) return placeholderNoData;
if(args[0].equals("rank-score")){
return getValue(info, args[1]);
} else {
return UUIDFetcher.getPlayer(info.uuid).getName();
}
}
return null;
}
private String getValue(PlayerInfo info, String query){
if(query == null) return null;
switch (query) {
case "total-wins":
return String.valueOf(info.hider_wins + info.seeker_wins);
case "hider-wins":
return String.valueOf(info.hider_wins);
case "seeker-wins":
return String.valueOf(info.seeker_wins);
case "total-games":
return String.valueOf(info.hider_games + info.seeker_games);
case "hider-games":
return String.valueOf(info.hider_games);
case "seeker-games":
return String.valueOf(info.seeker_games);
case "total-kills":
return String.valueOf(info.hider_kills + info.seeker_kills);
case "hider-kills":
return String.valueOf(info.hider_kills);
case "seeker-kills":
return String.valueOf(info.seeker_kills);
case "total-deaths":
return String.valueOf(info.hider_deaths + info.seeker_deaths);
case "hider-deaths":
return String.valueOf(info.hider_deaths);
case "seeker-deaths":
return String.valueOf(info.seeker_deaths);
default:
return null;
}
}
private String getRanking(String query){
if(query == null) return null;
switch (query) {
case "total-wins":
return "(hider_wins + seeker_wins)";
case "hider-wins":
return "hider_wins";
case "seeker-wins":
return "seeker_wins";
case "total-games":
return "(hider_games + seeker_games)";
case "hider-games":
return "hider_games";
case "seeker-games":
return "seeker_games";
case "total-kills":
return "(hider_kills + seeker_kills)";
case "hider-kills":
return "hider_kills";
case "seeker-kills":
return "seeker_kills";
case "total-deaths":
return "(hider_deaths + seeker_deaths)";
case "hider-deaths":
return "hider_deaths";
case "seeker-deaths":
return "seeker_deaths";
default:
return null;
}
}
}
|