summaryrefslogtreecommitdiff
path: root/mesecons
AgeCommit message (Collapse)Author
2015-11-20Major change: Documentation is now included with mesecons, the website just ↵Jeija
extracts the documentation in a more readable format This makes development of new features easier, as documentation can automatically be updated on the website without modifying the website's code! Every mod that has nodes in the mesecons modpack has a "doc" folder that contains subfolders with recipe, description and preview of the block. The website will discover which documentation is available by reading the documentation.json file.
2015-10-04Remove trailing whitespaceJeija
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-07-27Fix #234Jeija
2015-05-11Don't refer to LIGHT_MAX global; use default.Phil Hagelberg
The LIGHT_MAX global is created in the legacy.lua file in the default mod; it states that it's there for backwards compatibility, but it would be better to reference the proper value inside the default table.
2015-02-28Add support for sticky blocks for pistons and a a sample sticky blockJeija
2015-02-03Do not send action_off signal when newly placing nodes, this didn'tJeija
cause any bugs, but unneccessary sounds (experimental change)
2015-01-03Fix #197, doesn't remove the legacy code that triggered it thoughJeija
2014-12-20Fix #196, removes soft-depend on commonlibJeija
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-29Don't trigger an "off" event to itself when luacontroller turns a port offJeija
I hope this doesn't break anyone's setup.
2014-11-25Merge branch 'improve-luacontroller'Jeija
However, without the print_count limiting functionality Conflicts: mesecons_luacontroller/init.lua
2014-11-23Fix #189, clean code and update documentationJeija
2014-11-22Fix crafting with the default mesecon wireJeija
2014-11-22Merge branch 'improve-luacontroller' of ↵Jeija
https://github.com/ShadowNinja/minetest-mod-mesecons into ShadowNinja-improve-luacontroller Conflicts: mesecons/legacy.lua mesecons_luacontroller/init.lua mesecons_microcontroller/init.lua
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-22Fix bug in mesecon.find_receptor that caused false turnoffs and rewrite lever +Jeija
switch
2014-11-22Fix compatibility with not yet updated mods that use mesecon:receptor_*Jeija
2014-11-22Use iterative algorithm for mesecon.find_receptor_on, major performance ↵Jeija
improvement for large circuits. This also fixes a crash introduced with the previous commit that occured when placing a wire crossing.
2014-11-22Fix bug in mesecon.mergetable that caused false rulesJeija
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-22Use an iterative algorithm for turnon() and turnoff(), fixes #160Jeija
This may also bring some performance benefit.
2014-11-22Pressure plates and the object detector will send power to verticalJeija
wires 2 nodes below them, allows to hide circuitry powered by them. Fixes #179 Rewrite pressure plates + vertical wires using mesecon.register_node.
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-11-21Fix #184, Fix #186, Fix #187Jeija
Just some minor issues like dead code.
2014-10-07Improve the LuaControllerShadowNinja
Changes: * Stops code after a certain number of instructions. * Allows functions, due to instruction counting. * Allows loops and goto with non-JIT Lua (LuaJIT doesn't count looping as an instruction, allowing infinite loops), due to instruction counting. * Removes string matching functions as they can be slow. * Adds some safe functions. * Limits the amount of printing that can be done (to prevent console flooding). * Code cleanup. * More...
2014-06-01Make sure #160 cannot be exploited to make servers crash.Jeija
This is not exactly a fix for the issue, because extremely large circuits (3000+ conductors) still won't work with this applied. This simply aborts any execution if there is the danger of a stack overflow.
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-20Merge pull request #134 from Novatux/masterJeija
Fix a few bugs that caused effectors not to turn off sometimes
2014-03-19Fix #146Jeija
2014-03-19Remove timer() from LuaController and make interrupt() use the ActionQueue ↵Jeija
so that it will keep working when restarting the server
2014-01-19Merge branch 'actionqueue'Jeija
This introduces the ActionQueue, a new kind of MESECONS_GLOBALSTEP. Circuits using delayers will now resume when restarting the server. Also, large circuits should automatically resume if parts of them are in unloaded chunks. Old circuits e.g. using gates will not resume when mesecons is updated, which means you have to restart them once. But after that, it should work just like it used to. This will fix a lot of stuff but may also introduce some new bugs. So please report them!
2014-01-19Fix delayers and disable resuming if not using MESECONS_GLOBALSTEPJeija
2014-01-11Merge pull request #144 from Novatux/gates-fixJeija
Fix gates with serverstep code. Let's give that a try.
2014-01-11Make receptor_on/off overwritable, fix a serious bug.Novatux
2014-01-11Actionqueue tweaksJeija
2014-01-11Turnon/turnoff overwritableJeija
2014-01-11Fix infinite priority bug in mesecon:turnoff, thanks to NovatuxJeija
2014-01-11Resume turnon/off calls as soon as area is loaded in case turnon/off calls ↵Jeija
end in unloaded territory
2014-01-11Fix unloaded area in receptor_off, yet it was only fixed in receptor_onJeija
2014-01-11Fix ActionQueue delaysJeija
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-11Fix the bugs spotted by Novatux - thanks for spotting themJeija
2014-01-11Try to fix gateswith serverstep code.Novatux
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-10Move textures into their modsShadowNinja
2014-01-05Fix a few bugs that caused effectors not to turn off sometimes (rules_link ↵Novatux
is evil!)
2014-01-05Use swap_node instead of add_node when replacing conductors.Novatux