aboutsummaryrefslogtreecommitdiff
path: root/src/client/keys.h
Commit message (Expand)AuthorAge
* Add a key to toggle map block bounds (#11172)Seth Traverse2021-04-20
* Use "Aux1" key name consistently everywhereWuzzy2021-02-24
* Joystick: Remap joystick-specific KeyTypes to generic onesMarkus Koch2020-11-09
* Allow binding dig, place actions to keys; remove LMB/RMB hardcodingANAND2020-08-15
* Extend pitch fly mode to swimming (#7943)random-geek2018-12-31
* Raise hotbar limit to 32 slots, add associated keybinding options (#7916)Vanessa Dannenberg2018-12-02
* Added pitch fly mode (#7817)Gaël C2018-12-01
* Switch F3 to use 'enable_fog' settingThomasMonroe3142018-02-08
* Remove DSTACK support (#6346)Loïc Blot2017-08-30
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
* Make direct item selection keys freely bindableWuzzy2017-07-30
* Autorun: Change to 'autoforward' (#5926)Paramat2017-06-08
* Add configurable key bindings for hotbar scrolling, and for changing volume.Wuzzy2017-05-06
* LINT: Switch whitelist check from egrep to awkLoïc Blot2017-04-06
* Clang-format: trivial fix on some headers (#5495)Loïc Blot2017-04-01
* Change command prefix to "." and add "help" command.red-0012017-03-26
* Add zoom, tweakable with zoom_fov, default key: Z (like optifine)Esteban I. Ruiz Moreno2016-08-10
* Initial Gamepad supportest312016-06-03
* Input related generalisationsest312016-06-03
POSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef L_ITEM_H_ #define L_ITEM_H_ #include "lua_api/l_base.h" #include "inventory.h" // ItemStack class LuaItemStack : public ModApiBase { private: ItemStack m_stack; static const char className[]; static const luaL_reg methods[]; // Exported functions // garbage collector static int gc_object(lua_State *L); // is_empty(self) -> true/false static int l_is_empty(lua_State *L); // get_name(self) -> string static int l_get_name(lua_State *L); // set_name(self, name) static int l_set_name(lua_State *L); // get_count(self) -> number static int l_get_count(lua_State *L); // set_count(self, number) static int l_set_count(lua_State *L); // get_wear(self) -> number static int l_get_wear(lua_State *L); // set_wear(self, number) static int l_set_wear(lua_State *L); // get_metadata(self) -> string static int l_get_metadata(lua_State *L); // set_metadata(self, string) static int l_set_metadata(lua_State *L); // clear(self) -> true static int l_clear(lua_State *L); // replace(self, itemstack or itemstring or table or nil) -> true static int l_replace(lua_State *L); // to_string(self) -> string static int l_to_string(lua_State *L); // to_table(self) -> table or nil static int l_to_table(lua_State *L); // get_stack_max(self) -> number static int l_get_stack_max(lua_State *L); // get_free_space(self) -> number static int l_get_free_space(lua_State *L); // is_known(self) -> true/false // Checks if the item is defined. static int l_is_known(lua_State *L); // get_definition(self) -> table // Returns the item definition table from core.registered_items, // or a fallback one (name="unknown") static int l_get_definition(lua_State *L); // get_tool_capabilities(self) -> table // Returns the effective tool digging properties. // Returns those of the hand ("") if this item has none associated. static int l_get_tool_capabilities(lua_State *L); // add_wear(self, amount) -> true/false // The range for "amount" is [0,65535]. Wear is only added if the item // is a tool. Adding wear might destroy the item. // Returns true if the item is (or was) a tool. static int l_add_wear(lua_State *L); // add_item(self, itemstack or itemstring or table or nil) -> itemstack // Returns leftover item stack static int l_add_item(lua_State *L); // item_fits(self, itemstack or itemstring or table or nil) -> true/false, itemstack // First return value is true iff the new item fits fully into the stack // Second return value is the would-be-left-over item stack static int l_item_fits(lua_State *L); // take_item(self, takecount=1) -> itemstack static int l_take_item(lua_State *L); // peek_item(self, peekcount=1) -> itemstack static int l_peek_item(lua_State *L); public: LuaItemStack(const ItemStack &item); ~LuaItemStack(); const ItemStack& getItem() const; ItemStack& getItem(); // LuaItemStack(itemstack or itemstring or table or nil) // Creates an LuaItemStack and leaves it on top of stack static int create_object(lua_State *L); // Not callable from Lua static int create(lua_State *L, const ItemStack &item); static LuaItemStack* checkobject(lua_State *L, int narg); static void Register(lua_State *L); }; class ModApiItemMod : public ModApiBase { private: static int l_register_item_raw(lua_State *L); static int l_register_alias_raw(lua_State *L); static int l_get_content_id(lua_State *L); static int l_get_name_from_content_id(lua_State *L); public: static void Initialize(lua_State *L, int top); }; #endif /* L_ITEM_H_ */