Commit Graph

1069 Commits

Author SHA1 Message Date
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
Rui
631f7f46c7 sethome.get: Copy a return value 2016-11-05 19:59:15 -07:00
paramat
178db04526 Default, flowers: Improve plant selection boxes
Selection box width is limited to 14 / 16 node to visually
distinguish box from any neighbouring cubic nodes.
2016-11-05 09:14:10 +00:00
cx384
23ba2d3a0c Add and edit fuel registrations
Edited fuels: fences, wooden ladder.
New fuels:
boat, paper, book, dry shrub, stick, vessels shelf, wooden tools,
wooden door, trapdoor, fence gates, farming crops, stairs, slabs, beds.
2016-11-02 13:04:25 +00:00
Fernando Carmona Varo
7fee589e03 Tnt: Flammable TNT and gunpowder that activates when burnt
Some code simplifications.
2016-11-02 12:41:14 +00:00
Fernando Carmona Varo
5b2a896180 Bucket: Allow buckets to trigger the on_punch of entities and nodes
The purpose of this is to allow mods to be able to interact (e.g. fill up)
an empty bucket when it is used to punch a node that's not a liquid source
or when punching a custom entity (e.g. milking a cow).
2016-11-02 12:39:56 +00:00
Wuzzy
56d6eaed85 Xpanes: Use opaque texture for top+bottom of iron bar (#1357)
- Use opaque texture for top+bottom of iron bar
- Add color variation for iron bar top/bottom
- Add paramat's texture to credits
- Update license info for paramat's textures
2016-10-31 14:20:26 -07:00
Wuzzy
d92034e3f7 Add fuel slot to furnace listring 2016-10-31 14:17:38 -07:00
Wuzzy
0acd9a2ccb Add icon overlay to shelf inventory slots 2016-10-30 15:32:43 -07:00
paramat
02a82c9d7a Default: Remove unnecessary leaf 'visual scale' 2016-10-29 14:44:00 +01:00
paramat
89b9c3e69e Default: Remove 'player falling damage' sound
This plays when damage is disabled, an engine bug.
We can remove it because both sounds are identical, now it is removed
the 'player damage' sound still plays when falling damage is taken.
2016-10-29 14:42:47 +01:00
paramat
048aaa2616 Default: Add bush stem and leaves nodes
To allow mapgen bushes in green-grass and savanna grasslands.
Nodes for a generic bush and an acacia bush.
Stem nodes are craftable to a single wood node to provide a small
amount of wood resource in grasslands.
Fuel times are that of corresponding 'wood' nodes, 1/4 that of
corresponding tree nodes.
No leafdecay to enable use as hedges or without a nearby tree trunk.
Uses 'default leaves simple' texture for extra visual thickness.
2016-10-27 02:54:04 +01:00
paramat
581c390591 Default: Remove alpha channel from acacia tree textures 2016-10-26 07:14:12 +01:00
LNJ
138eb71db6 game_api.txt: Add new metal sounds func. 2016-10-25 14:15:53 -07:00
paramat
bca0142e7f Fire: Reduce volume of flint and steel sound 2016-10-25 04:22:17 +01:00