summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-06-27Reduce mithril chest to gold chest sizeZefram
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.
2014-06-27Buff chest sizesZefram
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.
2014-06-26Fix the chainsaw's protection checkShadowNinja
2014-06-26Clean up and improve chainsawShadowNinja
2014-06-23Make sure chainsaw drops appear above groundPhvli
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-21Handle lag better in drillZefram
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-21Rationalise machine terminologyZefram
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-21Rename default chest to "Wooden Chest"Zefram
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.
2014-06-21Full glooptest supportZefram
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-21Proper x32 texture for coal dustZefram
2014-06-08Chainsaw should dig jungle leaves too.Novatux
2014-05-30Fix wear_represents logicorigin/facShadowNinja
2014-05-30Remove unused parameter to is_empty()ShadowNinja
2014-05-30Fix crash when trying to repair unknown itemsShadowNinja
2014-05-24Better quarry control dialogZefram
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-24Stop quarry duplicating itemsZefram
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-24Fix supply converterZefram
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-24Only make gloop dusts if gloopores is presentZefram
2014-05-24Make stainless steel ingot grindable to dustZefram
Consistent with all the other ingot/dust pairs.
2014-05-23Upgrades to battery boxes too, prevent frames from moving too often (one ↵Novatux
move every second max)
2014-05-22split default iron/steel into three metalsZefram
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-18Mining lasers: don't dig the node the player is in.Novatux
2014-05-18Fix errors when trying to charge buckets of water.Novatux
2014-05-06Fix invalid check for UI.RealBadAngel
2014-05-06Move checking of node that should be ignore above protection checkingasl97
firing a laser into a sky while in someone land without hitting anything but air shouldn't get anyone ban
2014-05-0486400 ticks is one week, not 24hVanessa Ezekowitz
2014-05-01Improve italian translationroberto5
2014-05-01Chests sorting by Zefram_FyshRealBadAngel
2014-04-30Refill behaviour for power tools and cansZefram
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-30various backward-compatibility aliasesZefram
2014-04-30Register craft types with unified_inventoryZefram
2014-04-30Declare unified_inventory optional dependencyZefram
Make sure unified_inventory is loaded before us if present, so that we successfully register crafts with it.
2014-04-30Fix can wear following tool workshop changeZefram
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-30Genericise handling of multiple meanings of wearZefram
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-30fix tube properties for injectorZefram
By relying on another no-longer-extant definition, the injector didn't visually connect to the tube below it.
2014-04-30fix groups for injectorZefram
The injector was in no groups, and therefore not breakable by ordinary means. This was because the code referred to a defined variable that went away in the course of a rewrite of the chests code.
2014-04-27Fix search for operating flashlightZefram
Having a never-charged flashlight in the hotbar earlier than a charged flashlight prevented the charged flashlight being found.
2014-04-27Fix discharge of flashlight and sonic screwdriverZefram
These two tools wouldn't discharge all the way to zero through use, unlike most chargeable items. Incidentally remove a duplicate of the check_for_flashlight() function.
2014-04-27Fix flashlight's light generationZefram
The flashlight was lighting the wrong node, 1 m east of the player's lower half, thus getting no light if the player is adjacent to an eastern wall. Restore the old 1 m above, that coincides with the player's hands. There was a problem with light from the flashlight getting stuck in the map. This arises because the flashlight's light value was 15, the reserved value that the engine uses for sunlight. Moving the flashlight upwards, by jumping while it is equipped, would cause the node below it to acquire a bogus sunlit state. Fix this by reducing the flashlight's light value to 14 (LIGHT_MAX), which is the maximum permitted for non-sunlight. The light_off node type is not required. With the light value limited to 14, mere removal of the light node suffices to correctly recalculate lighting.
2014-04-27Fix flashlight light node declarationsZefram
The light and light_off node types should be not_in_creative_inventory, and should drop nothing.
2014-04-27Fix chest log messagesZefram
All log messages about moving stuff in/into/from chests described them as "locked", whether the chests are locked or not. Remove that word, so the messages make no claim about lockedness.
2014-04-27Fix drops for active machinesZefram
Active machine nodes need to drop their inactive counterpart. Some were missing that declaration.
2014-04-27Fix drill charge usageZefram
The drills weren't taking the variable usage cost into account (either the per-type base cost or the per-mode multiplier) when deciding whether they have sufficient charge to use. This could cause them to overshoot in charge usage, although they would then clamp to zero rather than record negative charge. Also, for the Mk1 drill where the cost was assessed correctly, the drill would refuse to discharge to exactly zero charge.
2014-04-27Improve message about drill controlZefram
The message to "hold shift" makes an unwarranted assumption about the user's keybindings. Messages from the server should refer to a key's game function, rather than its extragame identity.
2014-04-27The code to connect an electrical machine to cables would only considerRealBadAngel
the first-seen tier for which the machine was registered. So the switching station, which is uniquely registered for all tiers, would only visually connect to LV cable when placed, not to MV or HV cable. (It would function nevertheless, and cable would connect to the switching station if placed later.) Change to consider all tiers. Incidentally avoid a gratuitous iteration through all registered machines.
2014-04-24Save chest label when exiting formspecZefram
When using the form to edit a chest label, apply the edited label whenever the form is submitted with the text field included, rather than only if the form's specific "finished editing" button is used. This supports the natural use of <ret> to indicate that text editing is complete, which works with other text editing forms such as that for signs.
2014-04-22Add fir leaves to the chainsaw's timber_nodenamesasl97
2014-04-22Add german translations for all modsXanthin
2014-04-22Fix laser dischargingZefram
Commit a6dae893d66319739e8dfe962f67285221eb9b91 introduced per-version charge cost for firing mining lasers, but applies this in addition to the old fixed cost which it was meant to replace. Fix by removing the application of the fixed cost. The same commit did successfully change the check for a laser having sufficient charge to fire, so that's based purely on the variable cost. As a consequence, firing a laser that has just enough charge to cover the variable cost could cause its charge to go negative. (For example, by fully charging a Mk1 laser and then firing it until it empties, resulting in a charge of -400.) It turned out that set_RE_wear handled that badly, producing an over-100% wear value that would wrap to a *low* wear value, leading to the laser's wear bar looking as if it's fully charged. To protect against silly wear values, make set_RE_wear clamp the wear value to avoid wrapping. Handle specially the case of a fully-discharged tool, where there was desirable wrapping to zero.
2014-04-14Fix typo in frame and template motor recipesBoba