Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mcme.mcmeproject.data;
- import com.mcmiddleearth.pluginutil.region.CuboidRegion;
- import com.mcmiddleearth.pluginutil.region.PrismoidRegion;
- import com.mcmiddleearth.pluginutil.region.Region;
- import com.mcmiddleearth.pluginutil.region.SphericalRegion;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import static java.lang.Integer.parseInt;
- import java.util.Calendar;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.List;
- import java.util.ListIterator;
- import java.util.Map;
- import java.util.UUID;
- import lombok.Getter;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.configuration.ConfigurationSection;
- import org.bukkit.configuration.InvalidConfigurationException;
- import org.bukkit.configuration.file.YamlConfiguration;
- /**
- *
- * @author Fraspace5
- */
- public class ProjectData {
- @Getter
- public String name;
- public String description;
- public Double minutes;
- public UUID head;
- public Long updated;
- public Long time;
- public Double percentage;
- public String link;
- protected HashMap<String, Region> regions;
- public HashMap<String, Location> warps;
- public List<String> people;
- public List<String> managers;
- public ProjectData( String namem) {
- name = namem;
- /*
- name = ((String) config.get("name"));
- description = (String) config.get("description");
- minutes = ((Double) config.getDouble("minutes"));
- head = ((UUID) config.get("head"));
- time = ((Long) config.getLong("time"));
- percentage = ((Double) config.getDouble("percentage"));
- link = ((String) config.get("link"));
- people = ((List<String>) config.getList("people"));
- managers = ((List<String>) config.getList("managers"));
- updated = ((Long) config.getLong("updated"));
- */
- }
- public void save(File file) throws IOException {
- YamlConfiguration config = new YamlConfiguration();
- config.set("minutes", minutes);
- config.set("name", name);
- config.set("managers", managers);
- config.set("head", head);
- config.set("time", time);
- config.set("percentage", percentage);
- config.set("link", link);
- config.set("people", people);
- config.set("updated", updated);
- ConfigurationSection regionSection = config.createSection("regions");
- ConfigurationSection warpSection = config.createSection("warps");
- for (Map.Entry region : regions.entrySet()) {
- ConfigurationSection section = regionSection.createSection(region.getKey().toString());
- Region r = (Region) region;
- r.save(section);
- }
- for (Map.Entry warp : warps.entrySet()) {
- ConfigurationSection section = warpSection.createSection(warp.getKey().toString());
- Location loc = (Location) warp.getValue();
- section.set("x", loc.getX());
- section.set("y", loc.getY());
- section.set("z", loc.getZ());
- section.set("world", loc.getWorld());
- }
- config.save(file);
- }
- public Location getLocation(String i) {
- return regions.get(i).getLocation();
- }
- public boolean isInside(Location loc, String i) {
- return regions.get(i).isInside(loc);
- }
- public ProjectData(File file) throws IOException, FileNotFoundException, InvalidConfigurationException {
- YamlConfiguration config = new YamlConfiguration();
- config.load(file);
- warps.clear();
- regions.clear();
- name = (String) config.get("name", 0);
- description = (String) config.get("description", "No description");
- minutes = (Double) config.get("minutes", 0);
- head = (UUID) config.get("head", 0);
- time = (Long) config.get("time", 0);
- percentage = (Double) config.get("percentage", 0);
- link = (String) config.get("link", 0);
- updated = (Long) config.get("updated", 0);
- managers = (List<String>) config.getStringList("managers");
- people = (List<String>) config.getStringList("people");
- ConfigurationSection regionSection = config.getConfigurationSection("regions");
- ConfigurationSection warpSection = config.getConfigurationSection("warp");
- for (String key : regionSection.getKeys(false)) {
- ConfigurationSection section = regionSection.getConfigurationSection(key);
- if(SphericalRegion.isValidConfig(config)) {
- regions.put(key,
- CuboidRegion.load(section));
- }
- else if(PrismoidRegion.isValidConfig(config)) {
- regions.put(key,
- PrismoidRegion.load(section));
- }
- else if(CuboidRegion.isValidConfig(config) || config.contains("xSize")) { // xSize is to notice old data format
- regions.put(key,
- CuboidRegion.load(section));
- }
- }
- for (String name : warpSection.getKeys(false)) {
- ConfigurationSection section = warpSection.getConfigurationSection(name);
- Location loc = new Location(Bukkit.getWorld(section.getString("world")), section.getDouble("x"),section.getDouble("y"),section.getDouble("z"));
- warps.put(name, loc);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement