/*
* Copyright 2015 Demigods RPG
* Copyright 2015 Alexander Chauncey
* Copyright 2015 Alex Bennett
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.demigodsrpg.family;
import com.demigodsrpg.util.datasection.AbstractPersistentModel;
import com.demigodsrpg.util.datasection.DataSection;
import org.bukkit.ChatColor;
import java.util.HashMap;
import java.util.Map;
public class Family extends AbstractPersistentModel<String> {
// -- ALWAYS EXISTING FACTIONS -- //
public static final Family NEUTRAL = new Family("Neutral", ChatColor.GRAY, "N", "Welcome to neutral ground.");
public static final Family EXCOMMUNICATED = new Family("Excommunicated", ChatColor.DARK_GRAY, "X",
"Something has gone horribly wrong, alert an admin.");
// -- FACTION META DATA -- //
private String name;
private String color;
private String chatSymbol;
private String welcomeMessage;
// -- CONSTRUCTORS -- //
public Family(String name, ChatColor color, String chatSymbol, String welcomeMessage) {
this(name, color.toString(), chatSymbol, welcomeMessage);
}
public Family(String name, String color, String chatSymbol, String welcomeMessage) {
this.name = name;
this.color = color;
this.chatSymbol = chatSymbol;
this.welcomeMessage = welcomeMessage;
}
public Family(String stringKey, DataSection conf) {
name = stringKey;
color = conf.getString("color");
chatSymbol = conf.getString("chat-symbol");
welcomeMessage = conf.getString("welcome-message");
}
// -- GETTERS -- //
public String getName() {
return name;
}
public String getColor() {
return color;
}
public String getChatSymbol() {
return chatSymbol;
}
public String getWelcomeMessage() {
return welcomeMessage;
}
@Override
public String getPersistentId() {
return name;
}
@Override
public Map<String, Object> serialize() {
Map<String, Object> map = new HashMap<>();
map.put("color", color);
map.put("chat-symbol", chatSymbol);
map.put("welcome-message", welcomeMessage);
return map;
}
}