#pragma once #include "APIHelp.h" //////////////////// Classes //////////////////// class Actor; class EntityClass : public ScriptClass { private: ActorUniqueID id; bool isValid = true; public: explicit EntityClass(Actor* p) : ScriptClass(ScriptClass::ConstructFromCpp{}) { set(p); } void set(Actor* actor); Actor* get(); static Local newEntity(Actor* p); static Actor* extract(Local v); static std::optional tryExtractActor(Local v); Local asPointer(const Arguments& args); Local getName(); Local getType(); Local getId(); Local getPos(); Local getBlockPos(); Local getMaxHealth(); Local getHealth(); Local getCanFly(); Local getCanFreeze(); Local getCanSeeDaylight(); Local getCanPickupItems(); Local getInAir(); Local getInWater(); Local getInClouds(); Local getInLava(); Local getInRain(); Local getInSnow(); Local getInWall(); Local getInWaterOrRain(); Local getInWorld(); Local getSpeed(); Local getDirection(); Local getUniqueID(); Local isInvisible(); Local isInsidePortal(); Local isTrusting(); Local isTouchingDamageBlock(); Local isOnFire(); Local isOnGround(); Local isOnHotBlock(); Local isTrading(); Local isRiding(); Local isDancing(); Local isSleeping(); Local isAngry(); Local teleport(const Arguments& args); Local kill(const Arguments& args); Local hurt(const Arguments& args); Local setOnFire(const Arguments& args); Local isPlayer(const Arguments& args); Local toPlayer(const Arguments& args); Local isItemEntity(const Arguments& args); Local toItem(const Arguments& args); Local getBlockStandingOn(const Arguments& args); Local getArmor(const Arguments& args); Local hasContainer(const Arguments& args); Local getContainer(const Arguments& args); Local refreshItems(const Arguments& args); Local getNbt(const Arguments& args); Local setNbt(const Arguments& args); Local addTag(const Arguments& args); // Local removeTag(const Arguments& args); Local hasTag(const Arguments& args); Local getAllTags(const Arguments& args); Local getEntityFromViewVector(const Arguments& args); // Local getBlockFromViewVector(const Arguments& args); // Local quickEvalMolangScript(const Arguments& args); }; extern ClassDefine EntityClassBuilder; extern ClassDefine ActorDamageCauseBuilder;