Commit Graph

294 Commits

Author SHA1 Message Date
Zefram 9004ab3322 Handheld prospecting tool
The new tool will say whether a target block type is present in a
specified region, to allow for more targeted digging.  It is deliberately
quite weak, with several limitations: only stores enough charge for a
small number of shots; target can only be set by pointing at an example
node; range is limited; accuracy is less than 100%.  Some of these
limitations should probably be ameliorated, but not entirely eliminated,
in the future when we have a better idea of game balance.

The inventory image is only a placeholder.
2014-07-07 15:15:30 +02:00
Zefram 01b475c7cc Fine gold and silver wire items
Not used in any recipes yet.
2014-07-07 15:15:30 +02:00
Zefram 63ab5ef5d4 Tweak supply converter recipe
The casing is now in the center of the grid, as it is for all other
machines.
2014-07-07 15:15:30 +02:00
Zefram 74d54eb0b4 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-07 15:15:30 +02:00
Zefram d9fc156960 Use machine casing in most machine recipes 2014-07-07 15:15:30 +02:00
Zefram c26f45c962 Machine casing item
The casing is intended to be an ingredient in craft recipes for machines.
It isn't actually used in any recipes yet.  Although mainly a craft
item, it is defined as a node type, mainly to get an appropriately cubic
inventory image.  It is incidentally possible to place it as a node:
this makes some sense, although the empty machine casing isn't actually
useful as a node.
2014-07-07 15:15:30 +02:00
Zefram 775cb9d132 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:30 +02:00
Zefram fb15df52e2 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:30 +02:00
Zefram 43295b5b7f Fix brass alloying recipe
Commit d55ecc39f9 introduced a bogus
reference to "technic:copper_ingot".
2014-07-07 15:15:30 +02:00
RealBadAngel 0e6b3ce86b Add snippet to check if function exists. 2014-07-03 17:40:06 +02:00
Novatux 5727a84bd8 Add missing entry to template 2014-07-03 17:24:01 +02:00
Novatux 8f1c202eaa Remove most tube crafting recipes 2014-07-03 16:48:47 +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
ShadowNinja 51c02e9c8a Fix the chainsaw's protection check 2014-06-26 16:53:38 -04:00
ShadowNinja 9019ebe496 Clean up and improve chainsaw 2014-06-26 11:13:30 -04:00
Phvli c636582707 Make sure chainsaw drops appear above ground
A fix for https://github.com/minetest-technic/technic/issues/137
Chainsaw drops are forced to pop above ground. Also, as asl suggested,
they must not end up too high on a ledge or a pillar.

This also cleans up the code style of chainsaw.lua.
2014-06-23 18:36:43 -04:00
Zefram c394984ae5 Handle lag better in drill
If a mining drill is apparently applied to a non-pointable node, do
nothing rather than drilling as normal.  This situation usually arises
from lag, where the news of a node having been drilled didn't reach the
user quickly enough and the user thereby applied the drill twice to the
same node.  The second drill attempt would formerly consume charge and
then find that all the nodes it wanted to dig had already been removed.
2014-06-21 01:22:40 +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
Zefram c2bc4e9d56 Proper x32 texture for coal dust 2014-06-21 00:51:08 +02:00
Novatux 9181666cdc Chainsaw should dig jungle leaves too. 2014-06-08 09:46:44 +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 ecb53e9717 Mining lasers: don't dig the node the player is in. 2014-05-18 16:11:06 +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
asl97 45e1f05ffc Move checking of node that should be ignore above protection checking
firing a laser into a sky while in someone land without hitting anything but air shouldn't get anyone ban
2014-05-06 04:22:51 +02:00
Vanessa Ezekowitz 30adc3b651 86400 ticks is one week, not 24h 2014-05-04 15:23:34 -04:00
roberto5 67b709744f Improve italian translation 2014-05-01 19:09:24 -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
Zefram c9bf799e32 Declare unified_inventory optional dependency
Make sure unified_inventory is loaded before us if present, so that we
successfully register crafts with it.
2014-04-30 00:22:08 +01:00
Zefram 03a5375e55 Fix can wear following tool workshop change
The cans used set_RE_wear() to manage their wear bars.  As that now only
sets wear for power tools, the cans need a separate function.
2014-04-30 00:22:02 +01:00
Zefram 99fd5dfee5 Genericise handling of multiple meanings of wear
The tool workshop is meant to repair mechanical damage to tools, so
is at risk of `repairing' tools that use the wear bar to represent
something other than mechanical wear.  It had special-case recognition
of the water and lava cans, which use the wear bar to represent how much
content they're carrying, and wouldn't repair them.  But it didn't avoid
`repairing' RE chargeable items, which use the wear bar to represent
how much energy they have stored.  It would modify the wear bar without
actually affecting the charge, so the wear bar would jump back to the
correct place when the next charging or discharging event occurred.

To genericise, introduce a new item property, "wear_represents", which
indicates how the wear bar is used for this item.  Currently defined
values are "mechanical_wear" (straightforward damage to tools that
start out perfect), "technic_RE_charge" (electrical energy, canonically
represented in the meta rather than the wear bar), and "content_level"
(how full a container is).  For backcompat, nil is interpreted as
"mechanical_wear".  The tool workshop will only repair "mechanical_wear"
tools.  As a bonus, set_RE_wear() will only set the wear bar for
"technic_RE_charge" items: this means developers will notice if they
forget to declare wear_represents, but also means that with no further
changes it's possible to have an RE chargeable item that uses its wear
bar to represent something else.
2014-04-30 00:21:55 +01:00