+ virtual const ItemGroupList &getArmorGroups()
+ { static const ItemGroupList rv; return rv; }
+ virtual void setPhysicsOverride(float physics_override_speed, float physics_override_jump, float physics_override_gravity)
+ {}
+ virtual void setAnimation(v2f frames, float frame_speed, float frame_blend, bool frame_loop)
+ {}
+ virtual void getAnimation(v2f *frames, float *frame_speed, float *frame_blend, bool *frame_loop)
+ {}
+ virtual void setBonePosition(const std::string &bone, v3f position, v3f rotation)
+ {}
+ virtual void getBonePosition(const std::string &bone, v3f *position, v3f *lotation)
+ {}
+ virtual void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation)
+ {}
+ virtual void getAttachment(int *parent_id, std::string *bone, v3f *position, v3f *rotation)
+ {}
+ virtual void addAttachmentChild(int child_id)
+ {}
+ virtual void removeAttachmentChild(int child_id)
+ {}
+ virtual const UNORDERED_SET<int> &getAttachmentChildIds()
+ { static const UNORDERED_SET<int> rv; return rv; }