From 045f251d7d021329599770d39d4161904f7267c2 Mon Sep 17 00:00:00 2001 From: MEFRREEX Date: Mon, 18 Aug 2025 01:18:36 +0400 Subject: [PATCH] fix: return type of some functions, chore: javadoc for ScriptFunctionExecutor#getMethod & feat: added randomBoolean function --- .../definition/ScriptFunctionExecutor.java | 7 +++++- build.gradle.kts | 2 +- .../function/CommonFunctionManager.java | 1 + .../impl/file/ScriptFunctionDeleteFile.java | 2 +- .../impl/file/ScriptFunctionExistsFile.java | 2 +- .../impl/file/ScriptFunctionListFiles.java | 3 ++- .../impl/file/ScriptFunctionMoveFile.java | 2 +- .../impl/file/ScriptFunctionReadFile.java | 2 +- .../impl/file/ScriptFunctionWriteFile.java | 4 ++-- .../random/ScriptFunctionRandomBoolean.java | 23 +++++++++++++++++++ 10 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 common/src/main/java/com/instancify/scriptify/common/script/function/impl/random/ScriptFunctionRandomBoolean.java diff --git a/api/src/main/java/com/instancify/scriptify/api/script/function/definition/ScriptFunctionExecutor.java b/api/src/main/java/com/instancify/scriptify/api/script/function/definition/ScriptFunctionExecutor.java index a931d64..625630a 100644 --- a/api/src/main/java/com/instancify/scriptify/api/script/function/definition/ScriptFunctionExecutor.java +++ b/api/src/main/java/com/instancify/scriptify/api/script/function/definition/ScriptFunctionExecutor.java @@ -12,12 +12,17 @@ */ public interface ScriptFunctionExecutor { + /** + * Retrieves the executor method. + * + * @return A {@link Method} + */ Method getMethod(); /** * Retrieves the argument definitions for this executor. * - * @return a list of {@link ScriptFunctionArgumentDefinition} + * @return A list of {@link ScriptFunctionArgumentDefinition} */ List getArguments(); diff --git a/build.gradle.kts b/build.gradle.kts index b428289..f1156d3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ java { allprojects { group = "com.instancify.scriptify" - version = "1.4.1-SNAPSHOT" + version = "1.4.2-SNAPSHOT" } subprojects { diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/CommonFunctionManager.java b/common/src/main/java/com/instancify/scriptify/common/script/function/CommonFunctionManager.java index 6428d9e..bc87d18 100644 --- a/common/src/main/java/com/instancify/scriptify/common/script/function/CommonFunctionManager.java +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/CommonFunctionManager.java @@ -39,6 +39,7 @@ public CommonFunctionManager() { this.register(new ScriptFunctionRandomLong()); this.register(new ScriptFunctionRandomFloat()); this.register(new ScriptFunctionRandomDouble()); + this.register(new ScriptFunctionRandomBoolean()); this.register(new ScriptFunctionMD5()); this.register(new ScriptFunctionSHA256()); this.register(new ScriptFunctionExecCommand()); diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionDeleteFile.java b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionDeleteFile.java index e644c7a..1005dd8 100644 --- a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionDeleteFile.java +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionDeleteFile.java @@ -20,7 +20,7 @@ public class ScriptFunctionDeleteFile implements ScriptFunction { } @ExecuteAt - public Object execute( + public boolean execute( @Executor Script script, @Argument(name = "filePath") String filePath, @Argument(name = "recursive", required = false) Boolean recursive diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionExistsFile.java b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionExistsFile.java index e3ffaa0..0399382 100644 --- a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionExistsFile.java +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionExistsFile.java @@ -20,7 +20,7 @@ public class ScriptFunctionExistsFile implements ScriptFunction { } @ExecuteAt - public Object execute( + public boolean execute( @Executor Script script, @Argument(name = "filePath") String filePath ) { diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionListFiles.java b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionListFiles.java index 1bc0f31..85d80c4 100644 --- a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionListFiles.java +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionListFiles.java @@ -9,6 +9,7 @@ import java.io.File; import java.util.Arrays; +import java.util.List; import java.util.Objects; /** @@ -22,7 +23,7 @@ public class ScriptFunctionListFiles implements ScriptFunction { } @ExecuteAt - public Object execute( + public List execute( @Executor Script script, @Argument(name = "filePath") String filePath ) { diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionMoveFile.java b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionMoveFile.java index 5caa306..a1a15fc 100644 --- a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionMoveFile.java +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionMoveFile.java @@ -20,7 +20,7 @@ public class ScriptFunctionMoveFile implements ScriptFunction { } @ExecuteAt - public Object execute( + public boolean execute( @Executor Script script, @Argument(name = "original") String originalFilePath, @Argument(name = "target") String targetFilePath diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionReadFile.java b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionReadFile.java index 51e890f..bbc1e42 100644 --- a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionReadFile.java +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionReadFile.java @@ -21,7 +21,7 @@ public class ScriptFunctionReadFile implements ScriptFunction { } @ExecuteAt - public Object execute( + public String execute( @Executor Script script, @Argument(name = "filePath") String filePath ) { diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionWriteFile.java b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionWriteFile.java index b784bc1..ebd4018 100644 --- a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionWriteFile.java +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/file/ScriptFunctionWriteFile.java @@ -21,13 +21,13 @@ public class ScriptFunctionWriteFile implements ScriptFunction { } @ExecuteAt - public Object execute( + public String execute( @Executor Script script, @Argument(name = "filePath") String filePath, @Argument(name = "fileContent") String fileContent ) { try { - return Files.writeString(script.getSecurityManager().getFileSystem().getPath(filePath), fileContent); + return Files.writeString(script.getSecurityManager().getFileSystem().getPath(filePath), fileContent).toString(); } catch (IOException e) { throw new RuntimeException(e); diff --git a/common/src/main/java/com/instancify/scriptify/common/script/function/impl/random/ScriptFunctionRandomBoolean.java b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/random/ScriptFunctionRandomBoolean.java new file mode 100644 index 0000000..4237346 --- /dev/null +++ b/common/src/main/java/com/instancify/scriptify/common/script/function/impl/random/ScriptFunctionRandomBoolean.java @@ -0,0 +1,23 @@ +package com.instancify.scriptify.common.script.function.impl.random; + +import com.instancify.scriptify.api.script.function.ScriptFunction; +import com.instancify.scriptify.api.script.function.annotation.ExecuteAt; +import org.jetbrains.annotations.NotNull; + +import java.util.Random; + +/** + * Represents a function to generate random long number + */ +public class ScriptFunctionRandomBoolean implements ScriptFunction { + + @Override + public @NotNull String getName() { + return "randomBoolean"; + } + + @ExecuteAt + public boolean execute() { + return new Random().nextBoolean(); + } +}