GithubHelp home page GithubHelp logo

minetest / minetest_docs Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 12.0 2.78 MB

Minetest Engine documentation (Work in progress. Meanwhile, please refer to lua_api.txt and dev.minetest.net)

License: Other

minetest_docs's Introduction

Minetest

Build Status Translation status License

Minetest is a free open-source voxel game engine with easy modding and game creation.

Copyright (C) 2010-2022 Perttu Ahola [email protected] and contributors (see source file comments and the version control log)

Table of Contents

  1. Further Documentation
  2. Default Controls
  3. Paths
  4. Configuration File
  5. Command-line Options
  6. Compiling
  7. Docker
  8. Version Scheme

Further documentation

Default controls

All controls are re-bindable using settings. Some can be changed in the key config dialog in the settings tab.

Button Action
Move mouse Look around
W, A, S, D Move
Space Jump/move up
Shift Sneak/move down
Q Drop itemstack
Shift + Q Drop single item
Left mouse button Dig/punch/use
Right mouse button Place/use
Shift + right mouse button Build (without using)
I Inventory menu
Mouse wheel Select item
0-9 Select item
Z Zoom (needs zoom privilege)
T Chat
/ Command
Esc Pause menu/abort/exit (pauses only singleplayer game)
+ Increase view range
- Decrease view range
K Enable/disable fly mode (needs fly privilege)
J Enable/disable fast mode (needs fast privilege)
H Enable/disable noclip mode (needs noclip privilege)
E Aux1 (Move fast in fast mode. Games may add special features)
C Cycle through camera modes
V Cycle through minimap modes
Shift + V Change minimap orientation
F1 Hide/show HUD
F2 Hide/show chat
F3 Disable/enable fog
F4 Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds)
F5 Cycle through debug information screens
F6 Cycle through profiler info screens
F10 Show/hide console
F12 Take screenshot

Paths

Locations:

  • bin - Compiled binaries
  • share - Distributed read-only data
  • user - User-created modifiable data

Where each location is on each platform:

  • Windows .zip / RUN_IN_PLACE source:
    • bin = bin
    • share = .
    • user = .
  • Windows installed:
    • bin = C:\Program Files\Minetest\bin (Depends on the install location)
    • share = C:\Program Files\Minetest (Depends on the install location)
    • user = %APPDATA%\Minetest or %MINETEST_USER_PATH%
  • Linux installed:
    • bin = /usr/bin
    • share = /usr/share/minetest
    • user = ~/.minetest or $MINETEST_USER_PATH
  • macOS:
    • bin = Contents/MacOS
    • share = Contents/Resources
    • user = Contents/User or ~/Library/Application Support/minetest or $MINETEST_USER_PATH

Worlds can be found as separate folders in: user/worlds/

Configuration file

  • Default location: user/minetest.conf
  • This file is created by closing Minetest for the first time.
  • A specific file can be specified on the command line: --config <path-to-file>
  • A run-in-place build will look for the configuration file in location_of_exe/../minetest.conf and also location_of_exe/../../minetest.conf

Command-line options

  • Use --help

Compiling

Docker

Version scheme

We use major.minor.patch since 5.0.0-dev. Prior to that we used 0.major.minor.

  • Major is incremented when the release contains breaking changes, all other numbers are set to 0.
  • Minor is incremented when the release contains new non-breaking features, patch is set to 0.
  • Patch is incremented when the release only contains bugfixes and very minor/trivial features considered necessary.

Since 5.0.0-dev and 0.4.17-dev, the dev notation refers to the next release, i.e.: 5.0.0-dev is the development version leading to 5.0.0. Prior to that we used previous_version-dev.

minetest_docs's People

Contributors

appgurueu avatar benrob0329 avatar greenxenith avatar josiahwi avatar minetest-j45 avatar rollerozxa avatar veprogames avatar wsor4035 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minetest_docs's Issues

Document profiler

As well as other profiling methods (LuaJIT, simply wrapping in get_us_time etc)

Add guides

Ideas for guides:

  • How to properly sandbox Lua
  • How to: Inter-process communication (IPC)

Document ItemStack returning functions

on_use etc. Include a note that prevents people from making the common mistake of trying to modify the inventory before/instead of returning the itemstack they want to be set.

Match lua_api.txt coverage (mega tracker)

Namespaces

minetest
  • minetest.add_entity
  • minetest.add_item
  • minetest.add_node_level
  • minetest.add_node
  • minetest.add_particle
  • minetest.add_particlespawner
  • minetest.after
  • minetest.auth_reload
  • minetest.ban_player
  • minetest.bulk_set_node
  • minetest.calculate_knockback
  • minetest.cancel_shutdown_requests
  • minetest.chat_send_all
  • minetest.chat_send_player
  • minetest.check_for_falling
  • minetest.check_password_entry
  • minetest.check_player_privs
  • minetest.check_single_for_falling
  • minetest.clear_craft
  • minetest.clear_objects
  • minetest.clear_registered_biomes
  • minetest.clear_registered_decorations
  • minetest.clear_registered_ores
  • minetest.clear_registered_schematics
  • minetest.close_formspec
  • minetest.colorize
  • minetest.colorspec_to_bytes
  • minetest.colorspec_to_colorstring
  • minetest.compare_block_status
  • minetest.compress
  • minetest.cpdir
  • minetest.create_detached_inventory
  • minetest.create_schematic
  • minetest.debug
  • minetest.decode_base64
  • minetest.decompress
  • minetest.delete_area
  • minetest.delete_particlespawner
  • minetest.deserialize
  • minetest.dig_node
  • minetest.dir_to_facedir
  • minetest.dir_to_wallmounted
  • minetest.dir_to_yaw
  • minetest.disconnect_player
  • minetest.do_item_eat
  • minetest.dynamic_add_media
  • minetest.emerge_area
  • minetest.encode_base64
  • minetest.encode_png
  • minetest.explode_scrollbar_event
  • minetest.explode_table_event
  • minetest.explode_textlist_event
  • minetest.facedir_to_dir
  • minetest.find_node_near
  • minetest.find_nodes_in_area_under_air
  • minetest.find_nodes_in_area
  • minetest.find_nodes_with_meta
  • minetest.find_path
  • minetest.fix_light
  • minetest.forceload_block
  • minetest.forceload_free_block
  • minetest.format_chat_message
  • minetest.formspec_escape
  • minetest.formspec_escape
  • minetest.generate_decorations
  • minetest.generate_ores
  • minetest.get_all_craft_recipes
  • minetest.get_artificial_light
  • minetest.get_auth_handler
  • minetest.get_background_escape_sequence
  • minetest.get_ban_description
  • minetest.get_ban_list
  • minetest.get_biome_data
  • minetest.get_biome_id
  • minetest.get_biome_name
  • minetest.get_color_escape_sequence
  • minetest.get_connected_players
  • minetest.get_content_id
  • minetest.get_craft_recipe
  • minetest.get_craft_result
  • minetest.get_current_modname
  • minetest.get_day_count
  • minetest.get_decoration_id
  • minetest.get_dig_params
  • minetest.get_dir_list
  • minetest.get_gametime
  • minetest.get_gen_notify
  • minetest.get_heat
  • minetest.get_hit_params
  • minetest.get_humidity
  • minetest.get_item_group
  • minetest.get_mapgen_object
  • minetest.get_mapgen_params
  • minetest.get_mapgen_setting_noiseparams
  • minetest.get_mapgen_setting
  • minetest.get_meta
  • minetest.get_mod_storage
  • minetest.get_modnames
  • minetest.get_modpath
  • minetest.get_name_from_content_id
  • minetest.get_natural_light
  • minetest.get_node_drops
  • minetest.get_node_group
  • minetest.get_node_level
  • minetest.get_node_light
  • minetest.get_node_max_level
  • minetest.get_node_or_nil
  • minetest.get_node_timer
  • minetest.get_node
  • minetest.get_noiseparams
  • minetest.get_objects_in_area
  • minetest.get_objects_inside_radius
  • minetest.get_password_hash
  • minetest.get_player_by_name
  • minetest.get_player_information
  • minetest.get_player_ip
  • minetest.get_player_privs
  • minetest.get_pointed_thing_position
  • minetest.get_position_from_hash
  • minetest.get_server_max_lag
  • minetest.get_server_status
  • minetest.get_server_uptime
  • minetest.get_spawn_level
  • minetest.get_timeofday
  • minetest.get_translator
  • minetest.get_us_time
  • minetest.get_version
  • minetest.get_worldpath
  • minetest.global_exists
  • minetest.handle_node_drops
  • minetest.has_feature
  • minetest.hash_node_position
  • minetest.hud_replace_builtin
  • minetest.inventorycube
  • minetest.is_area_protected
  • minetest.is_colored_paramtype
  • minetest.is_creative_enabled
  • minetest.is_nan
  • minetest.is_player
  • minetest.is_protected
  • minetest.is_singleplayer
  • minetest.is_yes
  • minetest.item_drop
  • minetest.item_eat
  • minetest.item_place_node
  • minetest.item_place_object
  • minetest.item_place
  • minetest.itemstring_with_color
  • minetest.itemstring_with_palette
  • minetest.kick_player
  • minetest.line_of_sight
  • minetest.load_area
  • minetest.log
  • minetest.mkdir
  • minetest.mvdir
  • minetest.node_dig
  • minetest.node_punch
  • minetest.notify_authentication_modified
  • minetest.override_chatcommand
  • minetest.override_item
  • minetest.parse_json
  • minetest.place_node
  • minetest.place_schematic_on_vmanip
  • minetest.place_schematic
  • minetest.player_exists
  • minetest.pointed_thing_to_face_pos
  • minetest.pos_to_string
  • minetest.privs_to_string
  • minetest.punch_node
  • minetest.raillike_group
  • minetest.read_schematic
  • minetest.record_protection_violation
  • minetest.register_abm
  • minetest.register_alias_force
  • minetest.register_alias
  • minetest.register_allow_player_inventory_action
  • minetest.register_authentication_handler
  • minetest.register_biome
  • minetest.register_can_bypass_userlimit
  • minetest.register_chatcommand
  • minetest.register_craft_predict
  • minetest.register_craft
  • minetest.register_craftitem
  • minetest.register_decoration
  • minetest.register_entity
  • minetest.register_globalstep
  • minetest.register_lbm
  • minetest.register_node
  • minetest.register_on_auth_fail
  • minetest.register_on_authplayer
  • minetest.register_on_chat_message
  • minetest.register_on_chatcommand
  • minetest.register_on_cheat
  • minetest.register_on_craft
  • minetest.register_on_dieplayer
  • minetest.register_on_dignode
  • minetest.register_on_generated
  • minetest.register_on_item_eat
  • minetest.register_on_joinplayer
  • minetest.register_on_leaveplayer
  • minetest.register_on_liquid_transformed
  • minetest.register_on_mods_loaded
  • minetest.register_on_newplayer
  • minetest.register_on_placenode
  • minetest.register_on_player_hpchange
  • minetest.register_on_player_inventory_action
  • minetest.register_on_player_receive_fields
  • minetest.register_on_prejoinplayer
  • minetest.register_on_priv_grant
  • minetest.register_on_priv_revoke
  • minetest.register_on_protection_violation
  • minetest.register_on_punchnode
  • minetest.register_on_punchplayer
  • minetest.register_on_respawnplayer
  • minetest.register_on_rightclickplayer
  • minetest.register_on_shutdown
  • minetest.register_ore
  • minetest.register_privilege
  • minetest.register_schematic
  • minetest.register_tool
  • minetest.remove_detached_inventory
  • minetest.remove_node
  • minetest.remove_player_auth
  • minetest.remove_player
  • minetest.request_insecure_environment
  • minetest.request_shutdown
  • minetest.rgba
  • minetest.rmdir
  • minetest.rollback_get_node_actions
  • minetest.rollback_revert_actions_by
  • minetest.rotate_and_place
  • minetest.rotate_node
  • minetest.safe_file_write
  • minetest.send_join_message
  • minetest.send_leave_message
  • minetest.serialize_schematic
  • minetest.serialize
  • minetest.set_gen_notify
  • minetest.set_mapgen_params
  • minetest.set_mapgen_setting_noiseparams
  • minetest.set_mapgen_setting
  • minetest.set_node_level
  • minetest.set_node
  • minetest.set_noiseparams
  • minetest.set_player_password
  • minetest.set_player_privs
  • minetest.set_timeofday
  • minetest.setting_get_pos
  • minetest.sha1
  • minetest.show_formspec
  • minetest.sound_fade
  • minetest.sound_play
  • minetest.sound_stop
  • minetest.spawn_falling_node
  • minetest.spawn_tree
  • minetest.string_to_area
  • minetest.string_to_pos
  • minetest.string_to_privs
  • minetest.strip_background_colors
  • minetest.strip_colors
  • minetest.strip_foreground_colors
  • minetest.strip_param2_color
  • minetest.swap_node
  • minetest.transforming_liquid_add
  • minetest.translate
  • minetest.unban_player_or_ip
  • minetest.unregister_biome
  • minetest.unregister_chatcommand
  • minetest.unregister_item
  • minetest.wallmounted_to_dir
  • minetest.wrap_text
  • minetest.write_json
  • minetest.yaw_to_dir

Global Tables

  • minetest.env
  • minetest.features
  • minetest.luaentities
  • minetest.object_refs
  • minetest.registered_abms
  • minetest.registered_aliases
  • minetest.registered_biomes
  • minetest.registered_chatcommands
  • minetest.registered_craftitems
  • minetest.registered_decorations
  • minetest.registered_entities
  • minetest.registered_items
  • minetest.registered_lbms
  • minetest.registered_nodes
  • minetest.registered_ores
  • minetest.registered_privileges
  • minetest.registered_schematics
  • minetest.registered_tools
  • minetest.settings

Constants

  • minetest.CONTENT_AIR
  • minetest.CONTENT_IGNORE
  • minetest.CONTENT_UNKNOWN
  • minetest.EMERGE_CANCELLED
  • minetest.EMERGE_ERRORED
  • minetest.EMERGE_FROM_DISK
  • minetest.EMERGE_FROM_MEMORY
  • minetest.EMERGE_GENERATED
  • minetest.LIGHT_MAX
  • minetest.PLAYER_MAX_BREATH_DEFAULT
  • minetest.PLAYER_MAX_HP_DEFAULT
math (done)
  • math.factorial
  • math.hypot
  • math.round
  • math.sign
string (done)
  • string.split
  • string:trim
table (done)
  • table.copy
  • table.indexof
  • table.insert_all
  • table.key_value_swap
  • table.shuffle
vector (done)
  • vector.add
  • vector.angle
  • vector.apply
  • vector.combine
  • vector.check
  • vector.copy
  • vector.cross
  • vector.dir_to_rotation
  • vector.direction
  • vector.distance
  • vector.divide
  • vector.dot
  • vector.equals
  • vector.floor
  • vector.from_string
  • vector.length
  • vector.multiply
  • vector.new
  • vector.normalize
  • vector.offset
  • vector.rotate_around_axis
  • vector.rotate
  • vector.round
  • vector.sort
  • vector.subtract
  • vector.to_string
  • vector.zero

Methods

AreaStore
  • AreaStore
  • AreaStore:from_file
  • AreaStore:from_string
  • AreaStore:get_area
  • AreaStore:get_areas_for_pos
  • AreaStore:get_areas_in_area
  • AreaStore:insert_area
  • AreaStore:remove_area
  • AreaStore:reserve
  • AreaStore:set_cache_params
  • AreaStore:to_file
  • AreaStore:to_string
HTTPApi
  • minetest.request_http_api
  • HTTPApi.fetch
  • HTTPApi.fetch_async
  • HTTPApi.fetch_async_get
InvRef
  • InvRef:add_item
  • InvRef:contains_item
  • InvRef:get_list
  • InvRef:get_lists
  • InvRef:get_location
  • InvRef:get_size
  • InvRef:get_stack
  • InvRef:get_width
  • InvRef:is_empty
  • InvRef:remove_item
  • InvRef:room_for_item
  • InvRef:set_list
  • InvRef:set_lists
  • InvRef:set_size
  • InvRef:set_stack
  • InvRef:set_width
ItemStack (done)
  • ItemStack
  • ItemStack:add_item
  • ItemStack:add_wear
  • ItemStack:clear
  • ItemStack:get_count
  • ItemStack:get_definition
  • ItemStack:get_description
  • ItemStack:get_free_space
  • ItemStack:get_meta
  • ItemStack:get_metadata
  • ItemStack:get_name
  • ItemStack:get_short_description
  • ItemStack:get_stack_max
  • ItemStack:get_tool_capabilities
  • ItemStack:get_wear
  • ItemStack:is_empty
  • ItemStack:is_known
  • ItemStack:item_fits
  • ItemStack:peek_item
  • ItemStack:replace
  • ItemStack:set_count
  • ItemStack:set_metadata
  • ItemStack:set_name
  • ItemStack:set_wear
  • ItemStack:take_item
  • ItemStack:to_string
  • ItemStack:to_table
ItemStackMetaRef (done)
  • ItemStackMetaRef:set_tool_capabilities
MetaDataRef (done)
  • MetaDataRef:contains
  • MetaDataRef:equals
  • MetaDataRef:from_table
  • MetaDataRef:get_float
  • MetaDataRef:get_int
  • MetaDataRef:get_string
  • MetaDataRef:get
  • MetaDataRef:set_float
  • MetaDataRef:set_int
  • MetaDataRef:set_string
  • MetaDataRef:to_table
ModChannel (done)
  • minetest.mod_channel_join
  • minetest.register_on_modchannel_message
  • ModChannel:is_writeable
  • ModChannel:leave
  • ModChannel:send_all
NodeMetaRef (done)
  • NodeMetaRef:get_inventory
  • NodeMetaRef:mark_as_private
NodeTimerRef
  • NodeTimerRef:get_elapsed
  • NodeTimerRef:get_timeout
  • NodeTimerRef:is_started
  • NodeTimerRef:set
  • NodeTimerRef:start
  • NodeTimerRef:stop
ObjectRef
  • ObjectRef:add_velocity
  • ObjectRef:get_acceleration
  • ObjectRef:get_animation
  • ObjectRef:get_armor_groups
  • ObjectRef:get_attach
  • ObjectRef:get_bone_position
  • ObjectRef:get_children
  • ObjectRef:get_entity_name
  • ObjectRef:get_hp
  • ObjectRef:get_inventory
  • ObjectRef:get_luaentity
  • ObjectRef:get_nametag_attributes
  • ObjectRef:get_pos
  • ObjectRef:get_properties
  • ObjectRef:get_rotation
  • ObjectRef:get_staticdata
  • ObjectRef:get_texture_mod
  • ObjectRef:get_velocity
  • ObjectRef:get_wield_index
  • ObjectRef:get_wield_list
  • ObjectRef:get_wielded_item
  • ObjectRef:get_yaw
  • ObjectRef:is_player
  • ObjectRef:move_to
  • ObjectRef:on_activate
  • ObjectRef:on_attach_child
  • ObjectRef:on_deactivate
  • ObjectRef:on_death
  • ObjectRef:on_detach_child
  • ObjectRef:on_detach
  • ObjectRef:on_punch
  • ObjectRef:on_rightclick
  • ObjectRef:on_step
  • ObjectRef:punch
  • ObjectRef:remove
  • ObjectRef:right_click
  • ObjectRef:set_acceleration
  • ObjectRef:set_animation_frame_speed
  • ObjectRef:set_animation
  • ObjectRef:set_armor_groups
  • ObjectRef:set_attach
  • ObjectRef:set_bone_position
  • ObjectRef:set_detach
  • ObjectRef:set_hp
  • ObjectRef:set_nametag_attributes
  • ObjectRef:set_pos
  • ObjectRef:set_properties
  • ObjectRef:set_rotation
  • ObjectRef:set_sprite
  • ObjectRef:set_texture_mod
  • ObjectRef:set_velocity
  • ObjectRef:set_wielded_item
  • ObjectRef:set_yaw
PlayerRef
  • PlayerRef:add_player_velocity
  • PlayerRef:get_attribute
  • PlayerRef:get_breath
  • PlayerRef:get_clouds
  • PlayerRef:get_day_night_ratio
  • PlayerRef:get_eye_offset
  • PlayerRef:get_formspec_prepend
  • PlayerRef:get_fov
  • PlayerRef:get_inventory_formspec
  • PlayerRef:get_local_animation
  • PlayerRef:get_look_dir
  • PlayerRef:get_look_horizontal
  • PlayerRef:get_look_pitch
  • PlayerRef:get_look_vertical
  • PlayerRef:get_look_yaw
  • PlayerRef:get_meta
  • PlayerRef:get_moon
  • PlayerRef:get_physics_override
  • PlayerRef:get_player_control_bits
  • PlayerRef:get_player_control
  • PlayerRef:get_player_name
  • PlayerRef:get_player_velocity
  • PlayerRef:get_sky_color
  • PlayerRef:get_sky
  • PlayerRef:get_stars
  • PlayerRef:get_sun
  • PlayerRef:hud_add
  • PlayerRef:hud_change
  • PlayerRef:hud_get_flags
  • PlayerRef:hud_get
  • PlayerRef:hud_remove
  • PlayerRef:hud_set_flags
  • PlayerRef:hud_set_hotbar_image
  • PlayerRef:hud_set_hotbar_itemcount
  • PlayerRef:hud_set_hotbar_selected_image
  • PlayerRef:override_day_night_ratio
  • PlayerRef:send_mapblock
  • PlayerRef:set_attribute
  • PlayerRef:set_breath
  • PlayerRef:set_clouds
  • PlayerRef:set_eye_offset
  • PlayerRef:set_formspec_prepend
  • PlayerRef:set_fov
  • PlayerRef:set_inventory_formspec
  • PlayerRef:set_local_animation
  • PlayerRef:set_look_horizontal
  • PlayerRef:set_look_pitch
  • PlayerRef:set_look_vertical
  • PlayerRef:set_look_yaw
  • PlayerRef:set_minimap_modes
  • PlayerRef:set_moon
  • PlayerRef:set_physics_override
  • PlayerRef:set_sky
  • PlayerRef:set_sky
  • PlayerRef:set_stars
  • PlayerRef:set_sun
PcgRandom
  • PcgRandom
  • PcgRandom:next
  • PcgRandom:rand_normal_dist
PerlinNoise
  • minetest.get_perlin
  • PerlinNoise
  • PerlinNoise:get_2d
  • PerlinNoise:get_3d
PerlinNoiseMap
  • minetest.get_perlin_map
  • PerlinNoiseMap
  • PerlinNoiseMap:calc_2d_map
  • PerlinNoiseMap:calc_3d_map
  • PerlinNoiseMap:get_2d_map_flat
  • PerlinNoiseMap:get_2d_map
  • PerlinNoiseMap:get_3d_map_flat
  • PerlinNoiseMap:get_3d_map
  • PerlinNoiseMap:get_map_slice
PseudoRandom
  • PseudoRandom
  • PseudoRandom:next
Raycast (done)
  • Raycast
  • minetest.raycast
  • Raycast:next
SecureRandom
  • SecureRandom
  • SecureRandom:next_bytes
Settings
  • Settings
  • Settings:get_bool
  • Settings:get_flags
  • Settings:get_names
  • Settings:get_np_group
  • Settings:get
  • Settings:remove
  • Settings:set_bool
  • Settings:set_np_group
  • Settings:set
  • Settings:to_table
  • Settings:write
VoxelArea (done)
  • VoxelArea:contains
  • VoxelArea:containsi
  • VoxelArea:containsp
  • VoxelArea:getExtent
  • VoxelArea:getVolume
  • VoxelArea:index
  • VoxelArea:indexp
  • VoxelArea:iter
  • VoxelArea:iterp
  • VoxelArea:position
VoxelManip
  • minetest.get_voxel_manip
  • VoxelManip
  • VoxelManip:calc_lighting
  • VoxelManip:get_data
  • VoxelManip:get_emerged_area
  • VoxelManip:get_light_data
  • VoxelManip:get_node_at
  • VoxelManip:get_param2_data
  • VoxelManip:read_from_map
  • VoxelManip:set_data
  • VoxelManip:set_light_data
  • VoxelManip:set_lighting
  • VoxelManip:set_node_at
  • VoxelManip:set_param2_data
  • VoxelManip:update_liquids
  • VoxelManip:update_map
  • VoxelManip:was_modified
  • VoxelManip:write_to_map

Other

Formspec Elements
  • anchor
  • animated_image
  • background
  • background
  • background9
  • bgcolor
  • box
  • button
  • button_exit
  • checkbox
  • container
  • container_end
  • dropdown
  • dropdown
  • field
  • field
  • field_close_on_enter
  • formspec_version
  • hypertext
  • image
  • image_button
  • image_button
  • image_button_exit
  • item_image
  • item_image_button
  • label
  • list
  • list
  • listcolors
  • listcolors
  • listcolors
  • listring
  • listring
  • model
  • no_prepend
  • padding
  • position
  • pwdfield
  • real_coordinates
  • scroll_container
  • scroll_container_end
  • scrollbar
  • scrollbaroptions
  • set_focus
  • size
  • style
  • style_type
  • tabheader
  • tabheader
  • tabheader
  • table
  • tablecolumns
  • tableoptions
  • textarea
  • textlist
  • textlist
  • tooltip
  • tooltip
  • vertlabel
Texture Modifiers (done)
  • [brighten
  • [colorize
  • [combine
  • [crack
  • [cracko
  • [inventorycube
  • [invert
  • [lowpart
  • [makealpha
  • [mask
  • [multiply
  • [noalpha
  • [opacity
  • [png
  • [resize
  • [sheet
  • [transform
  • [verticalframe

Future of this project

This project seems to be dying from inactivity (we're falling behind latest master in terms of docs more and more rather than closing the gap as per #16) and I'd like to discuss how we should proceed. Possible options I see:

  • Archive the repo, bury the project, cut the losses.
  • Try to revive the project, get it rolling again. The last attempt at this ("first sprint": #38) failed. It seems we, the project members, don't have adequate resources to work on this currently.
  • This brings me to the next point: Should we try to attract "documentators" to keep this project going?
  • Alternatively, if we decide to bury this project, we should not let the effort so far go to waste. Should we:
    • Try to get it merged into the minetest Markdown docs (requires conversion to Markdown, will send us back to PR hell)?
    • Preserve it by putting it on the wiki (it seems @rollerozxa has been working on this)?

What do you think: Where is this project headed, where should it be headed?

Relicense to CC-BY-SA (3.0/4.0?)

The choice of CC-BY 4.0 for this project was short sighted as all other current documentation (Minetest engine doc/ including lua_api.txt and the Minetest Wiki) are licensed under CC-BY-SA 3.0. We should relicense to CC-BY-SA (3.0/4.0?) so we can make use of these resources for the project.

Config Template Blocked by Safe Mode

There is not a whole lot that needs to be said about this. We probably do not want to run the production server in unsafe mode, but the next level up, safe mode, does not permit accessing ancestor directories of the document.

Edit: We can specify a base directory for the conversion, but we get this warning when doing so: asciidoctor: WARNING: include file has illegal reference to ancestor of jail; recovering automatically

Template is overly verbose and at times misleading

  1. Why all the {type-<typename>} macros rather than just <typename>?
  2. Why are properties documented as Vehicle.property? This implies that they were "class variables" (static in Java) rather than per-instance fields. I suggest documenting them just as property to reduce redundancy. Why do fields not use the table format used for arguments & returns?
  3. "Usage" is redundant with arguments + returns
  4. Methods shouldn't be referred to as Vehicle:method as this may be confused with the class:new syntax often used for Lua OOP which MT doesn't use. Vehicle shouldn't be littered all over the document.
  5. Method names should be in monospace.
  6. Table styling should not be all over the place.

Build instructions are missing

It is entirely unclear to me how to build this project.

I am pretty sure the build is just a few commands, but it is not documented.

Licensing

We have to choose a license. Suggestions so far:

  • LGPLv2.1 (like Minetest and implicitly the existing lua_api.txt)
  • MIT (should be compatible with LGPLv2.1)
  • CC BY 4.0
  • CC BY-SA 4.0

My personal preference would be MIT.

Document the common pitfalls

The documentation will likely always lag behind the latest version of the engine, and not everything is thoroughly documented in the first place. But considering that games and mods have various issues related to improper API usage, impacting both players and contributors, a guide covering the most common pitfalls would be very useful.

So instead of sharing empty criticism about how some games and mods are "broken beyond repair", a guide to addressing common issues is the mature thing to do. This helps the entire ecosystem.

`set_player_privs` footguns

Both of these warrant a DANGER admonition:

  1. Attempting to use set_player_privs incrementally by doing just minetest.set_player_privs(name, {my_priv = true}) and expecting it to grant my_priv (whereas in reality it revokes all privs except for my_priv)
  2. Attempting to use set_player_privs as if a boolean false value was treated as revoking a priv (whereas the privs are a set and thus this is treated as granting the priv): privs.my_priv = false; minetest.set_player_privs(name, privs)

@rollerozxa is being assigned for heretic variable naming inherited from a poorly written Sudoku game.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.