I tryed to do it like this but it says “no value present”:
MainClass:
CommandSpec setjoinCommandSpec = CommandSpec.builder()
.description(Text.of(“Set join Command”))
.permission(“tppvp.command.setjoin”)
.arguments(GenericArguments.onlyOne(GenericArguments.string(Text.of(“arena”))))
.executor(new setGameJoin())
.build();
game.getCommandManager().register(this, setjoinCommandSpec,“setjoin”);
CommandExecutor:
@Override
public CommandResult execute(CommandSource src, CommandContext args) throws CommandException {
String arenaname = args. getOne(“arena name”).get();
if (src instanceof Player)
{
Player player = (Player) src;
Utils.setJoin(player.getTransform(), arenaname);
src.sendMessage(Text.of(TextColors.GREEN, "Success: ", TextColors.YELLOW, “Warp set.”));
}
else
{
src.sendMessage(Text.of(TextColors.DARK_RED, "Error! ", TextColors.RED, “Must be an in-game player to use /setwarp!”));
}
return CommandResult.success();
}
}
Utils:
private static Configurable config = Config.getConfig();
public static void setJoin(Transform<World> transform, String arenaname)
{
Configs.getConfig(config).getNode("join", arenaname, "world").setValue(transform.getExtent().getUniqueId().toString());
Configs.getConfig(config).getNode("join", arenaname, "X").setValue(transform.getLocation().getBlockX());
Configs.getConfig(config).getNode("join", arenaname, "Y").setValue(transform.getLocation().getBlockY());
Configs.getConfig(config).getNode("join", arenaname, "Z").setValue(transform.getLocation().getBlockZ());
Configs.getConfig(config).getNode("join", arenaname, "transform", "pitch").setValue(transform.getRotation().getX());
Configs.getConfig(config).getNode("join", arenaname, "transform", "yaw").setValue(transform.getRotation().getY());
Configs.getConfig(config).getNode("join", arenaname, "transform", "roll").setValue(transform.getRotation().getZ());
Configs.saveConfig(config);
}
