dcf1f799c5
Fix #184 , Fix #186 , Fix #187
...
Just some minor issues like dead code.
2014-11-21 21:43:28 +01:00
e5896076fe
Make sure #160 cannot be exploited to make servers crash.
...
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-06-01 11:00:39 +02:00
300abcb587
Fix #155 (option 2 used). Remove non-ActionQueue system. Enable overheat for 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-04-20 21:51:17 +02:00
1852e967a9
Send changesignals for placed receptors when not powered, make on_placenode 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-21 21:31:34 +01:00
2cab6aa5ef
Merge pull request #134 from Novatux/master
...
Fix a few bugs that caused effectors not to turn off sometimes
2014-03-20 09:28:03 +01:00
37405e5a06
Fix #146
2014-03-19 15:13:23 +01:00
df6829e553
Remove timer() from LuaController and make interrupt() use the ActionQueue so that it will keep working when restarting the server
2014-03-19 10:20:43 +01:00
8a71f51b26
Merge branch 'actionqueue'
...
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-19 13:59:22 +01:00
a632a8abc8
Fix delayers and disable resuming if not using MESECONS_GLOBALSTEP
2014-01-19 13:57:11 +01:00
a6bd955449
Merge pull request #144 from Novatux/gates-fix
...
Fix gates with serverstep code.
Let's give that a try.
2014-01-11 23:17:14 -08:00
fe50e87da1
Make receptor_on/off overwritable, fix a serious bug.
2014-01-11 20:12:22 +01:00
c8ef37f522
Actionqueue tweaks
2014-01-11 20:11:54 +01:00
1a492feb7a
Turnon/turnoff overwritable
2014-01-11 18:31:30 +01:00
d066b91632
Fix infinite priority bug in mesecon:turnoff, thanks to Novatux
2014-01-11 16:48:25 +01:00
1083539e9b
Resume turnon/off calls as soon as area is loaded in case turnon/off calls end in unloaded territory
2014-01-11 16:46:27 +01:00
6afded8284
Fix unloaded area in receptor_off, yet it was only fixed in receptor_on
2014-01-11 16:18:35 +01:00
ff5e315325
Fix ActionQueue delays
2014-01-11 15:36:30 +01:00
f1211f7dae
Add ActionQueue priority system
...
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-11 14:57:56 +01:00
93fb489bdb
Fix the bugs spotted by Novatux - thanks for spotting them
2014-01-11 08:57:21 +01:00
f1ae54ed12
Try to fix gateswith serverstep code.
2014-01-11 07:24:42 +01:00
2d004b19ea
First draft of some kind of Action Queue (just like the globalstep queue in 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-10 22:33:40 +01:00
de6dd30745
Move textures into their mods
2014-01-10 13:13:02 -05:00
5e02b3beef
Fix a few bugs that caused effectors not to turn off sometimes (rules_link is evil!)
2014-01-05 13:51:09 +01:00
9c2a5c313c
Use swap_node instead of add_node when replacing conductors.
2014-01-05 09:52:06 +01:00
fb417d45a7
Fix when there are several rules with different specials
2014-01-04 17:22:04 +01:00
b3f3692622
Fix crash if metarule not found
2014-01-04 16:51:52 +01:00
ae557d1cd4
Fixes with multi-conductors that have special connects
2014-01-04 15:52:52 +01:00
d5b39951a4
Fix bugs with multi-rules conductors (like crossing) that have param2
2014-01-04 14:15:41 +01:00
16b4b79c51
Update code to standards of Minetest 0.4.8.
2013-11-30 22:13:00 -05:00
b4654cedb7
Compat shim for minetest.swap_node, lightstone conducts from the bottom.
2013-11-30 21:23:58 -05:00
f46bc329de
Use minetest.swap_node() instead of mesecons' version, Minor code changes
...
here and there to facilitate this.
2013-11-30 20:34:55 -05:00
913e355a71
Merge pull request #112 from khonkhortisan/multi_rules
...
Multi rules
Merged for near-future textures to be merged cleanly.
2013-08-27 22:22:30 -07:00
96011bc718
Audit code for possible nil value indexing with unregistered nodes.
2013-06-22 15:43:58 -04:00
885899cbaf
Crossover
2013-06-20 09:30:26 -07:00
4f2604e01b
mesecon:rules_link nil return rule
...
Fixes https://github.com/Jeija/minetest-mod-mesecons/issues/108
2013-06-10 18:29:40 -07:00
afad592783
Change mesecons signals so that they update effectors only after a globalstep, configurable to be on/off
2013-06-05 15:37:55 -04:00
edc10dac47
Add an ABM function which resets heat to 0, since gates/controllers won't be cooled normally if they are moved (piston, etc...) during the cooling delay.
2013-06-05 06:45:19 +02:00
255e363b04
Fix all crafting recipes to use modern style
2013-04-28 12:40:08 +02:00
10bacdd7f4
Update selection boxes to make building easier.
2013-04-20 11:25:12 -04:00
3b1afb1783
Fix invalid node name if node was changed in after_place_node callback ( fixes #93 ).
2013-04-14 13:54:33 -04:00
57e1547515
Make pistons and movestones move objects (push only yet)
2013-04-02 11:57:28 +02:00
5f9e655c13
Add MOVESTONE_MAXIMUM_PUSH setting.
2013-03-15 19:53:09 -04:00
10ea3c971b
Merge branch 'master' into luacontroller
2013-02-11 08:03:08 +01:00
5b5e919683
Make load times faster by avoiding inventorycube and wielditem creation in technical blocks such as active wires and various piston orientations.
2013-02-08 14:36:20 -05:00
ef087f2bb6
Fix Bug: Wrong usage of action_on/action_off instead of action_change
2013-01-19 23:37:03 +01:00
841bc70b97
Fix a bug that occured when using a receptor placed directly next to a
...
gate.
We need to call a changesignal even if the gate/other effector is still
connected to a power source in a way.
2013-01-09 16:56:25 +01:00
ec07fc27d7
Merge branch 'nextgen'
...
Conflicts:
mesecons/wires.lua
2012-12-31 18:32:46 +01:00
5921f6d46c
made tweaks to the way mese is converted to mesecons. If old mese paradigm is
...
in use, one default:mese crafts to 18 mesecons wires. If new paradigm is in
use, cook one mese crystal fragment to get 2 wires, or cook one mese crystal to
get 18, or cook one mese block to get 162. Avoids conflict with new default
recipe that crafts 9 crystals from one mese block.
2012-12-28 16:51:11 -05:00
7e231b99a6
Make nr in rules rotation local in order not to pullute the holy global namespace
2012-12-28 07:33:16 +01:00
ac0fb91139
Minor cleanup of mesecno torch and add another rule to it (behind above)
2012-12-27 10:50:20 +01:00