Fixed F NPE a whiile ago & fixed now

getOrDefault, then get
This commit is contained in:
Norbi Peti 2017-06-30 18:08:24 +02:00
parent 4b55c76fd5
commit 2b48aba75e
4 changed files with 17 additions and 19 deletions

View file

@ -15,34 +15,31 @@ import buttondevteam.lib.player.TBMCPlayerBase;
@PlayerClass(pluginname = "ButtonChat") @PlayerClass(pluginname = "ButtonChat")
public class ChatPlayer extends TBMCPlayerBase { public class ChatPlayer extends TBMCPlayerBase {
public PlayerData<String> UserName() { public PlayerData<String> UserName() {
return data(); return data(null);
} }
public List<String> UserNames() { public List<String> UserNames() {
PlayerData<List<String>> data = data(); return data(new ArrayList<String>()).get();
if (data.get() == null)
data.set(new ArrayList<String>());
return data.get();
} }
public PlayerData<Integer> FlairTime() { public PlayerData<Integer> FlairTime() {
return data(); return data(FlairTimeNone);
} }
public EnumPlayerData<FlairStates> FlairState() { public EnumPlayerData<FlairStates> FlairState() {
return dataEnum(FlairStates.class); return dataEnum(FlairStates.class, FlairStates.NoComment);
} }
public PlayerData<Integer> FCount() { public PlayerData<Integer> FCount() {
return data(); return data(0);
} }
public PlayerData<Integer> FDeaths() { public PlayerData<Integer> FDeaths() {
return data(); return data(0);
} }
public PlayerData<Boolean> FlairCheater() { public PlayerData<Boolean> FlairCheater() {
return data(); return data(false);
} }
public boolean RPMode = true; public boolean RPMode = true;
@ -68,7 +65,7 @@ public class ChatPlayer extends TBMCPlayerBase {
* @return The flair * @return The flair
*/ */
public String GetFormattedFlair(boolean noformats) { public String GetFormattedFlair(boolean noformats) {
int time = FlairTime().getOrDefault(FlairTimeNone); int time = FlairTime().get();
if (time == FlairTimeCantPress) if (time == FlairTimeCantPress)
return String.format(noformats ? "(can't press)" : "§r(--s)§r"); return String.format(noformats ? "(can't press)" : "§r(--s)§r");
if (time == FlairTimeNonPresser) if (time == FlairTimeNonPresser)
@ -108,9 +105,9 @@ public class ChatPlayer extends TBMCPlayerBase {
} }
public short GetFlairColor() { public short GetFlairColor() {
if (FlairCheater().getOrDefault(false)) if (FlairCheater().get())
return 0x5; return 0x5;
final int flairTime = FlairTime().getOrDefault(FlairTimeNone); final int flairTime = FlairTime().get();
if (flairTime == FlairTimeNonPresser) if (flairTime == FlairTimeNonPresser)
return 0x7; return 0x7;
else if (flairTime == FlairTimeCantPress) else if (flairTime == FlairTimeCantPress)

View file

@ -186,8 +186,9 @@ public class ChatProcessing {
: "-")))) : "-"))))
.addExtra(new TellrawPart(String.format( .addExtra(new TellrawPart(String.format(
"Respect: %s%s%s", "Respect: %s%s%s",
(mp != null ? (mp.FCount().getOrDefault(0) (mp != null
/ (double) mp.FDeaths().getOrDefault(0)) ? (mp.FCount().get()
/ (double) mp.FDeaths().get())
: "Infinite"), : "Infinite"),
(mp != null && mp.UserName().get() != null (mp != null && mp.UserName().get() != null
&& !mp.UserName().get().isEmpty() && !mp.UserName().get().isEmpty()

View file

@ -144,7 +144,7 @@ public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15.
*/ */
if (!mp.UserNames().contains(author)) if (!mp.UserNames().contains(author))
mp.UserNames().add(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); mp.FlairState().set(FlairStates.Commented);
ConfirmUserMessage(mp); ConfirmUserMessage(mp);
} }

View file

@ -156,8 +156,8 @@ public class PlayerListener implements Listener {
public void run() { public void run() {
if (ActiveF) { if (ActiveF) {
ActiveF = false; ActiveF = false;
if (FPlayer != null && FPlayer.FCount().getOrDefault(0) < Integer.MAX_VALUE - 1) if (FPlayer != null && FPlayer.FCount().get() < Integer.MAX_VALUE - 1)
FPlayer.FCount().set(FPlayer.FCount().getOrDefault(0) + Fs.size()); FPlayer.FCount().set(FPlayer.FCount().get() + Fs.size());
Bukkit.broadcastMessage("§b" + Fs.size() + " " + (Fs.size() == 1 ? "person" : "people") Bukkit.broadcastMessage("§b" + Fs.size() + " " + (Fs.size() == 1 ? "person" : "people")
+ " paid their respects.§r"); + " paid their respects.§r");
Fs.clear(); Fs.clear();
@ -263,7 +263,7 @@ public class PlayerListener implements Listener {
final String flair = cp.GetFormattedFlair(e.getTarget() != InfoTarget.MCCommand); final String flair = cp.GetFormattedFlair(e.getTarget() != InfoTarget.MCCommand);
if (flair.length() > 0) if (flair.length() > 0)
e.addInfo("/r/TheButton flair: " + flair); 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) { } catch (Exception ex) {
TBMCCoreAPI.SendException("Error while providing chat info for player " + e.getPlayer().getFileName(), ex); TBMCCoreAPI.SendException("Error while providing chat info for player " + e.getPlayer().getFileName(), ex);
} }