Commit Graph

334 Commits

Author SHA1 Message Date
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
RealBadAngel c5127f4b1b Fix code style (useless or) 2015-11-28 08:31:27 +01:00
RealBadAngel 8ef83e8f7e Fix corium greifing disabling not working. 2015-11-14 11:29:16 +01:00
est31 54b6d9976c CNC: re-add player inventory to formspec
Fix regression of commit

d732c8dfbd - "Add listring functionality"

by @est31 (me xD).
2015-09-12 08:04:07 +02:00
Vanessa Ezekowitz e7d06b33d1 fix missing radiation resistance for lead block 2015-09-12 01:34:57 -04:00
Vanessa Ezekowitz 1b1780946e add facedir to tool workshop 2015-09-12 01:18:16 -04:00
ThatGraemeGuy a529baba47 Machines should become inactive when output slots are full 2015-07-12 20:43:01 +02:00
est31 a793747d92 Move coal furnaces to other/
They don't use power, move them to where they belong.
2015-06-18 04:16:47 +02:00
est31 d732c8dfbd Add listring functionality
Add shift-click functionality
2015-06-18 04:09:27 +02:00
ShadowNinja e393617fa1 Fix undefined global warning 2015-04-26 18:17:04 -04:00
ShadowNinja 35b0f068af Fix grinder name in recipe 2015-04-26 18:00:20 -04:00
est31 1615681e89 Fix autoloading for solar arrays
This autoloads the node above a solar array, so that its light value can be determined.
Previously, solar arrays in unloaded blocks would report an input of 0 to the switching station.
2015-03-23 03:41:03 +01:00
est31 6b800758fb Rename technic.cables and make it private
Give it a more descriptive name.
Previous use outside cables.lua isn't neccessary and gets removed.
2015-03-22 19:35:50 +01:00
Tim 137695ea67 allow activation/deactivation of frames/templates by config
have them deactivated by default due to a larger collection of associated issues
including but not limited to
* #170
* #216
* item duplication involving templates
* runaway machines
* traversal loop issues with huge machines leading to lag-outs
2015-03-16 18:58:41 -04:00
Vanessa Ezekowitz b00e942824 don't run the damage ABM if damage is disabled on the server. 2015-03-15 18:21:28 -04:00
Vanessa Ezekowitz cf75916ea7 Add spheres to the CNC machine
Note: this required renaming the base node name for the oblate spheroid
object, which previously had been named simply "sphere".  The result is
that all such nodes in an old world will change to actual spheres.

Since this includes a formspec change, machines will have to be dug and
re-placed to get the new program button to show up, and/or if the image
on the Oblate Spheroid button shows wrongly.
2015-03-12 00:02:23 -04:00
Novatux 8b16fc1176 Add lead block, and lead & sulfur dusts 2015-03-08 13:32:59 +01:00
Jay Arndt 0113975160 Fix detection of if the machine should call pipeworks.after_place
The tube variable in these contexts always evaluates to a true value.
data.tube is the variable that indicates if pipeworks needs to be notified.
2015-03-07 21:44:42 -05:00
Jay Arndt c8cbd261ee Drop upgrade items in the after_dig_node handler instead of can_dig
This fixes an item duplication bug triggered by using a screwdriver on an upgraded machine
2015-03-07 21:44:42 -05:00
Tim c6464d3ebe label the switching station abm for profiling purposes
this allows the mtt profiler to profile this abm individually from other abms since t4im/mtt@48eff13
2015-02-28 00:47:15 +01:00
est31 4b179821d3 Get rid of technic.format 2015-02-13 21:13:17 +01:00
Tim 7ed1aa9398 correct injector inventory handling by tubes 2015-02-11 03:15:34 +01:00
Tim ce40d1cfb8 add group tubedevice_receiver to injector to fix the issue of it acting more like a tube than an inventory
it sent the items into all directions, when being injected into, instead of entering the injector as it used to
2015-02-08 12:27:10 +01:00
Vanessa Ezekowitz 5ac93cccc9 simplify pipeworks tube detect
deMorgan's axiom, which I suck at using :P
2015-02-07 12:42:18 -05:00
Vanessa Ezekowitz bccefd6997 fix other machines, battery boxes, etc to work with tube routing. 2015-02-07 03:47:53 -05:00
Tim 48e02b8452 drop upgrade list items if dug (but protect other inventories) 2015-02-06 08:35:42 +01:00
Tim a13e7b7ed1 add the option for publicly shared machines via an upgrade item "default:chest
the upgrade slots remain protected

this replaces the need for a few forks and also resolves #131 in the process, which is obsolete now
2015-02-06 07:54:29 +01:00
Tim 96788677bb clean up upgrade handling a bit and only allow setting known upgrades 2015-02-05 17:27:28 +01:00
Tim 6ef3438832 limit the upgrade slot to one item per slot, as more are ignored anyway 2015-02-05 16:09:16 +01:00
est31 9444eff7f7 Make switching station only react to nodes from below 2015-02-02 05:29:44 +01:00
est31 3dc01a6720 Formatting for supply converter too 2015-01-31 10:42:55 +01:00
est31 d9bf9830b0 Better number formating
Is it 120000 or 1200000?
2015-01-31 01:29:16 -05:00
Vanessa Ezekowitz 0c3f55e0c9 fix cobble and gravel grinder recipes 2015-01-30 14:29:50 -05:00
Tim 6dd7ffc455 move from recipe defusion to recipe deactivation to avoid confusion 2015-01-30 20:15:15 +01:00
Tim b9173be3b8 remove unnecessary definition fields 2015-01-30 17:47:04 +01:00
Tim 91fceece18 tune latex->rubber alloy recipe based on wikipedia data pointed out by @est31 2015-01-30 17:41:05 +01:00
Tim f330d58354 redfine latex->rubber path via alloy furnace
latex is being refined to rubber by drying and adding carbon pigments to strengthen the material
(which also turns it black)
it should not yield more rubber than its latex input, but it may be processed faster than ores
2015-01-30 05:16:49 +01:00
Tim 56e96b2593 add sawdust and tree/wood grindings with arcacia tree for dye and provide a better alternative rubbertree->latex path that yields the same as the tree tap, but requires more machine work
yet without textures
2015-01-30 05:16:41 +01:00
Tim a8c097bcd9 tweak sandstone/sand recipes to a more efficent compressing 2 sand -> sandstone and grinding sandstone -> 2 sand ratio; make sure the default recipes are defused 2015-01-30 05:09:21 +01:00
Tim 3cc568ddbd defuse by fake_fire added recipes, make people use the grinder for those 2015-01-30 05:09:21 +01:00
Tim 9d3f7304fb add a sandstone compression recipe back in place of the default recipe, without leading to an infinite sand/sandstone generation which lead to its removal in c0a1739 in the first place 2015-01-30 05:09:21 +01:00
Tim 9087abcde0 add centrifuge recipe for wheat 2015-01-30 05:09:21 +01:00
Tim 00f61dfb81 rewrite extractor dye recipes, adding a few dyes and making it work better with the dye mod
also preventing any issues if it is being run in a game without it
2015-01-30 05:09:20 +01:00
Tim a8b711a7f4 allow grinding wheatseeds to flour, closes #173 2015-01-30 05:09:20 +01:00
Tim 3252da05d1 use the timers, that are allready running instead of allocating a new one every tick 2015-01-27 19:02:33 +01:00
est31 f250e1632f Give quarries a better inventory icon
Current inventory icon is indistinguishable from carbon steel block. The side with the pick was hidden. This commit moves that part to the front.
2015-01-24 21:23:26 +01:00
est31 86dd5852aa Add cache to quarry
Adds a cache to the quarry in order to reduce load and send larger stacks through pipes instead of just single items. Coin tossing ensures the cache gets purged around every 200 seconds. The interval isn't fixed in order to prevent material spikes from multiple quarries which got loaded simultaneously. When the cache is full, or the quarry finished, it is purged too.
2015-01-24 21:22:49 +01:00
est31 c38da0945c Optimize quarry_run
Don't load the whole digging area when only a small piece is relevant.
Also, move the (time expensive) check whether the air above a block is free to the last position, which spares unneccessary checks when multiple quarries are placed together, or a quarry has to loop over air for another reason.
2015-01-24 19:40:02 +01:00
Vanessa Ezekowitz ec73a8508f add custom collision and selection box handling to CNC machine
also clean up formatting of surrounding code
2015-01-19 13:37:46 -05:00
Vanessa Ezekowitz 80cb6a495a Use mesh nodes for all of the more complex CNC machined items 2015-01-16 16:57:34 -05:00
ThatGraemeGuy 2e04374de8 Add gloopores' Kalite dust as a more effecient fuel than lumps 2015-01-12 17:51:55 -05:00
Vanessa Ezekowitz bc0ac581aa prevent crash if get_recipe_index() is passed a nil or apparent garbage instead
of a table
2015-01-12 17:43:56 -05:00
Novatux 4ac36e9d27 Fix infinite energy with supply converter 2014-12-30 12:10:36 +01:00
ShadowNinja 5382a88aef Fix some global errors 2014-12-15 17:47:07 -05:00
Vanessa Ezekowitz a413904ecd minetest.env:* --> minetest.* 2014-11-30 12:45:42 -05:00
Vanessa Ezekowitz 8da4d057b0 update to latest mesecons API
requires mesecons commit 5be179bf110b44bdc06df6dbfde4e61487cf0635 or later.
2014-11-22 13:58:38 -05:00
ShadowNinja 30a37a490f Make the forcefield replace buildable_to nodes and make it faster (about x20) 2014-11-13 12:28:04 -05:00
Zefram f205e5f404 Fix anonymous digging of non-empty machine
The quarry was causing crashes when it reached a machine that was
undiggable due to containing items.
2014-11-06 08:33:14 -05:00
ThatGraemeGuy 6d90ebb94e Make generators stop supplying EUs when there is a non-fuel item in the fuel slot 2014-09-16 15:21:14 -04:00
Zefram 0de4fec07c Fix second description of radioactive group value 2014-08-28 15:30:15 +02:00
Zefram 45919b871a Make forcefield properly undiggable 2014-08-28 15:14:05 +02:00
Zefram 2912e2da78 Rebalance radiation shielding
Squeeze the range of material shielding values.  The strongest shielding
materials get weaker, and weaker shielding materials, especially low-end
ones such as dirt, get stronger.  The radioactivity of the active
reactor core is increased so that the standard shielding is (still)
only narrowly sufficient.
2014-08-20 20:09:41 +01:00
Zefram 7a9d2ffe5f Finer gradations of radioactivity
Make the "radioactive" group value be the safe distance in millimeters
rather than meters, to allow for intermediate values.  Use such
intermediate values for the uranium blocks, using the existing formula
with this finer quantisation.  All other radioactive nodes retain their
existing radioactivity exactly.
2014-08-20 19:14:03 +01:00
Zefram 7d610b7c80 Tube capability for tool workshop
Tool workshop can now accept tools to repair via tube.  It has upgrade
slots.  Battery upgrade reduces its power consumption.  Tube upgrade
makes it eject fully-repaired (or unrepairable) items via tube.
2014-08-18 17:09:37 +01:00
Zefram 814646b542 Smoother link of processing cycles to ABM cycles
Make the generic processing machine code willing to complete more than
one processing cycle in one ABM cycle, and more generally to carry
over leftover processing effort after completing a processing cycle.
The src_time meta item now represents accumulated processing effort
(time multiplied by speed) in a scaled form (to retain fractions),
rather than just time in integral seconds.  This affects the MV furnace,
with speed 4 and most recipe times being 3 s, and will be essential for
faster furnaces.
2014-08-18 15:14:15 +01:00
Zefram d0efa15b98 In quarry, skip past undiggable nodes
The quarry used to get stuck when it encountered an undiggable node.
Change it to skip past that node, digging whatever later stuff it can.
Necessarily, the current digging position becomes semantically-significant
state: it is no longer sufficient to search the quarry cuboid from the top
on each iteration.  The current digging height is reported in the quarry's
interaction form, and can be reset to the top using a button on the form.

Where there is a non-air node within the quarry directly above the
next node to dig, it blocks the quarry's access to that node, even if
everything involved is diggable.  Thus an undiggable node casts a shadow
of undug nodes below it.  Resolving undiggability of a node is a major
reason to use the restart button.
2014-08-18 15:14:15 +01:00
Zefram d0001a20c9 Fix visible cable connection for irregular items
The switching station and supply converter only semantically connect to
cables in particular directions.  Make them visually connect only in
the matching directions.  This is done by special-casing in the cable
update logic.  If more irregular items arise in the future, or the
existing items start to need facedir logic, this should be generalised
into something like the connect_sides system for pneumatic tubes.
2014-08-17 13:43:39 +01:00
Novatux 35b10adb40 Fix items sending 2014-08-16 13:42:17 +02:00
Zefram 849526cd76 Fix forcefield power demand when disabled 2014-08-15 12:25:47 +01:00
Zefram 830de45936 Option for forcefield to be cubical 2014-08-15 12:25:46 +01:00
Zefram 6cc471e986 Simplify music player interface
Having a track selected now implies playing it, rather than
playing/stopped being a hidden state separate from track selection.
2014-08-15 12:25:46 +01:00
Zefram 1d0687556a Fix music player's sound management
If an operating music player was disconnected from the electrical network
or destroyed, it used to leave the music playing forever.  There was
also a glitch upon starting playing, as the music was started by the
form handler but then stopped when the run function realised it wasn't
receiving any power, because it hadn't demanded any yet.
2014-08-15 12:25:46 +01:00
Zefram 049129d9b8 Handle both pipeworks APIs
The new API function is now renamed to pipeworks.tube_inject_item(),
so use it under that name.  If it is not available, synthesise the new
API in terms of the old one.
2014-08-15 13:23:41 +02:00
Vanessa Ezekowitz 772c21cb04 don't put anchor in creative inv 2014-08-14 21:56:05 -04:00
Novatux baf7f61665 Compatibility with latest pipeworks 2014-08-14 21:29:56 +02:00
Zefram b001a67979 Administrative world anchor 2014-08-13 19:07:53 +01:00
Zefram 38e85e9775 Manual section on uranium enrichment 2014-08-13 02:45:44 +01:00
Kevin Zheng 7cfb3874a3 Evenly distribute charge across multiple batteries 2014-08-06 12:08:48 -05:00
ShadowNinja ab567e21ca Remove non-functional tetris machine 2014-08-04 13:43:57 -04:00
Zefram 4996d1824c Make nuclear reactor core harder to break
With breaking an active reactor core now causing instant meltdown, having
it breakable by hand is too hazardous.  Change it to match steel block,
which constitutes the main part of the rest of the reactor structure.
2014-08-04 12:54:47 -04:00
Zefram fc87eca4cd Fix technic_run declaration for hydro generator 2014-08-04 14:58:38 +01:00
Zefram 8275091347 Improve injector interface
Make the injector's mode button lag-resistant.  Display the mode on
the button, as is done with other machines' toggle buttons.  Describe
the modes using the same words that are now used to distinguish the
corresponding pipeworks objects.  Expand name to "self-contained
injector", now that the pipeworks objects are also called "injector".
Show injector item image along with the item name at the head of the form.
2014-08-01 18:25:20 +01:00
Zefram daa6135211 Update alloying craft guide to match machine
The alloy furnaces have been changed to lay out the input slots
horizontally.  The craft guide should match that, for mnemonic value.
2014-08-01 17:56:32 +01:00
Zefram beb480bec2 Redescribe alloying in craft guide
Change "Alloy cooking" to "Alloying", for consistency with the
descriptions of other recipe types.
2014-08-01 17:50:40 +01:00
Zefram 0003ec6a79 Make carbon steel alloying quicker
Taking the same time per alloying cycle as other alloys meant that carbon
steel was being produced painfully slowly, becuase it processes much less
material per cycle than other alloys.  This change halves the cycle time,
which leaves it still processing less material per second than other
alloying processes, but by a less drastic margin.
2014-08-01 17:40:35 +01:00
Zefram 2a7ee141eb Fix behaviour on decabling a forcefield emitter 2014-08-01 17:30:21 +01:00
Vanessa Ezekowitz 88bdac62e3 Merge remote-tracking branch 'zefram/zefram/centrifuge' 2014-07-30 15:36:27 -04:00
Zefram 12d0c6522b Correct breakability of sandstone CNC nodes
default:sandstone has cracky=3, but the CNC nodes had cracky=2.
2014-07-30 20:28:30 +01:00
Zefram 0dfac3f484 Make granite harder than regular stone
In real life granite is renowned for its hardness.
2014-07-30 20:25:35 +01:00
Zefram 60bc80692b Remove a noisy debugging print 2014-07-28 13:29:39 +01:00
Zefram b0faa70873 Uranium enrichment via centrifuge
Replacing the extractor-based system, uranium to be used as reactor fuel
must now be enriched in stages using the centrifuge.  Uranium metal can
exist at 36 levels of fissile content, from 0.0% to 3.5% in steps of 0.1%.
One round of centrifuging splits two dust of a particular grade in to one
dust each of the two neighbouring grades.  Uranium of each grade can exist
as dust, ingot, and block, with all the regular metal processes to convert
between them.  Uranium from ore exists in lump form, and is 0.7% fissle.
The blocks are radioactive to a degree dependent on fissile content.
Thus the chemical refinement and processing of uranium now follows the
standard pattern for metals, and is orthogonal to isotopic enrichment.
Each form of uranium (dust, ingot, block) intentionally looks identical
regardless of fissile grade.

If technic_worldgen is used alone, it defines only one grade of uranium
(as before), but defines it in the regular metal pattern, with lump, ingot
produced by cooking lump, and block crafted from ingots.  It identifies
the metal only as "uranium".  The multiple grades of uranium are defined
by the technic mod, which identifies each grade as "N.N%-fissile
uranium".  The single grade that was registered by technic_worldgen
is redefined to be described specifically as "0.7%-fissile uranium".
For the redefinition to work, technic_worldgen must load before technic,
so technic now declares a dependency on technic_worldgen.

Each fuel rod is made from five 3.5%-fissile ingots, each of which in
turn requires one to start with five 0.7%-fissile dust, so each fuel rod
is now derived from 12.5 uranium lumps (or 25 if the lumps were first
cooked rather than being ground).  This replaces the 20 lumps required
by the former recipes.  After setting up and priming the centrifuge
cascade, enriching a full set of fuel for the reactor (six fuel rods)
takes 14700 centrifuge operations.  It's intended to be a practical
necessity to automate the centrifuge.  In the absence of EU upgrades
for the centrifuges, these operations consume 5.88e8 EU, about 0.97%
of the 6.048e10 EU that the fuel set will produce in the reactor.
The intent is that, in this respect as in others, operating a reactor
should carry a very high up-front cost, but ultimately be very profitable.
2014-07-28 13:18:51 +01:00
Zefram dd65a68ce9 Add centrifuge
The centrifuge, currently only existing in an MV variety, is a machine
that separates a mixed substance into its constituents.  Currently the
main use is to reverse alloying of metals.  The alloy separation recipes
intentionally only operate on the dust form of metals, making this less
convenient than the original alloying.  It also only recovers metal
constituents, not the carbon that went into cast iron or carbon steel.

This change incidentally generalises the technic recipe and
machine infrastructure to handle recipes with multiple outputs.
As unified_inventory's craft guide can't yet handle that, these recipes
are not registered there.
2014-07-26 18:01:05 +01:00
Zefram 84cf6504c5 Make outer layer of reactor structure optional
As the layers of reactor structure now have a practical purpose,
in attenuating the modelled radiation from the core, it is no longer
necessary to make so much of it mandatory in order to motivate players
to build it.
2014-07-25 17:27:55 +01:00
Zefram d59055dd2b Audible siren to warn of reactor meltdown
The siren sounds a "danger" tone continuously while it is active and
damaged, such that meltdown is imminent.  It sounds a one-off "clear"
tone if it has been sounding "danger" and the danger has passed, either
because the structure is repaired or because the reactor has become idle.
2014-07-25 15:38:40 +01:00
Zefram 67b90f3ad1 Grace period before reactor meltdown
The meltdown check now doesn't trigger meltdown immediately on reactor
structure being compromised.  Instead, there's a grace period of up to
100 s, during which the reactor can be repaired.  The check doesn't just
look at whether the structure is damaged at all: it looks at how damaged
it is, counting the number of faulty nodes.  The amount of damage is
integrated over time, and the grace period is actually 100 node-seconds,
so greater damage causes meltdown more quickly.  If the active core is
dug then it melts down immediately, preventing the tactic of digging
the core to avert meltdown.

Incidentally move the meltdown check into its own ABM, from the
technic_run callback, so that it applies even when the reactor is not
connected to a switching station.
2014-07-25 14:24:25 +01:00
Zefram ec008d7045 Material-dependent radiation shielding
Radiation is attenuated exponentially by passing through shielding
material.  Radiation resistance values are assigned to all bulk-material
nodes, and the radiation damage ABM traces the path of each radiation ray
to count up the shielding.  The relative radiation resistance values are
essentially real, but the effectiveness of all shielding is scaled down
by a factor of about 70 for game purposes.  Strength of the existing
radiation sources is increased by varying amounts to compensate for
shielding.  Uranium block and ore, both usable as shielding, are made
slightly radioactive, the latter only very slightly.
2014-07-25 03:42:21 +01:00
Zefram 17c5b66524 Inverse square law for radiation damage 2014-07-24 17:38:53 +01:00
Zefram e11f0f8817 Tweak corium light settings
Flowing corium appeared too dark.
2014-07-23 18:45:50 -04:00
Zefram c5e9480d99 Config setting to nerf corium
For use on servers that have a mainly creative purpose, the setting
enable_corium_griefing=false will prevent corium from flowing far or
unpredictably and from destroying nodes other than water.  All reactor
meltdowns will stay contained.
2014-07-23 17:24:52 -04:00
Zefram 366fc3bc65 Better reactor meltdown
Reactor `explosion' now replaces the reactor core with a corium source
node.  Corium is a new liquid, which flows a bit like lava, but has
the additional feature of destroying nodes to which it is adjacent.
It also randomly turns into a solid form, chernobylite, which makes an
attractive building block.  It thus gradually melts its way through the
reactor shielding layers; a meltdown gets worse over time if not cleaned
up promptly.

The mechanism for an active reactor core to damage nearby players is
generalised into a "radioactive" node group.  Corium and chernobylite
are radioactive, to varying degrees.  Players receive a varying amount of
damage from a radioactive node, depending on proximity.  Staying outside
a reactor cube is sufficient to be safe from the active core, but not
sufficient to be safe from a melted core.
2014-07-23 20:21:59 +01:00
Zefram cca72f43f1 Tweak mesecon control of forcefield
Drop support for negative mesecon control.  This requires users of
negative mesecon control to invert their mesecon signal externally.

Comment on rationale for the way toggle buttons in formspec are managed.
2014-07-23 16:49:08 +01:00
Zefram 6a4cb16392 Fix mesecon control of forcefield
The code formerly attempted to make the forcefield emitter controlled
both manually and by (inverted) mesecon signal, but the two interfered
with each other.  In particular, a newly-placed emitted would be
informed that it was getting no mesecon signal, and would therefore
enable itself.  Fix this by adding explicit modes for how the emitter
will respond to mesecon signals: ignore them, obey them positively,
or obey them negatively.

The manual control could have been incorporated into this mode setting
by having two "ignore mesecon" modes: always-enabled and always-disabled.
But it seems more useful to have a separate manual master switch, so that
the emitter can be manually disabled without losing the mesecon mode.
So it is now implemented that way.
2014-07-23 16:49:08 +01:00
Vanessa Ezekowitz 2d9e06c479 actually make the reactor core melt down when it should
(turns into a lava source, boils away the surrounding water)
2014-07-23 11:08:11 -04:00
Vanessa Ezekowitz 29c7ff5228 don't attempt to force-load blocks if they're already loaded. 2014-07-23 10:00:13 -04:00
ShadowNinja 14b30bfd0d Clean up constructor 2014-07-21 01:52:13 -04:00
ShadowNinja 22a4bcf80d Remove mods that aren't strictly required from depends.txt 2014-07-20 23:49:38 -04:00
goblin 6ec12b51cb also return buckets with generators
... and in the `smelt_item` function, even though it seems unused
2014-07-19 00:18:44 +01:00
goblin 9290e6f00d coal alloy furnace to return the buckets 2014-07-18 17:08:05 +01:00
Novatux efd5ff644c Fix supply converter again 2014-07-14 11:16:37 +02:00
Novatux 7065ba9155 Fix problem with supply converter producing energy 2014-07-13 14:15:10 +02:00
Novatux 1af6313c69 Fix crash with supply converter 2014-07-12 18:22:52 +02:00
Novatux 1c617f2c5e Make unconnected generators burn the fuel they still have. 2014-07-12 09:50:50 +02:00
Novatux 563a4c071d Make switching station run all machines it is connected to, including those in unloaded blocks. 2014-07-11 11:00:46 +02:00
Zefram 5e4a87b925 Rework some recipes to use more varied ingredients 2014-07-09 09:17:44 +02:00
Zefram 5ec2d10dbc Vary cable insulation type with tier
LV cables are now paper-insulated, rather than uninsulated (which made
no sense).  MV cables are rubber-insulated as before.  HV cables are now
plastic-insulated (which they already visually appeared to be).  MV and
HV cables are still crafted by adding insulation onto lower-tier cable,
rather than by insulating raw copper; this matches the way machines are
upgraded between tiers rather than crafted afresh.
2014-07-09 09:17:44 +02:00
Zefram 4958a77e21 Tweak supply converter recipe
The casing is now in the center of the grid, as it is for all other
machines.
2014-07-09 09:17:44 +02:00
Zefram 68ea0acbd0 Consistently use cable in electric machine recipes
All electric machine recipes now include cable of the appropriate tier
as the bottom-middle ingredient, immediately below the casing ingredient.
Many LV machines were using a copper ingot in that location.
2014-07-09 09:17:43 +02:00
Zefram e8a5a6652d Use machine casing in most machine recipes 2014-07-09 09:17:43 +02:00
Zefram 611c7760eb Fix fuel-fired alloy furnace
Commit ee0765804c broke the fuel-fired alloy
furnace, by removing the definition of its formspec that it requires to
set up the form upon construction.
2014-07-07 15:15:05 +02:00
Zefram e5cc3359e0 Fix craft guide for alloy cooking et al
A typo in commit d55ecc39f9 made recipes
for alloy cooking, compressing, and all other craft types sharing that
machine code, to be shown with three ingredient slots instead of the
correct one or two.
2014-07-07 15:15:05 +02:00
Zefram ad157d1b8f Fix brass alloying recipe
Commit d55ecc39f9 introduced a bogus
reference to "technic:copper_ingot".
2014-07-07 15:15:05 +02:00
Novatux d55ecc39f9 Change the recipe code to be able to handle recipes with more than one input, and use it for the alloy furnace.
Reorganize the init.lua files.
2014-07-03 15:57:39 +02:00
Carter Kolwey 95fcc435f1 Make MV extractor/compressor work 2014-07-03 08:18:41 +02:00
Novatux 5f2d09b8a9 Fix machine description 2014-07-03 08:17:20 +02:00
Zefram 2d6f34df15 Better forcefield control dialog
The size configuration is no longer cleared when exiting the dialog with
<esc>.  The enable/disable toggle button now indicates the current state.
The name of the toggle button now varies according to state, so that
pressing the button multiple times in one state (which can arise due
to lag making the user unsure about whether the first press registered)
only makes the state change that the user requested, rather than toggling
repeatedly.
2014-07-02 21:43:34 -04:00
Novatux c0a17396bf Add MV version of compressor too, remove infinite sand-producing compressor recipe. 2014-07-02 22:45:46 +02:00
Novatux aa8af0c871 Refactor a lot of code: make only one registration function for grinder, extractor and electric furnace (compressor will follow soon) 2014-07-02 22:24:38 +02:00
Novatux 88cbc6c2a7 Add MV extractor 2014-07-02 19:43:24 +02:00
Novatux 2a23587445 Add registration code for extractor 2014-07-02 19:43:13 +02:00
Zefram 7c4b7046cc Rationalise machine terminology
All electrically-powered machines now consistently indicate their
tier (supply voltage) in their names.  As this implies that they are
electrically powered, the furnaces no longer have "Electric" in their
names.  The fuel-fired equivalents of electric machines, which exist
for alloy furnace and furnace, now say "Fuel-Fired" to distinguish them.
(The fuel-fired alloy furnace used to say "Coal", which was inaccurate
because it uses any fuel.  The fuel-fired furnace, from the default mod,
used to just be called "Furnace", which is ambiguous.)

Electric power generators now consistently indicate their tier and have
the word "Generator" in their names.  This makes their purpose much
clearer, and makes obvious craft guide searches produce useful results.
The fuel-fired generators, previously just (ambiguously) called
"Generator", are now explicitly "Fuel-Fired".
2014-06-21 01:21:52 +02:00
Zefram 23603e7f41 Full glooptest support
To support the glooptest mod (successor of gloopores), define the
gloopores lump->dust grinding recipes if either of the mods is available.
(Formerly only "gloopores" was supported.)  Define kalite dust item,
which was previously missing.  Make gloop ingots grindable to dust as the
non-gloop ingots already are; incidentally refactor this to automatically
make ingots grindable whenever the ingot can be made by cooking dust.
Add textures for all the gloop dusts.  Do the "Steel"->"Iron" renaming
for glooptest-defined tools and items.
2014-06-21 01:19:26 +02:00
ShadowNinja 799c1b3409 Fix wear_represents logic 2014-05-30 21:13:14 -04:00
ShadowNinja ebc122fb35 Remove unused parameter to is_empty() 2014-05-30 21:00:58 -04:00
ShadowNinja 7c2f2d9630 Fix crash when trying to repair unknown items 2014-05-30 20:59:59 -04:00
Zefram b74c2d38b9 Better quarry control dialog
The size configuration is no longer cleared when exiting the dialog with
<esc>.  The enable/disable toggle button now indicates the current state.
The name of the toggle button now varies according to state, so that
pressing the button multiple times in one state (which can arise due
to lag making the user unsure about whether the first press registered)
only makes the state change that the user requested, rather than toggling
repeatedly.
2014-05-24 00:26:24 +02:00
Zefram 4d20e4473e Stop quarry duplicating items
The quarry was digging via dig_node and also manually putting the node's
drops into the tube system.  This assumed that dig_node would attempt
to put the drops in the player's inventory, doing nothing if there is
no such inventory.  With the item_drop mod installed, dig_node would
instead turn the node into an item entity, so the quarry's strategy would
duplicate the item, making it appear both as an item entity in situ and
as an item in the tube.  Instead, the quarry must use remove_node when
it manually processes the drops, just like the pipeworks node breaker.
2014-05-24 00:25:19 +02:00
Zefram 623fcae4a4 Fix supply converter
Its registration as a battery (BA) node didn't work.  It needs to be
registered as both a producer (PR) and a receiver (RE).
2014-05-24 00:24:30 +02:00
Zefram 29429f636e Only make gloop dusts if gloopores is present 2014-05-24 00:23:48 +02:00
Zefram a5fc7ac41e Make stainless steel ingot grindable to dust
Consistent with all the other ingot/dust pairs.
2014-05-24 00:22:11 +02:00
Novatux 6a08071d86 Upgrades to battery boxes too, prevent frames from moving too often (one move every second max) 2014-05-23 19:58:41 +02:00
Zefram 68b7bcc28e split default iron/steel into three metals
Override the default mod's iron/steel substance, replacing it with three
metals: wrought iron (pure iron), carbon steel (iron alloyed with a little
carbon), and cast iron (iron alloyed with lots of carbon).  Wrought iron
is easiest to refine, then cast iron, and carbon steel the most difficult,
matching the historical progression.  Recipes that used default steel are
changed to use one of the three, the choice of alloy for each application
being both somewhat realistic and also matching up with game progression.

The default:steel{_ingot,block} items are identified specifically with
wrought iron.  This makes the default refining recipes work appropriately.
Iron-using recipes defined outside technic are thus necessarily
reinterpreted to use wrought iron, which is mostly appropriate.
Some objects are renamed accordingly.

Rather than use the default steel textures for wrought iron, with technic
providing textures for the other two, technic now provides textures for
all three metals.  This avoids problems that would occur with texture
packs that provide default_steel_{ingot,block} textures that are not
intended to support this wrought-iron/carbon-steel/cast-iron distinction.
A texture pack can provide a distinct set of three textures specifically
for the situation where this distinction is required.

Incidentally make grinding and alloy cooking recipes work correctly when
ingredients are specified by alias.
2014-05-22 20:57:50 +02:00
Novatux b204090acc Fix errors when trying to charge buckets of water. 2014-05-18 14:47:05 +02:00
RealBadAngel c7a4c05860 Fix invalid check for UI. 2014-05-06 22:11:04 +02:00
Vanessa Ezekowitz 30adc3b651 86400 ticks is one week, not 24h 2014-05-04 15:23:34 -04:00
Zefram 00d7c9bdea Refill behaviour for power tools and cans
Supply the on_refill hook for power tools and cans, to perform appropriate
charging.  This is to be used by unified_inventory's creative-mode
refill slot.
2014-04-30 10:49:54 +01:00
Zefram 0294fc8f3a various backward-compatibility aliases 2014-04-30 00:26:45 +01:00
Zefram 9b64ffea8c Register craft types with unified_inventory 2014-04-30 00:22:48 +01:00