From d82e2449a0282232c6e6acd1a84514ee5332f4db Mon Sep 17 00:00:00 2001 From: "lapayo94@gmail.com" Date: Mon, 9 Jul 2012 15:53:17 +0000 Subject: Improved Squirrel Bindings Added AddCommand / BindCommand for Squirrel Plugins git-svn-id: http://mc-server.googlecode.com/svn/trunk@652 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/squirrelbindings/SquirrelBindings.cpp | 129 ++++++++++++++++++++++++++- 1 file changed, 128 insertions(+), 1 deletion(-) (limited to 'source/squirrelbindings/SquirrelBindings.cpp') diff --git a/source/squirrelbindings/SquirrelBindings.cpp b/source/squirrelbindings/SquirrelBindings.cpp index 27a82c306..f0291b39b 100644 --- a/source/squirrelbindings/SquirrelBindings.cpp +++ b/source/squirrelbindings/SquirrelBindings.cpp @@ -3,6 +3,7 @@ #include "SquirrelFunctions.h" #include "cSquirrelBaseClass.h" +#include "SquirrelArray.h" #include "../cPlayer.h" @@ -15,9 +16,135 @@ void BindSquirrel(HSQUIRRELVM vm) RootTable() .Bind("Plugin", Class() .Func("AddHook", &cSquirrelBaseClass::AddHook) + .Func("AddCommand", &cSquirrelBaseClass::AddCommand) + .Func("BindCommand", &cSquirrelBaseClass::BindCommand) ); - RootTable().Bind("cPlayer", Class() + + RootTable().Bind("Vector3f", Class() + .Func("Set", &Vector3f::Set) + .Func("Normalize", &Vector3f::Normalize) + .Func("Length", &Vector3f::Length) + .Func("SqrLength", &Vector3f::SqrLength) + .Var("x", &Vector3f::x) + .Var("y", &Vector3f::y) + .Var("z", &Vector3f::z) + ); + + RootTable().Bind("Vector3d", Class() + .Func("Set", &Vector3d::Set) + .Func("Normalize", &Vector3d::Normalize) + .Func("Length", &Vector3d::Length) + .Func("SqrLength", &Vector3d::SqrLength) + .Var("x", &Vector3d::x) + .Var("y", &Vector3d::y) + .Var("z", &Vector3d::z) + ); + + RootTable().Bind("cEntity", Class() + .Func("GetEntityType", &cEntity::GetEntityType) + .Func("IsA", &cEntity::IsA) + .Func("GetWorld", &cEntity::GetWorld) + .Func("GetPosition", &cEntity::GetPosition) + .Func("GetPosX", &cEntity::GetPosX) + .Func("GetPosY", &cEntity::GetPosY) + .Func("GetPosZ", &cEntity::GetPosZ) + .Func("GetRot", &cEntity::GetRot) + .Func("GetRotation", &cEntity::GetRotation) + .Func("GetPitch", &cEntity::GetPitch) + .Func("GetRoll", &cEntity::GetRoll) + .Func("SetRotation", &cEntity::SetRotation) + .Func("SetPitch", &cEntity::SetPitch) + .Func("SetRoll", &cEntity::SetRoll) + .Func("GetLookVector", &cEntity::GetLookVector) + .Func("GetChunkX", &cEntity::GetChunkX) + .Func("GetChunkY", &cEntity::GetChunkY) + .Func("GetChunkZ", &cEntity::GetChunkZ) + .Func("SetPosX", &cEntity::SetPosX) + .Func("SetPosY", &cEntity::SetPosY) + .Func("SetPosZ", &cEntity::SetPosZ) + .Func("SetPosition", &cEntity::SetPosition) + .Func("GetUniqueID", &cEntity::GetUniqueID) + .Func("IsDestroyed", &cEntity::IsDestroyed) + .Func("Destroy", &cEntity::Destroy) + .Func("SpawnOn", &cEntity::SpawnOn) + + ); + + ConstTable().Enum("MetaData", Enumeration() + .Const("Normal", cPawn::NORMAL) + .Const("Burning", cPawn::BURNING) + .Const("Crouched", cPawn::CROUCHED) + .Const("Riding", cPawn::RIDING) + .Const("Sprinting", cPawn::SPRINTING) + .Const("Eating", cPawn::EATING) + .Const("Blocking", cPawn::BLOCKING) + ); + + RootTable().Bind("cPawn", DerivedClass() + .Func("TeleportToEntity", &cPawn::TeleportToEntity) + .Func("TeleportTo", &cPawn::TeleportTo) + .Func("Heal", &cPawn::Heal) + .Func("TakeDamage", &cPawn::TakeDamage) + .Func("KilledBy", &cPawn::KilledBy) + .Func("GetHealth", &cPawn::GetHealth) + .Func("SetMetaData", &cPawn::SetMetaData) + .Func("GetMetaData", &cPawn::GetMetaData) + .Func("SetMaxHealth", &cPawn::SetMaxHealth) + .Func("GetMaxHealth", &cPawn::GetMaxHealth) + .Func("GetMaxFood", &cPawn::GetMaxFood) + .Func("GetFood", &cPawn::GetFood) + .Func("GetMaxFoodSaturation", &cPawn::GetMaxFoodSaturation) + .Func("GetFoodSaturation", &cPawn::GetFoodSaturation) + .Func("SetMaxFoodLevel", &cPawn::SetMaxFoodLevel) + .Func("GetMaxFoodLevel", &cPawn::SetMaxFoodLevel) + ); + + RootTable().Bind("cPlayer", DerivedClass() .Func("GetName", &cPlayer::GetName) + .Func("SetTouchGround", &cPlayer::SetTouchGround) + .Func("SetStance", &cPlayer::SetStance) + .Func("GetEyeHeight", &cPlayer::GetEyeHeight) + .Func("GetEyePosition", &cPlayer::GetEyePosition) + .Func("GetFlying", &cPlayer::GetFlying) + .Func("GetStance", &cPlayer::GetStance) + //TODO .Func("GetInventory", &cPlayer::GetInventory) + .Func("TeleportTo", &cPlayer::TeleportTo) + .Func("GetGameMode", &cPlayer::GetGameMode) + .Func("GetIP", &cPlayer::GetIP) + .Func("GetLastBlockActionTime", &cPlayer::GetLastBlockActionTime) + .Func("GetLastBlockActionCnt", &cPlayer::GetLastBlockActionCnt) + .Func("SetLastBlockActionCnt", &cPlayer::SetLastBlockActionCnt) + .Func("SetLastBlockActionTime", &cPlayer::SetLastBlockActionTime) + .Func("SetGameMode", &cPlayer::SetGameMode) + .Func("LoginSetGameMode", &cPlayer::LoginSetGameMode) + .Func("SetIP", &cPlayer::SetIP) + .Func("MoveTo", &cPlayer::MoveTo) + .Func("GetClientHandle", &cPlayer::GetClientHandle) + .Func("SendMessage", &cPlayer::SendMessage) + .Func("AddToGroup", &cPlayer::AddToGroup) + .Func("CanUseCommand", &cPlayer::CanUseCommand) + .Func("HasPermission", &cPlayer::HasPermission) + .Func("IsInGroup", &cPlayer::IsInGroup) + .Func("GetColor", &cPlayer::GetColor) + .Func("TossItem", &cPlayer::TossItem) + .Func("Heal", &cPlayer::Heal) + .Func("Feed", &cPlayer::Feed) + .Func("TakeDamage", &cPlayer::TakeDamage) + .Func("KilledBy", &cPlayer::KilledBy) + .Func("Respawn", &cPlayer::Respawn) + .Func("SetVisible", &cPlayer::SetVisible) + .Func("IsVisible", &cPlayer::IsVisible) + .Func("MoveToWorld", &cPlayer::MoveToWorld) + .Func("GetLoadedWorldName", &cPlayer::GetLoadedWorldName) + .Func("UseEquippedItem", &cPlayer::UseEquippedItem) + .Func("EatItem", &cPlayer::EatItem) + + ); + + RootTable().Bind("StringArray", Class() + .Func("Get", &SquirrelStringArray::Get) + .Func("Add", &SquirrelStringArray::Add) + .Func("Size", &SquirrelStringArray::Size) ); -- cgit v1.2.3