Beispiel #1
0
 /**
  * Get an AbstractFlag by a string Returns null if flag does not exist
  *
  * @param string Flag Key
  * @return AbstractFlag
  */
 public static AbstractFlag getFlag(final String string) {
   for (final AbstractFlag flag : flags) {
     if (flag.getKey().equalsIgnoreCase(string)) {
       return flag;
     }
   }
   return null;
 }
Beispiel #2
0
 /**
  * Get a list of registered AbstractFlag objects based on player permissions
  *
  * @param player with permissions
  * @return List (AbstractFlag)
  */
 public static List<AbstractFlag> getFlags(final PlotPlayer player) {
   final List<AbstractFlag> returnFlags = new ArrayList<>();
   for (final AbstractFlag flag : flags) {
     if (Permissions.hasPermission(player, "plots.set.flag." + flag.getKey().toLowerCase())) {
       returnFlags.add(flag);
     }
   }
   return returnFlags;
 }
Beispiel #3
0
 public static boolean addFlag(final AbstractFlag af, final boolean reserved) {
   PS.debug(C.PREFIX + "&8 - Adding flag: &7" + af);
   PS.get()
       .foreachPlotArea(
           new RunnableVal<PlotArea>() {
             @Override
             public void run(PlotArea value) {
               final Flag flag = value.DEFAULT_FLAGS.get(af.getKey());
               if (flag != null) {
                 flag.setKey(af);
               }
             }
           });
   PS.get()
       .foreachPlotRaw(
           new RunnableVal<Plot>() {
             @Override
             public void run(Plot value) {
               final Flag flag = value.getFlags().get(af.getKey());
               if (flag != null) {
                 flag.setKey(af);
               }
             }
           });
   if (flags.remove(af)) {
     PS.debug("(Replaced existing flag)");
   }
   flags.add(af);
   if (reserved) {
     reserveFlag(af.getKey());
   }
   return false;
 }