Skip to content
Snippets Groups Projects
  1. May 04, 2014
    • Zefram's avatar
      Better mesecon-enabled doors · 77b8f651
      Zefram authored
      The mesecons_compatibility doors erred in making steel doors, which
      are meant to be locked, openable by anyone using a mesecon signal.
      They also didn't handle mirror-paired doors, and nastily duplicated
      lots of the standard door code rather than using it and adding to it.
      Replace mesecons_compatibility with a new system, in which standard
      doors are left alone and new types of door are added that have mesecon
      behaviour.  The new door types are each available in both wood and steel,
      using the standard door textures.
      
      The mesecon-operated doors open and close according to the mesecon
      signal they receive: open when the signal is on and closed when off.
      Unlike the old mesecons_compatibility doors, which only accepted the
      signal to the bottom half, these accept the signal to either half of
      the door.  A convenient kind of control therefore is a wall-mounted
      button just above the doorway: the signal flows diagonally down to the
      top half of the door.  The door cannot be operated manually.
      
      The mesecon-signalling doors are opened and closed manually, and generate
      a mesecon signal indicating whether they're open, on when open and off
      when closed.  Thus opening the door can trigger automatic activity.
      Pairing a mesecon-signalling door with a mesecon-operated door results
      in a door pair where right-clicking on one door operates both.
      
      By making use of the pairing behaviour built into the standard doors mod,
      which is inherited by the mesecon doors, and placing doors from sideways
      angles, it is possible to effectively get mesecon doors with the opposite
      signal sense.  For example, a mesecon-signalling door that sends an on
      signal when closed, turning the signal off when opened.
      77b8f651
  2. May 02, 2014
    • Zefram's avatar
      Don't allow non-inventory items as ingredients · b64fea4f
      Zefram authored
      Some mesecon wires (the turned-on nodes) that were
      not_in_creative_inventory and should never appear in an actual inventory
      were also mesecon_conductor_craftable.  This is liable to make a craft
      guide show them as potential ingredients, due to the use of the group
      in recipes.
      b64fea4f
  3. Apr 30, 2014
  4. Apr 25, 2014
    • Zefram's avatar
      fix programming microcontroller through form · f1eaee22
      Zefram authored
      The handling of the "quit" pseudo-field meant that the microcontroller
      couldn't be programmed with explicit code, only with the examples.
      The "quit" can actually be ignored: what matters for programming the
      controller is whether the "code" field was supplied.
      f1eaee22
  5. Apr 20, 2014
  6. Mar 23, 2014
    • Jeija's avatar
      Fix bug that made delayers oscillate their input port · 1f666875
      Jeija authored
      when powering off the delayer faster than the delay time.
      Actually, delayers should have never worked since the ActionQueue update as
      they always used the default rules for their output, which is obviously nonsense.
      1f666875
  7. Mar 21, 2014
  8. Mar 20, 2014
  9. Mar 19, 2014
  10. Mar 16, 2014
  11. Mar 11, 2014
    • Ciaran Gultnieks's avatar
      Add timer() function/event (node timer based) to luacontroller · 9eda62df
      Ciaran Gultnieks authored
      This adds a timer(<seconds>) function, which causes an event of type
      "timer" to be fired after that many seconds has elapsed.
      
      Because it's node timer based, it works properly across server restarts
      and block unloading. Thus, simplest example, a blinky plant replacement
      with a 10 second period:
      
      if event.type == "program" then
        timer(10)
      elseif event.type == "timer" then
        port.a = not port.a
        timer(10)
      end
      9eda62df
    • Anthony's avatar
      Merge pull request #151 from CiaranG/lua-formspec · 8440d05e
      Anthony authored
      Handle luacontroller formspec events correctly
      8440d05e
    • Ciaran Gultnieks's avatar
      Handle luacontroller formspec events correctly · 5d3cba0b
      Ciaran Gultnieks authored
      Example of problem fixed by this: Edit lua code, press Execute. Now
      (execute button has focus), hold down a key. Zillions of "program"
      events are generated.
      5d3cba0b
    • Ciaran Gultnieks's avatar
      Send digiline messages after luacontroller execution · 5002315e
      Ciaran Gultnieks authored
      In the same way as for port settings, this queues up digiline messages
      sent during the luacontroller's execution, and sends them afterwards.
      This solves many problems, but one example:
      
      1. Send a message, and receive a reply from another device.
      2. While handling the reply event (effectively a nested invocation
         on the same luacontroller) make a change to memory
      3. Notice that the memory change has no effect, because after
         completion of the reply handling, it stores the memory, but then
         the original invocation completes and overwrites it with it's
         own earlier copy of the same memory.
      5002315e
  12. Feb 16, 2014
  13. Jan 19, 2014
  14. Jan 12, 2014
  15. Jan 11, 2014
  16. Jan 10, 2014
Loading