summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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 #183, noteblock now uses default drawtypeJeija
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-09-01use the right mesecon:receptor_* call for on/off blinkyplantVanessa Ezekowitz
2014-09-01use one ABM for blinkyplant instead of two.Vanessa Ezekowitz
using two ABMs allows the engine to desynchronize them, which makes the duty cycle unpredictable.
2014-07-12Merge pull request #168 from ShadowNinja/fix-commandblock-quitAnthony Zhang
Fix the commandblock's check for quiting the formspec
2014-06-08Merge branch 'master' of github.com:Novatux/minetest-mod-meseconsVanessa Ezekowitz
2014-06-08Localize a few variables, add "GET" command to node detector.Novatux
2014-06-08Merge branch 'master' of github.com:Novatux/minetest-mod-meseconsVanessa Ezekowitz
2014-06-08Fix #164Novatux
2014-06-08Add node detector, which works like the player detector but detects a ↵Novatux
specific nodename (or any node except air) in front of it.
2014-06-06Fix the commandblock's check for quiting the formspecShadowNinja
The submit button also sends a quit field.
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-05-02Don't allow non-inventory items as ingredientsZefram
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.
2014-04-30Fix #140 once againJeija
2014-04-25fix programming microcontroller through formZefram
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.
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-23Fix bug that made delayers oscillate their input portJeija
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.
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 #141 from ShadowNinja/commandblock_textareaJeija
Use a textarea for the commandblock to accept multiple commands
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-19Fix #83 (experimental)Jeija
Why did we actually put the update action in a queue again? Whatever issue it that was for, I couldn't reproduce it. Propably the ActionQueue fixed that...?
2014-03-19Remove timer() from LuaController and make interrupt() use the ActionQueue ↵Jeija
so that it will keep working when restarting the server
2014-03-19Improve and clean up luacontroller digiline_send on globalstep featureJeija
2014-03-16Merge branch 'digiline-non-reentrant' of ↵Jeija
https://github.com/CiaranG/minetest-mod-mesecons into CiaranG-digiline-non-reentrant Conflicts: mesecons_luacontroller/init.lua
2014-03-16Merge pull request #152 from CiaranG/timerJeija
Add timer() function/event (node timer based) to luacontroller
2014-03-11Add timer() function/event (node timer based) to luacontrollerCiaran Gultnieks
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
2014-03-11Merge pull request #151 from CiaranG/lua-formspecAnthony
Handle luacontroller formspec events correctly
2014-03-11Handle luacontroller formspec events correctlyCiaran Gultnieks
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.
2014-03-11Send digiline messages after luacontroller executionCiaran Gultnieks
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.
2014-02-16Merge pull request #148 from CiaranG/upperJeija
Add missing string.upper to luacontroller
2014-02-16Add missing string.upper to luacontrollerCiaran Gultnieks
2014-01-19Fix #140 by adding a save button to the Player DetectorJeija
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-11Merge pull request #142 from Novatux/actionqueueJeija
Action Queue bugfixes by Novatux
2014-01-11Make receptor_on/off overwritable, fix a serious bug.Novatux
2014-01-11Actionqueue tweaksJeija
2014-01-11Turnon/turnoff overwritableJeija
2014-01-11Use a textarea for the commandblock to accept multiple commandsShadowNinja
2014-01-11Fix #136 by always running commands as the placerShadowNinja
2014-01-11Revert "Remove command block until #136 is fixed"ShadowNinja
This reverts commit 3f76b77001512a7b71a8c81c181f78729c34e0d0.
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