LiteLoaderBDS-1.16.40/LiteLoader/Header/MC/ExpressionNode.hpp
2022-09-21 19:47:03 +08:00

72 lines
6.1 KiB
C++

// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Json.hpp"
#include "Bedrock.hpp"
#define BEFORE_EXTRA
#undef BEFORE_EXTRA
class ExpressionNode {
#define AFTER_EXTRA
#undef AFTER_EXTRA
public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_EXPRESSIONNODE
#endif
MCAPI ExpressionNode(class ExpressionNode const &);
MCAPI ExpressionNode(class ExpressionNode &&);
MCAPI ExpressionNode();
MCAPI ExpressionNode(char const *, class std::function<class std::function<float (class RenderParams &, std::vector<float> const &)> const * (std::string const &, bool)>, class std::function<class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * (std::string const &, bool)>);
MCAPI ExpressionNode(std::string const &, class std::function<class std::function<float (class RenderParams &, std::vector<float> const &)> const * (std::string const &, bool)>, class std::function<class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * (std::string const &, bool)>);
MCAPI ExpressionNode(class Json::Value const &, class std::function<class std::function<float (class RenderParams &, std::vector<float> const &)> const * (std::string const &, bool)>, class std::function<class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * (std::string const &, bool)>);
MCAPI void clear();
MCAPI float evalAsFloat(class RenderParams &) const;
MCAPI struct MolangScriptArg evalGeneric(class RenderParams &) const;
MCAPI class ExpressionNode & operator=(class ExpressionNode const &);
MCAPI class ExpressionNode & operator=(float);
MCAPI class ExpressionNode & operator=(class ExpressionNode &&);
MCAPI bool optimize();
MCAPI bool parse(std::string const &, class std::function<class std::function<float (class RenderParams &, std::vector<float> const &)> const * (std::string const &, bool)>, class std::function<class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * (std::string const &, bool)>);
MCAPI ~ExpressionNode();
MCAPI static void addErrorMessage(std::string const &);
MCAPI static void buildExpressionOpTable();
MCAPI static float fast_atof_positiveOnly(char const *&);
MCAPI static class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * genericQueryFunctionAccessorFromString(std::string const &, bool);
MCAPI static class std::recursive_mutex & getQueryFunctionMutex();
MCAPI static bool initializeMolang();
MCAPI static std::vector<std::string> mExpressionOpTokens;
MCAPI static class std::function<float (class RenderParams &, std::vector<float> const &)> const * queryFunctionAccessorFromString(std::string const &, bool);
MCAPI static void registerGenericQueryFunction(std::string const &, class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)>, std::string const &, unsigned __int64, unsigned __int64);
MCAPI static void registerQueryFunction(std::string const &, class std::function<float (class RenderParams &, std::vector<float> const &)>, std::string const &, unsigned __int64, unsigned __int64);
//private:
MCAPI bool _checkIsValidAndPopulateUsedTokenFlags(unsigned __int64);
MCAPI float _evalAsFloat(class RenderParams &) const;
MCAPI bool _getToken(char const *&, class std::function<class std::function<float (class RenderParams &, std::vector<float> const &)> const * (std::string const &, bool)>, class std::function<class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * (std::string const &, bool)>, unsigned __int64 &);
MCAPI float _internalEvalAsFloat(class RenderParams &) const;
MCAPI bool buildTree(unsigned __int64, class std::function<class std::function<float (class RenderParams &, std::vector<float> const &)> const * (std::string const &, bool)>, class std::function<class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * (std::string const &, bool)>);
MCAPI bool findClosingOp(unsigned __int64 &, enum ExpressionOp) const;
MCAPI void optimizeFunctionCallParams();
MCAPI bool processArrays();
MCAPI bool processBinaryExpression(enum ExpressionOp);
MCAPI bool processMathFuncs();
MCAPI bool processNegatives();
MCAPI bool processParamsAndVariables();
MCAPI bool processSections();
MCAPI bool processSemicolons();
MCAPI bool processUnaryExpression(enum ExpressionOp);
MCAPI bool tokenize(char const *, unsigned __int64 &, class std::function<class std::function<float (class RenderParams &, std::vector<float> const &)> const * (std::string const &, bool)>, class std::function<class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> const * (std::string const &, bool)>);
private:
MCAPI static class std::function<struct MolangScriptArg (class RenderParams &, std::vector<struct MolangScriptArg> const &)> _defaultUnknownGenericQueryFunction;
MCAPI static class std::function<float (class RenderParams &, std::vector<float> const &)> _defaultUnknownQueryFunction;
MCAPI static class std::unordered_map<class HashedString, struct MolangGenericQueryFunction, struct std::hash<class HashedString>, struct std::equal_to<class HashedString>, class std::allocator<struct std::pair<class HashedString const, struct MolangGenericQueryFunction>>> mGenericQueryFunctionAccessors;
MCAPI static bool mMolangInitialized;
MCAPI static class std::unordered_map<class HashedString, struct MolangQueryFunction, struct std::hash<class HashedString>, struct std::equal_to<class HashedString>, class std::allocator<struct std::pair<class HashedString const, struct MolangQueryFunction>>> mQueryFunctionAccessors;
MCAPI static class Bedrock::Threading::ThreadLocalObject<struct EvalParams, class std::allocator<struct EvalParams>> mTemporaryMolangEvalParams;
};