aboutsummaryrefslogtreecommitdiff
path: root/builtin
Commit message (Expand)AuthorAge
...
* Fix to on_rightclick not able to change wielded_itemRealBadAngel2013-02-13
* Dont call on_rightclick() if sneak is pressedPilzAdam2013-01-27
* Fix spread of items in falling codePilzAdam2013-01-12
* Add on_rightclick(pos, node, clicker) callback for nodesPilzAdam2013-01-04
* Add ability to change the itemstack in placenode callbacksPilzAdam2012-12-17
* Fix item entity's collision with nodeboxesjordan4ibanez2012-12-15
* Only fly through walls in noclip mode wich requires the noclip privilegePilzAdam2012-12-11
* Fix minetest.get_node_drops(). It should always return list of item names, no...Ilya Zhuravlev2012-12-02
* Only check attachment for nodes with group attached_nodePilzAdam2012-12-01
* Add the group attached_nodePilzAdam2012-12-01
* Log /grant and /revoke command usageDannyDark2012-11-30
* Add shutdown hook interface to Lua APIMatthew I2012-11-30
* Revert "Use wielditem drawtype for all nodes in item_entity"Perttu Ahola2012-11-27
* Use wielditem drawtype for all nodes in item_entityPilzAdam2012-11-26
* Fix server crash on /clearpasswordAnthony2012-11-20
* Merge pull request #274 from PilzAdam/fallingPilzAdam2012-11-03
|\
| * Fix a bug in falling code where entities get stuckPilzAdam2012-11-03
* | Make air and ignore drop nothingPilzAdam2012-11-03
|/
* Remove a useless commentPilzAdam2012-10-31
* Move falling to builtinPilzAdam2012-10-31
* Statically store always_collect field of __builtin:itemPerttu Ahola2012-09-09
* Add overridable function for handling dropped items from nodesPerttu Ahola2012-09-02
* Fix github issue #213: Dropping unknown items crashes the gamePerttu Ahola2012-08-19
* Move chat commands to Lua and remove servercommand.{cpp,h}Matthew I2012-08-12
* Allow digging of unknown nodesMatthew I2012-08-12
* Make the rollback system VERY FUCKING GOD DAMN POWERFULPerttu Ahola2012-07-27
* Don't track liquids for rollback because of too much logPerttu Ahola2012-07-27
* Experimental-ish rollback functionalityPerttu Ahola2012-07-27
* Deprecate minetest.add_to_creative_inventory and use group not_in_creative_in...Perttu Ahola2012-07-25
* Remove special handling of creative modePerttu Ahola2012-07-25
* Detached inventory callbacks and reworked node metadata callbacksPerttu Ahola2012-07-25
* builtin/item.lua: callbacks with copies of positions and nodes rather than re...Perttu Ahola2012-07-24
* Add oldnode parameter to minetest.register_on_placenode callbackPerttu Ahola2012-07-23
* Fix building on top of (pointable && buildable_to) nodesPerttu Ahola2012-07-23
* Move /give, /giveme, /spawnentity and /pulverize to builtin/chatcommands.luaPerttu Ahola2012-07-23
* minetest.register_on_player_receive_fields()Perttu Ahola2012-07-22
* Add "/mods" command to list mods to clientMatthew I2012-07-22
* Actually fix facedir-rotated nodes placed using minetest.env:place_node()Perttu Ahola2012-07-21
* Check whether node is known before reading definition in __builtin:item:on_st...Perttu Ahola2012-07-21
* Message cleanups (consistency) and prevent /me when not allowed to shoutCalinou2012-07-21
* Handle nil placer as it might occur when using minetest.env:place_node. (Uberi)darkrose2012-07-21
* Fix /setpassword and /clearpasswordPerttu Ahola2012-06-16
* Remove tiles and special_tiles from node definition prototype because otherwi...Perttu Ahola2012-06-16
* Update field names to non-deprecated ones in node definition prototypePerttu Ahola2012-06-16
* Node placement client-side predictionPerttu Ahola2012-06-10
* Don't deprecate minetest.register_on_placenode and minetest.register_on_dignodePerttu Ahola2012-06-08
* Add minetest.serialize() and minetest.deserialize()Perttu Ahola2012-06-07
* place_node, dig_node and punch_node; an in-game tester tool; remove old codePerttu Ahola2012-06-05
* Add can_dig callbackdarkrose2012-06-03
* Add ObjRef:is_player() and modify ObjRef:get_player_name() to always return a...Perttu Ahola2012-06-03
"hl opt">*L); // minetest.get_gametime() static int l_get_gametime(lua_State *L); // minetest.find_node_near(pos, radius, nodenames) -> pos or nil // nodenames: eg. {"ignore", "group:tree"} or "default:dirt" static int l_find_node_near(lua_State *L); // minetest.find_nodes_in_area(minp, maxp, nodenames) -> list of positions // nodenames: eg. {"ignore", "group:tree"} or "default:dirt" static int l_find_nodes_in_area(lua_State *L); // minetest.get_perlin(seeddiff, octaves, persistence, scale) // returns world-specific PerlinNoise static int l_get_perlin(lua_State *L); // minetest.get_perlin_map(noiseparams, size) // returns world-specific PerlinNoiseMap static int l_get_perlin_map(lua_State *L); // minetest.get_voxel_manip() // returns world-specific voxel manipulator static int l_get_voxel_manip(lua_State *L); // minetest.clear_objects() // clear all objects in the environment static int l_clear_objects(lua_State *L); // minetest.spawn_tree(pos, treedef) static int l_spawn_tree(lua_State *L); // minetest.line_of_sight(pos1, pos2, stepsize) -> true/false static int l_line_of_sight(lua_State *L); // minetest.find_path(pos1, pos2, searchdistance, // max_jump, max_drop, algorithm) -> table containing path static int l_find_path(lua_State *L); // minetest.transforming_liquid_add(pos) static int l_transforming_liquid_add(lua_State *L); // minetest.forceload_block(blockpos) // forceloads a block static int l_forceload_block(lua_State *L); // minetest.forceload_free_block(blockpos) // stops forceloading a position static int l_forceload_free_block(lua_State *L); public: static void Initialize(lua_State *L, int top); }; class LuaABM : public ActiveBlockModifier { private: int m_id; std::set<std::string> m_trigger_contents; std::set<std::string> m_required_neighbors; float m_trigger_interval; u32 m_trigger_chance; public: LuaABM(lua_State *L, int id, const std::set<std::string> &trigger_contents, const std::set<std::string> &required_neighbors, float trigger_interval, u32 trigger_chance): m_id(id), m_trigger_contents(trigger_contents), m_required_neighbors(required_neighbors), m_trigger_interval(trigger_interval), m_trigger_chance(trigger_chance) { } virtual std::set<std::string> getTriggerContents() { return m_trigger_contents; } virtual std::set<std::string> getRequiredNeighbors() { return m_required_neighbors; } virtual float getTriggerInterval() { return m_trigger_interval; } virtual u32 getTriggerChance() { return m_trigger_chance; } virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n, u32 active_object_count, u32 active_object_count_wider); }; #endif /* L_ENV_H_ */