// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Actor.hpp"
#include "Player.hpp"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class ServerPlayer : public Player {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_SERVERPLAYER
public:
    class ServerPlayer& operator=(class ServerPlayer const &) = delete;
    ServerPlayer(class ServerPlayer const &) = delete;
    ServerPlayer() = delete;
#endif

public:
    /*3*/ virtual void initializeComponents(enum Actor::InitializationMethod, class VariantParameterList const &);
    /*5*/ virtual void _serverInitItemStackIds();
    /*7*/ virtual ~ServerPlayer();
    /*30*/ virtual void __unk_vfn_30();
    /*39*/ virtual void normalTick();
    /*54*/ virtual void __unk_vfn_54();
    /*61*/ virtual void __unk_vfn_61();
    /*76*/ virtual void __unk_vfn_76();
    /*81*/ virtual void __unk_vfn_81();
    /*88*/ virtual void __unk_vfn_88();
    /*90*/ virtual void __unk_vfn_90();
    /*98*/ virtual void __unk_vfn_98();
    /*100*/ virtual void __unk_vfn_100();
    /*104*/ virtual bool isValidTarget(class Actor *) const;
    /*121*/ virtual void __unk_vfn_121();
    /*132*/ virtual void handleEntityEvent(enum ActorEvent, int);
    /*143*/ virtual void setArmor(enum ArmorSlot, class ItemStack const &);
    /*152*/ virtual void setOffhandSlot(class ItemStack const &);
    /*157*/ virtual bool load(class CompoundTag const &, class DataLoadHelper &);
    /*168*/ virtual bool canChangeDimensions() const;
    /*169*/ virtual void __unk_vfn_169();
    /*170*/ virtual void changeDimension(class AutomaticID<class Dimension, int>, bool);
    /*171*/ virtual struct ActorUniqueID getControllingPlayer() const;
    /*172*/ virtual void checkFallDamage(float, bool);
    /*174*/ virtual void handleFallDistanceOnServer(float, bool);
    /*182*/ virtual void __unk_vfn_182();
    /*199*/ virtual void onEffectAdded(class MobEffectInstance &);
    /*200*/ virtual void onEffectUpdated(class MobEffectInstance const &);
    /*201*/ virtual void onEffectRemoved(class MobEffectInstance &);
    /*206*/ virtual void __unk_vfn_206();
    /*207*/ virtual void __unk_vfn_207();
    /*228*/ virtual void __unk_vfn_228();
    /*231*/ virtual void __unk_vfn_231();
    /*233*/ virtual void die(class ActorDamageSource const &);
    /*238*/ virtual void __unk_vfn_238();
    /*246*/ virtual void __unk_vfn_246();
    /*257*/ virtual void __unk_vfn_257();
    /*258*/ virtual void knockback(class Actor *, int, float, float, float, float, float);
    /*278*/ virtual void aiStep();
    /*290*/ virtual void __unk_vfn_290();
    /*300*/ virtual void __unk_vfn_300();
    /*307*/ virtual void hurtArmor(class ActorDamageSource const &, int);
    /*308*/ virtual void setDamagedArmor(enum ArmorSlot, class ItemStack const &);
    /*309*/ virtual void sendArmorDamage(class std::bitset<4> const &);
    /*310*/ virtual void sendArmor(class std::bitset<4> const &);
    /*321*/ virtual void clearVanishEnchantedItems();
    /*322*/ virtual void sendInventory(bool);
    /*332*/ virtual void __unk_vfn_332();
    /*348*/ virtual void __unk_vfn_348();
    /*349*/ virtual void prepareRegion(class ChunkSource &);
    /*350*/ virtual void destroyRegion();
    /*351*/ virtual void suspendRegion();
    /*354*/ virtual void changeDimensionWithCredits(class AutomaticID<class Dimension, int>);
    /*355*/ virtual int tickWorld(struct Tick const &);
    /*356*/ virtual void __unk_vfn_356();
    /*360*/ virtual void checkMovementStats(class Vec3 const &);
    /*361*/ virtual void __unk_vfn_361();
    /*362*/ virtual void __unk_vfn_362();
    /*364*/ virtual void __unk_vfn_364();
    /*366*/ virtual void __unk_vfn_366();
    /*369*/ virtual void setPermissions(enum CommandPermissionLevel);
    /*372*/ virtual void __unk_vfn_372();
    /*373*/ virtual void __unk_vfn_373();
    /*374*/ virtual void openTrading(struct ActorUniqueID const &, bool);
    /*376*/ virtual void __unk_vfn_376();
    /*377*/ virtual void __unk_vfn_377();
    /*378*/ virtual void openInventory();
    /*379*/ virtual void __unk_vfn_379();
    /*380*/ virtual void __unk_vfn_380();
    /*381*/ virtual void displayTextObjectMessage(class TextObjectRoot const &);
    /*382*/ virtual void displayTextObjectWhisperMessage(class TextObjectRoot const &, std::string const &, std::string const &);
    /*383*/ virtual void displayWhisperMessage(std::string const &, std::string const &, std::string const &, std::string const &);
    /*385*/ virtual void stopSleepInBed(bool, bool);
    /*389*/ virtual void __unk_vfn_389();
    /*390*/ virtual void __unk_vfn_390();
    /*391*/ virtual void __unk_vfn_391();
    /*392*/ virtual bool isHostingPlayer() const;
    /*393*/ virtual bool isLoading() const;
    /*394*/ virtual bool isPlayerInitialized() const;
    /*395*/ virtual void __unk_vfn_395();
    /*398*/ virtual void setPlayerGameType(enum GameType);
    /*401*/ virtual void __unk_vfn_401();
    /*405*/ virtual void setContainerData(class IContainerManager &, int, int);
    /*406*/ virtual void slotChanged(class IContainerManager &, class Container &, int, class ItemStack const &, class ItemStack const &, bool);
    /*408*/ virtual void refreshContainer(class IContainerManager &);
    /*411*/ virtual bool isPositionRelevant(class AutomaticID<class Dimension, int>, class BlockPos const &);
    /*412*/ virtual bool isEntityRelevant(class Actor const &);
    /*413*/ virtual bool isTeacher() const;
    /*414*/ virtual void onSuspension();
    /*415*/ virtual void onLinkedSlotsChanged();
    /*419*/ virtual void sendInventoryTransaction(class InventoryTransaction const &) const;
    /*420*/ virtual void sendComplexInventoryTransaction(std::unique_ptr<class ComplexInventoryTransaction>) const;
    /*421*/ virtual void sendNetworkPacket(class Packet &) const;
    /*422*/ virtual class PlayerEventCoordinator & getPlayerEventCoordinator();
    /*423*/ virtual class MoveInputHandler * getMoveInputHandler();
    /*424*/ virtual enum InputMode getInputMode() const;
    /*425*/ virtual enum ClientPlayMode getPlayMode() const;
    /*426*/ virtual void reportMovementTelemetry(enum MovementEventType);
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_SERVERPLAYER
    MCVAPI void frameUpdate(class FrameUpdateContextBase &);
    MCVAPI void openNpcInteractScreen(class Actor &);
    MCVAPI void openPortfolio();
#endif
    MCAPI ServerPlayer(class Level &, class PacketSender &, class NetworkHandler &, class ClientBlobCache::Server::ActiveTransfersManager &, enum GameType, class NetworkIdentifier const &, unsigned char, class std::function<void (class ServerPlayer &)>, class mce::UUID, std::string const &, std::unique_ptr<class Certificate>, int, bool);
    MCAPI void checkCheating(class Vec3 const &);
    MCAPI void doDeleteContainerManager();
    MCAPI unsigned int findClientChunkRadius(unsigned int) const;
    MCAPI void handleActorPickRequestOnServer(class Actor const &, bool);
    MCAPI enum ContainerID openUnmanagedContainer();
    MCAPI bool recoverR5LostInventoryAndXP();
    MCAPI void selectItem(class ItemStack const &);
    MCAPI void sendMobEffectPackets();
    MCAPI void setClientChunkRadius(unsigned int);

//private:
    MCAPI void _removeNearbyEntities();
    MCAPI void _scanForNearbyActors();
    MCAPI void _setContainerManager(class std::shared_ptr<class IContainerManager>);
    MCAPI void _updateNearbyActors();

private:

};