Commit Graph

57 Commits

Author SHA1 Message Date
binarycat
068da0c047 cleanup 2023-12-17 16:17:00 -05:00
binarycat
22eae4b805 mess with locals and hide debug prints 2023-12-17 16:09:07 -05:00
binarycat
43a568df7f store result of table lookup in local variable, improving performance and readability 2023-12-17 15:48:34 -05:00
binarycat
5be0ee97fb add fifo_queue.add_list() and use it to eliminate an inner loop 2023-12-17 15:36:40 -05:00
binarycat
a7c8146e71 micro-optimization: eliminate index in inner loop 2023-12-17 15:24:28 -05:00
binarycat
bc9ed16c91 more optimization of inner loops related to mvps_push 2023-12-17 15:13:54 -05:00
binarycat
ba9b2509a0 don't check for sticky blocks in locations that are already being pushed 2023-12-17 15:06:53 -05:00
binarycat
00359e7ae8 add profiling debug prints 2023-12-17 14:57:06 -05:00
DS
f98ea14023
MVPS: make stoppers non-replaceable even if they are buildable_to (#545) 2023-06-18 21:21:32 +03:00
Jude Melton-Houghton
960b7c4915
Make some fixes to movement and rotation (#584) 2022-05-07 22:24:58 +02:00
Jude Melton-Houghton
dfa43d6c0c
Make modpack mostly independent from MTG (#607) 2022-05-05 16:57:53 +02:00
Jude Melton-Houghton
f4070d3e64
Use FIFO queue for mvps (#599) 2022-04-01 23:33:41 +02:00
sfan5
f6b0de64b8 Update list of MVPS stoppers 2022-02-19 18:01:58 +01:00
Jude Melton-Houghton
4dfadd9276 Fix luacheck warning 2022-02-13 19:48:51 +01:00
Jude Melton-Houghton
fb255d292e
Add .luacheckrc and fix issues it pointed out (#589) 2022-02-12 20:12:12 +01:00
Jude Melton-Houghton
c9dd323207
Remove redundant on_placenode calls after movement (#586) 2022-02-12 20:11:26 +01:00
cheapie
d3aedd2b98
Speed up search for objects to be moved in MVPS (#512) 2020-04-25 00:33:00 +02:00
fluxionary
d6b2a39c99 Set mvps_protection_mode default to the documented value (#484, base: #466) 2019-09-24 17:25:07 +03:00
Vitaliy
15e743629e
Respect protection in MVPS (#466) 2019-09-20 23:04:52 +00:00
DS
073c92d487 Revert "Fix sticky pistons (#403)" (#458)
This reverts commit d8f82e6771.
2019-03-17 10:29:04 +01:00
Vitaliy
45bbd9f7e3
Don’t damage unloaded blocks (#435) 2018-10-29 23:58:07 +03:00
Eduardo Trápani
d8f82e6771 Fix sticky pistons (#403)
Fixed method name to get the position.
2018-02-15 11:47:24 +01:00
DS
748446b3cc MVPS: pull objects (#374) 2017-10-18 22:53:22 +03:00
DS
1b10610f92 Check for falling nodes on MVPS move (#371) 2017-10-18 22:40:25 +03:00
DS
c4a1aa0b98 MVPS: Improve object move (#367) 2017-10-08 18:18:47 +03:00
DS
8999597df2 Support an on-move callback (#363) 2017-10-06 00:09:48 +03:00
DS
42cd973921 Do not stop node timers on mvps move (#359) 2017-09-11 21:26:04 +02:00
numberZero
54b9eaffa2 Improve overheating (#334)
New overheating system that doesn’t use the meta.
2017-04-14 23:14:17 +04:00
Carter Kolwey
912f17f335 Split wires into their own mod, introduce autoconnect hooks
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-08-23 11:08:53 +02:00
Jeija
7865d42834 Always use minetest.set_node instead of minetest.add_node for consistency 2016-02-14 21:00:37 +01:00
Jeija
809192f353 Use vector helper functions instead of old builtin cmpPos and addPosRule functions 2016-02-14 20:55:50 +01:00
Jeija
c98805a5b5 Merge branch 'fix_pistons' of https://github.com/HybridDog/minetest-mod-mesecons into HybridDog-fix_pistons 2016-02-14 12:55:18 +01:00
HybridDog
cf45e24c57 this way it works better because unknown nodes may not stay unknown 2016-02-09 16:58:49 +01:00
HybridDog
3f00c1d1cb fix pistons not working in every buildable_to node 2016-02-09 11:32:09 +01:00
Jeija
a6d0a523ba Add support for sticky blocks for pistons and a a sample sticky block 2015-02-28 13:42:39 +01:00
Jeija
eb416475cc Re-add mesecon.register_mvps_unmov(objectname) since other mods (pipeworks) are using it 2015-02-19 14:27:20 +01:00
Jeija
1df6e5a03b Rewrite movestones, make them nodes instead of entities 2015-02-14 13:35:50 +01:00
MT-Modder
6d9f44455c Register only locked nodes as stoppers
This was suggested here:
https://github.com/Jeija/minetest-mod-mesecons/pull/216
2015-02-13 23:58:36 -05:00
MT-Modder
3c06da7908 Register chests and bookshelves as stoppers 2015-02-05 00:57:33 -05:00
Jeija
c326dc221a Rewrite Logic Gates: Makes it super-easy to add new gates and cleans up code
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-29 15:08:37 +01:00
Jeija
5be179bf11 Replace mesecon:<some_function> with mesecon.<some_function> for greater
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-22 15:42:22 +01:00
Jeija
194155fff8 Rewrite mesecon wires. This should increase the efficiency and speed of
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-22 11:40:58 +01:00
Novatux
b8714f7d93 Fix #164 2014-06-08 16:12:49 +02:00
Novatux
b0f81a8c62 Add mesecon:register_on_mvps_move, fix mesecon:mvps_pull_all 2014-01-03 11:04:19 +01:00
Uberi
16b4b79c51 Update code to standards of Minetest 0.4.8. 2013-11-30 22:13:00 -05:00
Anthony Zhang
96011bc718 Audit code for possible nil value indexing with unregistered nodes. 2013-06-22 15:43:58 -04:00
Novatux
6efe579f68 Fix pistons not updating the nodes when placing them again. 2013-06-15 19:15:43 +02:00
Jeija
63a18f1a51 Don't push objects into walls and fix bug in previous commit 2013-04-02 12:13:25 +02:00
Jeija
57e1547515 Make pistons and movestones move objects (push only yet) 2013-04-02 11:57:28 +02:00
Anthony Zhang
4406654fa4 Support metadata in piston pushing (so that microcontrollers and such can be pushed), support pushing chests (not locked ones though), and add two missing rules for pistons (z- top and bottom, but not z- itself). This still avoids the piston pushing power source issue. 2013-03-11 17:37:50 -04:00