Fixed F NPE a whiile ago & fixed now
getOrDefault, then get
This commit is contained in:
parent
4b55c76fd5
commit
2b48aba75e
4 changed files with 17 additions and 19 deletions
|
@ -15,34 +15,31 @@ import buttondevteam.lib.player.TBMCPlayerBase;
|
|||
@PlayerClass(pluginname = "ButtonChat")
|
||||
public class ChatPlayer extends TBMCPlayerBase {
|
||||
public PlayerData<String> UserName() {
|
||||
return data();
|
||||
return data(null);
|
||||
}
|
||||
|
||||
public List<String> UserNames() {
|
||||
PlayerData<List<String>> data = data();
|
||||
if (data.get() == null)
|
||||
data.set(new ArrayList<String>());
|
||||
return data.get();
|
||||
return data(new ArrayList<String>()).get();
|
||||
}
|
||||
|
||||
public PlayerData<Integer> FlairTime() {
|
||||
return data();
|
||||
return data(FlairTimeNone);
|
||||
}
|
||||
|
||||
public EnumPlayerData<FlairStates> FlairState() {
|
||||
return dataEnum(FlairStates.class);
|
||||
return dataEnum(FlairStates.class, FlairStates.NoComment);
|
||||
}
|
||||
|
||||
public PlayerData<Integer> FCount() {
|
||||
return data();
|
||||
return data(0);
|
||||
}
|
||||
|
||||
public PlayerData<Integer> FDeaths() {
|
||||
return data();
|
||||
return data(0);
|
||||
}
|
||||
|
||||
public PlayerData<Boolean> FlairCheater() {
|
||||
return data();
|
||||
return data(false);
|
||||
}
|
||||
|
||||
public boolean RPMode = true;
|
||||
|
@ -68,7 +65,7 @@ public class ChatPlayer extends TBMCPlayerBase {
|
|||
* @return The flair
|
||||
*/
|
||||
public String GetFormattedFlair(boolean noformats) {
|
||||
int time = FlairTime().getOrDefault(FlairTimeNone);
|
||||
int time = FlairTime().get();
|
||||
if (time == FlairTimeCantPress)
|
||||
return String.format(noformats ? "(can't press)" : "§r(--s)§r");
|
||||
if (time == FlairTimeNonPresser)
|
||||
|
@ -108,9 +105,9 @@ public class ChatPlayer extends TBMCPlayerBase {
|
|||
}
|
||||
|
||||
public short GetFlairColor() {
|
||||
if (FlairCheater().getOrDefault(false))
|
||||
if (FlairCheater().get())
|
||||
return 0x5;
|
||||
final int flairTime = FlairTime().getOrDefault(FlairTimeNone);
|
||||
final int flairTime = FlairTime().get();
|
||||
if (flairTime == FlairTimeNonPresser)
|
||||
return 0x7;
|
||||
else if (flairTime == FlairTimeCantPress)
|
||||
|
|
|
@ -186,8 +186,9 @@ public class ChatProcessing {
|
|||
: "-"))))
|
||||
.addExtra(new TellrawPart(String.format(
|
||||
"Respect: %s%s%s",
|
||||
(mp != null ? (mp.FCount().getOrDefault(0)
|
||||
/ (double) mp.FDeaths().getOrDefault(0))
|
||||
(mp != null
|
||||
? (mp.FCount().get()
|
||||
/ (double) mp.FDeaths().get())
|
||||
: "Infinite"),
|
||||
(mp != null && mp.UserName().get() != null
|
||||
&& !mp.UserName().get().isEmpty()
|
||||
|
|
|
@ -144,7 +144,7 @@ public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15.
|
|||
*/
|
||||
if (!mp.UserNames().contains(author))
|
||||
mp.UserNames().add(author);
|
||||
if (mp.FlairState().getOrDefault(FlairStates.NoComment).equals(FlairStates.NoComment)) {
|
||||
if (mp.FlairState().get().equals(FlairStates.NoComment)) {
|
||||
mp.FlairState().set(FlairStates.Commented);
|
||||
ConfirmUserMessage(mp);
|
||||
}
|
||||
|
|
|
@ -156,8 +156,8 @@ public class PlayerListener implements Listener {
|
|||
public void run() {
|
||||
if (ActiveF) {
|
||||
ActiveF = false;
|
||||
if (FPlayer != null && FPlayer.FCount().getOrDefault(0) < Integer.MAX_VALUE - 1)
|
||||
FPlayer.FCount().set(FPlayer.FCount().getOrDefault(0) + Fs.size());
|
||||
if (FPlayer != null && FPlayer.FCount().get() < Integer.MAX_VALUE - 1)
|
||||
FPlayer.FCount().set(FPlayer.FCount().get() + Fs.size());
|
||||
Bukkit.broadcastMessage("§b" + Fs.size() + " " + (Fs.size() == 1 ? "person" : "people")
|
||||
+ " paid their respects.§r");
|
||||
Fs.clear();
|
||||
|
@ -263,7 +263,7 @@ public class PlayerListener implements Listener {
|
|||
final String flair = cp.GetFormattedFlair(e.getTarget() != InfoTarget.MCCommand);
|
||||
if (flair.length() > 0)
|
||||
e.addInfo("/r/TheButton flair: " + flair);
|
||||
e.addInfo("Respect: " + (double) cp.FCount().getOrDefault(0) / (double) cp.FDeaths().getOrDefault(0));
|
||||
e.addInfo("Respect: " + (double) cp.FCount().get() / (double) cp.FDeaths().get());
|
||||
} catch (Exception ex) {
|
||||
TBMCCoreAPI.SendException("Error while providing chat info for player " + e.getPlayer().getFileName(), ex);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue