All Downloads are FREE. Search and download functionalities are using the official Maven repository.

simple.server.extension.d20.race.AbstractRace Maven / Gradle / Ivy

The newest version!
package simple.server.extension.d20.race;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
import marauroa.common.game.RPObject;
import org.openide.util.Lookup;
import simple.server.extension.d20.rpclass.D20Class;

/**
 *
 * @author Javier A. Ortiz Bultron [email protected]
 */
public abstract class AbstractRace extends RPObject implements D20Race {

    protected List> prefferredCasses = 
            new ArrayList<>();
    //Ability, Bonus
    private static final Logger LOG
            = Logger.getLogger(AbstractRace.class.getSimpleName());

    public AbstractRace() {
    }

    @Override
    public List> getFavoredClasses() {
        //Return all as default.
        if (prefferredCasses.isEmpty()) {
            Lookup.getDefault().lookupAll(D20Class.class).stream()
                    .forEach((clazz) -> {
                prefferredCasses.add(clazz.getClass());
            });
        }
        return prefferredCasses;
    }

    @Override
    public String getCharacteristicName() {
        return getClass().getSimpleName().replaceAll("_", " ");
    }

    @Override
    public String getShortName() {
        return getClass().getSimpleName().replaceAll("_", " ");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy