mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-02 16:05:29 +00:00
105 lines
2.8 KiB
Java
105 lines
2.8 KiB
Java
package com.dfsek.terra;
|
|
|
|
import com.dfsek.terra.config.ConfigUtil;
|
|
import com.dfsek.terra.config.WorldConfig;
|
|
import com.dfsek.terra.math.NoiseFunction2;
|
|
import com.dfsek.terra.math.NoiseFunction3;
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
import org.bukkit.generator.ChunkGenerator;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
import org.polydev.gaea.math.parsii.eval.Expression;
|
|
import org.polydev.gaea.math.parsii.eval.Function;
|
|
import org.polydev.gaea.math.parsii.eval.Parser;
|
|
|
|
import java.util.List;
|
|
|
|
public class Terra extends JavaPlugin {
|
|
|
|
static {
|
|
Parser.registerFunction("floor", new Function() {
|
|
@Override
|
|
public int getNumberOfArguments() {
|
|
return 1;
|
|
}
|
|
|
|
@Override
|
|
public double eval(List<Expression> list) {
|
|
return Math.floor(list.get(0).evaluate());
|
|
}
|
|
|
|
@Override
|
|
public boolean isNaturalFunction() {
|
|
return true;
|
|
}
|
|
});
|
|
Parser.registerFunction("ceil", new Function() {
|
|
@Override
|
|
public int getNumberOfArguments() {
|
|
return 1;
|
|
}
|
|
|
|
@Override
|
|
public double eval(List<Expression> list) {
|
|
return Math.ceil(list.get(0).evaluate());
|
|
}
|
|
|
|
@Override
|
|
public boolean isNaturalFunction() {
|
|
return true;
|
|
}
|
|
});
|
|
Parser.registerFunction("round", new Function() {
|
|
@Override
|
|
public int getNumberOfArguments() {
|
|
return 1;
|
|
}
|
|
|
|
@Override
|
|
public double eval(List<Expression> list) {
|
|
return Math.round(list.get(0).evaluate());
|
|
}
|
|
|
|
@Override
|
|
public boolean isNaturalFunction() {
|
|
return true;
|
|
}
|
|
});
|
|
Parser.registerFunction("noise2", new NoiseFunction2());
|
|
Parser.registerFunction("noise3", new NoiseFunction3());
|
|
}
|
|
|
|
private static FileConfiguration config;
|
|
private static Terra instance;
|
|
|
|
public static Terra getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
super.onDisable();
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
ConfigUtil.loadConfig(this);
|
|
getCommand("terra").setExecutor(new TerraCommand());
|
|
saveDefaultConfig();
|
|
config = getConfig();
|
|
instance = this;
|
|
}
|
|
|
|
@NotNull
|
|
public static FileConfiguration getConfigFile() {
|
|
return config;
|
|
}
|
|
|
|
@Override
|
|
public @Nullable ChunkGenerator getDefaultWorldGenerator(@NotNull String worldName, @Nullable String id) {
|
|
new WorldConfig(worldName, this);
|
|
return new TerraChunkGenerator();
|
|
}
|
|
}
|