Commit Graph

380 Commits

Author SHA1 Message Date
upsala e1a71a8fb0 Add MV-Freezer (#457)
New Grinder-recipe: ice => snowblock
New recipe for freezer: Freezer now generates ice
2018-12-09 17:37:58 +01:00
Thomas Rudin 701240bc3a Quarry: Check for valid facedir to fix server freeze #465 (#466)
Checks if facedir is valid. If the face points up or down the depth-check would run endless and freeze the server
2018-12-09 16:01:10 +01:00
Lejo aa82fa1d13 Forcefield: Remove deprecated update_map() call (#467) 2018-12-09 15:57:48 +01:00
Vanessa Dannenberg dc0689018d move CNC machine into its own mod 2018-11-25 16:10:23 +01:00
12Me21 8409be32fc Fix cable plate placement (#446)
Cable plate placement now uses minetest.item_place
2018-11-23 20:25:32 +01:00
Thomas Rudin 3d52b679b0 Quarry: Make use of fake digger from pipeworks (#453)
Fixes crash when digging empty protected chests (https://github.com/minetest/minetest_game/blob/backport-0.4/mods/default/nodes.lua#L1868)
2018-11-16 21:36:03 +01:00
Vanessa Dannenberg 44cb8df048 use basic_materials mod where possible. 2018-11-11 09:54:20 +01:00
DS 5b97d94dae New sandstone crafts, fix dye crafting (#390) 2018-10-05 19:46:33 +02:00
Elias Åström 488f80d950 Clean file frames.lua to make more readable
- "#(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
2018-08-25 12:24:58 +02:00
Elias Åström d74c250a40 Preserve active timers at frame move
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.
2018-08-25 12:24:58 +02:00
Tanmaya Meher 2e7859c35e New MV Hydro Machine (#412)
* 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. :)
2018-08-25 12:24:14 +02:00
Vitaliy d1b54a573c Use tin from MTG instead of `moreores` (#401)
Register tin dust unconditionally
2018-07-21 19:11:12 +02:00
SmallJoker fb93388f06 Replace deprecated invsize[] with size[] 2018-07-19 14:36:21 +02:00
HybridDog 41f175986d Show EU power values more readable (#424)
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
2018-07-16 17:26:39 +02:00
Thomas--S 0fcc7a14c2 Replace old nodeupdate() with new minetest.check_for_falling() (#391) 2018-07-16 17:25:43 +02:00
thetaepsilon-gamedev c93bfefd9f machines/HV/quarry.lua: [modification] provide a basic digger object to can_dig callbacks to prevent nil object errors (#425)
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.)
2018-05-19 22:06:00 +02:00
Vitaliy 689766f15a Remove unused values (#407) 2018-02-17 11:00:15 -08:00
Jordan Irwin a5db87f0f1 Test local variable 'have_ui' before calling 'unified_inventory' (#368) 2018-02-16 17:32:47 -08:00
number Zero 86fb981b44 Fix O(n^2) network traversal 2018-02-13 18:25:44 +01:00
Ekdohibs 215de5487b Fix redundant_warn 2018-01-13 10:30:22 +01:00
DS 37d49142cf supply_converter: avoid crashes caused by wrong digiline message types (#397) 2017-10-31 13:56:10 -04:00
DS e056800cea nuclear_reactor: do not set structure_accumulated_badness to less than 0 2017-09-07 07:43:20 +02:00
Vanessa Ezekowitz a84b5f3b28 print warning to console if redundant switching station is found
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.
2017-07-03 18:05:52 -04:00
Vanessa Ezekowitz 9d5bd90b57 add chat command to allow disabling of switching station ABM
(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)
2017-07-03 17:35:19 -04:00
DS bf58c77316 digilinize nuclear_reactor (#341)
* start digilinizing

* add self 💥 destruction and co.

* add start button and command

* fix some things

* add possibility to disable nuclear reactor in formspec

* oops

* some style

* improve connectivity

* add protection
2017-06-05 11:02:05 -04:00
DS 1a75cd9254 add sulfur-lead crafting recipe(s) for battery (#353) 2017-06-05 10:56:51 -04:00
DS 51f9df2cf2 make some forcefield improvements (#344)
* mkae some forcefield improvements

* add emitter on_blast
2017-06-05 10:56:03 -04:00
you 987cc5a6a4 Add api documentation (#361) 2017-06-05 10:51:59 -04:00
Jordan Irwin 97e1c8b7f2 Replace deprecated method 'setting_getbool' with 'settings:get_bool' (#369) 2017-06-05 10:50:30 -04:00
DS 9cc1a78371 advanced cable plate placing (#357)
* advanced cable plate placing

* make also sneak possible

* add screwdriver support
2017-06-05 10:50:15 -04:00
Vanessa Ezekowitz 557dc4db1b Battery boxes no longer connect to tubes from bottom
(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
2017-04-14 05:16:14 -04:00
Vanessa Ezekowitz e65c8b7130 Don't allow constructor to operate if bad facedir (fixes #328)
Also, use "simple" screwdriver mode for "off" constructor, and disable screwdriver for "on" one.
2017-04-13 20:48:18 -04:00
Vanessa Ezekowitz 69feeef0af use clear_craft to remove default sandstone recipe
get rid of the two grinder recipes from homedecor/fake_fire (obsolete)
2017-04-13 20:27:19 -04:00
Thomas--S fc2f6d8976 Generalize check for cable below battery box 2017-04-13 22:36:52 +02:00
Vanessa Ezekowitz 06abe11dd0 check for cable plate under battery also 2017-04-13 16:25:42 -04:00
Vanessa Ezekowitz 1d20af1bcb replace HV nuke reactor nodeboxes with comparable mesh model
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.
2017-04-12 22:22:29 -04:00
Vanessa Ezekowitz 7c11ff1876 LV fuel-fired gen should not have tube connection overlays 2017-04-12 21:04:37 -04:00
Vanessa Ezekowitz a34ea59105 LV batbox should show charge on all X/Z sides
(also, fixup some other texture defs for readability)
2017-04-12 20:29:22 -04:00
Vanessa Ezekowitz 33455328bd Make batteries only charge/discharge from the bottom
(they were already supposed to but would leech charge from sideways neighbors too)
2017-04-12 20:21:20 -04:00
Vanessa Ezekowitz 170d3e09c5 clean-up battery box images, make more consistent
added tube or cable entry overlays as appropriate.
deleted a couple of obsolete textures
2017-04-12 18:50:50 -04:00
DS 970f608078 use clear_craft (#339)
* use clear_craft

* fix it

* Update grinder_recipes.lua
2017-04-12 15:14:35 -04:00
Thomas--S 39bfb76cfb Take Item from Cable Plate Stack on Place (#345)
(when not in Creative)
and
Change drop to recipe.
2017-04-12 15:13:39 -04:00
Vanessa Ezekowitz fab2c492c4 pipeworks has button on/off, button label, and button "base" cached
used them wherever possible
2017-04-11 19:19:29 -04:00
Vanessa Ezekowitz 54004f4951 redo top/bottom textures for supply converter
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
2017-04-11 08:48:16 -04:00
Vanessa Ezekowitz 8479a8c984 add pipeworks tube overlays to self-contained injector
also, gave it paramtype2 = "facedir" and removed the front connection
for consistency with other machines
2017-04-11 08:17:56 -04:00
Vanessa Ezekowitz 0e9caf069d add pipeworks tube overlay to top of quarry
(and get rid of obsolete inventorycube() image)
2017-04-11 08:09:53 -04:00
Vanessa Ezekowitz 869d0597ef add pipeworks tube entry overlay to tool workshop 2017-04-11 07:57:45 -04:00
Vanessa Ezekowitz ca86550f26 added tube entry overlays to most MV machines 2017-04-11 07:54:00 -04:00
Vanessa Ezekowitz a3a959ab5e add pipeworks tube overlays to MV, HV battery boxes 2017-04-11 07:48:46 -04:00
Vanessa Ezekowitz 3f8478086d fix crash in battery mod (missing meta check) 2017-04-11 07:45:31 -04:00
Vanessa Ezekowitz 092ab7e738 added tube entry overlays to fuel-fired generators 2017-04-11 07:37:18 -04:00
Vanessa Ezekowitz bdd45f161a fix broken ltier checks on MV/HV fuel-fired generators 2017-04-11 06:56:21 -04:00
Vanessa Ezekowitz 5d05f59482 allow per-node stack splitting on all other standard machines
(default off)
2017-04-11 06:26:11 -04:00
Vanessa Ezekowitz a353a807bd allow per-injector stack split
(default off)
2017-04-11 05:36:39 -04:00
Vanessa Ezekowitz db0f8e04a1 fix wrong size of self-contained injector inv 2017-04-11 05:31:36 -04:00
Vanessa Ezekowitz 64f38f423e tool workshop shouldn't ever allow stack splitting
(tools don't stack :) )
2017-04-11 05:25:25 -04:00
Vanessa Ezekowitz ceead2b5ab re-route tubes if active fuel-fired gen is dug (and can be) 2017-04-11 05:15:05 -04:00
Vanessa Ezekowitz 4eaf48290f allow per-generator stack splitting
(default off)
2017-04-11 05:13:27 -04:00
Vanessa Ezekowitz 7244f86ee5 allow per-battery charge/discharge stack splitting
(default off for both)
2017-04-11 04:41:11 -04:00
Vanessa Ezekowitz af39221df9 only reject part of itemtack from chest/machine/etc., if possible
(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)
2017-04-09 20:35:11 -04:00
Vanessa Ezekowitz 72c536c04e always set the EU level
don't wait for production = 0.

(if water is removed, that causes phantom output)
2017-04-09 14:07:50 -04:00
DS-Minetest ef8bb38bfd Make forcefield controlable with digilines. 2017-04-04 23:58:02 -03:00
DS-Minetest 6c4e90d39c Add digiline support to supply converter. 2017-04-04 23:52:27 -03:00
DS-Minetest 4dda59da0c Add conductive plates.
These work exactly like cables, but are meant to be
used as floor for when the machine does not fill the
while cube.
2017-04-04 21:59:13 -03:00
DS-Minetest 338f3b6a99 Make battery box send information via digilines. 2017-04-01 16:47:34 -03:00
Vanessa Ezekowitz 78f16c3e8e label all ABMs for profiler 2017-03-31 19:15:25 -04:00
DS-Minetest 6abd857b3f Add digiline support to switching station.
Makes the switching station able to send supply and demand
via digilines.
2017-03-28 09:30:59 -03:00
number Zero 408128d800 Add backward compatibility to the new supply converter 2017-03-17 21:10:43 +03:00
Vanessa Ezekowitz 6341ac9638 assume missing "enabled" key == enabled also.
(would signify supply converts in old maps)
2017-03-15 23:23:07 -04:00
Carter Kolwey 7ea645496d Add chernobylite dust
Made by grinding chernobylite blocks, can be centrifuged into sand and 0.3% fissile uranium dust.
2017-03-15 20:05:37 -05:00
Maciej 'agaran' Pijanka 10307f23a7 Do not run converters twice. 2017-03-15 19:00:22 -04:00
number Zero 7d5329834d Fix supply converter bug 2017-03-15 19:00:22 -04:00
Carter Kolwey c4acb7225a Don't require a full network recalculation to add or remove a dead end
A dead end (node with only one connection) can be simply added or removed from the network without needing to traverse the whole thing.
2017-03-11 00:57:52 -06:00
Vanessa Ezekowitz 343c7946d9 power monitor changes
New textures, uses facedir, connects from the back as well.
2017-03-10 14:15:38 -05:00
Carter Kolwey 088eea1e3b Fixes for network calculation issues
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
2017-03-10 01:35:58 -06:00
Diego Martínez 186f9b70ac Temporary fix for crash in constructor. 2017-03-06 23:02:39 -03:00
Vanessa Ezekowitz 32b6ca9816 Merge pull request #298 from t4im/fix/quarry_loops
Mitigate server freezes due to item-transportation loops with quarries.
2017-03-06 14:11:40 -05:00
Vanessa Ezekowitz 314d8c6c23 Merge pull request #288 from numberZero/control-supply_converter
Supply converter control
2017-03-06 14:07:12 -05:00
Vanessa Ezekowitz ff6675ef28 Merge pull request #315 from cheapie/master
Only update the associated network(s) when placing/digging nodes
2017-03-06 00:35:44 -05:00
Carter Kolwey d3f40e0fd0 Only update the associated network(s) when placing/digging nodes 2017-03-05 04:09:23 -06:00
Vanessa Ezekowitz fd609d0f7b lower the cap on water mill to 1575 EU
2250 is just too much
2017-03-02 19:06:40 -05:00
Carter Kolwey dab5fa7105 Grind gravel into sand 2017-02-27 18:03:39 -06:00
Carter Kolwey 5e19514c60 Add dirt recipe to centrifuge
4 dirt -> 2 clay lumps, 1 sand, 1 gravel
2017-02-27 17:58:43 -06:00
Carter Kolwey 0139eab9a2 Rework dirt crafting
Dirt is now crafted from stone dust, leaves, water, and sand, instead of by grinding gravel. Stone dust can be obtained by grinding stone or sand.
2017-02-27 17:51:33 -06:00
Vanessa Ezekowitz 1f49ef973d cap water mill output at `max_output` and 100% :P 2017-02-26 15:16:41 -05:00
Vanessa Ezekowitz 4888581bee Make hydro generators sense the water flow volume around them
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.
2017-02-21 13:36:58 -05:00
Vanessa Ezekowitz 8cab1a0aec don't allow standing water to power a gen,
and add support for default flowing river water
2017-02-21 13:21:23 -05:00
ShadowNinja 06dec20326 Add longer-term radiation damage
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.
2017-01-28 17:51:14 -05:00
ShadowNinja 1da213a5e4 Split radiation from nuclear reactor code 2017-01-28 17:51:14 -05:00
ShadowNinja 26de2f7c88 Tweak radioactivity
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).
2017-01-28 17:51:14 -05:00
ShadowNinja 8ccb6d97ec Switch nuclear reactor to a lead shield
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.
2017-01-28 17:51:14 -05:00
Tim d39797aad8 Handle CONTENT_IGNORE when checking windmill conditions.
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.
2016-11-17 11:59:48 -05:00
raymoo 63efc395cd fix node dupe exploit in frames
You can dupe nodes by placing them on a frame, because the on_rightclick wouldn't return the new itemstack.
2016-10-14 05:41:31 -03:00
Tim 428b1b8709 Mitigate several forms of quarry-placement leading to item-transportation loops, that eventually cause server freezes.
As a nice side effect, items are not gonna be unnecessarily received by the quarry anymore, if another tube is available for transport.
2016-10-09 17:46:06 +02:00
number Zero 03df68461a Power control added 2016-07-24 00:38:29 +03:00
number Zero e8ac23e111 Supply converter now has control panel 2016-07-24 00:34:20 +03:00
tenplus1 322615542e Fix item drop when digging mv furnace
Fixed crash when digging mv furnace
2016-05-12 23:59:16 +02:00
ShadowNinja 097d033585 Fix radiation damage 2016-03-20 22:38:30 -04:00
ShadowNinja 85a984982c Cleanup
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.
2016-03-20 00:02:33 -04:00
ShadowNinja 83c6494166 Use connected nodeboxes for cables 2016-03-20 00:02:33 -04:00