aboutsummaryrefslogtreecommitdiff
path: root/doc
Commit message (Expand)AuthorAge
* lua_api.txt: improve vector documentationest312016-03-19
* Allow nodes to specify which sides to connect to.Auke Kok2016-03-12
* Nodebox: Allow nodeboxes to "connect"Auke Kok2016-03-12
* Add consistent monotonic day counter - get_day_count()Auke Kok2016-03-09
* Add AreaStore custom ID APIShadowNinja2016-03-07
* Implement AreaStore serializationShadowNinja2016-03-07
* Simplify AreaStore ID managementShadowNinja2016-03-07
* Add minetest.register_lbm() to run code on block load onlyest312016-03-07
* Decoration API: Allow force_placement of simple decorationsparamat2016-03-04
* Require minetest.request_http_api to be called from the mod's main scopeJeija2016-03-03
* Fix a mistake in the world format documentationAleksey Vorona2016-03-03
* Add Lua interface to HTTPFetchRequestJeija2016-02-22
* Require request_insecure_environment to be called from the mod's main scopeShadowNinja2016-02-19
* Initialize facedir and wallmounted tables only once.Diego Martinez2016-02-11
* Add '/clearobjects quick'Kahrl2016-02-11
* New timer design.Auke Kok2016-01-29
* Clocksource: use a better clock if available.Auke Kok2016-01-29
* Allow per-tiles culling.Auke Kok2016-01-20
* Show infotext with description for item entitiesRealBadAngel2016-01-18
* corrected minetest.pos_to_string()Pinky Snow2016-01-16
* Mapgen: Various fixes and improvementsparamat2016-01-11
* Actually add Doxygen main pageShadowNinja2016-01-09
* fixed spellingPinky Snow2016-01-09
* Clarified what get_node does.Robert Zenz2016-01-09
* Update lua_api.txtslemonide2016-01-09
* Liquids: Flow into and destroy 'floodable' nodesparamat2016-01-07
* Improve DoxyfileShadowNinja2016-01-04
* Made it more clear that "[combine" does accept a list of files.Robert Zenz2016-01-03
* Add missing documentation of automatic_face_movement_max_rotation_per_sec ent...Sapier2015-12-25
* Add option to give every object a nametagBlockMen2015-12-15
* lua_api.txt: add blank lines before * listsest312015-12-07
* Mapgen: Add propagate_shadow bool to calcLightingparamat2015-12-07
* Fix spelling of noise_thresholdJun Zhang2015-12-06
* Document limitations of minetest.get_password_hashest312015-12-02
* Add on_secondary_use when right clicking an item in the airAlex Ford2015-12-02
* Lua_api.txt: Add documentation for biome definitionparamat2015-11-29
* Add LuaSecureRandomest312015-11-08
* Improve LuaVoxelManip documentationkwolekr2015-11-07
* Add support for audio feedback if placing node failedBlockMen2015-11-07
* Add server side ncurses terminalest312015-11-06
* Schematics: Add core.place_schematic_on_vmanip APIkwolekr2015-11-05
* Add callback parameter for core.emerge_area()kwolekr2015-11-02
* SAPI: Move core.get_us_time() to Util modulekwolekr2015-10-26
* Add option to disable backface culling for modelsBlockMen2015-10-25
* Improve Lua settings menuPilzAdam2015-10-24
* Decoration API: Add flag for placement on liquid surfaceparamat2015-10-23
* Add more ways to pass data to check_player_privsRobert Zenz2015-10-22
* ABMs: Make catch-up behaviour optionalparamat2015-10-18
* Refactor loggingShadowNinja2015-10-14
* Correct SRP documentationest312015-10-06
>pos) end, after_place_node=function(pos) advtrains.reset_trackdb_position(pos) end, } minetest.register_node(def.nodename_prefix.."_st", advtrains.merge_tables(common_def, make_overdef("st", 0, 4), def.straight or {})) minetest.register_node(def.nodename_prefix.."_st_45", advtrains.merge_tables(common_def, make_overdef("st_45", 1, 5), def.straight45 or {})) minetest.register_node(def.nodename_prefix.."_cr", advtrains.merge_tables(common_def, make_overdef("cr", 0, 3), def.curve or {})) minetest.register_node(def.nodename_prefix.."_cr_45", advtrains.merge_tables(common_def, make_overdef("cr_45", 1, 4), def.curve45 or {})) advtrains.trackplacer_register(def.nodename_prefix.."_st", 0, 4) advtrains.trackplacer_register(def.nodename_prefix.."_st_45", 1, 5) advtrains.trackplacer_register(def.nodename_prefix.."_cr", 0, 3) advtrains.trackplacer_register(def.nodename_prefix.."_cr_45", 1, 4) minetest.register_node(def.nodename_prefix.."_swl_st", advtrains.merge_tables(common_def, make_overdef("swl_st", 0, 4, make_switchfunc("swl_cr")), def.lswitchst or {})) minetest.register_node(def.nodename_prefix.."_swl_st_45", advtrains.merge_tables(common_def, make_overdef("swl_st_45", 1, 5, make_switchfunc("swl_cr_45")), def.lswitchst45 or {})) minetest.register_node(def.nodename_prefix.."_swl_cr", advtrains.merge_tables(common_def, make_overdef("swl_cr", 0, 3, make_switchfunc("swl_st")), def.lswitchcr or {})) minetest.register_node(def.nodename_prefix.."_swl_cr_45", advtrains.merge_tables(common_def, make_overdef("swl_cr_45", 1, 4, make_switchfunc("swl_st_45")), def.lswitchcr45 or {})) minetest.register_node(def.nodename_prefix.."_swr_st", advtrains.merge_tables(common_def, make_overdef("swr_st", 0, 4, make_switchfunc("swr_cr")), def.rswitchst or {})) minetest.register_node(def.nodename_prefix.."_swr_st_45", advtrains.merge_tables(common_def, make_overdef("swr_st_45", 1, 5, make_switchfunc("swr_cr_45")), def.rswitchst45 or {})) minetest.register_node(def.nodename_prefix.."_swr_cr", advtrains.merge_tables(common_def, make_overdef("swr_cr", 0, 5, make_switchfunc("swr_st")), def.rswitchcr or {})) minetest.register_node(def.nodename_prefix.."_swr_cr_45", advtrains.merge_tables(common_def, make_overdef("swr_cr_45", 1, 6, make_switchfunc("swr_st_45")), def.rswitchcr45 or {})) minetest.register_node(def.nodename_prefix.."_vert1", advtrains.merge_tables(common_def, make_overdef("vert1", 0, 4), { mesh = "trackvertical1.b3d", rely1=0, rely2=0.5, railheight=0.25, description = def.description.." (vertical track lower node)", }, def.vert1 or {})) minetest.register_node(def.nodename_prefix.."_vert2", advtrains.merge_tables(common_def, make_overdef("vert2", 0, 4), { mesh = "trackvertical2.b3d", rely1=0.5, rely2=1, railheight=0.75, description = def.description.." (vertical track lower node)", },def.vert2 or {})) advtrains.register_track_placer(def.nodename_prefix, def.texture_prefix, def.description) table.insert(advtrains.all_tracktypes, tracktype) end advtrains.register_tracks("regular", { nodename_prefix="advtrains:track", texture_prefix="advtrains_track", description="Regular Train Track", }) function advtrains.is_track_and_drives_on(nodename, drives_on) if not minetest.registered_nodes[nodename] then return false end local nodedef=minetest.registered_nodes[nodename] for k,v in ipairs(drives_on) do if nodedef.groups["advtrains_track_"..v] then return true end end return false end function advtrains.get_track_connections(name, param2) local nodedef=minetest.registered_nodes[name] if not nodedef then print("[advtrains] get_track_connections couldn't find nodedef for nodename "..(name or "nil")) return 0, 4, 0, 0, 0 end local noderot=param2 if not param2 then noderot=0 end if noderot > 3 then print("[advtrains] get_track_connections: rail has invaild param2 of "..noderot) noderot=0 end return (nodedef.connect1 + 2 * noderot)%8, (nodedef.connect2 + 2 * noderot)%8, nodedef.rely1 or 0, nodedef.rely2 or 0, nodedef.railheight or 0 end