Skip to content
Snippets Groups Projects
  1. Mar 01, 2017
    • Auke Kok's avatar
      Allow interaction with nodes while wielding these items. · 78c632eb
      Auke Kok authored
      - beds
      - boats
      - carts
      - key/skeleton key
      - seeds
      
      All these had on_place handlers that did not allow nodes with
      an on_rightclick() handler to be used first (if not using
      sneak). This code is taken from the torches mod and applied
      everywhere.
      
      This allows all these items to e.g. be inserted into the `frame`
      mod's item frames.
      78c632eb
  2. Feb 09, 2017
  3. Dec 13, 2016
    • paramat's avatar
      Default: Add missing 'default_dig_snappy' sound · 55a16cd2
      paramat authored
      Some nodes with the snappy group (wool, glass pane, seeds) were missing
      sound when dug with a sword.
      Adding the sound causes it to be used for glass pane, so define a 'dig'
      sound in the 'node sound glass defaults' table, use the footstep sound.
      Adding the sound also causes it to be used for seeds which deliberately
      have no dig sound, so add an empty sound override for seed dig.
      
      Reduce the gain of the glass footstep sound which was excessively loud.
      
      Add some freesound members to license.txt.
      55a16cd2
  4. Dec 04, 2016
    • Auke Kok's avatar
      Farming: Change wheat into # shaped plant · ea9c4012
      Auke Kok authored
      This changes the farming API such that any nodedef with paramtype2
      and place_param2 are passed through to all the plant stages of the
      farming plant.
      
      This allows plants to use an alternative mesh for the plantlike
      drawtype, and provide a bit of graphical variation in plants.
      
      We enable this for wheat, using place_param2 = 3, which is the '#'
      shaped plant mesh. If you would actually be able to give yourself
      this plant in creative or through /give, you would also get the
      same '#' shape.
      ea9c4012
  5. Nov 26, 2016
    • paramat's avatar
      Farming/fire: Add tool break sounds · e8376215
      paramat authored
      Add tool break sounds to hoes and flint and steel.
      Flint and steel: Reduce gain of use sound and only add tool wear
      if not in creative mode.
      e8376215
  6. Nov 21, 2016
  7. Nov 20, 2016
    • Auke Kok's avatar
      Fix whitespace errors to silence luacheck. · 75caa916
      Auke Kok authored
      Currently all minetest_game PR's are failing travis since the
      upstream luacheck now also warns about whitespace issues, and
      there are a few of those in the code. This fixes all of them
      so we can yet again rely on luacheck.
      75caa916
    • paramat's avatar
      Textures: Revert many back to RGBA to fix visual bug · 47efa2f5
      paramat authored
      With mip-mapping enabled, some GPUs cause a visual bug with indexed
      textures that use alpha. This bug has been present for a while but
      not noticed before. All indexed alpha textures must now be converted
      to RGBA, to start this process we revert some textures converted to
      indexed in the recent commit af3c9186.
      47efa2f5
  8. Nov 18, 2016
    • Auke Kok's avatar
      Convert many textures to indexed color · af3c9186
      Auke Kok authored
      This fixes all cases where the color profile was broken, and
      libpng warns about. It also makes almost all textures indexed
      instead of RGB where possible (textures that don't have
      semi-transparent pixels).
      af3c9186
  9. Nov 02, 2016
    • cx384's avatar
      Add and edit fuel registrations · 23ba2d3a
      cx384 authored
      Edited fuels: fences, wooden ladder.
      New fuels:
      boat, paper, book, dry shrub, stick, vessels shelf, wooden tools,
      wooden door, trapdoor, fence gates, farming crops, stairs, slabs, beds.
      23ba2d3a
  10. Oct 25, 2016
  11. Oct 12, 2016
  12. Sep 27, 2016
  13. Sep 07, 2016
  14. Sep 06, 2016
  15. Sep 05, 2016
    • paramat's avatar
      Licenses: Change WTFPL to MIT (part 1) · e9d26e2e
      paramat authored
      Part 1: All mods except default and xpanes.
      Add license.txt files.
      Add missing README.txt files.
      Check and update copyright years for all contributors.
      Improve text format and make more consistent.
      e9d26e2e
  16. Aug 09, 2016
  17. Jul 15, 2016
  18. Jul 09, 2016
  19. Jun 18, 2016
  20. Jun 04, 2016
  21. May 25, 2016
    • Auke Kok's avatar
      Farming: Convert plants to use node timers · 70ef7864
      Auke Kok authored
      This PR requires @minetest/minetest#3677
      
      Farming and plant growth has traditionally in minetest been
      implemented using ABM's. These ABM's periodically tick and cause
      plants to grow. The way these ABM's work has several side effects
      that can be considered harmful.
      
      Not to mention a comprehensive list of downsides here, but ABM's
      are chance-dependent. That results in the chance that some nodes
      potentially never get processed by the ABM action, and others get
      processed always. One can easily find this effect by planting a large
      field of crops, and seeing that some nodes are fully grown really
      fast, and some just won't make it to fully grown status even after
      hours or play time.
      
      One could solve the problem by making the ABM's slower, and giving them
      a 100% of action, but this would cause the entire field to grow a step
      instantly at ABM intervals, and is both ugly, and a large number of
      node updates that needs to be sent out to each client. Very un-ideal.
      
      With NodeTimers though, each node will see a separate node timer event,
      and they will likely not coalesce. This means that we can stop relying
      on chance to distribute plant growth, and assign a single timer event
      to grow the plant to the next phase.  Due to the timer implementation,
      we won't ever miss a growth event, and we can re-scehdule them until
      the plant has reached full size.
      
      Previously, plants would attempt to grow every 9 seconds, with a
      chance of 1/20. This means typically, a plant would need 9*20 seconds
      to grow 1 phase, and since there are 8 steps, a typical plant growth
      would require 9*20*8 ABM node events. (spread out over 9*8 ABM actual
      underlying events per block, roughly).
      
      because plants are likely not growing to full for a very long time
      due to statistics working against it (5% of the crops take 20x longer
      than the median to grow to full, we'd be seeing ABMs fire possibly
      up to 9*20*8*20 with a 95% confidence interval (the actual math
      is likely off, but the scale should be correct). That's incredibly
      wasteful. We'd reach those conditions easily with 20 plant nodes.
      
      Now, after we convert to NodeTimers, each plant node will see exactly
      8 NodeTimer events, and no more. This scales lineairly per plant.
      
      I've tuned the growth rate of crops to be mature in just under 3
      whole days. That's about 1hr of game time. Previously, about half
      the crops would grow to full in under 2 days, but many plants would
      still not be mature by the end of day 3. This is more consistent.
      
      An additional problem in the farming mod was that the final fully-grown
      plant was also included in the ABM, causing infinite more ABM's even
      after the entire field had grown to completion.
      
      Now, we're left with the problem that none of the pre-existing plants
      have actual node timers started on them, and we do not want a new ABM
      to fix this issue, since that would be wasteful.  Fortunately, there
      is now an LBM concept, and we can use it to assure that NodeTimers
      on crop nodes are properly started, and only have to do the actual
      conversion once per block, ever.
      
      We want to provide a fairly similar growth rate after this conversion
      and as such I've resorted to modelling some statistical data. For this
      I created a virtual 32x32 crop field with 9 steps (8 transitions)
      as is the default wheat crop. We then apply a step where 1 in 20
      plants in the field grows a step (randomly chosen) and count the
      number of steps needed to get to 25%, 50, 75% and 95% grown.
      
      The resulting data looks as follows:
      
      25% - ~120 steps * 9 sec / abm = 1080s
      50% - ~152 steps               = 1368s
      75% - ~194 steps               = 1746s
      95% - ~255 steps               = 2295s
      
      Next, we want to create a model where the chance that a crop grows
      is 100% every node timer. Since there will only be 8 steps ever,
      we want the slowest crops to grow in intervals of ~ 2300 / 8 seconds
      and the fastest 1/4 of crops to grow 1080 / 8 seconds intervals.
      We can roughly compare this to a normal distribution with a median
      of 1400 with a stddev of ~350 (thick fingering this one here).
      
      The rest is a bit of thick-fingering to get similar growth rates,
      taking into account that ABM's fire regularly so if they're missed
      it's fairly painless, but our timers are going to be 1-2 minutes
      apart at minimum. I calculate the timer should be around 150s
      median, and experimented with several jitter ranges.
      
      Eventually I settled for now on [80,200] with a redo of [40,80],
      meaning that each growth step at minimum takes (80 to 200) seconds,
      and if a negative growth condition was found (darkness, soil not
      wet, etc), then the growth step is retried every (40 to 80) seconds.
      
      The end result is a growth period from seed to full in ~ 2.25
      minetest days. This is a little bit shorter than the current
      growth rate but the chances you'll miss timer ticks is a bit
      larger, so in normal gameplay it should be fairly comparable.
      
      A side effect is that fields grow to full yield fairly quickly
      after crops make it to mature growth, and no crops are mature
      a very long time before the majority grows to full. The spread
      and view over a growing field is also fairly even, there's no
      large updates with plenty of nodes. Just a node here or there
      every second or so in large fields.
      
      Ultimately, we get rid of ABM rollercoasters that cause tens of
      node updates every 9 seconds. This will help multiplayer servers
      likely a lot.
      70ef7864
  22. Apr 23, 2016
  23. Apr 08, 2016
  24. Feb 14, 2016
    • paramat's avatar
      Consolidate ABMs · 7d2dfe41
      paramat authored
      Spread ABM intervals evenly across 1 to 16 seconds
      16s ensures no nodes are missed when player walks past
      Adjust chance values to compensate, for identical action rates
      Combine lavacooling ABMs into one, return to chance = 1
      Grass growth: add 'neighbors = "air"' to avoid
      processing the thousands of underground dirt nodes
      Grass death: Reduce action rate to that of grass growth
      Fire: Use chance = 1 for flame extinguishing
      and flame removal when mod is disabled
      7d2dfe41
  25. Oct 01, 2015
    • paramat's avatar
      Rename to Minetest Game · 8e51f318
      paramat authored
      Rename in game.conf and documentation
      Update game_api.txt documentation for bucket API and tree functions
      Fix tab, space and comment formatting in game_api.txt
      Rename in mod READMEs
      8e51f318
  26. Sep 29, 2015
  27. Sep 15, 2015
  28. Jun 18, 2015
  29. May 14, 2015
  30. Feb 28, 2015
  31. Jan 25, 2015
  32. Jan 17, 2015
  33. Jan 10, 2015
  34. Dec 07, 2014
  35. Dec 06, 2014
  36. Nov 30, 2014
  37. Sep 07, 2014
  38. Aug 21, 2014
Loading