Commit Graph

933 Commits

Author SHA1 Message Date
paramat
3e5852993d Carts: Stronger handbrake
Handbrake was barely noticeable and fairly useless.
Equalisng with brake rail deceleration makes it more intuitive to use
and easier to judge stopping distance.
2016-12-07 08:29:41 +00:00
HybridDog
4a5206e3a7 Furnace: Make furnaces work when unloaded
This is slightly modified after #1279 - the setting for furnace
timer was removed and hardcoded to 1.0s, which is the old furnace
timer interval.
2016-12-07 08:28:53 +00:00
paramat
fed2151d70 Fire: Rewrite fire sound code
Previous code:
Used looped sounds without attaching them to objects or playing direct
to players.
The looped sounds are not 'stopped' when players leave the area.
These may be causing the bug where sounds are heard at extreme
distances.
Entering a world with already present flames results in silent flames.
Sounds are often played at a large number of points in a 6 node lattice.
A large fire is reported to cause a high load, disabling the sound code
is reported to help this.

New code:
Optional flame sound to not interfere with ambience mods.
Permanent flame now has sound.
For multiple flames, sound is positioned at the centre of all flames, and
has volume determined by flame number.
The original freesound 'large fire' recording was used to create 3 sounds
that play at random for a non-repetitive effect. At low volume it is
suitable for small fires.

Original sound files and sound function (as an empty function) kept
temporarily to reduce disruption.

Reduce gain of flame extinguish sound.
2016-12-07 08:28:08 +00:00
paramat
58038a7941 Snappy group: Remove beds and cactus from group 2016-12-05 01:41:41 +00:00
rubenwardy
0ff09e018d Add sfinv.get_homepage_name(player)
Also sets creative:all as default inventory page
Fixes #1423
2016-12-05 01:39:50 +00:00
paramat
7998de671f Default: Convert remaining indexed leaves to RGBA
Some GPUs cause visual bugs when mip-mapping is used with indexed textures
that use alpha. Because leaves are sometimes rendered opaque it is even
more important to keep these as RGBA to preserve the correct background
colour.
2016-12-04 06:36:05 +00:00
paramat
fc791d80f0 Default/flowers: Improve papyrus and waterlily schematics
Papyrus:
Make base node dirt instead of dirt_with_grass. Formerly the exposed
dirt would change to grass but the new grass spread ABM now prevents that.

Waterlily:
Don't specify a water_source node in the schematic, as it may be used in
river water. It was not force-placed but should really be "air" prob = 0.
2016-12-04 06:36:05 +00:00
Napiophelios
e67a60376f Xpanes: Improve bars texture 2016-12-04 06:35:39 +00:00
Auke Kok
ea9c4012d5 Farming: Change wheat into # shaped plant
This changes the farming API such that any nodedef with paramtype2
and place_param2 are passed through to all the plant stages of the
farming plant.

This allows plants to use an alternative mesh for the plantlike
drawtype, and provide a bit of graphical variation in plants.

We enable this for wheat, using place_param2 = 3, which is the '#'
shaped plant mesh. If you would actually be able to give yourself
this plant in creative or through /give, you would also get the
same '#' shape.
2016-12-04 06:34:51 +00:00
Auke Kok
d7f176dfd8 Torches: Make selection boxes consistent
This makes all the 3d torch selection boxes 1px oversized. Before,
they were inconsistently sized and too small for the upright torch.
2016-12-04 06:34:16 +00:00
Wuzzy
c5f11d74d4 Default: Make Book with Text a furnace fuel 2016-12-03 02:18:15 +00:00
paramat
42afe679a7 Default / flowers: New biomes. Limit dirt blobs. Add corals, bushes
Biomes:
Add 'sandstone desert', 'cold desert', 'snowy grassland'.
Rename 'glacier' biome to 'icesheet' biome.
Rename non-swamp 'swamp' biomes to 'shore' biomes.
Remove 'sandstone grassland' biome.
Rename 'stone grassland' biome to 'grassland' biome.
Edit biome points for improved similarity to Whittaker classification.
Change 'tundra' to bare stone with snowblocks.
Make dirt 'swamp' / 'shore' less deep.

Ores:
Make dirt blob ore biome-specific, limit to dirt biomes.

Decorations:
Make mushroom noise spread match that of appletrees as originally intended,
to have mushrooms spawn in darker thicker forest areas.
Add coral reefs in warm oceans.
Add bushes and acacia bushes.
Jungletrees in deeper water for larger swamps.

Register flower mod decorations in singlenode mapgen for use by
minetest.generate_registered_decorations, as in default/mapgen.lua.
2016-12-03 02:18:06 +00:00
Napiophelios
0413cb67b8 Add Cobble Walls to Moss Growth ABM 2016-12-01 12:59:25 +01:00
paramat
f06f66ccc2 Boats / carts: Fix and improve on_punch functions
Boats:
Previously, boats were not added to inventory in creative mode, fix.
In creative mode multiple boats will not be added to inventory.
Add comment.

Carts:
Set speed to 2 if punched by a non-player, to match the effect of a
player punch.
Add comments.
2016-11-30 02:44:44 +00:00
sfan5
04f045158f Avoid "leaking" creative inventories to other players 2016-11-28 13:43:02 +01:00
Auke Kok
4f32fd253c Fix ItemStack method call for keys.
Fixes (I hope) #1420 (bad method call).
2016-11-27 18:26:31 -08:00
paramat
0196c4793a Carts: Make rails 'is ground content = false' 2016-11-28 01:28:24 +00:00
paramat
fa17fe31d6 Creative: Re-implement constant hand dig times, add comment 2016-11-28 01:28:24 +00:00
Diego Martínez
788ae97ba1 Carts: Take creative mode into account
This commit makes the carts mod not add the cart
item to the player's inventory if running with
creative mode and the player already has it.
2016-11-28 01:27:54 +00:00
SmallJoker
1a6ad498d7 Carts: Increase performance overall 2016-11-27 03:27:53 +00:00
SmallJoker
2effe40dc5 Carts: Improve readme file 2016-11-27 03:27:53 +00:00
SmallJoker
81f8c8aef8 Carts: Move entity definition to seperate file 2016-11-27 03:27:53 +00:00
paramat
9bbe7f99da Carts: Increase power rail acceleration to help climbs
This is partly a workaround for a bug.
Climbs with continuous power rails were failing often due to
unexplained losses of speed leading to a reversal of direction.
The lack of acceleration on climbs meant that lost speed was not
regained.
Keeping cart speed at maximum on climbs helps reduce the chance of
reversals.

This also allows players to slowly accelerate up to full speed on a
climb without needing a horizontal run-up to reach full speed first.
It may not be possible to build the horizontal sections needed, or,
if players are replacing a previous carts mod their track
constructions, bridges, tunnels etc. will often not have the
horizontal sections needed.
Players will also sometimes need to place and enter a cart on a slope
and be able to climb.
2016-11-27 03:27:53 +00:00
rubenwardy
d42ae715b8 Sfinv: Add sfinv to allow tabs to be added to the inventory 2016-11-27 03:27:12 +00:00
paramat
e837621537 Farming/fire: Add tool break sounds
Add tool break sounds to hoes and flint and steel.
Flint and steel: Reduce gain of use sound and only add tool wear
if not in creative mode.
2016-11-26 03:14:56 +00:00
Rogier
fd87b04f3c Default: Several improvements of character model
- Improve arms attachment

  The arm bones were at an angle, so that the bones were difficult
  to orient correctly, as unintuitive combinations of angles
  would be needed to get the default orientation, or any other
  acceptable orientation. Moreover, a simple rotation of the arm,
  e.g. forward, would require all angles to be adapted, instead
  of just one.

  The ends of the arms bones were moved from touching the body, to
  the center of the arm, at an equal distance from the sides of the
  arm and the shoulder; the arm bone is now in the center of the arm.

- Fix body rotation

  The body was rotated 180° while the rest wasn't, leading to
  strange results when setting bone positions manually.

- Fix default rotation of limbs (manually positioning them in
  their default position would require an 180° rotation).
  Is is not know how this was fixed. Maybe just because the
  model was re-exported.

- The bone of the cape was moved to the center of the cape (it was
  at the edge). For some reason this fixed the 180° rotation of the
  cape when it was manually positioned (similar to previous issue).

The changes above fix most of the issues mentioned in #1376

- Add a player-model-specific workaround for the problem described in:
  https://github.com/minetest/minetest/issues/2813#issuecomment-198796927
  https://github.com/minetest/minetest_game/pull/1392#issuecomment-261669915

  During walking, attached tools would randomly switch hands. Walking also
  happens to be the only animation where the body does not move. Making the
  body move an imperceptible amount makes the issue disappear for the player
  model.

- Fix body vertex group: it no longer includes parts of arms and legs

Thanks to @stujones11 for these last two changes.
2016-11-25 03:03:48 +00:00
Auke Kok
e4b1c93512 Keys: Allow easy sharing of access without commands
This code adds the key concept to minetest_game, and integrates it
with lockable nodes. Currently supported lockable items are the Steel
Door, the Steel Trapdoor, and the Locked Chest.

The goal of this modification is to introduce a fine-grained multi-
player permission system that is intuitive and usable without any
console or chat commands, and doesn't require extra privileges to
be granted or setup. Keys can also physically be conveyed to other
players, adding to gameplay and adding some personality that is
preferable to console commands or editing formspecs.

A skeleton key can be crafted with 1 gold ingot. Skeleton keys can
then be matched to a lockable node by right-clicking the skeleton
key on a lockable node, which changes the skeleton key to a "key".

Gold was chosen as it's currently a not-so very useful item, and
therefore it's likely that players have some, but aren't really
using it for any purpose.

This key can subsequently used by any player to open or access that
lockable node, including retrieving items from Locked Chests, or
putting items in them.

They key is programmed to fit only the particular locked node it is
programmed to. This is achieved by storing a secret value in both
key and locked node. If this secret value doesn't match, the key
will not open the locked node. This allows many keys to be created
for one chest or door, but a key will only fit one node ever. The
secrets are stored in node, and item meta for the key.

If a locked node is removed, all keys that opened it are no longer
valid. Even if a new door/chest is placed in exactly the same spot,
the old keys will no longer fit that node.

Keys can be smelted back in gold ingots if they are no longer useful.

The method of storing a secret in nodemeta and itemstackmeta is secure
as there is no way for the client to create new items on the server
with a particular secret metadata value. Even if you could possible
create such an itemstack on the client, the server does not ever read
itemstackmeta from a client package.

The patch adds an API that allows other nodes and nodes added by
mods to use the same keys as well. The method how to implement this
is described in game_api.txt. The mod should add 2 callbacks to it's
node definition. Example code is given.

Textures are from PixelBOX, thanks to Gambit.
2016-11-25 03:01:14 +00:00
sfan5
b0ae488277 Use travis' container-based infrastructure (#1314)
Use travis' container-based infrastructure (no sudo)
2016-11-23 22:00:35 -08:00
Auke Kok
0bd2efcfc1 Merge 'torches' mod as default:torch.
This merges the current state of the well-maintained and tested
`torches` mod as I've maintained it for the last 6 months.

This started out as a thorough cleanup of 3D torches by blockmen,
where some of the initial code still remains.

The models were redone entirely from scratch and have been extensively
tested with dozens of animated textures converted with mcimport,
and look a lot better than the original 3D Torches mod.

The ceiling torch is retained and functional. The `wieldlight`
addition that the torches mod has was removed, since it relies
on wieldview to look decent. This can stay external mod code.

I've opted to move the torch nodes to a separate file. It's not
a lot of code but nodes.lua is already huge, and I wanted to
retain the copyright header and some of the readme.txt notes,
and this was the easiest way of doing it.

This code passes "default:torch" to nodes with on_rightclick,
fixing problems with itemframes. Essentially it has a more
elaborate item_place() routine to make sure we're not passing
the wall torch to nodes that may display it.

The ceiling torch is a separate model and not the same as the
floor model. That does mean that there are 3 models in this
mod.
2016-11-23 15:29:53 -08:00
paramat
09a229b412 Update 'nodeupdate()' to 'check_for_falling()' API 2016-11-22 05:55:36 +00:00
Auke Kok
208c9f4901 Make smoke puff sound mono
Stereo sounds are not played positionally, which should never
happen. Convert this track to mono to fix.
2016-11-21 21:23:50 -08:00
Thomas--S
55ab3a117d Farming: Add forgotten colon
This makes the itemstrings consistent over the whole file.
2016-11-21 03:19:47 +00:00
paramat
ec95f47021 Default: Add water footstep sounds
Plus one silent sound to break repetition 'default_water_footstep.4.ogg'.
2016-11-21 03:19:37 +00:00
Auke Kok
1e691c4429 Carts: Merge boost_cart as "carts" mod
This is all the working code from SmallJoker's boost_cart, poored into
a more suitable form for minetest_game.

- Mesecons and moreores stuff was removed entirely.
- Textures were all renamed and moved out of default/
- Updated license, readme.txt, attribution
- Changed code license to MIT, left artwork at CC0
- removed default:rail and made aliases for it
- :carts:rail is now carts:rail.
- localized entity def
- removed copper rail entirely
- startstop rail was removed, as well as detector rail
- remodeled to b3d using stujones11 excellent blend model, but sizes
  of cart adjusted to make pixel sizes consistent (0.625) everywhere.
- slightly more complex texture map for the cart (front/side visibly
  different)
- rail parameters are passed as a separate def table, and stored in
  a private list. This avoids having to call `get_meta` on every
  node. In return, we need the node name, though.
- adds metal sounds (based on default metal sound function) and
  cart moving sound.
- reduced cart speeds to max 7, 5 by pushing.
- Added on_step() rail event handler, gets called when a cart is on
  a rail.
- Added various rebased updates from upstream (thanks Krock)
- Included a fix that removes the 'reverse jiggle' when stopping.
- Included reworked textures by sofar.

The mod namespace is still public, but I'm NOT declaring it an API. I'd
rather see it localized instead, for now. Any public interface in this
code is *experimental* at best, and should be considered non-stable and
unsupported for now.
2016-11-21 03:15:04 +00:00
Auke Kok
75caa9167c Fix whitespace errors to silence luacheck.
Currently all minetest_game PR's are failing travis since the
upstream luacheck now also warns about whitespace issues, and
there are a few of those in the code. This fixes all of them
so we can yet again rely on luacheck.
2016-11-19 19:39:51 -08:00
paramat
47efa2f558 Textures: Revert many back to RGBA to fix visual bug
With mip-mapping enabled, some GPUs cause a visual bug with indexed
textures that use alpha. This bug has been present for a while but
not noticed before. All indexed alpha textures must now be converted
to RGBA, to start this process we revert some textures converted to
indexed in the recent commit af3c918.
2016-11-19 23:45:08 +00:00
pilino1234
2c122052d4 Boats: Use player yaw on place, align player yaw with boat on enter
When placing boats, align the boat with the player's yaw.

Align drivers yaw with boat yaw when entering a boat, would previously turn
boat yaw by player's yaw + 90° to the right.
2016-11-19 23:44:27 +00:00
paramat
c3f3406e8e Default: Add 'group:cools_lava' for lavacooling by snowblock and ice
Make lava cooling ABM use a new group 'group:cools_lava'.
Nodes other than water can cool lava. We assume snowblock and ice melt,
turn to water and cool lava.
Leave 'group:water' present temporarily to not break mod liquids.
2016-11-18 08:09:45 +00:00
Auke Kok
68192a17e9 Default: Add tool breaking sounds
These will automatically play when a tool breaks.
2016-11-18 08:08:59 +00:00
tenplus1
022d22ceca Creative: Fix missing item bug caused by 'start_i' value
This fixes the missing item issue in creative inventory caused by using
1 instead of 0 for 'start_i'.
2016-11-18 05:38:25 +00:00
Auke Kok
af3c91862c Convert many textures to indexed color
This fixes all cases where the color profile was broken, and
libpng warns about. It also makes almost all textures indexed
instead of RGB where possible (textures that don't have
semi-transparent pixels).
2016-11-18 05:37:02 +00:00
sfan5
7fbf25d6ca Do not show item overlay if slot is occupied by item (bookshelf, vessels shelf) 2016-11-14 20:03:49 +01:00
paramat
f8bc1e1714 Nyancat: Make nyancat and rainbow light sources 2016-11-10 08:10:41 +00:00
paramat
ddea6c431e Default: Make snowblock change 'dirt with grass' below
To be consistent with the snow slab.
2016-11-10 08:10:34 +00:00
paramat
614e9cfe8d Default: Make snow walkable again 2016-11-10 08:10:29 +00:00
Wuzzy
6e00ddee2a Default, vessels: Darken shelf empty slot icons
Rename slot icons.
2016-11-07 14:32:35 +00:00
Wuzzy
3109f38b3c Sethome: Don't auto-grant home priv to singleplayer 2016-11-07 14:13:45 +00:00
Rui
5868274b00 Creative: Fix crash when turning on creative in-game 2016-11-07 14:13:10 +00:00
Fernando Carmona Varo
c824d69182 Fire / tnt: Make flint-and-steel use node on_ignite functions
Add on_ignite functions to tnt, gunpowder, coalblock.
2016-11-07 14:10:00 +00:00
paramat
c7e2d59461 Default: Add 'acacia leaves simple' texture
A deeper, darker level of leaves is created by tiling the texture
2 by 2, reducing brightness and offsetting this.
For a denser leaf appearence with the 'simple leaves' setting.
Also used for acacia bush leaves.
2016-11-06 08:25:53 +00:00