Skip to content
Snippets Groups Projects
  1. Dec 20, 2018
  2. Nov 28, 2018
  3. Oct 09, 2018
  4. Oct 04, 2018
  5. Aug 28, 2018
  6. Jul 13, 2018
  7. Jun 19, 2018
  8. Mar 28, 2018
  9. Mar 13, 2018
  10. Feb 20, 2018
  11. Jan 02, 2018
  12. Nov 27, 2017
  13. Nov 06, 2017
  14. Oct 27, 2017
  15. Oct 10, 2017
    • tenplus1's avatar
      TNT: Add tnt.boom defaults · 3ff29696
      tenplus1 authored
      This adds def, def.radius and def.damage_radius defaults to the
      tnt.boom() function if they aren't specified on call.
      3ff29696
  16. Aug 26, 2017
    • tenplus1's avatar
      TNT: Add explode_center flag · fe67ffda
      tenplus1 authored
      Add 'explode_centre' flag which when false explodes as normal and when true runs on_blast on centre node as well as dropping items.
      fe67ffda
  17. Aug 18, 2017
  18. Aug 09, 2017
  19. Aug 06, 2017
  20. Aug 01, 2017
  21. Jul 16, 2017
  22. Jul 02, 2017
  23. May 01, 2017
  24. Apr 12, 2017
    • paramat's avatar
      Bushes: Add saplings · a57d2db5
      paramat authored
      Bush saplings grow in half the time of tree saplings.
      Bushes do not need 'from sapling' schematic variants because only the
      stem node is force-placed in the mapgen schematic, so only the sapling
      is force-replaced.
      Bush leaves drop saplings with a rarity that ensures at least 1 sapling
      per bush on average.
      a57d2db5
    • paramat's avatar
      PB&J Pup: Remove mod · d68d2c08
      paramat authored
      Also delete nyancat API documentation from game_api.txt.
      d68d2c08
  25. Feb 25, 2017
    • MarkuBu's avatar
      Leafdecay: Node timer based implementation, API · 60e5b299
      MarkuBu authored
      This implements a node-timer based leafdecay mechanism, and exposes
      an API to use it in mods.
      
      The API is documented in game_api.txt.
      
      `default.register_leafdecay(leafdecaydef)`
      
      `leafdecaydef` is a table, with following members:
      {
      	trunks = { "default:tree"}, -- nodes considered trunks
      	leaves = { "default:leaves", "default:apple"}, -- nodes considered leaves
      	radius = 3, -- activates leafdecay this far from the trunk
      }
      
      The algorithm will drop `leaves` items in the area if no `trunks` are found
      in the `trunk_radius` sized area around the position of the leaf. If a node
      listed in `leaves` has a group `leafdecay_drop > 0`, then the item is dropped,
      otherwise the item is removed but not dropped.
      
      The algorithm also implements a value `default.leafdecay_speed` (default
      15) which can be modified to increase or decrease of the leaf decay. The
      algorithm will vary the actual speed a bit to introduce randomness.
      
      Leaf decay is randomized by 0.1 seconds to reduce the chance that
      decay happens many times on the same second interval. This requires
      nodetimer_interval to be set to values lower than 1.0 to have an
      effect.
      
      The leaves will decay between 2 and 10 seconds after digging the trunk,
      and happen at non-integer second intervals.
      
      -- The API was added by sofar.
      60e5b299
  26. Feb 11, 2017
  27. Jan 26, 2017
  28. Dec 05, 2016
  29. Nov 27, 2016
  30. Nov 25, 2016
    • Auke Kok's avatar
      Keys: Allow easy sharing of access without commands · e4b1c935
      Auke Kok authored
      This code adds the key concept to minetest_game, and integrates it
      with lockable nodes. Currently supported lockable items are the Steel
      Door, the Steel Trapdoor, and the Locked Chest.
      
      The goal of this modification is to introduce a fine-grained multi-
      player permission system that is intuitive and usable without any
      console or chat commands, and doesn't require extra privileges to
      be granted or setup. Keys can also physically be conveyed to other
      players, adding to gameplay and adding some personality that is
      preferable to console commands or editing formspecs.
      
      A skeleton key can be crafted with 1 gold ingot. Skeleton keys can
      then be matched to a lockable node by right-clicking the skeleton
      key on a lockable node, which changes the skeleton key to a "key".
      
      Gold was chosen as it's currently a not-so very useful item, and
      therefore it's likely that players have some, but aren't really
      using it for any purpose.
      
      This key can subsequently used by any player to open or access that
      lockable node, including retrieving items from Locked Chests, or
      putting items in them.
      
      They key is programmed to fit only the particular locked node it is
      programmed to. This is achieved by storing a secret value in both
      key and locked node. If this secret value doesn't match, the key
      will not open the locked node. This allows many keys to be created
      for one chest or door, but a key will only fit one node ever. The
      secrets are stored in node, and item meta for the key.
      
      If a locked node is removed, all keys that opened it are no longer
      valid. Even if a new door/chest is placed in exactly the same spot,
      the old keys will no longer fit that node.
      
      Keys can be smelted back in gold ingots if they are no longer useful.
      
      The method of storing a secret in nodemeta and itemstackmeta is secure
      as there is no way for the client to create new items on the server
      with a particular secret metadata value. Even if you could possible
      create such an itemstack on the client, the server does not ever read
      itemstackmeta from a client package.
      
      The patch adds an API that allows other nodes and nodes added by
      mods to use the same keys as well. The method how to implement this
      is described in game_api.txt. The mod should add 2 callbacks to it's
      node definition. Example code is given.
      
      Textures are from PixelBOX, thanks to Gambit.
      e4b1c935
  31. Nov 21, 2016
    • Auke Kok's avatar
      Carts: Merge boost_cart as "carts" mod · 1e691c44
      Auke Kok authored
      This is all the working code from SmallJoker's boost_cart, poored into
      a more suitable form for minetest_game.
      
      - Mesecons and moreores stuff was removed entirely.
      - Textures were all renamed and moved out of default/
      - Updated license, readme.txt, attribution
      - Changed code license to MIT, left artwork at CC0
      - removed default:rail and made aliases for it
      - :carts:rail is now carts:rail.
      - localized entity def
      - removed copper rail entirely
      - startstop rail was removed, as well as detector rail
      - remodeled to b3d using stujones11 excellent blend model, but sizes
        of cart adjusted to make pixel sizes consistent (0.625) everywhere.
      - slightly more complex texture map for the cart (front/side visibly
        different)
      - rail parameters are passed as a separate def table, and stored in
        a private list. This avoids having to call `get_meta` on every
        node. In return, we need the node name, though.
      - adds metal sounds (based on default metal sound function) and
        cart moving sound.
      - reduced cart speeds to max 7, 5 by pushing.
      - Added on_step() rail event handler, gets called when a cart is on
        a rail.
      - Added various rebased updates from upstream (thanks Krock)
      - Included a fix that removes the 'reverse jiggle' when stopping.
      - Included reworked textures by sofar.
      
      The mod namespace is still public, but I'm NOT declaring it an API. I'd
      rather see it localized instead, for now. Any public interface in this
      code is *experimental* at best, and should be considered non-stable and
      unsupported for now.
      1e691c44
  32. Nov 07, 2016
  33. Nov 02, 2016
  34. Oct 25, 2016
  35. Oct 12, 2016
  36. Oct 10, 2016
    • tenplus1's avatar
      Tnt: Various optimisations · 6fdfd255
      tenplus1 authored
      Pass nodename to tnt.burn function where possible to reduce
      use of 'get_node'.
      Change 'ipairs' to 'pairs'.
      Use 'nodeupdate_single(pos)' instead of 'nodeupdate(pos)' to
      avoid every node triggering recursion, the loop itself takes
      the place of recursion and works upwards through horizontal
      planes as required.
      6fdfd255
  37. Sep 10, 2016
    • Auke Kok's avatar
      Xpanes: Convert to connected nodeboxes · 54235f32
      Auke Kok authored
      I've rewritten this to use connected nodeboxes, but with a caveat. In
      order to make flat nodes look better, I'm keeping one non-connected
      pane that is flat around to convert flat sections to the flat nodes
      instead of connected, as these look better and are easier to work
      with. Once more sides are needed we convert the panes on the fly to
      connected nodes and recalculate the shape.
      
      We don't paint any of the half-panes that the previous generation of
      xpanes did. There's no need and it's harder to work with. Updating the
      nodes also seems more natural and placement and removal works straight
      forward.
      
      The conversion of old panes relies on an LBM, and does a reasonable
      conversion job, but it's not exact, since the panes behave slightly
      different now.
      
      The game API documentation was wrong to begin with. We discard param
      nr. 2 of the API entirely, and correct the tile usage text.
      54235f32
  38. Aug 05, 2016
    • Tim's avatar
      Screwdriver: disallow rotation with `on_rotate = false` · 20fa0373
      Tim authored
      Other screwdriver mods, or mods that cause rotation, might operate without the screwdriver mod loaded and have `screwdriver.disallow` unavailable.
      This allows nodes to default to full-disallow rather than full-rotation in such a situation.
      20fa0373
Loading