Convert to multi module
This commit is contained in:
parent
7b40351c5f
commit
449a7bd46a
|
@ -0,0 +1,43 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>net.citizensnpcs</groupId>
|
||||||
|
<artifactId>citizens-parent</artifactId>
|
||||||
|
<version>2.0.20-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>citizens</artifactId>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<version>2.2</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>package-all</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<descriptors>
|
||||||
|
<descriptor>src/main/assembly/all-jar.xml</descriptor>
|
||||||
|
</descriptors>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>citizens-main</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>jar</type>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<assembly
|
||||||
|
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
|
||||||
|
<id>all-jar</id>
|
||||||
|
<formats>
|
||||||
|
<format>jar</format>
|
||||||
|
</formats>
|
||||||
|
|
||||||
|
<includeBaseDirectory>false</includeBaseDirectory>
|
||||||
|
|
||||||
|
<dependencySets>
|
||||||
|
<dependencySet>
|
||||||
|
<unpack>true</unpack>
|
||||||
|
<useTransitiveDependencies>false</useTransitiveDependencies>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
</assembly>
|
|
@ -0,0 +1,163 @@
|
||||||
|
<!-- Citizens build file -->
|
||||||
|
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>net.citizensnpcs</groupId>
|
||||||
|
<artifactId>citizens-parent</artifactId>
|
||||||
|
<version>2.0.20-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>citizens-main</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<craftbukkit.version>1.10-R0.1-SNAPSHOT</craftbukkit.version>
|
||||||
|
<citizensapi.version>2.0.20-SNAPSHOT</citizensapi.version>
|
||||||
|
<vault.version>1.5.4</vault.version>
|
||||||
|
<powermock.version>1.4.12</powermock.version>
|
||||||
|
<build.number>Unknown</build.number>
|
||||||
|
<BUILD_NUMBER>Unknown</BUILD_NUMBER>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>bukkit-repo</id>
|
||||||
|
<url>http://repo.bukkit.org/content/groups/public/</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>everything</id>
|
||||||
|
<url>http://repo.citizensnpcs.co</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>vault-repo</id>
|
||||||
|
<url>http://nexus.theyeticave.net/content/repositories/pub_releases</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<pluginRepositories>
|
||||||
|
<pluginRepository>
|
||||||
|
<id>bukkit-plugins</id>
|
||||||
|
<url>http://repo.bukkit.org/content/groups/public</url>
|
||||||
|
</pluginRepository>
|
||||||
|
</pluginRepositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.bukkit</groupId>
|
||||||
|
<artifactId>craftbukkit</artifactId>
|
||||||
|
<version>${craftbukkit.version}</version>
|
||||||
|
<type>jar</type>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.sf.trove4j</groupId>
|
||||||
|
<artifactId>trove4j</artifactId>
|
||||||
|
<version>3.0.3</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.citizensnpcs</groupId>
|
||||||
|
<artifactId>citizensapi</artifactId>
|
||||||
|
<version>${citizensapi.version}</version>
|
||||||
|
<type>jar</type>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.milkbowl.vault</groupId>
|
||||||
|
<artifactId>Vault</artifactId>
|
||||||
|
<version>${vault.version}</version>
|
||||||
|
<type>jar</type>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.powermock</groupId>
|
||||||
|
<artifactId>powermock-module-junit4</artifactId>
|
||||||
|
<version>${powermock.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.powermock</groupId>
|
||||||
|
<artifactId>powermock-api-mockito</artifactId>
|
||||||
|
<version>${powermock.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<url>http://www.citizensnpcs.co</url>
|
||||||
|
<ciManagement>
|
||||||
|
<system>jenkins</system>
|
||||||
|
<url>http://ci.citizensnpcs.co</url>
|
||||||
|
</ciManagement>
|
||||||
|
<scm>
|
||||||
|
<connection>scm:git:git://github.com/CitizensDev/Citizens2.git</connection>
|
||||||
|
<developerConnection>scm:git:git:@github.com:CitizensDev/Citizens2.git</developerConnection>
|
||||||
|
<url>https://github.com/CitizensDev/Citizens2/tree/master/</url>
|
||||||
|
</scm>
|
||||||
|
<build>
|
||||||
|
<defaultGoal>clean package install</defaultGoal>
|
||||||
|
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<targetPath>.</targetPath>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
<directory>${basedir}/src/main/resources</directory>
|
||||||
|
<includes>
|
||||||
|
<include>plugin.yml</include>
|
||||||
|
<include>*.properties</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>2.3.2</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.6</source>
|
||||||
|
<target>1.6</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>2.3.2</version>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-shade-plugin</artifactId>
|
||||||
|
<version>2.1</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>shade</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<minimizeJar>true</minimizeJar>
|
||||||
|
<filters>
|
||||||
|
<filter>
|
||||||
|
<artifact>net.citizensnpcs:citizensapi</artifact>
|
||||||
|
<includes>
|
||||||
|
<include>**</include>
|
||||||
|
</includes>
|
||||||
|
</filter>
|
||||||
|
</filters>
|
||||||
|
<relocations>
|
||||||
|
<relocation>
|
||||||
|
<pattern>gnu.trove</pattern>
|
||||||
|
<shadedPattern>lib.trove</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
</relocations>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -1,181 +1,181 @@
|
||||||
package net.citizensnpcs;
|
package net.citizensnpcs;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import net.citizensnpcs.api.CitizensAPI;
|
import net.citizensnpcs.api.CitizensAPI;
|
||||||
import net.citizensnpcs.api.util.DataKey;
|
import net.citizensnpcs.api.util.DataKey;
|
||||||
import net.citizensnpcs.api.util.Messaging;
|
import net.citizensnpcs.api.util.Messaging;
|
||||||
import net.citizensnpcs.api.util.Storage;
|
import net.citizensnpcs.api.util.Storage;
|
||||||
import net.citizensnpcs.api.util.YamlStorage;
|
import net.citizensnpcs.api.util.YamlStorage;
|
||||||
|
|
||||||
public class Settings {
|
public class Settings {
|
||||||
private final Storage config;
|
private final Storage config;
|
||||||
private final DataKey root;
|
private final DataKey root;
|
||||||
|
|
||||||
public Settings(File folder) {
|
public Settings(File folder) {
|
||||||
config = new YamlStorage(new File(folder, "config.yml"), "Citizens Configuration");
|
config = new YamlStorage(new File(folder, "config.yml"), "Citizens Configuration");
|
||||||
root = config.getKey("");
|
root = config.getKey("");
|
||||||
|
|
||||||
config.load();
|
config.load();
|
||||||
for (Setting setting : Setting.values()) {
|
for (Setting setting : Setting.values()) {
|
||||||
if (!root.keyExists(setting.path)) {
|
if (!root.keyExists(setting.path)) {
|
||||||
setting.setAtKey(root);
|
setting.setAtKey(root);
|
||||||
} else
|
} else
|
||||||
setting.loadFromKey(root);
|
setting.loadFromKey(root);
|
||||||
}
|
}
|
||||||
updateMessagingSettings();
|
updateMessagingSettings();
|
||||||
|
|
||||||
save();
|
save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void reload() {
|
public void reload() {
|
||||||
config.load();
|
config.load();
|
||||||
for (Setting setting : Setting.values()) {
|
for (Setting setting : Setting.values()) {
|
||||||
if (root.keyExists(setting.path)) {
|
if (root.keyExists(setting.path)) {
|
||||||
setting.loadFromKey(root);
|
setting.loadFromKey(root);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateMessagingSettings();
|
updateMessagingSettings();
|
||||||
save();
|
save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void save() {
|
public void save() {
|
||||||
config.save();
|
config.save();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateMessagingSettings() {
|
private void updateMessagingSettings() {
|
||||||
File file = null;
|
File file = null;
|
||||||
if (!Setting.DEBUG_FILE.asString().isEmpty()) {
|
if (!Setting.DEBUG_FILE.asString().isEmpty()) {
|
||||||
file = new File(CitizensAPI.getPlugin().getDataFolder(), Setting.DEBUG_FILE.asString());
|
file = new File(CitizensAPI.getPlugin().getDataFolder(), Setting.DEBUG_FILE.asString());
|
||||||
}
|
}
|
||||||
Messaging.configure(file, Setting.DEBUG_MODE.asBoolean(), Setting.MESSAGE_COLOUR.asString(),
|
Messaging.configure(file, Setting.DEBUG_MODE.asBoolean(), Setting.MESSAGE_COLOUR.asString(),
|
||||||
Setting.HIGHLIGHT_COLOUR.asString());
|
Setting.HIGHLIGHT_COLOUR.asString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Setting {
|
public enum Setting {
|
||||||
AUTH_SERVER_URL("general.authlib.profile-url", "https://sessionserver.mojang.com/session/minecraft/profile/"),
|
AUTH_SERVER_URL("general.authlib.profile-url", "https://sessionserver.mojang.com/session/minecraft/profile/"),
|
||||||
CHAT_BYSTANDERS_HEAR_TARGETED_CHAT("npc.chat.options.bystanders-hear-targeted-chat", true),
|
CHAT_BYSTANDERS_HEAR_TARGETED_CHAT("npc.chat.options.bystanders-hear-targeted-chat", true),
|
||||||
CHAT_FORMAT("npc.chat.format.no-targets", "[<npc>]: <text>"),
|
CHAT_FORMAT("npc.chat.format.no-targets", "[<npc>]: <text>"),
|
||||||
CHAT_FORMAT_TO_BYSTANDERS("npc.chat.format.with-target-to-bystanders", "[<npc>] -> [<target>]: <text>"),
|
CHAT_FORMAT_TO_BYSTANDERS("npc.chat.format.with-target-to-bystanders", "[<npc>] -> [<target>]: <text>"),
|
||||||
CHAT_FORMAT_TO_TARGET("npc.chat.format.to-target", "[<npc>] -> You: <text>"),
|
CHAT_FORMAT_TO_TARGET("npc.chat.format.to-target", "[<npc>] -> You: <text>"),
|
||||||
CHAT_FORMAT_WITH_TARGETS_TO_BYSTANDERS("npc.chat.format.with-targets-to-bystanders",
|
CHAT_FORMAT_WITH_TARGETS_TO_BYSTANDERS("npc.chat.format.with-targets-to-bystanders",
|
||||||
"[<npc>] -> [<targets>]: <text>"),
|
"[<npc>] -> [<targets>]: <text>"),
|
||||||
CHAT_MAX_NUMBER_OF_TARGETS("npc.chat.options.max-number-of-targets-to-show", 2),
|
CHAT_MAX_NUMBER_OF_TARGETS("npc.chat.options.max-number-of-targets-to-show", 2),
|
||||||
CHAT_MULTIPLE_TARGETS_FORMAT("npc.chat.options.multiple-targets-format",
|
CHAT_MULTIPLE_TARGETS_FORMAT("npc.chat.options.multiple-targets-format",
|
||||||
"<target>|, <target>| & <target>| & others"),
|
"<target>|, <target>| & <target>| & others"),
|
||||||
CHAT_RANGE("npc.chat.options.range", 5),
|
CHAT_RANGE("npc.chat.options.range", 5),
|
||||||
CHECK_MINECRAFT_VERSION("advanced.check-minecraft-version", true),
|
CHECK_MINECRAFT_VERSION("advanced.check-minecraft-version", true),
|
||||||
DEBUG_FILE("general.debug-file", ""),
|
DEBUG_FILE("general.debug-file", ""),
|
||||||
DEBUG_MODE("general.debug-mode", false),
|
DEBUG_MODE("general.debug-mode", false),
|
||||||
DEBUG_PATHFINDING("general.debug-pathfinding", false),
|
DEBUG_PATHFINDING("general.debug-pathfinding", false),
|
||||||
DEFAULT_DISTANCE_MARGIN("npc.pathfinding.default-distance-margin", 2),
|
DEFAULT_DISTANCE_MARGIN("npc.pathfinding.default-distance-margin", 2),
|
||||||
DEFAULT_LOOK_CLOSE("npc.default.look-close.enabled", false),
|
DEFAULT_LOOK_CLOSE("npc.default.look-close.enabled", false),
|
||||||
DEFAULT_LOOK_CLOSE_RANGE("npc.default.look-close.range", 5),
|
DEFAULT_LOOK_CLOSE_RANGE("npc.default.look-close.range", 5),
|
||||||
DEFAULT_NPC_LIMIT("npc.limits.default-limit", 10),
|
DEFAULT_NPC_LIMIT("npc.limits.default-limit", 10),
|
||||||
DEFAULT_PATHFINDER_UPDATE_PATH_RATE("npc.pathfinding.update-path-rate", 20),
|
DEFAULT_PATHFINDER_UPDATE_PATH_RATE("npc.pathfinding.update-path-rate", 20),
|
||||||
DEFAULT_PATHFINDING_RANGE("npc.default.pathfinding.range", 25F),
|
DEFAULT_PATHFINDING_RANGE("npc.default.pathfinding.range", 25F),
|
||||||
DEFAULT_RANDOM_TALKER("npc.default.random-talker", true),
|
DEFAULT_RANDOM_TALKER("npc.default.random-talker", true),
|
||||||
DEFAULT_REALISTIC_LOOKING("npc.default.realistic-looking", false),
|
DEFAULT_REALISTIC_LOOKING("npc.default.realistic-looking", false),
|
||||||
DEFAULT_STATIONARY_TICKS("npc.default.stationary-ticks", -1),
|
DEFAULT_STATIONARY_TICKS("npc.default.stationary-ticks", -1),
|
||||||
DEFAULT_TALK_CLOSE("npc.default.talk-close.enabled", false),
|
DEFAULT_TALK_CLOSE("npc.default.talk-close.enabled", false),
|
||||||
DEFAULT_TALK_CLOSE_RANGE("npc.default.talk-close.range", 5),
|
DEFAULT_TALK_CLOSE_RANGE("npc.default.talk-close.range", 5),
|
||||||
DEFAULT_TEXT("npc.default.text.0", "Hi, I'm <npc>!") {
|
DEFAULT_TEXT("npc.default.text.0", "Hi, I'm <npc>!") {
|
||||||
@Override
|
@Override
|
||||||
public void loadFromKey(DataKey root) {
|
public void loadFromKey(DataKey root) {
|
||||||
List<String> list = new ArrayList<String>();
|
List<String> list = new ArrayList<String>();
|
||||||
for (DataKey key : root.getRelative("npc.default.text").getSubKeys())
|
for (DataKey key : root.getRelative("npc.default.text").getSubKeys())
|
||||||
list.add(key.getString(""));
|
list.add(key.getString(""));
|
||||||
value = list;
|
value = list;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
DISABLE_TABLIST("npc.tablist.disable", true),
|
DISABLE_TABLIST("npc.tablist.disable", true),
|
||||||
HIGHLIGHT_COLOUR("general.color-scheme.message-highlight", "<e>"),
|
HIGHLIGHT_COLOUR("general.color-scheme.message-highlight", "<e>"),
|
||||||
KEEP_CHUNKS_LOADED("npc.chunks.always-keep-loaded", false),
|
KEEP_CHUNKS_LOADED("npc.chunks.always-keep-loaded", false),
|
||||||
LOCALE("general.translation.locale", ""),
|
LOCALE("general.translation.locale", ""),
|
||||||
MAX_NPC_LIMIT_CHECKS("npc.limits.max-permission-checks", 100),
|
MAX_NPC_LIMIT_CHECKS("npc.limits.max-permission-checks", 100),
|
||||||
MAX_NPC_SKIN_RETRIES("npc.skins.max-retries", -1),
|
MAX_NPC_SKIN_RETRIES("npc.skins.max-retries", -1),
|
||||||
MAX_PACKET_ENTRIES("npc.limits.max-packet-entries", 15),
|
MAX_PACKET_ENTRIES("npc.limits.max-packet-entries", 15),
|
||||||
MAX_SPEED("npc.limits.max-speed", 100),
|
MAX_SPEED("npc.limits.max-speed", 100),
|
||||||
MAX_TEXT_RANGE("npc.chat.options.max-text-range", 500),
|
MAX_TEXT_RANGE("npc.chat.options.max-text-range", 500),
|
||||||
MESSAGE_COLOUR("general.color-scheme.message", "<a>"),
|
MESSAGE_COLOUR("general.color-scheme.message", "<a>"),
|
||||||
NEW_PATHFINDER_OPENS_DOORS("npc.pathfinding.new-finder-open-doors", false),
|
NEW_PATHFINDER_OPENS_DOORS("npc.pathfinding.new-finder-open-doors", false),
|
||||||
NPC_ATTACK_DISTANCE("npc.pathfinding.attack-range", 1.75 * 1.75),
|
NPC_ATTACK_DISTANCE("npc.pathfinding.attack-range", 1.75 * 1.75),
|
||||||
NPC_COST("economy.npc.cost", 100D),
|
NPC_COST("economy.npc.cost", 100D),
|
||||||
NPC_SKIN_RETRY_DELAY("npc.skins.retry-delay", 120),
|
NPC_SKIN_RETRY_DELAY("npc.skins.retry-delay", 120),
|
||||||
NPC_SKIN_ROTATION_UPDATE_DEGREES("npc.skins.rotation-update-degrees", 90f),
|
NPC_SKIN_ROTATION_UPDATE_DEGREES("npc.skins.rotation-update-degrees", 90f),
|
||||||
NPC_SKIN_USE_LATEST("npc.skins.use-latest", true),
|
NPC_SKIN_USE_LATEST("npc.skins.use-latest", true),
|
||||||
NPC_SKIN_VIEW_DISTANCE("npc.skins.view-distance", 100D),
|
NPC_SKIN_VIEW_DISTANCE("npc.skins.view-distance", 100D),
|
||||||
PACKET_UPDATE_DELAY("npc.packets.update-delay", 30),
|
PACKET_UPDATE_DELAY("npc.packets.update-delay", 30),
|
||||||
QUICK_SELECT("npc.selection.quick-select", false),
|
QUICK_SELECT("npc.selection.quick-select", false),
|
||||||
REMOVE_PLAYERS_FROM_PLAYER_LIST("npc.player.remove-from-list", true),
|
REMOVE_PLAYERS_FROM_PLAYER_LIST("npc.player.remove-from-list", true),
|
||||||
SAVE_TASK_DELAY("storage.save-task.delay", 20 * 60 * 60),
|
SAVE_TASK_DELAY("storage.save-task.delay", 20 * 60 * 60),
|
||||||
SELECTION_ITEM("npc.selection.item", "280"),
|
SELECTION_ITEM("npc.selection.item", "280"),
|
||||||
SELECTION_MESSAGE("npc.selection.message", "<b>You selected <a><npc><b>!"),
|
SELECTION_MESSAGE("npc.selection.message", "<b>You selected <a><npc><b>!"),
|
||||||
SERVER_OWNS_NPCS("npc.server-ownership", false),
|
SERVER_OWNS_NPCS("npc.server-ownership", false),
|
||||||
STORAGE_FILE("storage.file", "saves.yml"),
|
STORAGE_FILE("storage.file", "saves.yml"),
|
||||||
STORAGE_TYPE("storage.type", "yaml"),
|
STORAGE_TYPE("storage.type", "yaml"),
|
||||||
SUBPLUGIN_FOLDER("subplugins.folder", "plugins"),
|
SUBPLUGIN_FOLDER("subplugins.folder", "plugins"),
|
||||||
TALK_CLOSE_MAXIMUM_COOLDOWN("npc.text.max-talk-cooldown", 5),
|
TALK_CLOSE_MAXIMUM_COOLDOWN("npc.text.max-talk-cooldown", 5),
|
||||||
TALK_CLOSE_MINIMUM_COOLDOWN("npc.text.min-talk-cooldown", 10),
|
TALK_CLOSE_MINIMUM_COOLDOWN("npc.text.min-talk-cooldown", 10),
|
||||||
TALK_ITEM("npc.text.talk-item", "340"),
|
TALK_ITEM("npc.text.talk-item", "340"),
|
||||||
TELEPORT_DELAY("npc.teleport-delay", -1),
|
TELEPORT_DELAY("npc.teleport-delay", -1),
|
||||||
USE_BOAT_CONTROLS("npc.controllable.use-boat-controls", true),
|
USE_BOAT_CONTROLS("npc.controllable.use-boat-controls", true),
|
||||||
USE_NEW_PATHFINDER("npc.pathfinding.use-new-finder", false),
|
USE_NEW_PATHFINDER("npc.pathfinding.use-new-finder", false),
|
||||||
USE_SCOREBOARD_TEAMS("npc.player-scoreboard-teams.enable", true);
|
USE_SCOREBOARD_TEAMS("npc.player-scoreboard-teams.enable", true);
|
||||||
|
|
||||||
protected String path;
|
protected String path;
|
||||||
protected Object value;
|
protected Object value;
|
||||||
|
|
||||||
Setting(String path, Object value) {
|
Setting(String path, Object value) {
|
||||||
this.path = path;
|
this.path = path;
|
||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean asBoolean() {
|
public boolean asBoolean() {
|
||||||
return (Boolean) value;
|
return (Boolean) value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double asDouble() {
|
public double asDouble() {
|
||||||
return ((Number) value).doubleValue();
|
return ((Number) value).doubleValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public float asFloat() {
|
public float asFloat() {
|
||||||
return ((Number) value).floatValue();
|
return ((Number) value).floatValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int asInt() {
|
public int asInt() {
|
||||||
if (value instanceof String) {
|
if (value instanceof String) {
|
||||||
return Integer.parseInt(value.toString());
|
return Integer.parseInt(value.toString());
|
||||||
}
|
}
|
||||||
return ((Number) value).intValue();
|
return ((Number) value).intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<String> asList() {
|
public List<String> asList() {
|
||||||
if (!(value instanceof List)) {
|
if (!(value instanceof List)) {
|
||||||
value = Lists.newArrayList(value);
|
value = Lists.newArrayList(value);
|
||||||
}
|
}
|
||||||
return (List<String>) value;
|
return (List<String>) value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long asLong() {
|
public long asLong() {
|
||||||
return ((Number) value).longValue();
|
return ((Number) value).longValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String asString() {
|
public String asString() {
|
||||||
return value.toString();
|
return value.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void loadFromKey(DataKey root) {
|
protected void loadFromKey(DataKey root) {
|
||||||
value = root.getRaw(path);
|
value = root.getRaw(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setAtKey(DataKey root) {
|
protected void setAtKey(DataKey root) {
|
||||||
root.setRaw(path, value);
|
root.setRaw(path, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue