Commit Graph

728 Commits

Author SHA1 Message Date
paramat 0d3bca790c Default: Fix rotation errors for mapgen aspen and sapling jungletree 2016-03-22 15:46:00 +00:00
Auke Kok ffba9d978e Doors: Allow schematic placement of wooden doors.
If LVM or some other nonmetadata method is used to place a door,
then metadata is missing that tells us whether the door is left
or right-hinged.

However, we can detect that nodemeta is missing and see if the node
name is _a or _b. In the case of _a, nothing needs to be done and we
can just open the door. In the case of _b we assume the door is right
hinged, and tune the state nodemeta value so that the door opens the
right way. This all of course assumes that the schematic method places
the doors *closed* by default, which is reasonable.
2016-03-22 15:45:54 +00:00
Jean-Patrick Guerrero 1a5f89e750 Creative: Code cleaning + Fix items moving in virtual inventory 2016-03-22 15:45:48 +00:00
tenplus1 51891122f2 Changes to Screwdriver to add new drivers.
A few screwdriver changes so that mod makers can add new screwdrivers with different wear levels.  Tried and tested with new diamond screwdriver :)
2016-03-22 15:45:39 +00:00
paramat 537f94c28e Fire: Speed up fire spread and burn out 2016-03-21 06:17:50 +00:00
Auke Kok da0cc7f6f6 Beds: priv/griefing fixes.
- disallow placing beds in protected areas
- fix rotation of beds(broken after 41c2b2ae)
- allow using others' beds, but don't change spawn location

Fixes #953. #943 isn't something I think was ever implemented, and
this does a fair job of addressing the main concern (spawning in
others' houses)
2016-03-21 06:17:45 +00:00
Jean-Patrick Guerrero b57dd0f9b2 Books: Add support for multiple pages 2016-03-21 06:17:40 +00:00
Rui 8fdcfea9f9 Allow for shift+clicking inventory from bones 2016-03-21 06:17:33 +00:00
Auke Kok 9de43cdf7d Doors: Allow falling nodes to fall onto doors.
We were cleverly attempting to use an airlike node as the
top half of the doors, but as airlike nodes are not walkable,
falling nodes would not stop falling and thus remain an entity
stuck on top of a door.

After inspecting the builtin/game/falling.lua code, I considered
the remaining options: (a) revert doors such that the top part is
actually the door, (b) play with nodedef fields and see if other
flags may work, or (c) modify the hidden door part to another
drawtype that properly prevents this issue.

(a) seemed way over the top for now, although it would solve the
issue, it would cause a rewrite of most of the code including the
old-door-conversion.

(b) turned up nothing.

(c) turned out to be relatively simple.

So, here's the implementation where I turn the hidden door top
into a tiny, non-targetable but walkable nodebox that is entirely
inside the door hinge. It's entirely transparent, so you still
can't see it, can't hit it, nor can you place anything in it or
make liquids flow through it. The top part is placed in the right
position on placement and not touched further.

Falling nodes will properly stop on top of these doors. I've
adjusted the door conversion code to properly account for the
issue as well, so the only thing remaining is people who have
been running a git branch - those can upgrade by re-placing the
door.
2016-03-21 06:17:27 +00:00
Rui914 a2ecc51fbc Create API for registration of fence gate. 2016-03-21 06:17:21 +00:00
James Stevenson d90a081722 Rename argument to priv check
Fixes crash when punching bones not owned by you, and may resolve https://github.com/minetest/minetest_game/issues/940
2016-03-18 02:35:38 +00:00
Auke Kok 70248505ae Walls: Don't connect to group:cracky
the ```group:cracky``` group contains all sorts of odds and ends
nodes that we shouldn't connect to. There are a few nodes that
walls now no longer connect to, that probably should get
```group:stone``` added, or something similar, though.
2016-03-18 02:35:28 +00:00
Auke Kok 22e32a01ad Allow digging of protected doors with "protection_bypass"
This was probably lost in either the API rewrite or a merge/rebase.

Fixes #929
2016-03-18 02:35:20 +00:00
Auke Kok c94349eaef Re-export character.b3d without texture linkage.
I've created a modified B3Dexport.py version that automatically strips
the embedded texture link to external texture files. These links were
causing the engine to spew "can't find character.png" messages on the
console, but were harmless due to texture loading being done by the
client side and not through irrlicht.

I previously moved character.png to /textures/, which is wrong. I now
understand that character.png was in the same folder as character.blend
simply to make blender load the texture from the embedded linkage
automatically. Nothing more, nothing less.

Subsequently the character.png file should just sit in convenience
in the /models/ folder with the blend file, and not in the textures
file. This patch moves it back. And yes, minetest does load the
character.png from this path.
2016-03-18 02:35:14 +00:00
Auke Kok 41c2b2aeea Allow both sides of the bed to be digged up.
Tested with nodebreaker, fire.

If called from lua, minetest.remove_node() calls on_destruct() callbacks
before the map is actually updated. This means that we can't look at the
map data to determine if we're done cleaning up adjacent nodes, and we
have to stop recursing some other way.

There's no data we can pass around through functions that would survive
scope to a secondary on_destruct() callback, so we have to maintain
local state somewhere in the mod namespace.

In this case, we keep a bitflag. The bitflag is set to "true" by
default. On the first half removal, the flag is flipped and afterwards
we remove the other half node. When the on_destruct for the other half
is running, it's value is false and we flip it back to true without
removing the other half node.

This thus prevents recursing.

To facilitate easier finding of the bed partner, we tell our on_destruct
whether we're a top or bottom half node through a passed flag.

Now that the top is diggable, we just need to assure that it drops a
bottom bed part.
2016-03-18 02:35:07 +00:00
Auke Kok cb57f70aab Add steel door/trapdoor sounds.
I've found a favorable steel door sound from a parking garage
door that isn't abrupt or scary, just sounds like a nice solid
metal door. The sample had both opening and closing sounds, and
so they match nicely. Amplified and mixed several samples together
to reduce ambient noise, and get the right level compared to
wood doors. Attribution was added as well. CC-BY-3.0 sounds.
2016-03-18 02:34:43 +00:00
paramat f18871d60c Default: Colourise desert cobble to be consistent with desert stone
Hue and saturation match desert stone and desert stone brick
Preserve original mortar colour
2016-03-15 16:23:13 +00:00
paramat c17c317669 Doors: Update glass door item textures to new design 2016-03-15 16:23:05 +00:00
Auke Kok 7c966db4bc Fencegate: prevent y-fighting at top.
We raise the height of the fencegate node by 0.0001 to make the
fencegate post stop fighting with node blocks. This makes the
gate pole appear to be cut through the node, and doesn't leave
a gap when stacking fencegates, which would look odd.
2016-03-15 16:22:58 +00:00
Auke Kok e5304ce674 Fire: Optimize spreading ABM.
No need to find_node_near twice with the same params.
2016-03-15 16:22:50 +00:00
Jean-Patrick Guerrero 28884cc784 Add flint and flint-and-steel 2016-03-15 16:22:42 +00:00
Auke Kok dfee51c21e Clean up door tops if fire destroys bottom.
Fixes #909. Door tops are never flammable.

This doesn't guard yet against a voxelmanip removing the top node,
but that is less of an issue since if a voxelmanip removes the top,
then the bottom part remains functional and visibly intact. If the
voxelmanip removes the bottom part, but not the top, then this patch
makes it clean up the top just fine.
2016-03-13 04:49:21 +00:00
tenplus1 20053d6b52 Fix bug rotating unknown node
This fixes a bug what crashes game when rotating an unknown node.
2016-03-13 04:49:15 +00:00
paramat 079b796031 Dye: Add global table of dye names and descriptions 2016-03-13 04:49:03 +00:00
paramat 9c887e0b32 Dye: Make pink dye mixable
Correct 2 inconsistent mixes
Clean up code style and vertically align mix table
Remove dyelocal and simplify table names
2016-03-13 04:49:03 +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 f8f7502e32 Basic stone walls, using NDT_CONNECTED.
These basic connected wall nodes automatically connect
to neigboring stone blocks, other wall blocks and anything
that's "cracky". The do not connect to wood (fences will do
that).

The walls are generated using a new walls.register() API.
Documentation on the API is included in game_api.txt.

This change requires minetest/minetest#3503.

Walls are added for all cobble stone materials. They generally
look best and are the natural use cases for these materials.
2016-03-13 04:11:22 +00:00
Auke Kok b998ab1b3a Add a simple, but stylish fence gate.
This fence gate builds on NDT_CONNECTED by assuming fence nodes will
automatically connect to it's sides properly. The fence gate will
open and close just like doors, with sounds, but it only opens one
way. The gate sticks out quite a bit and can be bumped into, so the
fence may be used as some sort of path switch.

The fence gate offers no form of protection and can be opened and
closed by anyone. This is done on purpose - the fencegate isn't
meant to provide protection from players, as fences can be
trivially jumped over. Instead, these fences should be used for
protecting crops from hungry sheep, or keeping rabbits in their
pen, or just decoration. Mods can also modify the mod to add
protection, of course.

A recipe is added to make these. It's 4 sticks and 2 wood (any)
as follows:

  stick  wood  stick
  stick  wood  stick

The collision box of the open gate is such that if two gates are
connected but mirrored (making an M shape) then you can walk a large
entity that's larger than 1.0 wide through the opening. The gate of
an opened fence can also be stood upon or bumped into.

I've mixed together some sounds to provide a somewhat light sound
experience, one that one would expect from a small gate latching open
and close.

This change requires #873, otherwise it doesn't connect to fences.
2016-03-13 04:11:03 +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
red-001 a5ad30748d Add an on_burn callback. 2016-03-11 15:27:57 +00:00
paramat 45bc0b245f Beds: Fix code style issues 2016-03-09 02:44:32 +00:00
Jean-Patrick Guerrero aa676ab878 Add steel sign + Update wooden sign texture 2016-03-09 02:44:27 +00:00
paramat f80fafbcfb Default: New jungletree_top texture 2016-03-06 01:32:11 +00:00
Jean-Patrick Guerrero 7f317871d4 Add steel ladder 2016-03-06 01:31:36 +00:00
paramat 6c6cc2159a Default/craftitems: Fix whitespace and code style issues 2016-03-06 01:30:40 +00:00
tenplus1 aa254e2835 Fix book formspec to word-wrap lines
Books still don't wrap long lines of text properly so until this has been sorted out I suggest reverting back to a previous working formspec which lets players read books properly until a fix is found (and maybe scrollbars added to texarea's).  Also adding a recipe to blank written books.
2016-03-03 00:37:07 +00:00
MT-Modder 29252c6fb2 Allow non-players to dig steel doors. 2016-03-03 00:37:01 +00:00
MT-Modder ac843f8fe7 Allow non-players to dig locked chests. 2016-03-03 00:37:01 +00:00
MT-Modder 0410b5e0ca Allow non-players to dig bones. 2016-03-03 00:37:01 +00:00
Auke Kok 00a0d9a5d4 Doors: Prevent placement in protected areas.
https://forum.minetest.net/viewtopic.php?f=42&t=1523&start=500#p208773

Currently, doors can be placed inside others' protected areas. We
need to check protection for both bottom and top halves.
2016-02-29 20:29:47 +01:00
paramat 5d28040915 Default: Add 'snowy pine tree from sapling' schematic
Add function to detect nearby snow to enable snow on sapling-grown pine trees
Correct 'place schematic' rotation parameters to "0" or "random"
2016-02-27 21:47:10 +00:00
paramat 62dbf29301 Default/mapgen: Remove unnecessary spaces from log decorations 2016-02-25 00:08:30 +00:00
paramat 6493e5fefb Default/mapgen: Make forest clearings larger and more common
In mgv5/v7/flat/fractal/valleys
Add missing noise parameters to pine logs for
density to vary in relation to pine tree density
2016-02-24 22:53:32 +00:00
rubenwardy 42cc6d2c31 Add item name to chest log messages 2016-02-24 22:53:20 +00:00
MT-Modder 3a55e19055 Control leaf decay with sneak.
As requested by @paramat.
Leaves are preserved by default and only decay when using place + sneak.
2016-02-23 20:35:08 +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 2c355a8642 Allow mod namespace for door registrations.
This is an adapted version of #861 - by oleastre

Most mods had been calling `doors.register_door() with a door
name that included the "modname:" prefix, and we should continue
to allow mods to do so, without registering the nodenames created
in the "doors:" namespace.

The default case is to use the "modname:" prefix verbatim. If
mods or code calls this function without a prefix, then "doors:"
is automatically used.

Now that the namespace is corrected, the copy replacement ABM is
no longer needed.
2016-02-23 20:34:23 +00:00
Auke Kok 777088481b Fallback doors.register_door() code.
This function maps doors.register_door to the new API as far as
reasonable. We can't map the texture, so we fall back to a default
texture. An error message is printed if mod writers did not provide the
needed new tiles field for the door. The created doors are functional
and a full replacement. Old doors are replaced with the new ones
through an ABM.
2016-02-23 20:34:23 +00:00
Auke Kok 6b055ae18a Fix broken door protection.
A previous fix overwrote the `def` variable during registration,
causing protected doors no longer to be placed with protection.
2016-02-23 20:34:23 +00:00
Jean-Patrick Guerrero 4c9944b263 Creative: Rename fields with correct naming convention to avoid possible conflicts 2016-02-21 15:31:37 +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
Auke Kok 3fcb7821d7 Move character.png to textures.
This file is obviously out of place, as the engine does not
load textures, ever, out of a models folder.
2016-02-21 15:31:20 +00:00
Auke Kok ed9fd475de Call on_place_node() callbacks after placing door.
Other mods may depend on knowing whether doors are placed
to setup additional attributes or perform node manipulations.

This is something e.g. mesecons does to connect circuits
to doors. This was tested with mesecons. Placing a door next
to a mesecon wire will make the wire automatically
connect, which was otherwise not happening.
2016-02-19 19:54:55 +00:00
Auke Kok 2cc6640edf Open doors when right-clicking a door with a door.
And similarly, if we wield a door and right click any node
that has an on_rightclick() handler, call the handler
instead.

Just to be on the safe side, assure that none of this
code runs when right-clicking an entity or player, which
would likely crash the server.

Fold in PR #831 as well - prevent server crash on door
place on unknown blocks, by @tenplus1.
2016-02-19 19:54:50 +00:00
Auke Kok bbf17c9eca Allow building doors on buildable_to nodes.
This code never allowed placing a door on e.g. a grass
plant. The code to handle this isn't that complex. With
this code, doors can be placed on flowers and on normal
node surfaces without issues.
2016-02-19 19:54:50 +00:00
MT-Modder 1ab0fc12a7 Add background image to book formspec 2016-02-19 19:54:45 +00:00
Auke Kok 5569950b26 New gravel texture.
Issue #811 - new gravel texture needed.

This texture was Gambits' PixelBOX gravel light texture. Gambit
posted that his texture pack is WTFPL:
- https://forum.minetest.net/viewtopic.php?f=4&t=4990&start=50#p141196

I've made significant modifications to this texture:
- slightly rotated and rolled some sections of pixels
- minor burn/dodge some pixels to keep high contrast
- removed lineair repeating effects
- etc.

Attribution is added back to Gambit. Thanks.
2016-02-19 19:54:40 +00:00
Auke Kok 363b95c003 Doors: Allow arbitrary recipe to be passed, even nil
This allows mod makers to register their own recipies, including
none, to register doors.
2016-02-18 13:57:09 +00:00
Auke Kok 8422f2ef52 Fix character.b3d animation issues.
Both the standing and sitting animations had misplaced curve
cusps that caused the end part of the animation to wiggle the
feet slightly back and forward.

I've fixed both animations parts and re-exported. Verified in-game
with multiplayer that everything was indeed fixed.
2016-02-18 13:57:04 +00:00
tenplus1 36d18cb161 added timer to tnt:tnt_burning for explosions
By adding the timer to the tnt:tnt_burning node it will help mods add the block and cause an explosion after 4 seconds instead of doing nothing like in it's current state.
2016-02-18 13:56:57 +00:00
Craig Davison b47a556472 Remove log_mods from TNT
This option is not documented nor is it used with any other mod in Minetest Game so why should it be used in TNT?
2016-02-18 13:56:50 +00:00
paramat 7d2dfe4101 Consolidate ABMs
Spread ABM intervals evenly across 1 to 16 seconds
16s ensures no nodes are missed when player walks past
Adjust chance values to compensate, for identical action rates
Combine lavacooling ABMs into one, return to chance = 1
Grass growth: add 'neighbors = "air"' to avoid
processing the thousands of underground dirt nodes
Grass death: Reduce action rate to that of grass growth
Fire: Use chance = 1 for flame extinguishing
and flame removal when mod is disabled
2016-02-14 05:22:20 +00:00
Jean-Patrick Guerrero 04f01bc57f Doors: fix unability to register doors outside of doors mod 2016-02-13 18:37:16 +01:00
Rui 7a3cff5529 Remove minetest.inventorycube 2016-02-13 03:47:49 +00:00
Auke Kok 8f095c62a8 Convert furnace ABM to node timer
Node timers are higher precision and a better guarantee
of happening at regular intervals, whereas ABM's may be
postponed, cancelled or missed if a player is too far.

The largest benefit is that once the furnace is done
cooking, no more ABM's are fired - the timer is stopped
instead and no more events are created until items
are put in the furnace.

This patch is larger due to the migration of the timer
function and indentation change as a result of the somewhat
reduced complexity. I've tested with several furnaces and
this works correctly and behavior is not affected, although
people may find that their furnaces now work more
regularly.

If you place several furnaces next to eachother, you will
still find all furnace timers firing exactly at the same
time. This is a bug in core that should not coalesce node
timers at second intervals.
2016-02-13 03:47:38 +00:00
Auke Kok f600a9f645 New mesh door models, and extensive door API
This patch replaces the default door nodes with a new mesh model
and nodes.

Two new models were added that are 2 blocks high. One for left-hinge
and one for right-hinge doors. This allows us to make a single texture
fit on both models. The alternative would have been 1 model and 2
unmapped textures, which is more work for mod developers.

Doors work exactly like the old doors, including ownership, breaking
doors, opening and closing.

Under the hood, we can prevent the top part of the door from being
obstructed by placing an invisible node. This prevents liquids from
flowing through doors or people placing sand or other blocks in the
top half. The door code automatically places and removes these as
needed.

Metadata is used to store door state, just like the old version.

A doors API is added, it allows mods to use the API to open/close or
toggle door states without worrying about sounds, permissions and
other details. This is intended for e.g. mesecons. This API allows
mods to manipulate or inspect doors for players or for themselves.

In-game old door nodes are automatically converted using an ABM and
preserve ownership and orientation and state.

TNT blows up all doors and trapdoors except for the steel ones,
who can survive a blast. We return an itemstack in on_blast(),
which requires a TNT API patch which is also pending.

We enable backface culling for most of these doors, as this gives
the identical visual appearance that the old doors had. In the case
of the glass door, there's a slight twist.

The texture files used by the new doors have new names that do
not conflict with previous texture file names to avoid texture
pack conflicts.

Thanks to red-001 <red-001@users.noreply.github.com> for some
of the conversion code, cleanups, and extra textures.
2016-02-13 03:47:28 +00:00
Muhammad Rifqi Priyo Susanto 9e54b379c8 Creative: Extend search function to descriptions 2016-02-06 01:24:24 +00:00
paramat 5994ac8dc5 Default/schematics: Re-add force-placed root node to mapgen trees
Avoids trees or large cacti being placed multiple times at a single
position, by changing the node at the heightmap y value
2016-02-06 01:24:19 +00:00
paramat c198d8c57e Default/mapgen: Confine Aspen to one half of deciduous forest 2016-02-06 01:24:14 +00:00
Craig Davison 09dbaf7972 Follow naming conventions of textures in creative 2016-02-03 19:33:59 +00:00
Craig Davison 0add474af2 Follow naming conventions of textures and models in boats 2016-02-03 19:33:46 +00:00
kilbith 0ea23a50d3 Creative: move player datas in separate table (fixes #812) 2016-02-03 19:33:31 +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
paramat a4e144e4c8 Default/mapgen: Add gravel beach in Tundra 2016-01-29 03:50:32 +00:00
tenplus1 f4512cb5b6 ability to dye coloured wool white
as above, the avility to dye coloured wool whilte again.
2016-01-29 03:50:07 +00:00
Auke Kok 38a8351327 Register biomes before ores.
We may want to use biomes here at a later stage.
2016-01-26 21:33:27 +00:00
Auke Kok a5d40e13be Stair and Slab groups.
Organizing these in groups will allow mods to do several things
easier:

- create craft recipes using them as ingredients
- manipulate map nodes based on group properties

There are quite a few slab and stair blocks already, so automatically
add these groups at registration time for all of those. Since most
mods I've seen use the registration code in this submod, they will
also benefit.
2016-01-26 21:33:17 +00:00
paramat 4b8410a982 Default/mapgen: Remove unused 'mapgen_air' alias 2016-01-22 13:21:26 +00:00
kilbith 250be40ecd Fix blank page in creative in some rare case and keep crafting tab's size stationary 2016-01-20 22:17:38 +00:00
Auke Kok 322967d2d1 Better trapdoor side appearance.
We're using a normal wooden side texture to draw the sides
of trapdoors. But the side textures have only 2 edges that
have a nice texture for the 2px wide trapdoor. We can
either repaint the textures, or just rotate the texture
properly for the two sides that need it.

Because the side texture for wooden doors was just a default:wood
texture, it clashes with the colors in the trapdoor, and so
we add a wooden trapdoor-matching tile side texture as well.

This also improves the steel trapdoor side, but without a
texture change there since that was already a specially
drawn texture for that node.

We also increase the thickness of the trapdoor to 2px. Right
now the model is 0.4 large, but this causes the side textures
to look odd as there's a mismatch in pixel size. By scaling the
trapdoor side up to exactly 2px, the sides look natural.

Thanks to @kilbith for the suggestion.
2016-01-20 22:17:25 +00:00
Auke Kok f41314185e Allow trapdoors to be rotated all ways.
There really is no reason to prevent rotation in trapdoors, I
expect this to be an oversight.

Trapdoors work perfectly well sideways, upside down and can
work like fences, gates and more. Most commonly, people will
want to put them in the top half of the node so they remain
flush with a floor.
2016-01-20 22:17:13 +00:00
kilbith 6d79d157c3 New design of the creative inventory (with tabs) 2016-01-15 04:56:24 +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
Auke Kok 535e611eb1 Fix trapdoor recipe conflict with iron bar recipe.
In oversight, I added this recipe not verifying that it was already
taken.

We change this to a 2x2 iron bar recipe. The shape and amount are
reasonable (reduced to output 1 steel trapdoor), and I verified that
it wasn't in use.

Fixes #779
2016-01-12 04:03:19 +00:00
Auke Kok 223e924edf Lower mushroom-on-log rate for pine forests.
These were likely too high, so we lower them to the rate
of mushrooms on apple trees.

issue #773
2016-01-08 04:44:29 +00:00
Auke Kok 556f0d48e3 Replace aliased fertile mushrooms.
This is a non-issue: these are aliased to normal mushrooms. For
clarity, we replace them with the normal mushrooms here as well.
2016-01-08 00:24:05 +00:00
Auke Kok 57939c6c3f Place tree logs as decorations.
We can vary the landscape a bit more by placing "fallen logs"
around the various forests. These decorations are quite fast
and will provide some gameplay value but are still more rare
than the corresponding trees, so they don't provide free
materials.

I've manually put the schematic as lua tables since these log
schematics are only 8 blocks. We vary the log lengths between
1 and 3 blocks by making the end blocks have a lower chance
of appearing.

Amount is varied by fill_ratio, except for acacia trees where
we reduce the scale, so that acacia logs show up near places with
acacia trees consistently.

Mushrooms are placed optionally on each log. We can't place
two different mushrooms on a log, so instead we opt to place
brown mushrooms on oak/appletree logs, brown mushrooms on
jungletree logs, and red mushrooms on pine logs. No mushrooms
are placed on acacia logs, as they occur in a dry biome,
savannah, and this adds a bit of biome diversity.
2016-01-07 05:36:12 +00:00
Auke Kok 9542d119f6 Fix endless trapdoor bug.
Closes #770 - thanks to @tenplus1, @kilbith
2016-01-05 23:29:24 +00:00
jeanpatrick.guerrero@gmail.com 7488f483c7 Minor polishing of creative 2016-01-05 23:29:15 +00:00
Auke Kok b0ec8f1b5a Allow books to be copied on the craft grid.
Combine any written book with an empty book to copy it. The
copy is in player hands when using, and the original is put
back on the crafting grid and can be directly copied again.

All ownership and metadata is retained, so the copy of the book
is as writable as the original is, or isn't.
2016-01-05 23:29:08 +00:00
ShadowNinja c76a91943c Fix TNT drops being placed inside nodes 2016-01-05 23:28:59 +00:00
paramat 0472e61a9d Default: Remove normalmap textures 2016-01-03 02:12:22 +00:00
Auke Kok e9a7782c88 Steel Trapdoor.
Adds a steel trapdoor. Textures were painted from scratch, and
inspired by the current Steel Door. Ownership on the trapdoor
works as expected, and so does the crafting recipe.
2016-01-03 02:11:40 +00:00
paramat 76471dd137 Default: Add mapgen alias for air 2015-12-31 00:05:34 +00:00
paramat 11115c7d15 Default: New appletree schematics with more variation 2015-12-28 21:41:23 +00:00
Auke Kok 481d1758ad Fix door volume level.
Playing stereo sounds positionally in OpenAL causes it to play
the sounds unattenuated - same volume for all distances. This
shouldn't happen, and makes door sounds unneccesarily loud from
very far away.

Convert all door samples to mono, 22kHz 64kbit.

Trimmed all door samples to remove lead, trail silence.
2015-12-28 21:41:15 +00:00
Auke Kok 32bdb9a393 Remove spores from mushrooms.
These have almost no value gameplay wise. Mushrooms spread
by their very nature into appropriate soil nearby, and
harvesting spores is something only scientists do. Actual
mushroom farmers leave a few mushrooms and put on more
manure, and keep the light off.

Modify the growth ABM to test for light levels and attempt
to plant a similar mushroom nearby (+/- 2 x,z, +/- y). Light
at both source and destination needs to be low enough. I've
tuned it to be 3-4 spaces from a torch.

Mushrooms will die in full sunlight, but they can survive under
trees and may grow out at night anywhere.

Removed obsolete textures.

Remove unused nodes and provide aliases for them.

Aliased obsolete nodes so no unknown item nodes appear.

Mushrooms die only in full sunlight (light level 15).
2015-12-25 15:37:40 +00:00
Auke Kok 82299b94dc Verify node type is facedir.
This prevents nodes that are not of the "facedir" paramtype2,
as these are generally not expected to be able to rotate. Mods
and other methods may still manipulate param2 of these nodes
as expected.

Addresses #712
2015-12-25 15:37:17 +00:00
jeanpatrick.guerrero@gmail.com b1e2ece638 Add a search field to the creative inventory 2015-12-25 15:36:55 +00:00
paramat eaed418b10 Ores: Allow dirt and sand blob ore in sandstone, desert stone
Re-align parameter format in 'register ore'
2015-12-23 16:55:18 +00:00
paramat 8704afe5b1 Flowers/mapgen: Slightly more flowers in mgv5/v7/flat/fractal 2015-12-19 15:03:10 +00:00
paramat c3a1545ca1 Default/mapgen: Correct spelling of 'noise threshhold' in 'register ore' 2015-12-19 15:03:09 +00:00
paramat a1b8b68e92 Default/mapgen: Re-add grassy sand dune biomes 2015-12-19 15:03:09 +00:00
Auke Kok b57ecb94df Add a separate image for a written book.
Since written books are quite different from empty books, the
visual clue that they are different items is really needed in-game.

I've added a "clasp" or "belt-with-buckle" like element to the
png from default_book, keeping them very similar but also
immediately recgnizably different.

I added the new texture to blockmen's license list since it's
obviously derivative of his work.

The PNG was run through a minimizer/optimizer to save space.
2015-12-12 19:56:56 +01: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 25e1f84733 Default: Remove root from mapgen trees and large cactus 2015-12-06 22:19:23 +00:00
jeanpatrick.guerrero@gmail.com b8333cf82a Speed-up creative inventory initializing (~10x faster) 2015-12-06 00:22:12 +00:00
paramat abf0ca9c7e Default/mapgen: Retune cactus density due to low density fix 2015-11-23 03:19:11 +00:00
paramat 135d80eb86 Default/trees: Make 'can grow' public to enable over-riding 2015-11-23 03:19:00 +00:00
paramat 0d49978341 Default/mapgen: Use sidelen 16 for low density decorations
The fixing of low density decorations allows returning to
sidelen 16 for acacia trees and cacti, previously sidelen
80 was required for low density decorations to appear
Also use sidelen 16 instead of 8 for mgv6 papyrus
2015-11-15 09:20:21 +00:00
paramat 4ef6810298 Beds: Re-add commas at list ends 2015-11-14 05:18:11 +00:00
Rui 1d8def5c06 Beds: Make non pointable by pointable definition 2015-11-14 04:49:22 +00:00
paramat e41a411f1c Default, fire: Disable catch-up in some ABMs
To avoid processing spikes where catch-up is non-essential
Disable in: Lavacooling, grass growing, grass removal
and all fire mod ABMs
2015-11-14 04:49:03 +00:00
paramat e67e28d226 Default/mapgen: Fix missing taiga pine 2015-11-09 01:10:41 +00:00
paramat 3d6f1685ad Default/mapgen: Tune biome points for improved disribution
Bring humidity points closer to reduce distortion of voronoi cells
Slightly reduce size of hot and frozen biomes
Improve location of glacier biomes
Remove unnecessary snow nodeboxes from tundra to improve FPS
Add missing dirt_with_snow to taiga
2015-11-08 05:04:39 +00:00
paramat 592ca341ea Default/mapgen: Tune biome points and biome depths 2015-11-04 01:13:46 +00:00
Rui914 a88576afd1 Boats: Check player attached object 2015-10-29 23:06:01 +00:00
paramat 6f6d46ddfc Fire: Add 'permanent flame' node
Update 'disable fire' documentation in conf.example
2015-10-28 03:08:09 +00:00
Craig Davison 7c0abe9366 Remove unused TNT & torch textures
Closes #544
2015-10-28 03:07:56 +00:00
paramat 321bd66721 Default/trees: Clean-up 'can grow' function 2015-10-27 01:51:54 +00:00
paramat 2729777b94 Default/functions: ABM for mossycobble replacing cobble next to water 2015-10-25 23:11:29 +00:00
paramat f3dc78204c Boats: Check inventory in boat.on_punch
If puncher inventory is full, then drop boat
2015-10-20 00:26:30 +01:00
Marcin b292975fbc Use PI variable rather than unclear constant 2015-10-20 00:26:19 +01:00
Rui 3fb6ee5bdf Default/book: textarea -> table 2015-10-18 18:02:27 +01:00
paramat ef8b7e230d Default/trees: Add requirement of light level 13 for sapling growth 2015-10-17 09:41:17 +01:00
paramat 41c1e99b1f Default/mapgen: Remove dunes biome. Sand for glacier seabed 2015-10-10 16:28:49 +01:00
paramat f4a412d9c1 Papyrus: Grow on dirt and grass only, remove from desert ocean 2015-10-05 01:47:37 +01:00
paramat 8148bbf95e Flowers: Allow placing waterlily on river water
Add 'buildable_to = true' to flowers and waterlily
2015-10-05 01:47:18 +01:00
paramat 2119054a95 Mgv5/7 biomes: Add more shallow dirt waters
Dirt waters are more suitable for waterlilies
Add dedicated dunes biome in coniferous forest
Papyrus: use dirt base again
Force-place roots on mapgen tree schematics
Tune some humidity points to improve voronoi cells
Add random rotation to jungle trees
2015-10-03 01:12:45 +01:00
paramat ac810dbf9d Default: Remove light source from mese ore
New brighter mineral_mese texture
2015-10-03 01:11:10 +01:00
paramat 8e51f318b3 Rename to Minetest Game
Rename in game.conf and documentation
Update game_api.txt documentation for bucket API and tree functions
Fix tab, space and comment formatting in game_api.txt
Rename in mod READMEs
2015-09-30 23:33:12 +01:00
LeMagnesium 93a2c40ebc Adding bones' drop feature Before, when you died, you got to punch you bones to get back your stuff, the bones block was not dropped. However, a lot of people wants to use them for decorations/building, and have to install a dedicated mod since 0.4.10-release. With this commit, a bones block containing an inventory is dropped/added to inventory (if enough room) when the bones block is removed. Then, when a player places a bones block by himself, he will dig it like any other basic node (eg. default:tree), not just punch it.
Thanks for reading.
2015-09-29 21:01:34 +01:00
codeandfix ff0973fa4f Update api.lua
added protection for seed placement and hoeing
2015-09-29 21:01:20 +01:00
Rui914 1f85f001f9 Remove ugly def of xpanes 2015-09-29 01:26:02 +01:00
LeMagnesium 279b85fc45 Add option to disable bed's night skip - Solve second point of #512 by adding a setting, `enable_bed_night_skip` , with default value of `true`. 2015-09-29 01:25:40 +01:00
paramat 24578ca968 Default/mapgen blob ores: Tune, make faithful to mgv6 2015-09-20 00:39:05 +01:00
paramat d0fad4b004 Flowers: Make waterlily not walkable. Add missing flower group 2015-09-17 16:50:11 +01:00
paramat 4bb9652c0f Flowers: Add waterlily and add to mapgen 2015-09-17 12:34:17 +01:00
Craig Davison b6c12010b1 Remove beds/Changelog.txt & farming/API.txt
- beds/Changelog.txt probably won't be updated because http://dev.minetest.net/Changelog is used instead
- The information in farming/API.txt is already documented in game_api.txt
2015-09-14 23:08:52 +01:00
MT-Modder f5c8f881d7 Change obsidian glass drawtype to glasslike_framed_optional 2015-09-14 23:08:37 +01:00
Wouters Dorian 0004c5e637 Better bucket textures 2015-09-14 06:58:19 +02:00
paramat 1cc8300ba9 Default/mapgen: Make river water ice in glacier biome
Add commented-out 'node river water' lines to all biomes
2015-09-10 16:34:34 +01:00
paramat fd5721faa8 Flowers: Make flowers wave when waving shader enabled 2015-09-10 16:34:18 +01:00
paramat 09d910efcb Default/schematics: Fix root error in jungletree from sapling 2015-09-05 06:09:47 +01:00
paramat acb0cecb36 Fire: Move flame extinguishing to separate faster ABM
Add extinguish sounds (from default mod lavacooling)
'disable fire' setting extinguishes fire quickly using a dedicated ABM
'disable fire' also disables all other ABMs
Simplify flammable node removal ABM
Speed up node ignition, it was too slow
Add 'sunlight propagates = true' and 'paramtype = "light" to flame
Balance fire sounds' gain
2015-09-04 23:05:26 +01:00
paramat c2307b8816 Default/nodes: Fix acacia leaves not waving 2015-09-01 06:18:06 +01:00
paramat 73113f3443 Default/trees: Add not-force-placed tree schematics grown from saplings 2015-09-01 05:57:07 +01:00
paramat 4d9b595a69 Default: Allow papyrus growing on default:sand
Mgv5/mgv7 papyrus schematic now has sand nodes as a base
Add sand beach to mgv5/mgv7 deserts
2015-08-31 22:58:33 +01:00
paramat 908d8e5f90 Default/nodes.lua: Add missing spaces, shorten lines 2015-08-25 06:47:55 +01:00