1
0
mirror of https://github.com/minetest/minetest_game.git synced 2024-12-23 15:20:19 +01:00
Commit Graph

30 Commits

Author SHA1 Message Date
Wuzzy
c5f11d74d4 Default: Make Book with Text a furnace fuel 2016-12-03 02:18:15 +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
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
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
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
f844a4f379 Default: Vary wood burn times according to wood density
Retain definitions for node groups to support mods.
Burn time is unchanged for applewood, and increases in the order:
aspen, pine, apple, acacia, jungle which is also the order of wood
colour darkness.
2016-09-04 05:39:24 +01:00
rubenwardy
3661cb61e3 Move nyancats into a separate mod
Nyancats are independent in the default mod. Nothing else uses them or
their code. Separating it into a separate mod makes it easier for
subgames to remove them. It also makes it easier for a mod to depend
on nyancats, as lots of subgames don't have them.

Default/mapgen.lua: Register biomes, ores and decorations in
singlenode mapgen. These were never disabled anyway because
singlenode was removed from the world creation menu.
2016-07-18 04:15:44 +01:00
tenplus1
f15f35c604 Default: Enable crafting of mese crystal fragments into mese crystal 2016-06-27 05:31:04 +01:00
tenplus1
be918d2d98 Default: Craft locked chest from chest plus steel ingot 2016-06-27 05:30:20 +01:00
paramat
9d6df824d6 Default: Add stone / desert stone / sandstone / obsidian blocks 2016-06-25 06:58:18 +01:00
tenplus1
787ccb5747 Add recipe to craft clay block back into lumps
Added a recipe to craft a clay block back into 4 clay lumps.
2016-03-30 23:10:52 +01:00
Jean-Patrick Guerrero
676822d286 Change steel ladder sounds + fix/add missing recipes 2016-03-11 15:28:13 +00:00
Jean-Patrick Guerrero
aa676ab878 Add steel sign + Update wooden sign texture 2016-03-09 02:44:27 +00:00
Jean-Patrick Guerrero
7f317871d4 Add steel ladder 2016-03-06 01:31:36 +00:00
Auke Kok
2f39cad09b Create API for fence.register, and use it.
This converts the call to minetest.register() for the default
fence node, so it can be called by other mods to quickly
setup other fences.

Since this creates an API, insert it into the game_api.txt.

The api looks like minetest.register(name, {def}), and has two
uncommon fields: "texture" and "material". Any normal nodedef
property can be passed through, except "drawtype". The "fence"
group will always be added.

The default fence recipe is modified to be as follows:
  wood, stick, wood
  wood, stick, wood

This recipe yields 4 fence nodes.

This allows us to create according recipes for acacia, pine,
aspen, and junglewood fences without adding new stick types:

  pine wood, stick, pine wood
  pine wood, stick, pine wood

This is a from-scratch implementation, written by heart but inspired
by (#665 - Add many wooden fences).

Stick and fences nodes are named in a consistent way.
2016-02-03 19:33:19 +00:00
Auke Kok
6267f26027 Aspen trees.
Adds a birch-like tree to the default_game. Aspen was chosen on
purpose instead of birch, as several birch tree mods already exist
and choosing a different name avoids any conflicts.

Schematics were made for both normal and sapling version, assuring
saplings will not be able to grief. The shape of the Aspen is "fanning
out at the top" and provides an easy tree to walk under, but still a
somewhat thick cover. The Aspen trunk is 4 to 6 blocks tall, with up
to three layers of leaves on top, making it slightly taller than an
Apple tree, but shorter than a Pine tree, which provides a good blend.

Textures were painted from scratch, except tree_top and _wood
variants, which are color modified versions of the pine_wood
variants. Appropriate licenses have been chosen for the new textures.

The leaf texture is light enough to contrast other trees, but dark
enough to offset against our light default grass color. The leaves
are drawn in the typical minetest default fashion with plenty of
transparancy, but enough definition to suggest that you're seeing
something that looks like leaves. The placement of leaves in the
schematic also suggests the top of the tree is sparse and you can
see the sky through the leaves.

Sapling texture is both traditional and different, with lush green
leaves and a well-defined stem, but slightly stick-like and skinny,
as these plants tend to grow up first, then out.

Add fallen Aspen logs. We make these logs a minimum of 2 blocks long,
and up to 3. This allows us to make these logs a place where both
red and brown mushrooms can be found, to these may be attractive to
players. However, the spawn rate for these has been reduced a lot
compared to the other logs, to account for the scarcity of Aspen.

Add stairs, slabs for these wood types as well.

Mapgen will place these trees in deciduous forests only, but in
a way that the biome is a range between entirely Apple trees, and
mostly entirely Aspen trees, with a bias to Apple trees. To make
fallen logs somewhat correlated with trees, we modify the planting
of Apple trees and logs to use perlin noise and not fill ratio,
otherwise you'd always end up with Apple logs in Aspen tree areas,
which would be suspicious. There still is a bit of a mix.
2016-01-15 04:56:15 +00:00
paramat
be4dd6479d Default: Rename pine tree nodes, textures and mapgen aliases 2015-08-10 09:19:02 +01:00
paramat
6843ddb814 Default: Add savanna nodes, textures, crafting and fuels 2015-07-12 22:41:59 +01:00
Calinou
300b14078f Give 24 rails per craft instead of 15 2015-05-14 17:28:30 +02:00
BlockMen
820a97e397 Add Meselamps
- Mese glows
- Glass + Mese = Meselamp
- New mese mineral texture
2015-03-29 21:17:53 +02:00
MT-Modder
0755a8fa05 Mossycobble fixes 2015-01-24 20:36:37 +01:00
PilzAdam
99cfe73bbf Give 4 obsidianbrick for 4 obsidian 2014-12-12 17:15:48 +01:00
HybridDog
608e51f16d Add obsidianbrick
use Zeg9`s texture
2014-12-12 16:04:27 +01:00
paramat
6fb072e5ff Pine tree, pine needles, pine sapling and pinewood nodes, including textures by Splizard and Cisoun 2014-11-30 17:47:02 +01:00
Zefram
a8ad9bfc9d Consistently use group:stick in tool recipes
The left-handed recipes for axes were using default:stick instead of
the group:stick used by all other tool recipes.
2014-07-22 13:03:45 +02:00
BlockMen
13dfc2c0e9 More new Textures, Clean up a bit 2014-07-05 16:03:06 +02:00
marvok
195fec2689 Add mirrored recipes for axes 2014-07-05 15:56:32 +02:00
Sfan5
919c9d152b Add Desert Cobblestone 2014-07-05 15:55:59 +02:00
ShadowNinja
7b8ad5786c Add and use the stick group 2013-11-01 11:34:24 -04:00
PilzAdam
ea6d504b01 Split init.lua into several files 2013-05-19 18:43:04 +02:00