refactor: return values if profile is null

This commit is contained in:
aro 2023-01-23 10:05:02 +01:00
parent 3dfb6517a1
commit ffb50e8391

View file

@ -39,20 +39,30 @@ public class NickoExpansion extends PlaceholderExpansion {
@Override @Override
public @Nullable String onPlaceholderRequest(Player player, @NotNull String params) { public @Nullable String onPlaceholderRequest(Player player, @NotNull String params) {
if(player == null) return null; if (player == null) return null;
Optional<NickoProfile> optionalProfile = instance.getDataStore().getData(player.getUniqueId());
String name, skin, locale;
boolean bungeecord;
final Optional<NickoProfile> optionalProfile = instance.getDataStore().getData(player.getUniqueId());
if (optionalProfile.isPresent()) { if (optionalProfile.isPresent()) {
final NickoProfile profile = optionalProfile.get(); final NickoProfile profile = optionalProfile.get();
return switch (params) { name = profile.getName();
case "name" -> profile.getName(); skin = profile.getSkin();
case "skin" -> profile.getSkin(); locale = profile.getLocale().getName();
case "locale" -> profile.getLocale().getName(); bungeecord = profile.isBungeecordTransfer();
case "bungeecord" -> String.valueOf(profile.isBungeecordTransfer());
default -> null;
};
} else { } else {
instance.getLogger().severe("Couldn't satisfy request for placeholder " + params + ". This is a bug!"); name = skin = player.getName();
return null; locale = "N/A";
bungeecord = true;
} }
return switch (params) {
case "name" -> name;
case "skin" -> skin;
case "locale" -> locale;
case "bungeecord" -> String.valueOf(bungeecord);
default -> null;
};
} }
} }