public JsonMappackTeam(JsonObject json) throws MappackConfigurationException { if (!json.has("id")) throw new MappackConfigurationException("Invalid team. Team doesn't have an id"); if (!json.has("name")) throw new MappackConfigurationException("Invalid team. Team doesn't have a name"); if (!json.has("color")) throw new MappackConfigurationException("Invalid team. Team doesn't have a color"); id = json.get("id").getAsString(); name = json.get("name").getAsString(); color = ChatColor.getByName(json.get("color").getAsString()); friendlyFire = !json.has("friendlyFire") || json.get("friendlyFire").getAsBoolean(); friendlyInvisiblesInvisible = !json.has("friendlyInvisiblesInvisible") || json.get("friendlyInvisiblesInvisible").getAsBoolean(); nameTagVisibility = json.has("nameTagsVisible") ? Visibility.getByName(json.get("nameTagsVisible").getAsString()) : Visibility.ALWAYS; deathMessageVisibility = json.has("deathMessagesVisible") ? Visibility.getByName(json.get("deathMessagesVisible").getAsString()) : Visibility.ALWAYS; if (color == null) throw new MappackConfigurationException( "Invalid team color '" + json.get("color").getAsString() + "'"); }