zefram/minetest/technic.git
10 years agoImprove injector interface
Zefram [Fri, 1 Aug 2014 17:25:20 +0000 (18:25 +0100)]
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.

10 years agoUpdate alloying craft guide to match machine
Zefram [Fri, 1 Aug 2014 16:56:32 +0000 (17:56 +0100)]
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.

10 years agoRedescribe alloying in craft guide
Zefram [Fri, 1 Aug 2014 16:50:40 +0000 (17:50 +0100)]
Redescribe alloying in craft guide

Change "Alloy cooking" to "Alloying", for consistency with the
descriptions of other recipe types.

10 years agoMake carbon steel alloying quicker
Zefram [Fri, 1 Aug 2014 16:40:35 +0000 (17:40 +0100)]
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.

10 years agoFix behaviour on decabling a forcefield emitter
Zefram [Fri, 1 Aug 2014 16:30:21 +0000 (17:30 +0100)]
Fix behaviour on decabling a forcefield emitter

10 years agoMerge remote-tracking branch 'zefram/zefram/centrifuge'
Vanessa Ezekowitz [Wed, 30 Jul 2014 19:36:27 +0000 (15:36 -0400)]
Merge remote-tracking branch 'zefram/zefram/centrifuge'

10 years agoCorrect breakability of sandstone CNC nodes
Zefram [Wed, 30 Jul 2014 19:28:30 +0000 (20:28 +0100)]
Correct breakability of sandstone CNC nodes

default:sandstone has cracky=3, but the CNC nodes had cracky=2.

10 years agoMake granite harder than regular stone
Zefram [Wed, 30 Jul 2014 19:25:35 +0000 (20:25 +0100)]
Make granite harder than regular stone

In real life granite is renowned for its hardness.

10 years agoRemove a noisy debugging print
Zefram [Mon, 28 Jul 2014 12:29:39 +0000 (13:29 +0100)]
Remove a noisy debugging print

10 years agoUranium enrichment via centrifuge
Zefram [Sun, 27 Jul 2014 01:48:08 +0000 (02:48 +0100)]
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.

10 years agoReduce dependencies of technic_chests
Zefram [Sat, 26 Jul 2014 18:33:48 +0000 (19:33 +0100)]
Reduce dependencies of technic_chests

technic_chests was depending on the technic mod, for the top-level
"technic" table and the technic.swap_node function.  Resolve that by
sharing the top-level table and inlining the one use of the function.
It was also depending on technic_worldgen, for the definitions of
cast iron and wrought iron.  Make the use of cast iron conditional on
technic_worldgen, falling back to default "steel".  Change the use of
wrought iron to directly use default "steel", to which it is aliased
anyway.

10 years agoMake technic_worldgen loadable before technic
Zefram [Sat, 26 Jul 2014 18:03:07 +0000 (19:03 +0100)]
Make technic_worldgen loadable before technic

There was a small amount of dependency of technic_worldgen on the
technic mod, for configuration loading and the top-level "technic" table.
Resolve that by sharing the configuration and top-level table between the
two mods.  This means that technic_worldgen can be loaded before technic,
permitting other mods to depend on it without depending on technic.

10 years agoAdd centrifuge
Zefram [Tue, 15 Jul 2014 17:29:36 +0000 (18:29 +0100)]
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.

10 years agoMake outer layer of reactor structure optional
Zefram [Fri, 25 Jul 2014 16:27:55 +0000 (17:27 +0100)]
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.

10 years agoAudible siren to warn of reactor meltdown
Zefram [Fri, 25 Jul 2014 14:36:26 +0000 (15:36 +0100)]
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.

10 years agoGrace period before reactor meltdown
Zefram [Fri, 25 Jul 2014 13:24:25 +0000 (14:24 +0100)]
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.

10 years agoMaterial-dependent radiation shielding
Zefram [Fri, 25 Jul 2014 02:26:43 +0000 (03:26 +0100)]
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.

10 years agoInverse square law for radiation damage
Zefram [Thu, 24 Jul 2014 16:38:53 +0000 (17:38 +0100)]
Inverse square law for radiation damage

10 years agoFix celeron55 credit
Zefram [Wed, 23 Jul 2014 22:44:57 +0000 (23:44 +0100)]
Fix celeron55 credit

10 years agoTweak corium light settings
Zefram [Wed, 23 Jul 2014 22:40:21 +0000 (23:40 +0100)]
Tweak corium light settings

Flowing corium appeared too dark.

10 years agoConfig setting to nerf corium
Zefram [Wed, 23 Jul 2014 21:13:45 +0000 (22:13 +0100)]
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.

10 years agoBetter reactor meltdown
Zefram [Wed, 23 Jul 2014 19:04:18 +0000 (20:04 +0100)]
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.

10 years agoImproved can usage
Zefram [Sun, 20 Jul 2014 23:22:47 +0000 (00:22 +0100)]
Improved can usage

Make the use of cans more like the digging and placement of ordinary
nodes, and specifically make it much closer to the use of buckets.
The main change is that left-click with a can is now only used to take
liquid; placing liquid is now done with a right-click.  This makes the use
of cans a lot less error-prone, compared to the old scheme of determining
the operation based on the type of node pointed to.  Other changes are
that liquid placement is now permitted to replace any buildable_to node,
and the cans obey node protection.

10 years agoGenericise can logic
Zefram [Sun, 20 Jul 2014 22:14:14 +0000 (23:14 +0100)]
Genericise can logic

Factor out the logic common to water and lava cans.  Provide it in the
form of a technic.register_can() function, which can be called by other
mods to register cans for other liquids.

10 years agoTweak mesecon control of forcefield
Zefram [Tue, 15 Jul 2014 22:42:27 +0000 (23:42 +0100)]
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.

10 years agoFix mesecon control of forcefield
Zefram [Mon, 14 Jul 2014 13:58:59 +0000 (14:58 +0100)]
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.

10 years agoBetter chest color button layout
Zefram [Wed, 2 Jul 2014 18:13:04 +0000 (19:13 +0100)]
Better chest color button layout

Where possible (which it currently is for the gold chest), don't break
the centering of the player inventory in the chest formspec because
of the color buttons.  Where the color buttons don't fit next to a
perfectly centered player inventory (which doesn't currently occur for
any technic chest), move the player inventory only as much as necessary
to accommodate the color buttons.

10 years agoBring wooden chest fully into the chest system
Zefram [Wed, 2 Jul 2014 17:45:35 +0000 (18:45 +0100)]
Bring wooden chest fully into the chest system

Re-register most aspects of default:chest and default:chest_locked,
using the technic chests code, so that the wooden chests fit properly
into the sequence of chest types.  This mainly affects the formspec,
which now uses the style of the other chests, rather than the bare style
used by the default mod.

10 years agoactually make the reactor core melt down when it should
Vanessa Ezekowitz [Wed, 23 Jul 2014 15:08:11 +0000 (11:08 -0400)]
actually make the reactor core melt down when it should
(turns into a lava source, boils away the surrounding water)

10 years agodon't attempt to force-load blocks if they're already loaded.
Vanessa Ezekowitz [Wed, 23 Jul 2014 14:00:13 +0000 (10:00 -0400)]
don't attempt to force-load blocks if they're already loaded.

10 years agoRemove dependency on moreores that was accidentally left in place
ShadowNinja [Mon, 21 Jul 2014 17:20:41 +0000 (13:20 -0400)]
Remove dependency on moreores that was accidentally left in place

10 years agoClean up constructor
ShadowNinja [Mon, 21 Jul 2014 05:52:13 +0000 (01:52 -0400)]
Clean up constructor

10 years agoRemove swap_node compatability code
ShadowNinja [Mon, 21 Jul 2014 04:40:53 +0000 (00:40 -0400)]
Remove swap_node compatability code

10 years agoAdd hack for uninitialized players in flashlight
ShadowNinja [Mon, 21 Jul 2014 04:14:55 +0000 (00:14 -0400)]
Add hack for uninitialized players in flashlight

10 years agolog_mod -> log_mods and get setting as boolean
ShadowNinja [Mon, 21 Jul 2014 04:13:45 +0000 (00:13 -0400)]
log_mod -> log_mods and get setting as boolean

10 years agoRemove mods that aren't strictly required from depends.txt
ShadowNinja [Mon, 21 Jul 2014 03:49:38 +0000 (23:49 -0400)]
Remove mods that aren't strictly required from depends.txt

10 years agoMerge pull request #152 from goblin/coal_alloy_return_bucket
hdastwb [Sat, 19 Jul 2014 00:19:15 +0000 (20:19 -0400)]
Merge pull request #152 from goblin/coal_alloy_return_bucket

alloy furnaces and generators should not eat fuel buckets

10 years agoalso return buckets with generators
goblin [Fri, 18 Jul 2014 23:18:44 +0000 (00:18 +0100)]
also return buckets with generators

... and in the `smelt_item` function, even though it seems unused

10 years agocoal alloy furnace to return the buckets
goblin [Fri, 18 Jul 2014 16:08:05 +0000 (17:08 +0100)]
coal alloy furnace to return the buckets

10 years agoFix drill recipe
Zefram [Mon, 14 Jul 2014 13:15:09 +0000 (14:15 +0100)]
Fix drill recipe

It was attempting to get the copper ingot from the wrong mod.

10 years agoFix supply converter again
Novatux [Mon, 14 Jul 2014 09:16:37 +0000 (11:16 +0200)]
Fix supply converter again

10 years agoFix problem with supply converter producing energy
Novatux [Sun, 13 Jul 2014 12:15:10 +0000 (14:15 +0200)]
Fix problem with supply converter producing energy

10 years agoFix crash with supply converter
Novatux [Sat, 12 Jul 2014 16:22:52 +0000 (18:22 +0200)]
Fix crash with supply converter

10 years agoMake unconnected generators burn the fuel they still have.
Novatux [Sat, 12 Jul 2014 07:50:50 +0000 (09:50 +0200)]
Make unconnected generators burn the fuel they still have.

10 years agoMake switching station run all machines it is connected to, including those in unload...
Novatux [Fri, 11 Jul 2014 09:00:46 +0000 (11:00 +0200)]
Make switching station run all machines it is connected to, including those in unloaded blocks.

10 years agoIncrease prospector's charge capacity
Zefram [Tue, 8 Jul 2014 13:19:06 +0000 (14:19 +0100)]
Increase prospector's charge capacity

The low capacity of the prospector turned out to be annoying, while the
other limitations do not substantially detract from fun.  Also adjust
recipe to include a blue energy crystal, to explain the source of the
charge capacity.

10 years agoBetter ingot textures
Novatux [Wed, 9 Jul 2014 17:03:22 +0000 (19:03 +0200)]
Better ingot textures

10 years agoTweak energy crystal recipes
Zefram [Tue, 8 Jul 2014 14:16:20 +0000 (15:16 +0100)]
Tweak energy crystal recipes

Use silver instead of gold in the recipe for the red energy crystal,
and mithril instead of gold in the recipe for the blue energy crystal.
This provides more appreciable steps in the expense of the upgrades,
which were too similar, and in particular makes the blue energy crystal
less ridiculously cheap.

10 years agoRework some recipes to use more varied ingredients
Zefram [Mon, 7 Jul 2014 20:48:38 +0000 (21:48 +0100)]
Rework some recipes to use more varied ingredients

10 years agoExclude technic:nothing from creative inventory
Zefram [Mon, 7 Jul 2014 17:17:04 +0000 (18:17 +0100)]
Exclude technic:nothing from creative inventory

10 years agoVary cable insulation type with tier
Zefram [Mon, 7 Jul 2014 14:51:02 +0000 (15:51 +0100)]
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.

10 years agoRemove duplicate cable textures
Zefram [Mon, 7 Jul 2014 13:39:07 +0000 (14:39 +0100)]
Remove duplicate cable textures

Some of the technicx32 cable textures were just duplicates of the
standard-resolution textures.

10 years agoFine gold and silver wire items
Zefram [Sun, 6 Jul 2014 19:22:15 +0000 (20:22 +0100)]
Fine gold and silver wire items

Not used in any recipes yet.

10 years agoTweak supply converter recipe
Zefram [Sun, 6 Jul 2014 17:50:18 +0000 (18:50 +0100)]
Tweak supply converter recipe

The casing is now in the center of the grid, as it is for all other
machines.

10 years agoConsistently use cable in electric machine recipes
Zefram [Sun, 6 Jul 2014 17:45:16 +0000 (18:45 +0100)]
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.

10 years agoUse machine casing in most machine recipes
Zefram [Sun, 6 Jul 2014 16:13:11 +0000 (17:13 +0100)]
Use machine casing in most machine recipes

10 years agoMachine casing item
Zefram [Sun, 6 Jul 2014 12:50:23 +0000 (13:50 +0100)]
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.

10 years agoHandheld prospecting tool
Zefram [Thu, 3 Jul 2014 18:42:29 +0000 (19:42 +0100)]
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.

10 years agoFix fuel-fired alloy furnace
Zefram [Sun, 6 Jul 2014 15:25:53 +0000 (16:25 +0100)]
Fix fuel-fired alloy furnace

Commit ee0765804c0a21deeb2f33c22ac1a36cb0db5f43 broke the fuel-fired alloy
furnace, by removing the definition of its formspec that it requires to
set up the form upon construction.

10 years agoFix craft guide for alloy cooking et al
Zefram [Sun, 6 Jul 2014 15:04:25 +0000 (16:04 +0100)]
Fix craft guide for alloy cooking et al

A typo in commit d55ecc39f954b33c17ae9a1da4aeff6382fcb790 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.

10 years agoFix brass alloying recipe
Zefram [Sun, 6 Jul 2014 14:57:35 +0000 (15:57 +0100)]
Fix brass alloying recipe

Commit d55ecc39f954b33c17ae9a1da4aeff6382fcb790 introduced a bogus
reference to "technic:copper_ingot".

10 years agoAdd snippet to check if function exists.
RealBadAngel [Thu, 3 Jul 2014 15:40:06 +0000 (17:40 +0200)]
Add snippet to check if function exists.

10 years agoAdd missing entry to template
Novatux [Thu, 3 Jul 2014 15:24:01 +0000 (17:24 +0200)]
Add missing entry to template

10 years agoRemove most tube crafting recipes
Novatux [Thu, 3 Jul 2014 14:48:47 +0000 (16:48 +0200)]
Remove most tube crafting recipes

10 years agoChange the recipe code to be able to handle recipes with more than one input, and...
Novatux [Thu, 3 Jul 2014 13:57:39 +0000 (15:57 +0200)]
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.

10 years agoMake MV extractor/compressor work
Carter Kolwey [Thu, 3 Jul 2014 02:46:06 +0000 (21:46 -0500)]
Make MV extractor/compressor work

10 years agoFix machine description
Novatux [Thu, 3 Jul 2014 06:16:53 +0000 (08:16 +0200)]
Fix machine description

10 years agoBetter forcefield control dialog
Zefram [Wed, 2 Jul 2014 22:59:53 +0000 (23:59 +0100)]
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.

10 years agoAdd MV version of compressor too, remove infinite sand-producing compressor recipe.
Novatux [Wed, 2 Jul 2014 20:45:46 +0000 (22:45 +0200)]
Add MV version of compressor too, remove infinite sand-producing compressor recipe.

10 years agoRefactor a lot of code: make only one registration function for grinder, extractor...
Novatux [Wed, 2 Jul 2014 20:24:38 +0000 (22:24 +0200)]
Refactor a lot of code: make only one registration function for grinder, extractor and electric furnace (compressor will follow soon)

10 years agoAdd MV extractor
Novatux [Wed, 2 Jul 2014 17:43:24 +0000 (19:43 +0200)]
Add MV extractor

10 years agoAdd registration code for extractor
Novatux [Wed, 2 Jul 2014 17:43:13 +0000 (19:43 +0200)]
Add registration code for extractor

10 years agoReduce mithril chest to gold chest size
Zefram [Sun, 22 Jun 2014 09:41:52 +0000 (10:41 +0100)]
Reduce mithril chest to gold chest size

Due to concerns about form appearance, reduce mithril chest size to avoid
its form exceeding screen height.  This reduces it to the same size as
the gold chest.  Having two chest types of the same size looks silly now,
but will be reasonable as soon as mithril chests get their long-planned
special features.

10 years agoBuff chest sizes
Zefram [Fri, 20 Jun 2014 17:46:57 +0000 (18:46 +0100)]
Buff chest sizes

Make the inventory sizes of all the technic chests larger, to provide
a more appreciable benefit from upgrading chests, more in keeping with
the resources spent on the upgrades.

Currently the game engine doesn't handle large forms well.  The size
of an inventory slot is fixed relative to the screen height, and a
form that exceeds either screen dimension will extend off the screen,
making parts of it inaccessible.  The tallest a form can get and remain
usable is 13 slots, and even that slightly overspills the screen height.
The maximum usable width depends on the screen aspect ratio.  For the
narrowest common ratio, 5:4, the widest a form can usably get is 15 slots,
again slightly overspilling.  Combined with the layout of the chest forms,
this implies a maximum practical chest inventory size of 15x7 (= 105),
slightly smaller than the largest Minecraft chests.

To provide roughly equal size steps in the five upgrades from wooden
chest (staying at 8x4 = 32) to mithril chest, the steps need to be of
about 15 slots instead of the former 4.  The new sizes are:

    wooden   8x4  32
    iron     9x5  45
    copper  12x5  60
    silver  12x6  72
    gold    15x6  90
    mithril 15x7 105

To make upgrading from the old chest sizes to the new sizes more
convenient, the inventory size is now set not only upon chest construction
but also when accepting form input, at the same time as rewriting
the formspec.  So after upgrading the technic mod, viewing an existing
chest upgrades it to the new size.  The first time a pre-existing chest
is viewed its form will have the old dimensions, looking broken due
to the inventory background image now having the new number of slots.
The second time it is viewed the form will have the new dimensions,
and the full new number of slots will be usable.

10 years agoFix the chainsaw's protection check
ShadowNinja [Thu, 26 Jun 2014 20:53:38 +0000 (16:53 -0400)]
Fix the chainsaw's protection check

10 years agoClean up and improve chainsaw
ShadowNinja [Thu, 26 Jun 2014 15:13:30 +0000 (11:13 -0400)]
Clean up and improve chainsaw

10 years agoMake sure chainsaw drops appear above ground
Phvli [Sun, 4 May 2014 16:59:37 +0000 (19:59 +0300)]
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.

10 years agoHandle lag better in drill
Zefram [Fri, 20 Jun 2014 21:35:56 +0000 (22:35 +0100)]
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.

10 years agoRationalise machine terminology
Zefram [Fri, 20 Jun 2014 15:58:52 +0000 (16:58 +0100)]
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".

10 years agoRename default chest to "Wooden Chest"
Zefram [Fri, 20 Jun 2014 14:44:05 +0000 (15:44 +0100)]
Rename default chest to "Wooden Chest"

All the chests added by technic specify their material in their
description, so the description "Chest" for the default chest looks
ambiguous.  Rename it to seamlessly fit into the range of chest types.

10 years agoFull glooptest support
Zefram [Sat, 7 Jun 2014 20:16:15 +0000 (21:16 +0100)]
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.

10 years agoProper x32 texture for coal dust
Zefram [Sat, 24 May 2014 09:32:57 +0000 (10:32 +0100)]
Proper x32 texture for coal dust

10 years agoChainsaw should dig jungle leaves too.
Novatux [Sun, 8 Jun 2014 07:46:19 +0000 (09:46 +0200)]
Chainsaw should dig jungle leaves too.

10 years agoFix wear_represents logic
ShadowNinja [Sat, 31 May 2014 01:13:14 +0000 (21:13 -0400)]
Fix wear_represents logic

10 years agoRemove unused parameter to is_empty()
ShadowNinja [Sat, 31 May 2014 01:00:58 +0000 (21:00 -0400)]
Remove unused parameter to is_empty()

10 years agoFix crash when trying to repair unknown items
ShadowNinja [Sat, 31 May 2014 00:58:32 +0000 (20:58 -0400)]
Fix crash when trying to repair unknown items

10 years agoBetter quarry control dialog
Zefram [Fri, 23 May 2014 21:37:44 +0000 (22:37 +0100)]
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.

10 years agoStop quarry duplicating items
Zefram [Sun, 18 May 2014 20:03:58 +0000 (21:03 +0100)]
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.

10 years agoFix supply converter
Zefram [Sun, 18 May 2014 18:53:43 +0000 (19:53 +0100)]
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).

10 years agoOnly make gloop dusts if gloopores is present
Zefram [Thu, 1 May 2014 20:21:40 +0000 (21:21 +0100)]
Only make gloop dusts if gloopores is present

10 years agoMake stainless steel ingot grindable to dust
Zefram [Thu, 1 May 2014 20:13:14 +0000 (21:13 +0100)]
Make stainless steel ingot grindable to dust

Consistent with all the other ingot/dust pairs.

10 years agoUpgrades to battery boxes too, prevent frames from moving too often (one move every...
Novatux [Fri, 23 May 2014 17:51:23 +0000 (19:51 +0200)]
Upgrades to battery boxes too, prevent frames from moving too often (one move every second max)

10 years agosplit default iron/steel into three metals
Zefram [Fri, 16 May 2014 21:02:49 +0000 (22:02 +0100)]
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.

10 years agoMining lasers: don't dig the node the player is in.
Novatux [Sun, 18 May 2014 14:11:06 +0000 (16:11 +0200)]
Mining lasers: don't dig the node the player is in.

10 years agoFix errors when trying to charge buckets of water.
Novatux [Sun, 18 May 2014 12:47:05 +0000 (14:47 +0200)]
Fix errors when trying to charge buckets of water.

10 years agoFix invalid check for UI.
RealBadAngel [Tue, 6 May 2014 20:11:04 +0000 (22:11 +0200)]
Fix invalid check for UI.

10 years agoMove checking of node that should be ignore above protection checking
asl97 [Sun, 4 May 2014 07:10:11 +0000 (15:10 +0800)]
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

10 years ago86400 ticks is one week, not 24h
Vanessa Ezekowitz [Sun, 4 May 2014 19:23:34 +0000 (15:23 -0400)]
86400 ticks is one week, not 24h

10 years agoImprove italian translation
roberto5 [Thu, 1 May 2014 10:56:38 +0000 (12:56 +0200)]
Improve italian translation

10 years agoChests sorting by Zefram_Fysh
RealBadAngel [Thu, 1 May 2014 07:32:01 +0000 (09:32 +0200)]
Chests sorting by Zefram_Fysh