summaryrefslogtreecommitdiff
path: root/mesecons/services.lua
AgeCommit message (Collapse)Author
2017-10-07Handle blasts (#356)DS
2017-10-04Do not reset conductor param2 on place (#364)DS
2017-04-14Improve overheating (#334)numberZero
New overheating system that doesn’t use the meta.
2016-08-23Split wires into their own mod, introduce autoconnect hooksCarter Kolwey
The update_autoconnect function had to be abstracted away from the default wires, any kind of wire can now register autoconnect hooks, which should make having multiple different wire types much easier. mesecons_mvps, mesecons_receiver and mesecons_random made use of update_autoconnect, their code was also adapted. This also fixes a receiver bug: If a receiver was placed with a onstate receptor next to it (but not the wall lever / button that caused the receiver to appear) the receiver didn't turn on in the past. Also move documentation for mesecon wire into mesecons_wire.
2016-07-09Don't bother checking if a node can overheat before cooling itCarter Kolwey
2016-02-14Use vector helper functions instead of old builtin cmpPos and addPosRule ↵Jeija
functions
2015-10-04Revert "Do not send action_off signal when newly placing nodes"Jeija
This caused #238, reverting that commit fixes #238. This reverts commit 30468b09cf35b3122e05f1e2867923fdcad5a5d2.
2015-02-03Do not send action_off signal when newly placing nodes, this didn'tJeija
cause any bugs, but unneccessary sounds (experimental change)
2014-11-29Rewrite Logic Gates: Makes it super-easy to add new gates and cleans up codeJeija
Fix bugs in the Luacontroller (when placing, false input pin values were given) and fix variables leaking into the global environment in pistons.
2014-11-22Re-implement settings system:Jeija
Settings can now be retrieved by mesecon.setting(<name>, <default>) and can be modified without editing the source code by adding the setting to minetest.conf For instance, you can add mesecon.blinky_plant_interval = 0.5 to minetest.conf in order to increase the blinking speed. Rewrite the blinky plant with nodetimers. Fixes #161
2014-11-22Replace mesecon:<some_function> with mesecon.<some_function> for greaterJeija
flexibility and because it was never inteded to be OOP in the first place. mesecon.receptor_on and mesecon.receptor_off are provided by wrappers (mesecon:receptor_on/off) for compatibility, but will be removed. Mod programmers that use mesecons: Please update! Also, fix microcontroller polluting the global namespace and remove some deprecated stuff.
2014-11-22Rewrite mesecon wires. This should increase the efficiency and speed ofJeija
large machines. It also makes the wires.lua code easier to understand and more maintainable. In case any other mod depends on mesecon:update_autoconnect, please update it to use mesecon.update_autoconnect. This should also fix some other minor bugs. Please report bugs if this commit creates new ones. This commit changes wire looks and removes some unneccesary textures.
2014-11-21Fix #182, bug when placing wire crossings next to a powered sourceJeija
In case this fix creates new bugs, please report them.
2014-04-20Fix #155 (option 2 used). Remove non-ActionQueue system. Enable overheat for ↵Jeija
more than 20 actions per second on lua- / microcontrollers and gates. Fix a bug where a burnt luacontroller didn't have the correct pin-states as the burnt controller does not register any changes from outside.
2014-03-21Send changesignals for placed receptors when not powered, make on_placenode ↵Jeija
code more readable with comments. Also fixes a bug of lua- / microcontrollers not being updated when pushed by a piston. This could cause some bugs, even though I haven't found any while testing as it is a very core part of mesecons.
2014-03-19Fix #146Jeija
2014-01-11Add ActionQueue priority systemJeija
This makes effectors nearer to the source of the action (the receptor) update first. This defines behaviour for this piston circuit: http://i.imgur.com/9Pp2Mzb.png And defines, that this memory circuit does not work from this direction: http://i.imgur.com/jJn0aFh.png But it will work when using the switch from the other side: http://i.imgur.com/nvw0oZB.png Only if two effectors have the same distance, there is nothing we can do about it, behaviour is not defined. "Distance" is determined by the stack size of recursions in turnon / turnoff. Priorities are between 0 (lowest) and 1 (highest).
2014-01-10First draft of some kind of Action Queue (just like the globalstep queue in ↵Jeija
to_update), but more flexible and also including delay functionality (mesecon_delayer). The queue is also saved to a file, so that when restarting mesecons, delayers resume to the state they had when the game shut down. Needs testing.
2014-01-04Fix bugs with multi-rules conductors (like crossing) that have param2Novatux
2013-11-30Update code to standards of Minetest 0.4.8.Uberi
2013-11-30Use minetest.swap_node() instead of mesecons' version, Minor code changesVanessa Ezekowitz
here and there to facilitate this.
2013-08-27Merge pull request #112 from khonkhortisan/multi_ruleskhonkhortisan
Multi rules Merged for near-future textures to be merged cleanly.
2013-06-20Crossoverkhonkhortisan
2013-06-05Change mesecons signals so that they update effectors only after a ↵Novatux
globalstep, configurable to be on/off
2013-06-05Add an ABM function which resets heat to 0, since gates/controllers won't be ↵Novatux
cooled normally if they are moved (piston, etc...) during the cooling delay.
2013-04-14Fix invalid node name if node was changed in after_place_node callback ↵Anthony Zhang
(fixes #93).
2012-12-26Re-write pistons from scratch, propably fixes a lot of bugs and doesn't ↵Jeija
cause too many new ones.
2012-12-16Cleanup and improve piston codeJeija
2012-12-15Upload cleaned up mesecons to nextgen branchJeija
2012-12-11Fix a bug that occured when placing an effector next to a receptorJeija
2012-08-16Add conductor rules, add demo isolated mesecons to proof that it worksJeija
2012-08-13New effector system, effectors have to be registered with ↵Jeija
mesecon:register_effector(onstate, offstate, rules, function get_rules) rules and function get_rules are optional. You don't have to specify both onstate and offstate (required for e.g. removestone)
2012-08-13Code cleanupJeija
2012-08-13Code cleanup and ond more extremely small speedupJeija