Adds an option for setting the exit velocity of a teleporting player
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
This commit is contained in:
@@ -156,8 +156,12 @@ public enum ConfigOption {
|
||||
/**
|
||||
* Whether to alert admins about new updates
|
||||
*/
|
||||
ADMIN_UPDATE_ALERT("adminUpdateAlert", "Whether to alert admins about new plugin updates", true);
|
||||
ADMIN_UPDATE_ALERT("adminUpdateAlert", "Whether to alert admins about new plugin updates", true),
|
||||
|
||||
/**
|
||||
* The velocity of players exiting a stargate, relative to the entry velocity
|
||||
*/
|
||||
EXIT_VELOCITY("gates.exitVelocity", "The velocity of players exiting stargates, relative to the entry velocity", 0.1D);
|
||||
|
||||
private final String configNode;
|
||||
private final String description;
|
||||
@@ -184,6 +188,8 @@ public enum ConfigOption {
|
||||
this.dataType = OptionDataType.BOOLEAN;
|
||||
} else if (defaultValue instanceof Integer) {
|
||||
this.dataType = OptionDataType.INTEGER;
|
||||
} else if (defaultValue instanceof Double) {
|
||||
this.dataType = OptionDataType.DOUBLE;
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unknown config data type encountered: " + defaultValue);
|
||||
}
|
||||
|
@@ -6,17 +6,28 @@ package net.knarcraft.stargate.config;
|
||||
public enum OptionDataType {
|
||||
|
||||
/**
|
||||
* The data type for the option is a String
|
||||
* The data type if the option is a String
|
||||
*/
|
||||
STRING,
|
||||
|
||||
/**
|
||||
* The data type for the option is a Boolean
|
||||
* The data type if the option is a Boolean
|
||||
*/
|
||||
BOOLEAN,
|
||||
STRING_LIST,
|
||||
|
||||
/**
|
||||
* The data type for the option is an Integer
|
||||
* The data type if the option is a string list
|
||||
*/
|
||||
INTEGER
|
||||
STRING_LIST,
|
||||
|
||||
/**
|
||||
* The data type if the option is an Integer
|
||||
*/
|
||||
INTEGER,
|
||||
|
||||
/**
|
||||
* The data type if the option is a double
|
||||
*/
|
||||
DOUBLE
|
||||
|
||||
}
|
||||
|
@@ -358,6 +358,7 @@ public final class StargateConfig {
|
||||
}
|
||||
case BOOLEAN -> optionValue = newConfig.getBoolean(configNode);
|
||||
case INTEGER -> optionValue = newConfig.getInt(configNode);
|
||||
case DOUBLE -> optionValue = newConfig.getDouble(configNode);
|
||||
default -> throw new IllegalArgumentException("Invalid config data type encountered");
|
||||
}
|
||||
configOptions.put(option, optionValue);
|
||||
|
@@ -179,6 +179,15 @@ public final class StargateGateConfig {
|
||||
return (String) configOptions.get(ConfigOption.DEFAULT_GATE_NETWORK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the exit velocity of players using stargates, relative to the entry velocity
|
||||
*
|
||||
* @return <p>The relative exit velocity</p>
|
||||
*/
|
||||
public double getExitVelocity() {
|
||||
return (double) configOptions.get(ConfigOption.EXIT_VELOCITY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads all config values related to gates
|
||||
*/
|
||||
|
Reference in New Issue
Block a user