001package fr.aumgn.dac2.commands.arg; 002 003import fr.aumgn.bukkitutils.command.arg.impl.AbstractCommandArg; 004import fr.aumgn.dac2.DAC; 005import fr.aumgn.dac2.config.Color; 006import fr.aumgn.dac2.exceptions.DACException; 007 008public class ColorArg extends AbstractCommandArg<Color> { 009 010 public static class NotAColor extends DACException { 011 012 private static final long serialVersionUID = 9107450200980690121L; 013 014 public NotAColor(DAC dac, String token) { 015 super(dac.getCmdMessages().get("color.arg.notacolor", token)); 016 } 017 } 018 019 private final DAC dac; 020 021 public ColorArg(DAC dac, String string) { 022 super(string); 023 this.dac = dac; 024 } 025 026 @Override 027 public Color value() { 028 Color color = dac.getColors().get(string); 029 if (color == null) { 030 throw new NotAColor(dac, string); 031 } 032 033 return color; 034 } 035}