LiteLoaderBDS-1.16.40/LiteLoader/Header/MC/ActorDefinitionGroup.hpp
2023-02-04 01:01:08 +08:00

73 lines
2.9 KiB
C++

// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Core.hpp"
#include "Json.hpp"
#define BEFORE_EXTRA
#include "ActorDefinition.hpp"
#include "ResourcePackManager.hpp"
#include "ActorDefinitionPtr.hpp"
#include "ActorComponentFactory.hpp"
#undef BEFORE_EXTRA
class ActorEventResponseFactory {
public:
class ActorEventResponseFactory& operator=(class ActorEventResponseFactory const &) = delete;
ActorEventResponseFactory(class ActorEventResponseFactory const &) = delete;
ActorEventResponseFactory() = delete;
};
class ActorDefinitionGroup {
#define AFTER_EXTRA
public:
struct LoadActorResult;
struct EDLWrapper {
std::unordered_map<std::string, std::unique_ptr<ActorDefinition>> mList;
};
public:
void** __vftable /*VFT*/;
std::unordered_set<ActorDefinitionPtr*> mRegisteredPtrs;
std::unordered_map<std::string, std::unique_ptr<ActorDefinition>> mDefinitions;
std::unordered_map<std::string, ActorDefinitionGroup::EDLWrapper> mTemplateMap;
ResourcePackManager* mResourcePackManager;
std::mutex mReferenceMutex;
IMinecraftEventing* mEventing;
ActorComponentFactory* mComponentFactory;
std::unique_ptr<ActorEventResponseFactory> mResponseFactory;
#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_ACTORDEFINITIONGROUP
public:
class ActorDefinitionGroup& operator=(class ActorDefinitionGroup const &) = delete;
ActorDefinitionGroup(class ActorDefinitionGroup const &) = delete;
ActorDefinitionGroup() = delete;
#endif
public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_ACTORDEFINITIONGROUP
#endif
MCAPI class ActorDefinitionPtr tryGetDefinition(std::string const &);
MCAPI class ActorDefinitionPtr tryGetDefinitionGroup(std::string const &, std::string const &);
MCAPI static bool loadActorDefinitionIdentifier(class Json::Value const &, class SemVersion const &, std::string &);
MCAPI static bool loadActorDefinitionRuntimeIdentifier(class Json::Value const &, class SemVersion const &, std::string &);
MCAPI static bool tryReadEntityResourceFile(class PackInstance &, class Core::Path const &, class Json::Value &);
//protected:
MCAPI void _addRef(class ActorDefinitionPtr &);
MCAPI void _removeRef(class ActorDefinitionPtr &);
//private:
MCAPI void _getResources(class Level &);
MCAPI struct ActorDefinitionGroup::LoadActorResult _loadActorDefinition(class Level &, class Json::Value &, class std::unordered_set<std::string, struct std::hash<std::string>, struct std::equal_to<std::string>, class std::allocator<std::string>> &);
MCAPI bool _loadDefinitionFromJSON(class SemVersion &, class Json::Value &, std::string const &, class Level &);
MCAPI void _loadTemplates(class Level &, std::string const &, class Json::Value, class SemVersion const &);
MCAPI void _setupAnimationResourceDefinitionMap(class ActorDefinition &, class Level &);
protected:
private:
};