Arena system and some changes (not finished)
This commit is contained in:
parent
002b05820e
commit
1cca6eb41c
@ -15,6 +15,7 @@ import rip.tilly.bedwars.mongo.MongoManager;
|
||||
import rip.tilly.bedwars.player.PlayerDataHandler;
|
||||
import rip.tilly.bedwars.player.PlayerDataManager;
|
||||
import rip.tilly.bedwars.utils.CC;
|
||||
import rip.tilly.bedwars.utils.config.file.Config;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@ -27,6 +28,8 @@ public final class BedWars extends JavaPlugin {
|
||||
|
||||
@Getter private static BedWars instance;
|
||||
|
||||
private Config mainConfig, arenasConfig;
|
||||
|
||||
private MongoManager mongoManager;
|
||||
private PlayerDataManager playerDataManager;
|
||||
|
||||
@ -34,7 +37,8 @@ public final class BedWars extends JavaPlugin {
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
|
||||
this.saveDefaultConfig();
|
||||
this.mainConfig = new Config("config", this);
|
||||
this.arenasConfig = new Config("arenas", this);
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage("------------------------------------------------");
|
||||
Bukkit.getConsoleSender().sendMessage(CC.translate("&dBedWars &8- &av" + getDescription().getVersion()));
|
||||
|
24
src/main/java/rip/tilly/bedwars/game/Game.java
Normal file
24
src/main/java/rip/tilly/bedwars/game/Game.java
Normal file
@ -0,0 +1,24 @@
|
||||
package rip.tilly.bedwars.game;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by Lucanius
|
||||
* Project: BedWars
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class Game {
|
||||
|
||||
private final UUID gameId = UUID.randomUUID();
|
||||
private final List<GameTeam> teams;
|
||||
|
||||
public Game(GameTeam... teams) {
|
||||
this.teams = Arrays.asList(teams);
|
||||
}
|
||||
}
|
50
src/main/java/rip/tilly/bedwars/game/GameTeam.java
Normal file
50
src/main/java/rip/tilly/bedwars/game/GameTeam.java
Normal file
@ -0,0 +1,50 @@
|
||||
package rip.tilly.bedwars.game;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.bukkit.entity.Player;
|
||||
import rip.tilly.bedwars.BedWars;
|
||||
import rip.tilly.bedwars.player.PlayerTeam;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* Created by Lucanius
|
||||
* Project: BedWars
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class GameTeam {
|
||||
|
||||
protected final BedWars plugin = BedWars.getInstance();
|
||||
|
||||
private final List<UUID> allPlayers;
|
||||
private final List<UUID> playingPlayers = new ArrayList<>();
|
||||
private UUID leader;
|
||||
|
||||
private final PlayerTeam playerTeam;
|
||||
|
||||
public GameTeam(UUID leader, List<UUID> allPlayers, PlayerTeam playerTeam) {
|
||||
this.leader = leader;
|
||||
this.allPlayers = allPlayers;
|
||||
this.playingPlayers.addAll(allPlayers);
|
||||
|
||||
this.playerTeam = playerTeam;
|
||||
}
|
||||
|
||||
public void removePlayer(UUID uuid) {
|
||||
this.playingPlayers.remove(uuid);
|
||||
}
|
||||
|
||||
public Stream<Player> allPlayers() {
|
||||
return this.allPlayers.stream().map(this.plugin.getServer()::getPlayer).filter(Objects::nonNull);
|
||||
}
|
||||
|
||||
public Stream<Player> playingPlayers() {
|
||||
return this.playingPlayers.stream().map(this.plugin.getServer()::getPlayer).filter(Objects::nonNull);
|
||||
}
|
||||
}
|
60
src/main/java/rip/tilly/bedwars/game/arena/Arena.java
Normal file
60
src/main/java/rip/tilly/bedwars/game/arena/Arena.java
Normal file
@ -0,0 +1,60 @@
|
||||
package rip.tilly.bedwars.game.arena;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import rip.tilly.bedwars.utils.CustomLocation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@RequiredArgsConstructor
|
||||
/**
|
||||
* Created by Lucanius
|
||||
* Project: BedWars
|
||||
*/
|
||||
public class Arena {
|
||||
|
||||
private final String name;
|
||||
|
||||
private List<CopiedArena> copiedArenas;
|
||||
private List<CopiedArena> availableArenas;
|
||||
|
||||
private String icon;
|
||||
private int iconData;
|
||||
|
||||
private CustomLocation a;
|
||||
private CustomLocation b;
|
||||
|
||||
private CustomLocation min;
|
||||
private CustomLocation max;
|
||||
|
||||
private CustomLocation teamAmin;
|
||||
private CustomLocation teamAmax;
|
||||
|
||||
private CustomLocation teamBmin;
|
||||
private CustomLocation teamBmax;
|
||||
|
||||
private int deadZone;
|
||||
private int buildMax;
|
||||
|
||||
private boolean enabled;
|
||||
|
||||
public CopiedArena getAvailableArena() {
|
||||
CopiedArena copiedArena = this.availableArenas.get(0);
|
||||
this.availableArenas.remove(0);
|
||||
|
||||
return copiedArena;
|
||||
}
|
||||
|
||||
public void addCopiedArena(CopiedArena copiedArena) {
|
||||
this.copiedArenas.add(copiedArena);
|
||||
}
|
||||
|
||||
public void addAvailableArena(CopiedArena copiedArena) {
|
||||
this.availableArenas.add(copiedArena);
|
||||
}
|
||||
}
|
30
src/main/java/rip/tilly/bedwars/game/arena/CopiedArena.java
Normal file
30
src/main/java/rip/tilly/bedwars/game/arena/CopiedArena.java
Normal file
@ -0,0 +1,30 @@
|
||||
package rip.tilly.bedwars.game.arena;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import rip.tilly.bedwars.utils.CustomLocation;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@RequiredArgsConstructor
|
||||
/**
|
||||
* Created by Lucanius
|
||||
* Project: BedWars
|
||||
*/
|
||||
public class CopiedArena {
|
||||
|
||||
private CustomLocation a;
|
||||
private CustomLocation b;
|
||||
|
||||
private CustomLocation min;
|
||||
private CustomLocation max;
|
||||
|
||||
private CustomLocation teamAmin;
|
||||
private CustomLocation teamAmax;
|
||||
|
||||
private CustomLocation teamBmin;
|
||||
private CustomLocation teamBmax;
|
||||
}
|
55
src/main/java/rip/tilly/bedwars/managers/ArenaManager.java
Normal file
55
src/main/java/rip/tilly/bedwars/managers/ArenaManager.java
Normal file
@ -0,0 +1,55 @@
|
||||
package rip.tilly.bedwars.managers;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import rip.tilly.bedwars.BedWars;
|
||||
import rip.tilly.bedwars.game.arena.Arena;
|
||||
import rip.tilly.bedwars.game.arena.CopiedArena;
|
||||
import rip.tilly.bedwars.utils.config.file.Config;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ArenaManager {
|
||||
|
||||
private final BedWars plugin = BedWars.getInstance();
|
||||
private final Config config = this.plugin.getArenasConfig();
|
||||
|
||||
@Getter private final Map<String, Arena> arenas = new HashMap<>();
|
||||
@Getter private final Map<CopiedArena, UUID> arenaMatchUUIDs = new HashMap<>();
|
||||
|
||||
@Getter @Setter private int generatingArenaRunnable;
|
||||
|
||||
public ArenaManager() {
|
||||
|
||||
}
|
||||
|
||||
private void loadArenas() {
|
||||
FileConfiguration fileConfig = config.getConfig();
|
||||
ConfigurationSection section = fileConfig.getConfigurationSection("arenas");
|
||||
if (section == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
section.getKeys(false).forEach(name -> {
|
||||
String icon = section.getString(name + ".icon") == null ? Material.PAPER.name() : section.getString(name + ".icon");
|
||||
int iconData = section.getInt(name + ".icon-data");
|
||||
|
||||
String a = section.getString(name + ".a");
|
||||
String b = section.getString(name + ".b");
|
||||
String min = section.getString(name + ".min");
|
||||
String max = section.getString(name + ".max");
|
||||
String teamAmin = section.getString(name + ".teamAmin");
|
||||
String teamAmax = section.getString(name + ".teamAmax");
|
||||
String teamBmin = section.getString(name + ".teamBmin");
|
||||
String teamBmax = section.getString(name + ".teamBmax");
|
||||
|
||||
int deadZone = section.getInt(name + ".deadZone");
|
||||
int buildMax = section.getInt(name + ".buildMax");
|
||||
});
|
||||
}
|
||||
}
|
@ -9,8 +9,10 @@ import lombok.Getter;
|
||||
import org.bson.Document;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import rip.tilly.bedwars.BedWars;
|
||||
import rip.tilly.bedwars.utils.CC;
|
||||
import rip.tilly.bedwars.utils.config.file.Config;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@ -23,7 +25,10 @@ public class MongoManager {
|
||||
|
||||
private final MongoManager instance;
|
||||
private final BedWars plugin = BedWars.getInstance();
|
||||
private final ConfigurationSection config = this.plugin.getConfig().getConfigurationSection("MONGO");
|
||||
|
||||
private final Config configFile = this.plugin.getMainConfig();
|
||||
private final FileConfiguration fileConfig = configFile.getConfig();
|
||||
private final ConfigurationSection config = fileConfig.getConfigurationSection("MONGO");
|
||||
|
||||
private MongoClient mongoClient;
|
||||
private MongoDatabase mongoDatabase;
|
||||
|
125
src/main/java/rip/tilly/bedwars/utils/CustomLocation.java
Normal file
125
src/main/java/rip/tilly/bedwars/utils/CustomLocation.java
Normal file
@ -0,0 +1,125 @@
|
||||
package rip.tilly.bedwars.utils;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
||||
import java.util.StringJoiner;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
public class CustomLocation {
|
||||
|
||||
private final long timestamp = System.currentTimeMillis();
|
||||
|
||||
private String world;
|
||||
|
||||
private double x;
|
||||
private double y;
|
||||
private double z;
|
||||
|
||||
private float yaw;
|
||||
private float pitch;
|
||||
|
||||
public CustomLocation(double x, double y, double z) {
|
||||
this(x, y, z, 0.0F, 0.0F);
|
||||
}
|
||||
|
||||
public CustomLocation(String world, double x, double y, double z) {
|
||||
this(world, x, y, z, 0.0F, 0.0F);
|
||||
}
|
||||
|
||||
public CustomLocation(double x, double y, double z, float yaw, float pitch) {
|
||||
this("world", x, y, z, yaw, pitch);
|
||||
}
|
||||
|
||||
public static CustomLocation fromBukkitLocation(Location location) {
|
||||
return new CustomLocation(location.getWorld().getName(), location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
|
||||
}
|
||||
|
||||
public static CustomLocation stringToLocation(String string) {
|
||||
String[] split = string.split(", ");
|
||||
|
||||
double x = Double.parseDouble(split[0]);
|
||||
double y = Double.parseDouble(split[1]);
|
||||
double z = Double.parseDouble(split[2]);
|
||||
|
||||
CustomLocation customLocation = new CustomLocation(x, y, z);
|
||||
if (split.length == 4) {
|
||||
customLocation.setWorld(split[3]);
|
||||
} else if (split.length >= 5) {
|
||||
customLocation.setYaw(Float.parseFloat(split[3]));
|
||||
customLocation.setPitch(Float.parseFloat(split[4]));
|
||||
if (split.length >= 6) {
|
||||
customLocation.setWorld(split[5]);
|
||||
}
|
||||
}
|
||||
|
||||
return customLocation;
|
||||
}
|
||||
|
||||
public static String locationToString(CustomLocation loc) {
|
||||
StringJoiner joiner = new StringJoiner(", ");
|
||||
joiner.add(Double.toString(loc.getX()));
|
||||
joiner.add(Double.toString(loc.getY()));
|
||||
joiner.add(Double.toString(loc.getZ()));
|
||||
if (loc.getYaw() == 0.0f && loc.getPitch() == 0.0f) {
|
||||
if (loc.getWorld().equals("world")) {
|
||||
return joiner.toString();
|
||||
} else {
|
||||
joiner.add(loc.getWorld());
|
||||
return joiner.toString();
|
||||
}
|
||||
} else {
|
||||
joiner.add(Float.toString(loc.getYaw()));
|
||||
joiner.add(Float.toString(loc.getPitch()));
|
||||
if (loc.getWorld().equals("world")) {
|
||||
return joiner.toString();
|
||||
} else {
|
||||
joiner.add(loc.getWorld());
|
||||
return joiner.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Location toBukkitLocation() {
|
||||
return new Location(this.toBukkitWorld(), this.x, this.y, this.z, this.yaw, this.pitch);
|
||||
}
|
||||
|
||||
public World toBukkitWorld() {
|
||||
if (this.world == null) {
|
||||
return Bukkit.getServer().getWorlds().get(0);
|
||||
} else {
|
||||
return Bukkit.getServer().getWorld(this.world);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (!(obj instanceof CustomLocation)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
CustomLocation location = (CustomLocation) obj;
|
||||
|
||||
return location.x == this.x && location.y == this.y && location.z == this.z && location.pitch == this.pitch && location.yaw == this.yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this)
|
||||
.append("x", this.x)
|
||||
.append("y", this.y)
|
||||
.append("z", this.z)
|
||||
.append("yaw", this.yaw)
|
||||
.append("pitch", this.pitch)
|
||||
.append("world", this.world)
|
||||
.append("timestamp", this.timestamp)
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package rip.tilly.bedwars.utils.config;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ConfigCursor {
|
||||
|
||||
private final FileConfig fileConfig;
|
||||
|
||||
private String path;
|
||||
|
||||
public ConfigCursor(FileConfig fileConfig, String path) {
|
||||
this.fileConfig = fileConfig;
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
public FileConfig getFileConfig() {
|
||||
return this.fileConfig;
|
||||
}
|
||||
|
||||
public String getPath() {
|
||||
return this.path;
|
||||
}
|
||||
|
||||
public void setPath(String path) {
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
public boolean exists() {
|
||||
return exists(null);
|
||||
}
|
||||
|
||||
public boolean exists(String path) {
|
||||
return this.fileConfig.getConfig().contains(this.path + ((path == null) ? "" : ("." + path)));
|
||||
}
|
||||
|
||||
public Set<String> getKeys() {
|
||||
return getKeys(null);
|
||||
}
|
||||
|
||||
public Set<String> getKeys(String path) {
|
||||
return this.fileConfig.getConfig().getConfigurationSection(this.path + ((path == null) ? "" : ("." + path))).getKeys(false);
|
||||
}
|
||||
|
||||
public boolean getBoolean(String path) {
|
||||
return this.fileConfig.getConfig().getBoolean(((this.path == null) ? "" : (this.path + ".")) + "." + path);
|
||||
}
|
||||
|
||||
public int getInt(String path) {
|
||||
return this.fileConfig.getConfig().getInt(((this.path == null) ? "" : (this.path + ".")) + "." + path);
|
||||
}
|
||||
|
||||
public long getLong(String path) {
|
||||
return this.fileConfig.getConfig().getLong(((this.path == null) ? "" : (this.path + ".")) + "." + path);
|
||||
}
|
||||
|
||||
public String getString(String path) {
|
||||
return this.fileConfig.getConfig().getString(((this.path == null) ? "" : (this.path + ".")) + "." + path);
|
||||
}
|
||||
|
||||
public List<String> getStringList(String path) {
|
||||
return this.fileConfig.getConfig().getStringList(((this.path == null) ? "" : (this.path + ".")) + "." + path);
|
||||
}
|
||||
|
||||
public UUID getUuid(String path) {
|
||||
return UUID.fromString(this.fileConfig.getConfig().getString(this.path + "." + path));
|
||||
}
|
||||
|
||||
public World getWorld(String path) {
|
||||
return Bukkit.getWorld(this.fileConfig.getConfig().getString(this.path + "." + path));
|
||||
}
|
||||
|
||||
public void set(Object value) {
|
||||
set(null, value);
|
||||
}
|
||||
|
||||
public void set(String path, Object value) {
|
||||
this.fileConfig.getConfig().set(this.path + ((path == null) ? "" : ("." + path)), value);
|
||||
}
|
||||
|
||||
public void save() {
|
||||
this.fileConfig.save();
|
||||
}
|
||||
}
|
50
src/main/java/rip/tilly/bedwars/utils/config/FileConfig.java
Normal file
50
src/main/java/rip/tilly/bedwars/utils/config/FileConfig.java
Normal file
@ -0,0 +1,50 @@
|
||||
package rip.tilly.bedwars.utils.config;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class FileConfig {
|
||||
|
||||
private File file;
|
||||
|
||||
private FileConfiguration config;
|
||||
|
||||
public File getFile() {
|
||||
return this.file;
|
||||
}
|
||||
|
||||
public FileConfiguration getConfig() {
|
||||
return this.config;
|
||||
}
|
||||
|
||||
public FileConfig(JavaPlugin plugin, String fileName) {
|
||||
this.file = new File(plugin.getDataFolder(), fileName);
|
||||
if (!this.file.exists()) {
|
||||
this.file.getParentFile().mkdirs();
|
||||
if (plugin.getResource(fileName) == null) {
|
||||
try {
|
||||
this.file.createNewFile();
|
||||
} catch (IOException e) {
|
||||
plugin.getLogger().severe("Failed to create new file " + fileName);
|
||||
}
|
||||
} else {
|
||||
plugin.saveResource(fileName, false);
|
||||
}
|
||||
}
|
||||
this.config = YamlConfiguration.loadConfiguration(this.file);
|
||||
}
|
||||
|
||||
public void save() {
|
||||
try {
|
||||
this.config.save(this.file);
|
||||
} catch (IOException e) {
|
||||
Bukkit.getLogger().severe("Could not save config file " + this.file.toString());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package rip.tilly.bedwars.utils.config.file;
|
||||
|
||||
import lombok.Getter;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
@Getter
|
||||
public class Config {
|
||||
|
||||
private final FileConfiguration config;
|
||||
private final File configFile;
|
||||
protected boolean wasCreated;
|
||||
|
||||
public Config(String name, JavaPlugin plugin) {
|
||||
this.configFile = new File(plugin.getDataFolder() + "/" + name + ".yml");
|
||||
if (!this.configFile.exists()) {
|
||||
try {
|
||||
this.configFile.getParentFile().mkdirs();
|
||||
this.configFile.createNewFile();
|
||||
this.wasCreated = true;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
this.config = YamlConfiguration.loadConfiguration(this.configFile);
|
||||
}
|
||||
|
||||
public void save() {
|
||||
try {
|
||||
this.config.save(configFile);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,103 @@
|
||||
package rip.tilly.bedwars.utils.config.file;
|
||||
|
||||
import lombok.Getter;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class ConfigFile {
|
||||
|
||||
@Getter private File file;
|
||||
@Getter private YamlConfiguration configuration;
|
||||
|
||||
public ConfigFile(JavaPlugin plugin, String name) {
|
||||
file = new File(plugin.getDataFolder(), name + ".yml");
|
||||
|
||||
if (!file.getParentFile().exists()) {
|
||||
file.getParentFile().mkdir();
|
||||
}
|
||||
|
||||
plugin.saveResource(name + ".yml", false);
|
||||
|
||||
configuration = YamlConfiguration.loadConfiguration(file);
|
||||
}
|
||||
|
||||
public double getDouble(String path) {
|
||||
if (configuration.contains(path)) {
|
||||
return configuration.getDouble(path);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getInt(String path) {
|
||||
if (configuration.contains(path)) {
|
||||
return configuration.getInt(path);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean getBoolean(String path) {
|
||||
if (configuration.contains(path)) {
|
||||
return configuration.getBoolean(path);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getString(String path) {
|
||||
if (configuration.contains(path)) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configuration.getString(path));
|
||||
}
|
||||
return "ERROR: STRING NOT FOUND";
|
||||
}
|
||||
|
||||
public String getString(String path, String callback, boolean colorize) {
|
||||
if (configuration.contains(path)) {
|
||||
if (colorize) {
|
||||
return ChatColor.translateAlternateColorCodes('&', configuration.getString(path));
|
||||
} else {
|
||||
return configuration.getString(path);
|
||||
}
|
||||
}
|
||||
return callback;
|
||||
}
|
||||
|
||||
public List<String> getReversedStringList(String path) {
|
||||
List<String> list = getStringList(path);
|
||||
if (list != null) {
|
||||
int size = list.size();
|
||||
List<String> toReturn = new ArrayList<>();
|
||||
for (int i = size - 1; i >= 0; i--) {
|
||||
toReturn.add(list.get(i));
|
||||
}
|
||||
return toReturn;
|
||||
}
|
||||
return Arrays.asList("ERROR: STRING LIST NOT FOUND!");
|
||||
}
|
||||
|
||||
public List<String> getStringList(String path) {
|
||||
if (configuration.contains(path)) {
|
||||
ArrayList<String> strings = new ArrayList<>();
|
||||
for (String string : configuration.getStringList(path)) {
|
||||
strings.add(ChatColor.translateAlternateColorCodes('&', string));
|
||||
}
|
||||
return strings;
|
||||
}
|
||||
return Arrays.asList("ERROR: STRING LIST NOT FOUND!");
|
||||
}
|
||||
|
||||
public List<String> getStringListOrDefault(String path, List<String> toReturn) {
|
||||
if (configuration.contains(path)) {
|
||||
ArrayList<String> strings = new ArrayList<>();
|
||||
for (String string : configuration.getStringList(path)) {
|
||||
strings.add(ChatColor.translateAlternateColorCodes('&', string));
|
||||
}
|
||||
return strings;
|
||||
}
|
||||
return toReturn;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user