예제 #1
0
 /**
  * Add extra homes to a player
  *
  * @param userID The player's ID
  * @param homes The number of homes
  */
 public void addHomesToPlayer(int userID, int homes) {
   if (boughtHomes.containsKey(userID)) { // Check if already homes
     homes += boughtHomes.get(userID); // Get homes
   }
   boughtHomes.put(userID, homes); // Put in Map
   config.set("boughthome." + userID, homes); // Set in config
   yaml.saveConfig();
 }
예제 #2
0
 /**
  * Change the default number of homes for a group.
  *
  * @param groupname The name of the group
  * @param defaultNr The default number of homes
  * @return is valid group & has changed.
  */
 public boolean changeDefaultNumberOfHomesForGroup(String groupname, int defaultNr) {
   PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupname); // Get group
   if (group == null) return false; // Check if group exists
   groupname = group.getName(); // Set groupname to correct one (capital sensitive).
   // Set stuff
   config.set("defaulthomes." + groupname, defaultNr);
   defaultNumberOfHomes.put(groupname, defaultNr);
   yaml.saveConfig();
   return true;
 }
예제 #3
0
 /**
  * Remove extra bought homes from a player
  *
  * @param userID The player's ID
  * @param homes The number of homes
  * @throws CommandException if no extra homes bought or trying to remove more homes than bought
  */
 public void removeHomesFromPlayer(int userID, int homes) throws CommandException {
   if (!boughtHomes.containsKey(userID)) { // Check if bought any homes
     throw new CommandException("This player hasn't bought any homes!");
   }
   int currentHomes = getNumberOfBoughtHomes(userID); // Get number of bought homes
   if (currentHomes < homes) { // If trying to remove more homes than bought
     throw new CommandException(
         "The player has only bought "
             + currentHomes
             + (currentHomes == 1 ? " home." : " homes."));
   }
   currentHomes -= homes;
   if (currentHomes == 0) {
     boughtHomes.remove(userID); // Remove from map
     config.set("boughthome." + userID, null); // Remove from config
   } else {
     boughtHomes.put(userID, currentHomes); // Set new amount
     config.set("boughthome." + userID, currentHomes); // Set in config
   }
   yaml.saveConfig();
 }
예제 #4
0
  public Homes() {
    // Create maps
    boughtHomes = new HashMap<>();
    defaultNumberOfHomes = new HashMap<>();
    essentialsUsers = new HashMap<>();

    // Get storage
    yaml = new YamlStorage(plugin, "homesettings");
    config = yaml.getConfig();

    // Set Default number of homes for each group.
    setDefaultNumberOfHomesForGroup(new String[] {"builder"}, 1); // Builders
    setDefaultNumberOfHomesForGroup(
        new String[] {"Member", "Slap", "Guide"}, 5); // Standard members
    setDefaultNumberOfHomesForGroup(new String[] {"VIP", "VIPGuide"}, 10); // VIPs
    setDefaultNumberOfHomesForGroup(new String[] {"Mod", "Admin"}, 20); // Staff
    setDefaultNumberOfHomesForGroup(new String[] {"SuperAdmin"}, 9001); // All perms

    // Save any changes
    yaml.saveConfig();

    // Get the bought homes from the config
    getBoughtHomes();
  }
예제 #5
0
 /**
  * Turn the whitelist on or off
  *
  * @param on [True = on] [False = off]
  */
 public void turnWhitelist(boolean on) {
   whitelistOn = on;
   config.set("whiteliston", on);
   Log.info("Turned whitelist: " + (on ? "on" : "off"));
   yaml.saveConfig();
 }
예제 #6
0
 /**
  * Set the whitelist message
  *
  * @param message message
  */
 public void setWhitelistMessage(String message) {
   config.set("whitelistmessage", message);
   yaml.saveConfig();
 }
예제 #7
0
 /** Save the players in the config */
 private void savePlayers() {
   config.set("allowedplayers", new ArrayList<String>(allowedPlayers));
   yaml.saveConfig();
 }