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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class Boat : public Actor {

#define AFTER_EXTRA

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

public:
    /*1*/ virtual void reloadHardcoded(enum Actor::InitializationMethod, class VariantParameterList const &);
    /*2*/ virtual void reloadHardcodedClient(enum Actor::InitializationMethod, class VariantParameterList const &);
    /*7*/ virtual ~Boat();
    /*11*/ virtual void remove();
    /*30*/ virtual void __unk_vfn_30();
    /*39*/ virtual void normalTick();
    /*45*/ virtual void addRider(class Actor &);
    /*47*/ virtual std::string getExitTip(std::string const &, enum InputMode) const;
    /*54*/ virtual void __unk_vfn_54();
    /*61*/ virtual void __unk_vfn_61();
    /*73*/ virtual float getShadowHeightOffs();
    /*74*/ virtual float getShadowRadius() const;
    /*76*/ virtual void __unk_vfn_76();
    /*81*/ virtual void __unk_vfn_81();
    /*83*/ virtual void onAboveBubbleColumn(bool);
    /*87*/ virtual bool isPickable();
    /*88*/ virtual void __unk_vfn_88();
    /*90*/ virtual void __unk_vfn_90();
    /*98*/ virtual void __unk_vfn_98();
    /*100*/ virtual void __unk_vfn_100();
    /*121*/ virtual void __unk_vfn_121();
    /*124*/ virtual bool isInvulnerableTo(class ActorDamageSource const &) const;
    /*169*/ virtual void __unk_vfn_169();
    /*171*/ virtual struct ActorUniqueID getControllingPlayer() const;
    /*178*/ virtual bool canAddRider(class Actor &) const;
    /*182*/ virtual void __unk_vfn_182();
    /*206*/ virtual void __unk_vfn_206();
    /*207*/ virtual void __unk_vfn_207();
    /*210*/ virtual float getRiderYRotation(class Actor const &) const;
    /*228*/ virtual void __unk_vfn_228();
    /*231*/ virtual void __unk_vfn_231();
    /*238*/ virtual void __unk_vfn_238();
    /*240*/ virtual bool _hurt(class ActorDamageSource const &, int, bool, bool);
    /*246*/ virtual void __unk_vfn_246();
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_BOAT
#endif
    MCAPI Boat(class ActorDefinitionGroup *, struct ActorDefinitionIdentifier const &);
    MCAPI void computePaddleForcesBasedOnGaze(class Vec3 &, float &, float &, float, float);
    MCAPI void destroy(class Actor *);
    MCAPI float getRowingTime(enum Side) const;
    MCAPI void setRowingTime(enum Side, float);

//protected:
    MCAPI void setBubbleTime(int);
    MCAPI void tickBubbleColumn();

//private:
    MCAPI void _computePaddleForce(float &, float &, float, float);
    MCAPI void _control();
    MCAPI void _float();
    MCAPI void _paddleControl(enum Side, class Vec3 &, class Vec3 &);

protected:

private:

};