diff --git a/src/ll/test/TestMolang.cpp b/src/ll/test/TestMolang.cpp new file mode 100644 index 0000000000..f05200944b --- /dev/null +++ b/src/ll/test/TestMolang.cpp @@ -0,0 +1,51 @@ +#include "mc/util/molang/MolangScriptArg.h" +#include "mc/world/level/levelgen/feature/helpers/RenderParams.h" + +#include "mc/util/ExpressionNode.h" + + +#include "ll/api/memory/Hook.h" +#include "mc/server/commands/CommandOutput.h" +#include "mc/world/events/ServerInstanceEventCoordinator.h" + +#include "ll/api/Logger.h" +#include "mc/server/commands/CommandBlockName.h" +#include "mc/world/AutomaticID.h" + + +namespace { +LL_AUTO_TYPE_INSTANCE_HOOK( + testtttt, + ll::memory::HookPriority::Low, + ServerInstanceEventCoordinator, + &ServerInstanceEventCoordinator::sendServerThreadStarted, + void, + ::ServerInstance& ins +) { + static ll::Logger logger("MolangTest"); + ExpressionNode::registerQueryFunction( + "query.is_levilamina", + [&](RenderParams&, const std::vector&) -> MolangScriptArg { return MolangScriptArg(true); }, + "query is_levilamina", + MolangQueryFunctionReturnType::Bool, + "default", + 0, + UINT64_MAX, + {} + ); + ExpressionNode::registerQueryFunction( + "query.homo_number", + [&](RenderParams&, const std::vector&) -> MolangScriptArg { return MolangScriptArg(114514); }, + "query homo_number", + MolangQueryFunctionReturnType::Number, + "default", + 0, + UINT64_MAX, + {} + ); + auto parm = RenderParams(); + logger.info("query.is_levilamina: {}", ExpressionNode("query.is_levilamina").evalAsFloat(parm)); + logger.info("query.homo_number: {}", ExpressionNode("query.homo_number").evalAsFloat(parm)); + origin(ins); +} +} // namespace diff --git a/src/mc/util/molang/MolangMemberArray.h b/src/mc/util/molang/MolangMemberArray.h index f3b1410867..a7be618518 100644 --- a/src/mc/util/molang/MolangMemberArray.h +++ b/src/mc/util/molang/MolangMemberArray.h @@ -2,8 +2,6 @@ #include "mc/_HeaderOutputPredefine.h" -class MolangMemberVariable; - // auto generated inclusion list #include "mc/util/molang/MolangStruct_BaseAndPattern.h" #include "mc/util/molang/MolangStruct_MinAndMax.h" @@ -19,6 +17,7 @@ class MolangMemberVariable; #include "mc/util/molang/MolangStruct_XYZ.h" struct MolangScriptArg; +class MolangMemberVariable; // auto generated forward declare list // clang-format off