- "#(array)" replaced with "#array"
- "(a and b) or c" replaced with "a and b or c"
- Cleaned some other places with unnecessary parenthesis
- "a,b" replaced with "a, b"
- "a+b" replaced with "a + b" (and for all other binops)
- "{a, b, c}" replaced with "{ a, b, c }"
- "-n + a" replaced with "a - n"
- Removed trailing whitespace
- Blank lines added in some very dense places
- Very long lines broken into shorter lines
- Use modern functions like vector.new and vector.round
- Align with spaces instead of tabs
Previously timers were not copied over to the new nodes when frames
move. This lead to blinky plants from mesecons to stop working after a
platform has moved, and buttons getting stuck in their pressed state.
Now the timers state for active timers are copied from the old node
positions to the new node positions.
* New MV hydro with upgraded power
The LV hydro is easy to make giving lot of power. The New hydro MV will put a tier system to it; thereby giving more incentive to player to pursue MV hydro plus a little survival aspect. This is a result of [Detailed discussion which is here](https://github.com/minetest-mods/technic/issues/411). Thanks to VanessaE for a good talk and support and enthusiasm to make one :) This will now produce around 175 EU (in between 150-200, so basically average). The MV hydro will give 10x more power than this one. :)
Add the EU_string helper function
In comparison to pretty_num it uses SI prefixes, adds "EU" (e.g. kEU) and rounds the number for readability
Add a constant_digit_count boolean setting
Minetest game's doors mod was known to cause server errors when passed a nil digger in it's can_dig callback,
due to always attempting to invoke digger:get_player_name().
Fix this by providing a basic fake player which provides this method to can_dig callbacks.
(It should be noted that currently this fix causes doors to be undiggable by quarries.)
and where it is
only prints the warning once per redundant station, per minetest
session. if there are multiple redundant stations on a network, digging
one should cause the warning to appear for the next one technic finds,
if it doesn't show them all right away.
(for situations where a user creates a laggy machine on a public server, use
this to suspend power distribution until the machine is found and disabled)
`/powerctrl off` to disable
`/powerctrl on` to reenable
(actually, anything but "on" disables it)
(since a power cable needs to go there)
items destined for "discharge" still come from the top, but items bound for the
"charge" slot must come in from the left, right or back
model includes a flat extension on one "side" to fix #342
rotate the reactor with the screwdriver with shift-right-click before filling, to
line up the flat side with your cabling. Note that the reactor doesn't actually
care which side the cable comes from.
delete back/bottom texture for power monitor
use "machine bottom" for bottom of force field generator
add cable connection overlay, use it on various machines' bottoms/sides, as appropriate
(e.g. if there's room for 50 of some item, and you send a stack of 99,
50 are added to the chest and a stack of 49 is rejected and sent
on to the next destination)
This fixes several issues:
* More than one switching station could become active on large networks
- Switching stations now semi-permanently become disabled if another is present
- Power monitors have been added to replace the function of "slave" switching stations, to discourage overuse of switching stations
* Networks did not reliably "split" when cutting a cable
- I "may" have caused this issue, but I believe it is solved by this
* Machines did not run without a player near the switching station
- Active switching stations now forceload themselves, and free the forceloaded block if disabled, dug, or disconnected
- Machines are only loaded to run them (as before), so only one mapblock (or two if the bottom edge of the switching station is a mapblock boundary) is loaded
- Cables are still only loaded during a full network recalculation
Water flow around a gen is shown more or less directly by the water's
param2, range 0 to 15, so four sides could total 60. Cap the result to 45
so that three sides' worth of full flow (or four sides at reduced flow) still
registers as "100%", and raise the maximum outpu to 2250 EU.
Radiation now slowly damages you for a while after exposure,
with the effect's time and intensity proportional to the
amount of radiation received. The radioactivity of some
items is reduced to account for the increased damage.
This simplifies radioactivity by removing the 1000 and 0.25 multipliers.
It also increases the effectiveness of protection (I think it was too low
before -- most of the advantage of adding protective layers was just from
the increased distance).
The reactor originaly used a stainless steel shield only
because lead wasn't yet available. Stainless steel shields
are automatically converted to lead shields for legacy reasons.
Windmills always span more than one mapblock, so even with a switching station next to the generators, they will stop working if unloaded due to the windmill check failing to handle CONTENT_IGNORE of the frames at the foot of the windmill, unless a second switching station would be placed there.
The commit assumes, that a user has to load a block to modify it, and thus unloaded blocks to have the same windmill frame state as before.
This also makes technic_run for windmills a little faster by being able to skip some unnecessary node lookups and generally avoiding creation of 20 tables per windmill per step.
Changes:
* Make rayIter a global utility, and use it for radiation too.
* prettynum -> pretty_num and cleanup.
* Remove resolve_name/function_exists (unused).
* Cleanup nuclear reactor code.