Commit Graph

186 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Fernando Carmona Varo
3c9d71e6f7 Make flammable: Flowers, grasses and several crafitems 2016-10-25 02:37:36 +01:00
Auke Kok
fbac9be51c Change many metal nodes to use default metal sounds 2016-10-25 02:37:36 +01:00
paramat
3d26b33e5b Default: Add coral nodes and death ABM
Original code by Sofar.
Textures by Pithydon.
Exposure to air converts live coral to coral skeleton.
Live corals drop coral skeleton.
2016-10-12 23:55:46 +01:00
paramat
67fc2247fc Default: Add 'silver sand' for cold desert biome 2016-10-05 22:22:08 +01:00
paramat
c0de5646d2 Default: Generalise, optimise and simplify grass spread function
Credit to tenplus1 for the suggestion to generalise for mod use.
Mods can add mod nodes to 'group:spreading_dirt_type' enabling the
function to work with mod nodes.

Add some nodes to this group.

Removing 'dirt_with_grass' etc. from 'neighbors' stops the ABM action
running everywhere and constantly, on the dirt nodes immediately below
the surface nodes. Now the action only runs in the rare case of a dirt
node with neighbouring air, grass decorations or snow.

Remove check for air above to allow grass to spread under light-
transmitting nodes such as fences, walls, plants. This causes spread
under slabs, stairs and glass, when near air, but seems worth it.

Remove unnecessary check for nil node.
2016-10-01 23:15:05 +01:00
paramat
995256744a Default, stairs, doors: Vary wood flammable and choppy group values
Make the softer woods, pine and aspen, 'flammable = 3'.
Correct inconsistent flammability of wood and stairs in relation
to all other solid wood nodes in MTGame.
Make the the softer woods, pine and aspen, 'choppy = 3'.
2016-08-29 00:24:30 +01:00
pithydon
088385493a Default: Improve fences inventory/wield images 2016-08-20 04:27:48 +01:00
DonBatman
61a197ffd8 Changed snow nodebox to 'walkable = false'
Allows walking in, and prevents being trapped in, 2 node high spaces.
Simulates player's feet sinking into snow.
Easier jumping up onto nodes with snow.
2016-08-09 03:51:22 +01:00
paramat
0ac096991c Default: Prevent placing sapling if grown tree intersects protection
Add a global 'intersects protection' function to functions.lua for
checking if a specified volume intersects with a protected volume.
A 3D lattice of points are checked with an adjustable interval.
Add a global 'sapling on place' function to avoid duplicated code in
nodes.lua.
2016-07-27 21:39:22 +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
Tim
71c7e21669 Always return the leftover ItemStack for on_place and on_rightclick 2016-07-09 16:32:41 +01:00
paramat
60f6564c75 Doors / default: Remove 'hot', 'bendy' and 'melty' groups from nodes 2016-07-07 18:14:36 +01:00
paramat
9d6df824d6 Default: Add stone / desert stone / sandstone / obsidian blocks 2016-06-25 06:58:18 +01:00
Auke Kok
ba1ae07b4a Default: Make brick and plank nodes rotatable
Allow many crafted nodes to be rotated in any way possible.

These blocks all have slab and stair versions, which can create awkward
patterns if placed together. By allowing these to be rotated players
can create new patterns and appearances that were not before possible.

Since this wasn't possible before, there won't be any effect
to existing builds, as param2 should always be '0'. The current
screwdriver mod also refuses to rotate and alter param2, so this is
safe to enable from now on.

Personally, since these are all *crafted* nodes to begin with, it
should be apparent that they can be rotated to begin with, but I can
see people may disagree from a simplicity perspective. It also may
affect param2 usage that other mods rely on, although I'm not aware
of any mods that do this.
2016-06-17 23:41:42 +01:00
paramat
37347d40f4 Default: Bookshelf has 2 openings instead of 4
Make rotatable with 'paramtype2 = facedir'
2016-05-28 15:11:43 +01:00
Auke Kok
e0cb3fce02 Default: Convert saplings to use node timers
Each sapling is given a single node timer that is between
2 and 4 days of game play time (40-80 minutes). If you walk out
of the zone, and come back later, the tree will always grow
to full if the timer has elapsed.

Because trees.lua is all functions, it needs to be parsed before
nodes.lua, since that references some of its functions. Hence,
change the order of parsing here. Otherwise saplings would not
grow to full.
2016-05-25 03:27:08 +01:00
paramat
90f24e312d Default: Remove unnecessary infotexts for chests and signs 2016-05-21 03:01:10 +01:00
paramat
8c3f96d738 Stairs/default: Make sandstone(brick) groups consistent
Sandstone is crumbly = 1 cracky = 3 to be slowly diggable by hand
Sandstonebrick(stair/slab) is cracky = 2
2016-05-05 23:46:53 +01:00
Foz
1a6298958e Default: Add function 'node_sound_gravel_defaults()' 2016-04-29 23:19:30 +01:00
Auke Kok
54b87e955d TNT: Add on_blast to all nodes with an inventory
Adds a minor helper function that allows efficient retrieval of
several inventories from a node inventory. We use this helper to
quickly retrieve the items in chests, vessel shelves, book shelves
and furnaces, and return these with the nodes itself to the TNT caller.

The TNT caller then performs the entity physics, and we don't need
to do anything else.

We disable TNT doing anything with bones.

We expose a bug in the code that drops the items - metadata was lost
entirely. This patch corrects that by properly copying the metadata
and creating the drops list inclusive metadata.
2016-04-26 22:33:59 +01:00
paramat
0ca43e42bc Default: Create 'grass', 'dry_grass' groups, use in dirt conversion ABM 2016-04-18 01:52:03 +01:00
tenplus1
6e1a329763 default: Strengthen obsidian glass Remove group 'oddly_breakable_by_hand' 2016-04-12 01:27:55 +01:00
Auke Kok
f4e77edcc6 Flood snow with either lava or water.
Fixes #1005

This doesn't flood snow or ice blocks.
2016-04-04 05:39:23 +01:00
Jean-Patrick Guerrero
12bcfeab4d Shelves: Fix listring functionality + code cleaning 2016-03-30 23:10:46 +01:00
Jean-Patrick Guerrero
c3d2bc383b Wooden Sign: Add group oddly_breakable_by_hand 2016-03-22 15:46:13 +00:00
paramat
7d55320d5c Default: Make some plant nodes non-flammable 2016-03-22 15:46:07 +00:00
Jean-Patrick Guerrero
28884cc784 Add flint and flint-and-steel 2016-03-15 16:22:42 +00:00
Auke Kok
2fb40be409 Add "protection_bypass" priv.
The access privilege allows players that have it to bypass protection
on locked doors/trapdoors, chests and bones.

The priv also allows bypassing any minetest.is_protected() check,
including digging nodes and placing them. It is meant for world
moderators to clean up and fix map issues.

Original patch by red-001. Split up and rebased/rewritten by sofar.

This patch requires https://github.com/minetest/minetest/pull/3800
2016-03-13 04:48:57 +00:00
Auke Kok
d979293f14 Convert fences to NDT_CONNECTED.
This changes the drawtype of fences to NDT_CONNECTED nodebox drawtype.

These nodes are drawn by the client with the needed connections on
the fly as the scene is drawn. There is no logic needed by mods to
modify the nodes.

These fences connect to (1) other fences, (2) planks and (3) tree
trunks, but nothing else. They do not connect to stone, dirt, wool,
etc. This is done by the "connects_to" parameter, which takes groups
and node names.

Due to the way textures are wrapped, we can make these nodes look a
lot better by giving them a special tile.

This change requires minetest/minetest#3503.
2016-03-13 04:10:51 +00: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
MT-Modder
ac843f8fe7 Allow non-players to dig locked chests. 2016-03-03 00:37:01 +00:00
rubenwardy
42cc6d2c31 Add item name to chest log messages 2016-02-24 22:53:20 +00:00
MT-Modder
ea2a7d3b1f Remove dig_up() from cactus.
Digging a cactus leaves the branches hanging. With this change it will no longer happen.
2016-02-23 20:34:32 +00:00
Auke Kok
73d998ccdf Lower snow footstep and dig sound level.
These sounds were perceived to be too loud in the
game. I've lowered them significantly but they remain
plenty audible. The dig sounds were very loud as well
so I toned them down as well.
2016-02-21 15:31:28 +00:00
Rui
7a3cff5529 Remove minetest.inventorycube 2016-02-13 03:47:49 +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
c66a98bbed Default: Slightly reduce alpha of water post effect colour
To make water a little clearer and feel purer
Also correct lava alpha values from 192 to 191
2015-12-12 13:42:54 +00:00
paramat
ac810dbf9d Default: Remove light source from mese ore
New brighter mineral_mese texture
2015-10-03 01:11:10 +01:00
MT-Modder
f5c8f881d7 Change obsidian glass drawtype to glasslike_framed_optional 2015-09-14 23:08:37 +01:00
paramat
c2307b8816 Default/nodes: Fix acacia leaves not waving 2015-09-01 06:18:06 +01:00
paramat
908d8e5f90 Default/nodes.lua: Add missing spaces, shorten lines 2015-08-25 06:47:55 +01:00
paramat
a0d7644a86 Default: Add snow, snowblock, ice to puts_out_fire group 2015-08-25 03:03:06 +01:00
RealBadAngel
835ca02be5 Add tiling info for grass nodes 2015-08-19 00:59:22 +01:00
paramat
c7b9e734ff Default: New grass textures, new footprint overlay texture 2015-08-15 21:19:39 +01:00
paramat
be4dd6479d Default: Rename pine tree nodes, textures and mapgen aliases 2015-08-10 09:19:02 +01:00
paramat
cbea61e8dd Default: Thicker snow nodebox 2015-07-29 01:18:30 +01:00
Rui914
da9789e3ce Fix not_in_creative_inventory
Update
2015-07-17 20:53:55 +01:00
RealBadAngel
0c5f6dabc0 Add new texture for leaves, jungle leaves and style simple 2015-07-13 03:17:26 +01:00
paramat
6843ddb814 Default: Add savanna nodes, textures, crafting and fuels 2015-07-12 22:41:59 +01:00
Amaz
7361eb5e05 Add the listring functionality c977fbd928 2015-06-23 19:17:57 +02:00
paramat
e15fde1624 Fix is_ground_content settings for nodes
Remove line if set to the default of 'true'
2015-06-18 02:25:02 +01:00
Novatux
15ef8b0995 Fix bookshelf's allow_metadata_inventory_move (check if item belongs to "book" group instead of checking if it is "default:book") 2015-06-17 18:33:54 +02:00
paramat
7786f7f8b1 Default/nodes: Match river_water post_effect_colour hue to that of new texture 2015-06-07 04:39:02 +01:00
Calinou
750f9575af Improve water post effect color 2015-06-06 14:13:01 +02:00
paramat
40e2b945e3 Default: New obsidian brick texture. Add river water textures 2015-06-02 01:13:34 +01:00
Calinou
a4d056e493 Make some common nodes let light pass through 2015-05-14 17:34:17 +02:00
Novatux
23a37e5e79 Apples give 2 HP instead of 1 HP, bread gives 5 HP instead of 4 HP 2015-05-14 17:33:10 +02:00
Wuzzy
852b337916 Use connect_to_raillike for rail
Used value: 2
2015-05-14 10:19:07 +02:00
Wuzzy
8bc8dd64c5 Make TNT respect on_blast, implement on_blast for some nodes
Implemented nodes:
- Steel Door: Ignores explosion
- Locked Chest: Ignores explosion
- Fire: Ignores explosion
- TNT: Starts burning
- Burning TNT: Explodes immediately
- Gunpowder: Starts burning
- Burning Gunpowder: Ignores explosion
2015-05-12 16:32:52 +02:00
paramat
fa1b4d0d44 Default/nodes: Increase meselamp light level to light_max (14) 2015-05-11 22:50:44 +01:00
paramat
f8c8047a52 Default: Add river_water nodes 2015-04-19 02:27:06 +01:00
paramat
fe7a982343 Default/nodes: Make water, lava and ice is_ground_content = false 2015-04-06 01:43:17 +01:00
BlockMen
820a97e397 Add Meselamps
- Mese glows
- Glass + Mese = Meselamp
- New mese mineral texture
2015-03-29 21:17:53 +02:00
ThatGraemeGuy
e604d8d7f3 Remove dupe aliases (fixes #438) 2015-02-28 22:49:32 +01:00
MT-Modder
0755a8fa05 Mossycobble fixes 2015-01-24 20:36:37 +01:00
PilzAdam
3689bdad75 Fix typo in water_flowing tile animation Also add missing commas and use non-deprecated field-names 2015-01-10 15:47:30 +01:00
PilzAdam
4ce47528e1 Clarify comment in default:grass_1 2015-01-10 15:47:30 +01:00
PilzAdam
2edfb55c29 Restructure default/nodes.lua 2015-01-10 15:47:30 +01:00
PilzAdam
c654c9fd11 Remove weird constants in default 2015-01-10 15:47:30 +01:00
paramat
69614dc20d Pinetree (by sfan5, from mg mapgen) lua generation and sapling ABM. Add checks for ignore to other trees 2014-12-12 16:11:42 +01:00
Calinou
75dfcdb1e7 Add 3D signs 2014-12-12 16:10:30 +01:00
HybridDog
608e51f16d Add obsidianbrick
use Zeg9`s texture
2014-12-12 16:04:27 +01:00
PilzAdam
2ebd6b3839 Correct node definitons for pine saplings and pine needles 2014-12-07 11:57:37 +01:00
PilzAdam
5a06de184c Rewrite furnace
* Move furnace related code into furnace.lua
* Move duplicated code into functions
* Rewrite ABM:
	* Easier to follow strcuture (no returns in the middle)
	* No unnecessary calls to get_craft_result
	* Split logic and "visual feedback" (a bit)
	* Fewer calls to meta:set and meta:get
	* Better feedback on the current state of the furnace
2014-12-06 21:18:02 +01:00
PilzAdam
4ec4672f01 Remove remains of weather 2014-12-06 20:58:03 +01:00
PilzAdam
9ec33f34f1 Set param2 to 1 if player places leaves 2014-12-06 20:36:20 +01:00
PilzAdam
20f938e44a Allow the group book to be placed into bookshelfs 2014-12-06 11:46:04 +01:00
PilzAdam
fd34872de8 Fix possible stacking of books in bookshelf
Original author: @MT-Modder
2014-12-06 11:43:07 +01:00
PilzAdam
31edc5a9ff Add all saplings to group sapling 2014-12-03 17:26:01 +01:00
PilzAdam
19bdcb26f6 Add missing groups to pine sapling 2014-12-03 17:26:01 +01:00
Craig Davison
128f0adb24 Fix some undeclared global variables 2014-11-30 18:02:33 +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
BlockMen
7f44a49d99 Use new optional framed glasslike drawtype 2014-10-02 11:51:47 +02:00
Zefram
d4c24a30e9 Retain sign text when editing is aborted by <esc> 2014-07-22 13:00:20 +02:00
BlockMen
49ad1c1bf7 Make gui part of default 2014-07-05 16:06:16 +02:00
HybridDog
d0aa09dd8d New fence texture 2014-07-05 16:03:14 +02:00