WorldEdit cuboidSelection from configuration section

Discussion in 'Plugin Development' started by Maxx_Qc, May 21, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    Maxx_Qc

    Hello everyone, I have a problem.
    ConfigManager.java:
    Code:
    package com.commands.maxx;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.logging.Level;
    
    import org.bukkit.Bukkit;
    import org.bukkit.World;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.configuration.file.YamlConfiguration;
    
    import com.sk89q.worldedit.BlockVector;
    import com.sk89q.worldedit.bukkit.selections.CuboidSelection;
    import com.sun.istack.internal.logging.Logger;
    
    public class WorldEditConfigManager {
        File file = new File("plugins/MysteriousCommands/area.yml");
        FileConfiguration cfg = YamlConfiguration.loadConfiguration(this.file);
      
        public void setArea(CuboidSelection s, String s2) {
            BlockVector min = s.getNativeMinimumPoint().toBlockVector();
            BlockVector max = s.getNativeMaximumPoint().toBlockVector();
            cfg.set("area." + s2 + ".world", s.getWorld().getName());
            cfg.set("area." + s2 + ".minX", min.getBlockX());
            cfg.set("area." + s2 + ".minY", min.getBlockY());
            cfg.set("area." + s2 + ".minZ", min.getBlockZ());
            cfg.set("area." + s2 + ".maxX", max.getBlockX());
            cfg.set("area." + s2 + ".maxY", max.getBlockY());
            cfg.set("area." + s2 + ".maxZ", max.getBlockZ());
            try {
                cfg.save(file);
            } catch (IOException err) {
                Logger.getLogger(WorldEditConfigManager.class.getName(), null).log(Level.SEVERE, null, err);
            }
        }
      
        public CuboidSelection getAreas() {
            for (String s : cfg.getConfigurationSection("area").getKeys(false)) {
                World world = Bukkit.getWorld(cfg.getString("area." + s + ".world"));
               
    int minX = cfg.getInt("area." + s + ".minX");
                int minY = cfg.getInt("area." + s + ".minY");
                int minZ = cfg.getInt("area." + s + ".minZ");
                int maxX = cfg.getInt("area." + s + ".maxX");
                int maxY = cfg.getInt("area." + s + ".maxY");
                int maxZ = cfg.getInt("area." + s + ".maxZ");
                BlockVector v = new BlockVector(minX, minY, minZ);
                BlockVector v2 = new BlockVector(maxX, maxY, maxZ);
                return new CuboidSelection(world, v, v2);
            }
            return null;
        }
    }
    
    When I use getAreas in an other Java class, I want to get every areas from my config file.
    Config file (area.yml):
    Code:
    area:
      '1':
        world: world
        minX: 53
        minY: 68
        minZ: 178
        maxX: 70
        maxY: 70
        maxZ: 199
      spawn:
        world: world
        minX: 24
        minY: 74
        minZ: 190
        maxX: 43
        maxY: 85
        maxZ: 200
    How can I get every area?
    With for (String s : cfg.getConfigurationSection("area").getKeys(false)) { } I can get every section from area like '1' & spawn but I can't figure out how can I get every areas. Thank you.
     
Thread Status:
Not open for further replies.

Share This Page