1
0
mirror of https://github.com/minetest/minetest_game.git synced 2024-11-16 15:00:18 +01:00

Compare commits

...

1288 Commits

Author SHA1 Message Date
Alexander Chibrikin
92daf3e6f4
Make walls connect to nodes in a new wall_connected group (#3159) 2024-11-15 15:10:14 +01:00
grorp
093cd28a27
Set bloom intensity 2024-10-16 14:12:25 +02:00
grorp
df8159436c Set volumetric lighting strength 2024-10-01 17:29:41 +02:00
1F616EMO~nya
b23c44d980
Get rid of recursive call in default.dig_up (#3133) 2024-09-08 22:09:30 +02:00
sfan5
7967f77f3b
Don't assert default biomes in spawn mod
fixes #3124
2024-09-08 22:07:20 +02:00
1F616EMO~nya
2ce8ff3306
Simplify Butterfly and Firefly code (#3125) 2024-08-31 11:43:07 +02:00
Gundul
4e402ec39f
Fix crash if bones punched by non-player (#3146) 2024-08-18 19:40:14 +02:00
sfan5
d89170c129
Simplify and fix docker test 2024-08-18 19:35:43 +02:00
sfan5
9bd1f24d36
Update README for release model 2024-08-14 13:53:04 +02:00
Niklp
88ecab34d9
Replace deprecated get_metadata() calls (#3142) 2024-07-27 14:42:08 +02:00
1F616EMO~nya
9cb57ae5f2
Log furnace inventory actions (#3141) 2024-07-27 14:41:16 +02:00
1F616EMO~nya
77bbcee0cd
Limit furnace sound volume on catch-up smelting (#3144) 2024-07-26 09:36:05 +02:00
Niklp
da0509c5bd Replace deprecated meta:set_string() call 2024-06-29 16:58:53 +02:00
Lunovox
599dedd927
translate to brazilian portuguese and portuguese of Portugal (#3104) 2024-06-24 12:23:50 +02:00
ssdaniel24
061f4e76dd
Added can_grow function to plant definition (#3131) 2024-06-23 18:03:36 +02:00
Andrii Nemchenko
f03c992864
Fix the possibility to put fire in a protected area (#3129) 2024-06-22 12:54:57 +02:00
1F616EMO~nya
91f6e5faec
Fix crafting for fences etc. starting with colon (#3132) 2024-06-22 12:54:27 +02:00
1F616EMO~nya
82b017af6b
Avoid using the global 'table' as a function argument name
Co-authored-by: José Douglas da Silva Souza <44056294+JoseDouglas26@users.noreply.github.com>
2024-06-16 20:08:42 +02:00
mruncreative
511619253f
Fix upside down nodes in large cactus schematic (#3123)
* Update schematic_tables.txt (large_cactus)
* Replace large_cactus with upside down nodes with fixed one
2024-06-02 19:38:35 +02:00
Lars
3ad8a6a473 Fix possible invalid object reference in TNT mod 2024-05-26 17:01:45 +02:00
sfan5
1ce48351ea Add random_mod_load_order to test config 2024-05-12 17:23:41 +02:00
sfan5
c60d8e4da0 Add API to control respawn logic and behavior 2024-05-12 14:46:12 +02:00
sfan5
d1ba7c3db3 Add API to weather mod
Co-authored-by: Till Affeldt <t.affeldt@tu-braunschweig.de>
2024-05-12 14:39:16 +02:00
sfan5
31133a371e Fix set_node(air) calls
In the fireflies case it can be replaced with remove_node.
In the beds case we fix the logic to do what it should. Coincidentally the end result was correct nonetheless.
2024-04-13 13:32:18 +02:00
1F616EMO~nya
0639681f9b
Log bucket liquid placement (#3108) 2024-04-13 13:07:13 +02:00
tour
a43a6bcdef fix crash from default.chest.register_chest 2024-04-07 13:51:51 +02:00
ROllerozxa
16c663f87e Replace beds_transparent.png with blank.png 2024-03-29 11:35:05 +01:00
sfan5
316c0c7224 Add workflow that runs simple test with the engine present 2024-03-27 22:00:03 +01:00
cx384
ef788d0307
Make bugs only pointable with Bug Net (#3099) 2024-03-10 17:57:22 +01:00
Gregor Parzefall
5a80084800 Set field_enter_after_edit for search fields 2024-02-26 01:31:33 +01:00
Jaidyn Ann
10799db4cf Tweak capitalization in Esperanto translation 2024-01-28 11:42:02 +01:00
David Leal
222afb0cf0
Allow overriding the loop flag on player_api.set_animation (#3097)
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
2024-01-28 11:41:12 +01:00
sfan5
472997b4aa Fix detecting mgv6 temples as 'desert' dungeon type 2024-01-24 08:48:42 +01:00
sfan5
70cf7a26fd
Fix some placer nil checks 2024-01-11 15:50:36 +01:00
Uwuewsky
a3b171e317
Update Russian translation (#3058) 2023-12-30 11:32:05 +01:00
sfan5
e9676fa632
Make cloud parameters deterministic across sessions 2023-12-30 11:30:46 +01:00
David Leal
c0200b0a01
Use a faster and newer LuaCheck (#3081) 2023-12-30 11:29:10 +01:00
Mantar
43185f19e3
Bed bugfix: Remove "reverse" toggle in favor of swap_node/set_node combo (#2976) 2023-12-24 13:41:26 +01:00
José Douglas da Silva Souza
ff755eed9c
Add brazilian portuguese translation for butterflies (#3085) 2023-12-22 23:51:14 +01:00
rubenwardy
b9c089474c Update README.md for 5.8 2023-12-17 16:57:57 +01:00
Lars Mueller
05367552d1 Mapgen: Don't clear biomes, decorations and ores 2023-12-10 22:49:51 +01:00
rubenwardy
33d90c2c45
Add min_minetest_version to game.conf
This is used by ContentDB to install the right version of a package for a given client version
2023-12-04 17:51:38 +00:00
Yaya - Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi
4bb4a2a818 Update Malay translations
1. Added missing translation to the following files:
  beds.ms.tr, creative.ms.tr, default.ms.tr, farming.ms.tr,
  fire.ms.tr, sethome.ms.tr
2. Changes some translation as per following:
  a. beds.ms.tr
    - Leave Bed changed from Bangun (wake up) to Tinggalkan Katil
      (leave bed, in literal sense) just because the button would
      be interpreted by some people as 'wake up on next morning'
      (ie. skipping night) instead of 'wake up interrupting current
      sleep progress' which is the intended meaning.
  b. boats.ms.tr
    - Boat cruise mode changed from Mod bot layar makan angin to
      Mod jelajah bot, the original translation is more like direct
      translation, and this has been changed to more natural one
      to make sure player know that the mode is a cruise control.
    - Reset changed from Set semula to Tetap semula, this is for
      standardizing with existing term used in various places.
  c. default.ms.tr
    - Page \@1 of \@2 changed from the short form to the long form.
    - Mese Crystal Fragment had missing word 'Kristal' re-added.
  d. dye.ms.tr
    - Dark Grey changed from Kelabu Gelap to Kelabu Tua to make it
      standardized with the colour name elsewhere.
    - Dark Green changed from Hijau Gelap to Hijau Tua to make it
      standardized with the colour name elsewhere.
    - Magenta changed from Merah Lembayung to Magenta, because the
      colour Merah Lembayung is now used to refer to purplish red
      and no longer equal to magenta, the loanword is used instead.
  e. game_commands.ms.tr
    - respawn changed from lahir semula (reborn) to jelma semula
      (reappear), this is to make it consistent with the language
      used in multiple other games that had similar respawning
      system, and avoiding the religious context of life that is
      implied by the use of previous translation.
    - spawnpoint changed from titik permulaan (starting point) to
      titik jelma ((re)appear point), see previous point.
  f. tnt.ms.tr
    - Gun Powder changed from Serbuk Senjata Api (firearms powder)
      to Serbuk Letupan (explosion powder) because that is the
      proper translation, the latter is still the term used even
      when talking about actual firearm, the former didn't exist
  g. vessels.ms.tr
    - item changed from barang (thing) to item, this is mainly
      because some of the 'item' that could be stored are not
      some solid 'thing' where the word barang could be used for,
      so using the word item here keep it neutral.
  h. wool.ms.tr
    - Dark Grey changed from Kelabu Gelap to Kelabu Tua to make it
      standardized with the colour name elsewhere.
    - Dark Green changed from Hijau Gelap to Hijau Tua to make it
      standardized with the colour name elsewhere.
    - Magenta changed from Merah Lembayung to Magenta, because the
      colour Merah Lembayung is now used to refer to purplish red
      and no longer equal to magenta, the loanword is used instead.
2023-12-01 03:46:21 +01:00
Muhammad Rifqi Priyo Susanto
829eb92ccf
Update Indonesian translations (#3077) 2023-11-24 18:48:38 +01:00
Andriy
bff7596364
Update Ukrainian translation (#3070) 2023-11-04 16:40:07 +01:00
Niklp
601ec6cd94
Fix not updating vessel shelf infotext 2023-11-03 10:03:39 +01:00
sfan5
b58991d4f3 Fix typo in German translation 2023-10-08 18:11:44 +02:00
Lars Müller
34942339c7
Fix bed night skip race condition (#3067) 2023-09-29 22:31:13 +02:00
Zemtzov7
eba9012d05
Fix coral and kelp duping with mesecons' sticky piston (#3062) 2023-09-16 14:52:07 +02:00
Lorenzo
59da46c80b
Add sapling growth APIs (#3053)
---------
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
Co-authored-by: sfan5 <sfan5@live.de>
2023-09-12 15:43:41 +02:00
tenplus1
03177f1584
Stairs: Add helper function for textures and simplify code (#3060) 2023-09-11 19:14:16 +02:00
David Leal
a132872ad8 Update creative Spanish translation 2023-09-04 18:01:14 +02:00
Lopano
bbc70c95ef Replace nonfree water textures
Reduced image size.

Ran `optipng -strip all FILENAME` on files and reduced file size.

Transparent(er) River water

Made the `default_river_water.png` and it's relatives more transparent.

Added my name to license.txt

Bump year to 2023

Corrected Hue.

Corrected a miss-alignment in hue between running and still non-river water.
2023-09-04 13:34:39 +02:00
Wuzzy
9e77e00c65 Update German translation 2023-08-17 18:54:20 +02:00
Wuzzy
b26a787eb3 Update locale template files 2023-08-17 18:54:20 +02:00
fluxionary
08e057bf1c
Don't remove node above door if it's not a doors:hidden node (#3045) 2023-08-11 13:12:39 +02:00
fluxionary
83c10f59e1
chest_lid_close: don't replace a node if it's not the expected open chest 2023-08-11 13:00:22 +02:00
Wuzzy
960aff2f63
Improve opaque leaves textures (#3013) 2023-07-18 22:28:01 +02:00
OgelGames
110c23560e
Don't check protection of air when placing bones (#2964) 2023-07-06 10:17:35 +02:00
imre84
d86435d86c
Extend inventory action logging to include bones (#3040) 2023-07-05 23:14:02 +02:00
Montandalar
16bf166902
Update bookshelf on inventory move (#3039)
Otherwise the empty book slot icon does not get replaced
2023-06-07 16:20:47 +02:00
Lars Mueller
cd6ea53a52 Update bookshelf infotext on put and take inv actions 2023-06-06 18:07:37 +02:00
Lars Mueller
16b6bdde0a default.set_inventory_action_loggers: Hook (instead of replace) callbacks 2023-06-06 18:07:37 +02:00
Lars Mueller
996fea7cd0 Fix texture modifiers relying on undocumented behavior 2023-05-27 22:11:45 +02:00
fluxionary
9a9df3a42e
Fix logic error in bed rotation 2023-05-20 12:17:43 +02:00
xin
1e237b8d18
Minor improvements to the French translation (#3027) 2023-04-20 17:28:50 +02:00
Lars Müller
833ed77620
Validate & sanitize formspec fields (#3022) 2023-04-08 18:13:45 +02:00
Lars Müller
4c6e19968a Fix typo in german translation 2023-04-08 18:11:37 +02:00
Wuzzy
446e56a879 Update German translation 2023-04-08 18:11:37 +02:00
Wuzzy
34c1d3242d Update locale files 2023-04-08 18:11:37 +02:00
Lars Müller
f49707c973
Minor creative UI fixes (#3023) 2023-04-04 11:43:59 +02:00
Wuzzy
8dee348d97 Fix syntax errors in bones.sv.tr 2023-03-14 10:25:37 +01:00
Richard Try
aeb27c4db6
Fix 'boats' russian translation (#2974) 2023-03-10 20:27:15 +01:00
Richard Try
6921c9bbd1
Tweak MTG craftguide Russian translation (#2975) 2023-03-10 20:26:30 +01:00
Lars Mueller
8d60e85dfc Fix player_api.set_model not updating the animation 2023-01-31 15:31:52 +01:00
CrackedMatter
2c1d9e1330
Flip item textures of glass doors (#3009) 2023-01-26 17:32:03 +01:00
fluxionary
ec2f57db0e
Ensure chests close properly (#2965)
Co-authored-by: sfan5 <sfan5@live.de>
2023-01-25 19:10:32 +01:00
Jordan Irwin
fdcf458b56
creative: Override hand after mods loaded... (#2984)
Prevents other mods from overwriting changes
& removes dependence on default.
2023-01-21 09:44:47 +01:00
97130f4c1c
Update Chinese translation (#3008)
+ template update
2023-01-21 09:44:35 +01:00
Riu Sakura
26b2da2c08
Update Japanese translation (#3007)
Add missing translations
 Corrected mistranslations
 Revised translation to match Mineclone2
2023-01-21 09:43:53 +01:00
Zemtzov7
8eb4437ac8 Fix crash if /home is executed with an invalid name (#3000) 2022-12-20 18:42:48 +01:00
Alexander Chibrikin
792bc6f6e5
Fix wall craft registrations (#3004) 2022-12-02 19:54:46 +01:00
Muhammad Rifqi Priyo Susanto
c4cf1a6004
Update Indonesian translation (#3003)
- Add missing translations
- Fix wrong terms/spellings
2022-11-27 21:24:35 +01:00
Wuzzy
99a7193095
Teach screwdriver to rotate 4dir nodes (#2992) 2022-10-01 21:19:42 +02:00
ssdaniel24
2e8ac46120
Beds: Replace hardcoded values of day interval with constants (#2990) 2022-09-28 11:07:50 +02:00
Lars Mueller
508a9070a0 Add color_* groups to wool 2022-09-21 18:23:55 +02:00
VitaliyShar
aff9c28eed
Improve stair placement rotation for bridging (#2979)
Co-authored-by: sfan5 <sfan5@live.de>
2022-08-18 11:02:24 +02:00
ROllerozxa
e903b1f6d0 Make default an optional dependency for the creative mod 2022-08-18 10:16:22 +02:00
Richard Try
2bdc7c8c7d Update Russian translation 2022-07-29 22:03:06 +02:00
Richard Try
c744829ce5
Update Russian translation for mtg_craftguide (#2873) 2022-07-29 15:10:24 +02:00
Romain
06daee4c6d
Correct some Esperanto translations (#2910) 2022-07-25 13:26:49 +02:00
Wuzzy
697b028e43 Update Lojban translation 2022-07-22 21:28:31 +02:00
Wuzzy
e229236bc2 Update German translation 2022-07-22 16:19:31 +02:00
Wuzzy
350c52319e Update translation templates 2022-07-22 16:19:31 +02:00
Wuzzy
b64868ef92 Move Japanese key translations to keys mod 2022-07-22 16:19:31 +02:00
fluxionary
79d38078a5
Remove paramtype2="glasslikeliquidlevel" from glass nodes (#2963) 2022-07-02 11:58:01 +02:00
sfan5
986b65775f Update engine feature checks 2022-06-13 20:02:08 +02:00
Wuzzy
d7dd15782c
Use add_wear_by_uses to fix incorrect uses counts (#2959) 2022-06-04 18:43:21 +02:00
Lars Müller
b4392aeb1f
Fix book duplication: Remember wield index (#2957) 2022-06-01 20:54:16 +02:00
Wuzzy
54dc58ef1f
Fix furnace fire sound stopping too late (#2955)
Cleans fire sound IDs after a few seconds
2022-05-29 21:16:23 +02:00
mrkubax10
b57700a75b
Add polish translation (#2926) 2022-05-29 16:20:42 +02:00
Wuzzy
b0cf061360 Fix TNT blowing up ignore nodes 2022-05-24 17:57:37 +02:00
Lars Müller
33650c8c2e
game.conf: Use title instead of deprecated name 2022-05-24 14:55:10 +02:00
SmallJoker
38307da22a
Carts: Improve movement behaviour (#2951)
Backported various changes from boost_cart
Improved direction handling and code cleanup
Smoothed-out 'end of rail' animation
2022-05-09 20:44:06 +02:00
nixnoxus
0c2ee1e41d
Deduplicate player action logging, silence fake player actions (#2941) 2022-05-06 20:04:55 +02:00
Lars Mueller
edd033b708 TNT node drop particles: Only pick string tiles as fallback 2022-04-24 13:29:29 +02:00
lhofhansl
9528c0f8b9
Adjust shadow intensity based on cloud density (#2938) 2022-04-02 09:35:36 +02:00
Lars Mueller
638099c999 Fix incorrectly negated comparisons 2022-03-26 19:58:07 +01:00
LoneWolfHT
659895c3ed Update game_api.txt 2022-03-23 11:36:46 +01:00
LoneWolfHT
ce82241ab2 Undo globalization 2022-03-23 11:36:46 +01:00
LoneWolfHT
0110e01826 Fix bug and globalize players table 2022-03-23 11:36:46 +01:00
LoneWolfHT
268a8844b6 Use a local for the globalstep function 2022-03-23 11:36:46 +01:00
LoneWolfHT
f665382017 Allow mods to override animation globalstep 2022-03-23 11:36:46 +01:00
Lars Mueller
a6f3b89596 player_api: Fix crash for players without model 2022-03-13 00:02:40 +01:00
baytuch
240f9a6a85
Fix translation of "cotton" for UK and RU locales 2022-02-15 20:29:34 +01:00
Lars Müller
a840ac0a4d
player_api - fix compatibility code 2022-02-03 09:15:14 +01:00
bell07
584a6a2102
player_api - fix compatibility code
get_animation does not return the data if called from outside without this change
2022-02-03 09:10:53 +01:00
baytuch
e02e55fafd
Minor translation refinement for UK and RU langs (Drinking Glass) (#2925) 2022-02-01 11:09:21 +01:00
baytuch
cc3e7be429
Update Ukranian (uk) translation 2022-01-30 15:20:14 +01:00
An0n3m0us
172b62f802
Add trapdoor/door model specification (#2371) 2022-01-30 13:54:37 +01:00
baytuch
a5547a3a76
Add ukrainian (uk) translation (#2921)
Co-authored-by: sfan5 <sfan5@live.de>
2022-01-30 00:35:28 +01:00
ROllerozxa
c8a1454e2b
Fix and update Swedish translation (#2920) 2022-01-29 18:35:45 +01:00
Olivier Dragon
bcd1ee048e
Update french translations (#2922)
* Update french translations for beds, farming and fire

* Update french translations for mtg_craftguide

* Update french translations for default

* Correct typos

* Restore new line at end of file

* Shorten translation for better display

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-01-29 16:27:19 +01:00
Louis Royer
fff3b98ab0 Make keys stackable if they contain the same secret (Fix #2714) 2022-01-23 18:12:09 +01:00
Louis Royer
40861c9e4f Move keys to a separate mod (Fix #1490) 2022-01-23 18:12:09 +01:00
paramat
0c1252bcf5 Balance sounds, remove silent water footstep 2022-01-23 18:07:59 +01:00
Yad
760581b330
Copyedit README.md & game.conf (#2919) 2022-01-23 18:07:10 +01:00
sfan5
acc918436a Override local_animation settings for certain animations
This makes the lay/sit animation work on the local client (in third-person).
2022-01-20 22:48:59 +01:00
Lars Müller
6623dec567
Redo player_api (#2745) 2022-01-17 21:49:28 +01:00
Emojigit
75f9575557
Allow to set use_texture_alpha when registering a door
Co-Authored-By: Gregor Parzefall <gregor.parzefall@posteo.de>
2022-01-14 19:41:26 +01:00
sfan5
78de12d6b4 Fix torch models so they render correctly in model[]
reported by @OgelGames
2022-01-09 22:57:57 +01:00
Yaman Qalieh
d775a9bdae
Pull some parent node vars for stairs and slabs (#2911)
Fixes the sunlight propagation of glass stairs and slabs.

Co-authored-by: tenplus1 <tenplus1@users.noreply.github.com>
2021-12-12 16:38:54 +01:00
Daretmavi
60389a1539
Slovak translation update (#2905) 2021-12-12 16:38:02 +01:00
An0n3m0us
3aaabce7a4
Convert door model to B3D (#2906)
Using a B3D model I worked out that it would be possible to have only two models (instead of the current four) for the doors and still keep all the mirroring correct when the door is open/closed.
2021-12-12 16:37:50 +01:00
Wuzzy
ad183c48ee Update German translation 2021-12-10 12:24:48 +01:00
Wuzzy
2361987421 Update locale files 2021-12-10 12:24:48 +01:00
LoneWolfHT
5875820542
Use itemstack name when placing doors (#2888) 2021-10-31 19:17:31 +01:00
nogajun
31f7d57889
Add and fix Japanese translation (#2904) 2021-10-31 19:17:21 +01:00
sfence
02ec133392
Prevent blocking of fuel inventory by fuel replacement (#2895) 2021-10-23 14:37:51 +02:00
Montandalar
1309953da6 Fix the creative trash slot for player 'trash'
By using the inventory named just 'trash' instead of 'creative_trash'
which overlaps when you name your player 'trash'.
2021-10-23 14:37:30 +02:00
Lars Müller
5273fcb3ad
Readd character.b3d normals (#2902) 2021-10-16 16:41:10 +02:00
ptah-alexs
f2bc5e2c67
Improve Russian translation (#2532) 2021-10-16 16:40:56 +02:00
sfan5
4b8b33587c Fix misuse of nodedef custom fields in fence gates
Custom fields must start with an underscore, this is very relevant for `sound` which is already defined by the engine.
2021-09-24 21:03:49 +02:00
雷哲翰
953fcfe09e
Improve zh_CN translation (#2885) 2021-09-04 23:37:39 +02:00
orbea
21e5f68292
default: Improves reading and writing to books. (#2656)
* Allow anyone to write to a book without any text and title.
* Allows saving books without any text or title.
* Adds a "Read" and "Write" tab to written owned books.

Fixes #1743
2021-09-04 23:37:27 +02:00
David Leal
92701885d0
Replace Travis CI with GitHub actions (#2661)
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-08 11:47:37 +01:00
Jordan Irwin
c96cc55c40
Fix incorrect documentation of "default_coal_lump.png" 2021-06-06 19:25:30 +02:00
sfence
70500943f3
Fix problem with sharing table in door nodes Lua definitions
closes #2882
2021-06-06 19:24:10 +02:00
Paramat
ddebdeccb1
Add open/close sound gains to the Doors API, balance sound levels (#2768) 2021-05-31 20:43:33 +01:00
SmallJoker
71ea0c65ea
Attachments: Proper data cleanup in callbacks (#2865) 2021-05-11 21:15:47 +02:00
tenplus1
642fde44f1
Use group for mushroom spread ABM (#2863)
Have mushroom spread abm use group:mushroom to spread not only default red and brown but all defined shrooms.
2021-05-08 14:42:34 +02:00
An0n3m0us
1c78666c56 Reclassify some items 2021-05-08 14:42:16 +02:00
ElCeejo
8158926862
Check for attachments before attaching player to bed (#2862) 2021-05-08 11:30:57 +02:00
SmallJoker
4945f4bf9a Carts: Fix 0/0 condition on faulty tool capabilities 2021-05-02 14:59:22 +02:00
sfan5
79e63a8496
Check for required engine features on startup 2021-04-27 11:50:32 +02:00
SmallJoker
c6171a8f29
Add Esperanto translation (#2739)
Co-authored-by: Jason Cartwright <cartwrightjason49@gmail.com>
2021-04-17 15:08:37 +02:00
An0n3m0us
42baede13f
Add specific groups to different types of grass (#2852) 2021-04-02 19:13:44 +02:00
An0n3m0us
0a90bd8a0e
Fix wield image for coral and kelp nodes (#2850) 2021-03-17 12:16:39 +01:00
Paul Ouellette
34bb232052 mtg_craftguide: Fix incorrect item tooltips
This happened when the same item was visible twice and one of them was a
group item. Fix it by ensuring that buttons that should have different
tooltips don't have the same element name.
2021-03-17 12:16:13 +01:00
Wuzzy
2c9733ac45
Add Lojban translation (#2835) 2021-02-23 20:00:46 +01:00
Ronoaldo Pereira
b6377a7c0e
Added Brazilian Portuguese translation (#2834)
Added the Brazilian Portuguese translation to all mods in the Minetest Game.
2021-02-23 20:00:02 +01:00
Nathaniel Freeman
73ea8e2e91
Update Spanish translation (#2824) 2021-02-15 21:54:48 +01:00
Wuzzy
46136bbf19
Update German translation (#2821) 2021-02-12 20:55:27 +01:00
ExeVirus
6bd059915c
Safe texture compression (#2808)
Only a single program was used to safely compress all textures in MTG.

 * `optipng -o7 -zm1-9 -nc -strip all -clobber %%f`

The key command used is -nc, which stops color mode changes. I.e. any RGBA textures will remain RGBA textures, with none being changes to 8-bit indexed mode.

utils/optimize_textures.sh performs this compression automatically, assuming optipng is installed.
2021-02-12 20:55:18 +01:00
Lars Müller
624dafc12b
Fix crash on exit of bed formspec if not sleeping (#2826) 2021-02-11 12:30:37 +01:00
An0n3m0us
3d95fceee8
Smoothen lava sounds at loop points (#2820)
Closes: #2818
2021-02-09 17:34:40 +01:00
sfan5
aa9cc39317 Update game APIs for use_texture_alpha deprecation 2021-02-07 11:48:05 +01:00
sfan5
08b13c9efb Fix deprecated alpha / use_texture_alpha use 2021-02-07 11:48:05 +01:00
SmallJoker
c1b236b4e3 weather: Fix error caused by missing biomes 2021-02-07 11:48:05 +01:00
Wuzzy
9d419bfac6
Update translation templates 2021-02-06 15:07:07 +01:00
Lars Müller
6a9cbcad82
Beds: Preserve player physics (#2789) 2021-02-01 23:00:05 +01:00
sfan5
ecfebe3c17 Revert "Correct door model dimensions (#2804)"
This introduces z-fighting so we'll just undo it. closes #2812
This reverts commit 3fdd5cdb5f.
2021-02-01 22:38:48 +01:00
An0n3m0us
3fdd5cdb5f
Correct door model dimensions (#2804) 2021-01-30 15:22:22 +01:00
An0n3m0us
e1e793d4da
Correct name of acacia mese postlight (#2800) 2021-01-30 15:20:40 +01:00
An0n3m0us
b648af479f
default: Add missing nodes to list (#2799) 2021-01-30 15:20:11 +01:00
Montandalar
87f6b941c4
Do not crash when a skeleton key is used on an unknown node (#2806) 2021-01-15 17:43:19 +01:00
The most random of all meshes
1ade8941b4
Fix boat floating in the air when water being drained away (#2788) 2020-12-28 15:56:04 +01:00
Maksim
e6aec880de
Use Minetest 5.3 'minetest.is_creative_enabled' API (#2795) 2020-12-13 18:59:19 +01:00
Richard Try
9c29019301
Improve Russian translation (carts) (#2794) 2020-12-13 18:59:07 +01:00
IFRFSX
a1a50673c8
Update zh_CN translation for mtg_craftguide and dye (#2796)
Co-authored-by: IFRFSX <1079092922@qq.com>
2020-12-13 18:58:54 +01:00
Rafsanjani Atallah
0232288d5e
Fix some mistakes in the Indonesian translations (#2758) 2020-12-13 18:58:37 +01:00
auouymous
7ae983b669
Don't replace protected liquids with bones (#2790) 2020-12-08 22:20:16 +01:00
The most random of all meshes
29866dbcb3
Fix minor bug in german translation 2020-11-29 17:43:15 +01:00
An0n3m0us
2e7b509a94
Move player model sitting and laying positions to above the ground (#2746) 2020-11-13 18:14:25 +00:00
DS
226e2d4c12
Add missing not_in_creative_inventory group where appropriate (#2764) 2020-11-11 15:29:43 +00:00
CyberDonk3y
0a950c9932
Improve Russian translation (#2761) 2020-11-05 19:48:15 +01:00
Daretmavi
2953bf2bd6
Slovak translations (#2772) 2020-11-05 19:47:48 +01:00
SmallJoker
331bbae058
Fix deprecated get_player_velocity and set_physics_override calls (#2770) 2020-11-04 21:42:35 +01:00
Paramat
720d4c8e3f
Do not apply waving shader to bush leaves (#2753) 2020-10-20 22:30:57 +01:00
Wuzzy
6605724fe1
Add icons for invisible nodes (#2718) 2020-09-30 16:41:04 +01:00
orbea
dd91a1bfe5
Furnace: Start the timer on on_metadata_inventory_take (#2639)
This fixes a cosmetic issue where if a player removes
items from the furnace it will not revert to showing that its
"Empty". The furnace would only show its empty when the the
items were used up by the smelting process.
2020-09-23 21:58:09 +01:00
sofar
5348d6e5bc
Fix builtin item metatable (#2328)
Co-authored-by: Alexander Weber <web.alexander@web.de>
2020-09-22 18:39:11 +02:00
Louis Royer
4c145bf9aa
Improve inner/outer stairs translation for external mods (#2584) 2020-09-21 23:38:49 +01:00
Paramat
63cffc4bd1
Improve player model credits, add contributors to license (#2741) 2020-09-21 23:36:59 +01:00
Paramat
1d3feba732
Update game description to manage expectations (#2740) 2020-09-20 00:40:49 +01:00
Paramat
8d0fb34fb0
Player_api: Various maintenance (#2737)
Clear 'player_sneak' and 'player_api.player_attached' table values
when player leaves.
Remove unnecessary commas and whitespace.
Fix table name in 'game_api.txt'.
Clean up documentation in 'game_api.txt'.
2020-09-09 19:11:25 +02:00
An0n3m0us
268f869e67
beds: Various bug fixes (#2566)
· Fixes players sleeping in an occupied bed (Wuzzys code)
· Fixes 'sleepwalking' by checking players velocity (Wuzzys code)
· Fixes sleeping player flying off the bed when damaged and flying far away from the bed after death
· Fixes sleeping player being immobilized and bed undiggable after death
2020-09-02 18:32:06 +02:00
IFRFSX
25bf3fdc9c
Update Chinese translation (#2730) 2020-09-02 18:30:38 +02:00
An0n3m0us
befed5525a
Replace some sounds with new sounds (#2605) 2020-08-29 01:16:36 +01:00
SmallJoker
1da168b3c3
Craftguide: Fix error caused by removing invalid recipes (#2732) 2020-08-23 14:35:12 +02:00
Paul Ouellette
5d0e4aef45
Add simplified version of 'craftguide' mod, named 'mtg_craftguide' (#2396) 2020-08-22 00:20:58 +01:00
An0n3m0us
686fdb5c06
Add different woods to mese posts (#2599) 2020-08-16 13:21:22 +02:00
An0n3m0us
0a96bac46d
Add furnace sounds (#2569)
Two sounds are played; one while the furnace is active (sound used is "fire_fire") and one after an item is cooked (sound used is "default_cool_lava").
2020-08-07 19:40:02 +02:00
tuedel
4858c2b3fb
sethome: Replace deprecated function calls (#2724) 2020-07-26 11:07:15 +02:00
An0n3m0us
12f75ab803
Add correct front texture to cart texture (#2720) 2020-07-24 17:59:42 +02:00
sfan5
e193f9fda3
Add lava environment sound (#2683) 2020-07-16 23:26:13 +02:00
Muhammad Rifqi Priyo Susanto
8c01a5b288
Add Indonesian translations (#2693) 2020-06-29 18:41:50 +02:00
tenplus1
7cac67f097
TNT centre node adheres to protection
Make sure tnt.boom() doesnt replace centre node when explode_centre is true and ignore_protection is false.

Fixes: https://github.com/minetest/minetest_game/issues/2663
2020-06-28 15:50:46 +02:00
Wuzzy
0648252056
Update German translation 2020-06-28 15:50:00 +02:00
updatepo.sh
8855490b7f Update translation templates 2020-06-26 14:41:30 +02:00
JDiaz
3257780b32
farming: Update Spanish translation (#2701) 2020-06-25 12:35:36 +02:00
Paramat
b2d0f0ac8d
Update nodes papyrus can grow on, include default:dry_dirt (#2705)
Fixes papyrus not growing on savanna dirt.
Also updates the nodes papyrus can grow on, which were incorrect for a long time.
2020-06-21 23:24:56 +01:00
Paramat
e8a7e75319
Make dry grass spread on default:dirt again (#2687) 2020-06-16 20:42:45 +01:00
Hooded Ice
d03d7e9bdc
Change brake rail to red (#2692) 2020-06-12 23:37:23 +02:00
sfan5
af045dcd8b sethome: Do not write empty homes file 2020-06-10 20:29:50 +02:00
sfan5
6d2a897e1b
creative: Update for compatibility with minetest.creative_is_enabled (#2691) 2020-06-07 00:15:35 +02:00
sfan5
b1ab8d5123
Implement searching for translated names in creative inventory (#2675) 2020-06-05 14:29:34 +02:00
sfan5
6e345cf136
Use node particles for TNT explosions (#2695) 2020-06-02 12:48:56 +02:00
sfan5
e849d54572
carts: Fix item collection (#2689) 2020-05-29 22:54:47 +02:00
An0n3m0us
0662f96284
Reduce hud icons size to 12x12 pixels (#2669) 2020-05-28 11:12:15 +02:00
sfan5
84da00acd4
Add node particles when leafdecay removes a node (#2686) 2020-05-25 15:56:23 +02:00
SmallJoker
3452938c76 Carts: Re-add erroneously removed driver reset
carts:manage_attachment does not handle the driver value of the cart,
hence carts could not be used by another player until it's replaced.
2020-05-16 19:26:28 +02:00
SmallJoker
b787fcf7e4 Carts: Reset player view and attachment table on death
Fixes #2681
2020-05-15 19:04:38 +02:00
Paramat
e5a7af1c4a
Add wild cotton plant in savanna as a source of cotton seeds (#2617)
Junglegrass is unchanged as a source of cotton seeds for now, but
probably should be removed as a source in future, as players get
used to the new source.
2020-05-14 23:49:17 +01:00
sfan5
b3d91a487d
Add new dry shrub texture by Extex101 (#2680) 2020-05-14 22:33:53 +01:00
Hamlet
16c950f688
doors: Update Italian translation (#2670) 2020-05-11 23:13:00 +02:00
sfan5
e5b54c6ead
Switch TNT explosions to use add_player_velocity (#2674) 2020-05-10 14:10:29 +02:00
Yaman Qalieh
3f42c6c243
Add oddly_breakable_by_hand to glass stairs and slabs 2020-05-10 13:37:37 +02:00
sfan5
ef45a8e148
doors: Remove unnecessary nodebox and empty texture (#2662) 2020-05-04 19:20:01 +02:00
Zughy
d88e551071
Fix cart inventory image rendering (#2666)
Before it was rendering the side on both the side and the front of the minetest.inventorycube
2020-04-30 19:51:39 +02:00
HybridDog
190f7fdac9
Add a missing article to the sign action message (#2651) 2020-04-29 21:11:21 +02:00
sfan5
33eb7cee2a
Fix flammable item entities crashing (#2659) 2020-04-24 21:12:40 +02:00
An0n3m0us
189d2d9fb1
Fix door model UV for open and close (#2372)
Introduce _c and _d door types to correctly render the texture faces for the open and closed state.
2020-04-24 21:04:00 +02:00
David Leal
81c5b6b399
beds: Use player_api functions instead of default (#2654) 2020-04-23 22:19:58 +02:00
Paramat
52c6921cb2
Make default:snow collisionbox half of nodebox height (#2647) 2020-04-14 19:09:24 +02:00
sfan5
bd64188ee5 Override builtin item entity the portable way 2020-04-14 13:31:25 +02:00
bell07
fb18a5b20d
Make default.chest.register_chest() usable for other mods (#2127) 2020-04-13 20:26:44 +02:00
Paul Ouellette
ea4ce80f7c
Make straw stairs usable as fuel (#2627) 2020-04-13 11:34:10 +02:00
IFRFSX
36b2bcb5f3
Add Basic Fire Description (#2568) 2020-04-11 20:50:49 +02:00
orbea
695f98f213
player_api: Remove local variable (#2640) 2020-04-08 20:40:19 +02:00
sfan5
545ec0741c Fix creative category sorting in certain cases 2020-04-08 17:25:09 +02:00
sfan5
c1f41720fc Fix crash on TNT explosions if tnt is disabled 2020-04-08 17:24:10 +02:00
orbea
14a385d68c
trees: Reduce local variables (#2637) 2020-04-07 19:36:03 +02:00
Maksim
03c9aed221
Fire mod: Code cleanup, compress textures 2020-04-06 21:09:39 +01:00
Paramat
720b24ed2d
Weather mod: Tune cloud density variation
Previously, cloud density was too low at medium humidity.
Tune cloud density variation to match the default/classic value at
humidity midvalue 50.
Tune the lower limit of cloud density that occurs at extreme low
humidity.
Increase minimum cloud thickness to 2 nodes.
Add comments.
2020-04-06 21:05:07 +01:00
Paramat
4243d28846
Clarify descriptions of dry grass, dry dirt 2020-04-06 21:03:57 +01:00
Maksim
7d230fdbf8
Enable player animation when Right Click (#2622) 2020-04-06 15:22:08 +02:00
An0n3m0us
7fc7fa4843
Transform brick top texture to align bricks correctly (#2607) 2020-04-06 15:19:52 +02:00
An0n3m0us
05fad37b3c
Sort items into correct categories (#2612) 2020-04-06 15:15:50 +02:00
sfan5
8863527bb6 Fix respawn not working at all when suitable position was not found
The player should always be teleported away when they die and
we can still fall back to the engine spawning code.
2020-04-04 13:06:40 +02:00
sfan5
fbbc7fc996 player_api: Prevent knockback when player is set as attached
This is not directly related to player models but fits well
as a convenience feature in player_api.
2020-03-17 22:08:36 +01:00
TumeniNodes
b9dc758fef
xpanes: fix code style (#2618) 2020-03-15 15:12:21 +01:00
TumeniNodes
8b3b92dfdf
xpanes: remove unused textures (#2614) 2020-03-07 20:25:43 +01:00
sfan5
07a8067348
Fix TNT mod crash when entities disappear during explosion (#2616) 2020-03-06 21:51:19 +01:00
sfan5
3a863053c0
Dungeon loot: Warn on unknown registered loot items (#2613) 2020-03-06 21:51:07 +01:00
IFRFSX
91ac075cff
Update Chinese Translation, Add Traditional Chinese Translation (#2596) 2020-03-02 21:53:12 +01:00
SmallJoker
fe9cdba0ec
Creative: Skip redundant refreshes, fix reset button (#2611)
Skips redundant calls to creative.update_creative_inventory and fixes the 'Reset' button which double-refreshed the filter cache.
2020-03-02 21:41:42 +01:00
An0n3m0us
8d9aa07752
Sort loot registration into respective mods (#2602) 2020-02-23 14:41:13 +01:00
Andrey2470T
34b410319e
Increase speed of flowing water/river water animations
To visually match the 1 node per second spread of flowing water.
2020-02-14 00:01:15 +00:00
An0n3m0us
3ea648f5bf
Disallow screwdriver rotating torches, to avoid bad torch rotations 2020-02-11 03:58:41 +00:00
An0n3m0us
232cc2bd1c
Add log for seeds on place 2020-02-10 22:00:40 +01:00
Paramat
db632b67bf
Fix missing papyrus in savanna, add a dry dirt version
Papyrus was missing from the dry dirt 'savanna_shore' biome due to
only being placed on dirt. A mistake made when changing savanna
dirt to dry dirt.

Rename existing papyrus schematic to 'papyrus_on_dirt' and only
place in the 'rainforest_swamp' biome.
Add a new papyrus schematic 'papyrus_on_dry_dirt', placed in the
'savanna' biome.
2020-02-09 01:34:17 +00:00
Louis Royer
1420376e32
Fix french translation of snow block slab 2020-02-08 21:06:17 +00:00
Paramat
9bf64b61c2
Fix simple bed height, make player lay down just above it, not inside it 2020-02-08 03:11:44 +00:00
IFRFSX
f255e36d78
Add traditional Chinese translation (#2579) 2020-02-06 20:15:13 +01:00
sfan5
d3e26dba18 Convert minetest.sound_play uses to ephemeral 2020-02-05 22:24:23 +01:00
DS
176ddba176 Reset spawn position on bed destruction 2020-01-26 18:59:44 +01:00
IFRFSX
eac4795326 Update Chinese translation (#2563)
rail = 轨道 / 栏杆
grass = 草

and, mese color is yellow, so i translate it to "黄石"。(Chinese words without MESE)
2020-01-25 16:55:14 +01:00
Zaoqi
da39bae50e Add zh_CN translation 2020-01-22 19:09:38 +01:00
Konstantin Ilyashenko
7e9a54abaf Replace Russian translation of Pickaxe (#2556) 2020-01-09 19:09:06 +01:00
Lejo
beb0aefa2d Make can_interact_with_node() check for key group instead of default:key 2020-01-06 21:16:33 +00:00
Thomas--S
1940961d63 Move duplicate recipe from books to default.register_craft_metadata_copy()
This allows mods to easily implement the same behaviour, e.g. for letters.
2020-01-04 00:09:58 +00:00
An0n3m0us
6e32287a42 Move crafting, cooking and fuel recipes into corresponding files 2020-01-01 01:38:06 +00:00
Zaoqi
1082466796 Rename core to minetest (#2552) 2019-12-29 12:28:30 +01:00
An0n3m0us
258332578a Player model: Add bobbing to walk animation, more subtle standing animation 2019-12-23 02:14:25 +00:00
Paramat
150122bfe7
Remove Mapgen V7 floatland biome code
In preparation for a new Mapgen V7 floatland implementation.
2019-12-18 23:59:45 +00:00
Paramat
d04b709181
Add missing 'weather' mod documentation to minetest.conf.example 2019-12-18 22:32:09 +00:00
Paramat
c0335e24c9
Convert grass footstep sounds from stereo to mono 2019-12-18 22:31:29 +00:00
Maksim
f176ba4873 Make tool crafting recipes more compact, move to tools.lua 2019-12-16 00:29:33 +00:00
Paramat
5b21d1de34
README: Use correct link, make link clickable 2019-12-04 20:38:01 +00:00
Muhammad Nur Hidayat Yasuyoshi (MNH48)
710605687b Add Malay translation 2019-11-30 17:31:40 +01:00
Aresiel
10dce79451 Add Swedish translation 2019-11-30 17:31:29 +01:00
OgelGames
0f764bf447 Coral 'on place': Pass node to 'on rightclick', not node name 2019-11-28 02:01:19 +00:00
Kevin Nel
00a8bd521a Fix popping sound in default_grass_footstep (#2538) 2019-11-25 10:50:20 +01:00
Andrey2470T
2f6d0bf267 Add 4th item row to creative inventory. Align search, trash, page navigation 2019-11-23 21:35:02 +00:00
An0n3m0us
d9f8c6cc43 Escape translated text in 'beds' mod formspec 2019-11-22 21:47:47 +00:00
Paramat
5b1875ef41
Papyrus: Add to the rainforest swamp biome
Previously, papyrus was limited to the savanna biome.
Rainforest is a suitable habitat for papyrus.
Makes papyrus a little less difficult to find.
Move swamp jungletrees into a separate registration, to allow
applying distribution by perlin noise to keep these away from
papyrus areas.

Fix error: Remove non-functional 'rainforest swamp' from the
biome list for the jungle log decoration. It is not placed in
swamps due to the 'y max/min' and 'place on' parameters.
2019-11-15 19:47:14 +00:00
SmallJoker
5017f3b614 Weather: Replace deprecated get2d with get_2d 2019-11-13 19:59:58 +01:00
Andrey2470T
6fea665fcc Add Russian translation (#2525) 2019-10-24 21:54:20 +02:00
Bartosz
dd71dcbcf6 boats: Improve physics by implementing drag and friction forces
Implement drag force according to the equation:
drag_force = drag_coefficient * speed ^2
Also add a small constant force to implement friction force.
2019-10-24 03:47:28 +01:00
sfan5
f9a9e87af6
Improve creative inventory search (#2523) 2019-10-22 22:46:19 +02:00
Paramat
7caa5d36f2
Move hotbar code/textures, and damage sound, from player_api to default
These are unrelated to the Player API and player object.
All other GUI/HUD code and textures are in default.
All other engine hardcoded sounds are in default.
The player_api mod is highly likely to be used unchanged in new games,
so logical grouping of content will help the creation of new games.
2019-10-18 02:43:06 +01:00
Paramat
7c1fd9c24e
Add initial 'weather' mod to vary cloud density, thickness, velocity 2019-10-15 00:38:41 +01:00
luk3yx
ef7df329d2 Fix duplicate background in formspec prepend (#2524) 2019-10-14 22:53:57 +02:00
Lars Hofhansl
6042e963f7 Increase (ocean) water opacity to 191 2019-10-12 18:35:56 +02:00
Hamlet
93a49f082c Italian translation (#2491) 2019-10-12 14:30:37 +02:00
JDiaz
a00ff24df9 Spanish Translation (#2505) 2019-10-10 21:19:20 +02:00
DrHackberry
0f369b43fe French translation (#2514) 2019-10-10 21:18:25 +02:00
sfan5
f87c3d05ae player_api: Set correct visual size for legacy player model 2019-10-06 14:06:02 +02:00
SmallJoker
1c413ede9a Use background9 for backwards compatibility 2019-10-05 17:55:42 +02:00
Wuzzy
8c9821b227 Update translation templates and German (#2512) 2019-10-03 18:44:34 +02:00
SnicklePickles
ce1eaeebbe Grammar updates README.txt 2019-10-01 21:47:58 +02:00
TumeniNodes
f2a07b0a51 Xpanes: Add new steel bar door/trapdoor sounds
No longer use the unsuitable steel door/trapdoor sound.
2019-09-28 21:53:50 +01:00
Alex Yst
c800398593 Always disable leafdecay for player-placed leaves, even when 'sneaking'
Avoids player-placed leaves decaying when building while sneaking, which is common.
2019-09-28 21:10:26 +01:00
An0n3m0us
05375c0fd4 Fix glass panes sides (#2500) 2019-09-27 00:35:06 +02:00
TumeniNodes
23ceb30e88 Xpanes: Register steel bar door and steel bar trapdoor
Register using the 'doors' mod API.
2019-09-22 23:05:38 +01:00
Wuzzy
106c36da33 Add translation templates and German translation 2019-09-22 13:42:40 +02:00
Paramat
86a55d3584
Marram grass: Fix noise flags to make 2D noise 'eased' (#2493)
Increase noise resolution from 4 to 2 nodes for a higher quality
distribution.
Retune noise parameters to compensate for using eased noise.
2019-09-21 21:28:09 +01:00
An0n3m0us
b31795dd04 Vessels: Fix vessels shelf infotext 2019-09-21 11:45:03 +02:00
sfan5
3f7cd062c3
Fix trapdoor infotext to correctly describe the type of trapdoor 2019-09-20 20:56:20 +02:00
sfan5
09bed49b5a
Fix door infotext to correctly describe the type of door 2019-09-20 20:10:58 +02:00
leucome
00f9287075 Leafdecay: Use param2 ~= 1 instead of param2 == 0 2019-09-19 02:13:18 +01:00
An0n3m0us
cbb0529ace Set fuel percentage to decrease (#2481) 2019-09-19 00:36:50 +02:00
sfan5
b4c7522248
Fix more translation strings (#2487) 2019-09-18 20:38:27 +02:00
mbartlett21
c42a525ce8 Add option for non-jumpable fences and walls
Add an option, default disabled, to extend the collision boxes upwards.
2019-09-16 21:38:02 +01:00
An0n3m0us
1f7ea89cb6 Add missing infotext to nodes (#2477) 2019-09-14 20:30:26 +02:00
sfan5
888383a812 Fix water no longer waving
broken by bb9279ccb8
2019-09-14 14:30:44 +02:00
An0n3m0us
88114a74e9 Add vessels group to firefly vessel 2019-09-13 20:47:09 +02:00
sfan5
e4adb01fbf
Fix and improve translation strings (#2471) 2019-09-12 19:03:10 +02:00
Paramat
ea992bdace
Add initial environmental sounds mod with flowing water sounds
default:river_water_source can also create sound if desired as
rivers are considered to be flowing water.
A simple mod for now, with the intention to later use new engine
environmental sound features if/when they appear.
2019-09-12 00:46:40 +01:00
Yves Quemener
bb9279ccb8 Add support for MT 5 game translation (rebasing ) (#2466)
rebased #2368
2019-09-10 19:09:51 +02:00
mbartlett21
d99a176b69 Xpanes: Use 'swap node' instead of 'set node' 2019-09-06 21:39:23 +01:00
Panquesito7
7e16ec7a2f Convert README.txt to Markdown format 2019-09-05 22:39:24 +01:00
Paramat
e8097c9e87
Creative: Override the hand instead of re-registering
Allows the initial hand registration to alter the 'wield_scale' without
needing to also alter it in creative mod.
Also make default mod a dependency again, as the initial hand
registration is required.
2019-08-31 19:44:17 +01:00
Paramat
5c3e4b1d20
Spawn: Avoid spawning outside small worlds
Previously, the value of 'mapgen_limit' was not used to limit the
spawn position.
If a friendly-biome spawn point is not found within a small world,
spawn point falls back to the engine spawn point, which has a larger
chance of success.
2019-08-28 03:19:34 +01:00
TumeniNodes
553b0f9d72 Add new TNT sounds 2019-08-28 03:06:23 +01:00
Paul Ouellette
7269711911 Furnace: Improve fuel item replacement support
The output returned by `get_craft_result` has a replacements table that
contains any replacement items that could not be placed in the input
(due to the input stack having a count > 1). Put these replacements in
the dst list or drop them on the furnace.
2019-08-20 21:15:28 +02:00
coil
3a3f71aa50 Verify object is player before checking privs (#2448)
This prevents a crash when a 'nil' digger is passed by the engine to
minetest.node_dig.
2019-08-19 19:24:19 +02:00
Paramat
fac8f390b1
TNT: Remove unusable sounds, use temporary placeholders 2019-08-18 19:47:06 +01:00
Paramat
4eadf80634
Sfinv: Add and use a crafting arrow texture instead of using furnace arrow 2019-08-13 21:57:32 +01:00
Paul Ouellette
e5ebb36cd5 Furnace: Fix "output full" infotext 2019-08-11 16:28:02 +02:00
Paramat
2063fcd075
Make the creative mod hand dig 'dig_immediate' nodes fast
Engine change now makes this possible.
2019-08-03 20:51:58 +01:00
HybridDog
a2254bd0af Warn when a mod registers a stairs node with an existing name 2019-08-01 21:55:26 +02:00
TumeniNodes
7f830124f7 Various mods: Use " " instead of ' ' for item names 2019-08-01 02:40:39 +01:00
TumeniNodes
a5bde8e9ba Default: Use " " instead of ' ' for item names 2019-07-31 00:16:44 +01:00
Paramat
6716fc74ec
Add patches of bare 'dry dirt' to savanna
Tune noise to appear roughly where long dry grass is least dense and shortest.
2019-07-30 03:55:17 +01:00
TumeniNodes
c32b8adaa3 Add 'dry dirt' and 'dry dirt with dry grass' nodes for savanna biome 2019-07-26 17:50:44 +01:00
TumeniNodes
4282a93a02 Creative: Add 'default' as optional dependency
Fixes bugs caused by removing 'default' as a hard dependency.
2019-07-22 02:26:52 +01:00
Paramat
d16612c1cb
Add new, longer 'default_grass_side' texture
Update side texture to match the new top texture.
3/4 side coverage instead of 1/2,
2019-07-22 02:18:20 +01:00
Paramat
9fe877ef99
Creative: Remove unnecessary dependency on 'default' 2019-07-21 03:24:47 +01:00
sfan5
a81a7e0c78
Merge pull request #2322 from Calinou/travis-luacheck-color
Enable colored Luacheck output on Travis CI
2019-07-17 00:38:30 +02:00
sfan5
9b226c7045 Switch to mod.conf, delete deprecated depends.txt 2019-07-17 00:38:23 +02:00
sfan5
773011fd85 Fix potential crash when few loot items are registered 2019-07-16 23:29:29 +02:00
sfan5
c3403936d3 Fix luacheck warning 2019-07-16 23:17:14 +02:00
sfan5
b701e500aa Support for icesheet dungeons in dungeon_loot 2019-07-16 22:26:35 +02:00
sfan5
37710866f0 Switch dungeon type detection to biome name
see #2400, also removed a now unused alias
2019-07-16 22:26:35 +02:00
TumeniNodes
bfb84da39c Add new 'default_grass' texture 2019-07-15 17:43:05 +01:00
Paramat
3bca295da8
New lighter, greyer permafrost texture 2019-07-13 23:35:25 +01:00
acmgit
83fb6fe872 Remove stack_max from bucket:bucket_empty 2019-07-13 17:47:45 +01:00
SmallJoker
95aaec6670 Allow opening chests when wielding corals
Code simplification by combining the on_place functions.
2019-07-12 20:01:27 +01:00
bell07
5b1d5819e5 Unify hotbar formspec for sfinv and creative
sfinv: Add lists above the content to support listrings in content.
Reuse sfinv inventory lists for creative.
2019-07-10 21:55:35 +01:00
luk3yx
3d530e0c25 intersects_protection(): Fix compatibility code 2019-07-03 19:10:39 +02:00
Paramat
e7be81242b
Define dungeon nodes in biome definitions (#2400)
Icesheet ice dungeons now have ice stairs.
Remove some now-unnecessary sandstone mapgen aliases, one
remains as it is required by the dungeon loot mod.
Re-arrange mapgen aliases to separate those needed for mgv6.
2019-07-01 21:58:47 +01:00
rubenwardy
a6a719967a Use 9-slice background in formspec theme 2019-06-24 00:10:13 +01:00
t0ny2
54bb0afe7f Make waterlily wave when placed on waving water 2019-06-16 22:09:36 +01:00
SmallJoker
0f771a27c3 Allow overriding default.after_place_leaves and default.grow_sapling 2019-06-07 20:35:24 +01:00
Paramat
ca7c131133
Large cactus schematic: Don't force-place root node
This schematic is used for sapling-grown large cacti, so should not
destroy the sand node below, as sand nodes are in short supply in
some situations.
Like trees, only force-place the node that replaces the sapling.
2019-06-07 20:34:13 +01:00
acmgit
61bfac0fa2 Prevent potential crash caused by moss growth ABM 2019-06-02 18:50:20 +01:00
An0n3m0us
e19f42d648 Add groups for tools and mushrooms (#2378) 2019-06-01 21:10:30 +02:00
Zweihorn
76a08a7058 wool: use global 'dye.dyes' table 2019-05-26 20:21:31 +01:00
Paul Ouellette
80c10cee15 Capitalize author in game.conf to match ContentDB
The author is used to track packages for updating, so it should match.
2019-05-26 20:16:52 +01:00
Paramat
aee5ba64f9
Make cave liquids biome-determined
No longer use the hardcoded engine cave liquids.
Water only in '_ocean' biomes, water and lava in '_under' biomes.
2019-05-18 21:22:19 +01:00
Paramat
5c48c76aa2
Fix trapdoor side textures and orientations
Previously, opening a trapdoor caused the side textures to flip.

Fix the incorrect textures.
Also add a texture transform to a tile of the open trapdoor, such
that the closed trapdoor sides use the lower part of the texture
and the open trapdoor sides use the higher part.

Clean up some codestyle issues.
2019-05-03 23:49:07 +01:00
Paramat
f21bab2ff9
Split underground biome to correspond to surface biomes
In preparation for biome-defined: dungeon materials, cave liquids,
stone type, ores, decorations.
'_ocean' biomes now extend to y = -255 to be deeper than default
mgv5 oceans, and to create 'shallow underground biomes'.
Remove unnecessary biome lists for gravel and silver sand blob ores,
as those are already defined to only appear in default:stone.
2019-04-19 21:23:26 +01:00
HybridDog
0291c6b210 Moss growth ABM: Add inner and outer cobble stairs, simplify code 2019-04-06 21:35:48 +01:00
HybridDog
b20725026e flowers: Light check optimisation in mushroom spread 2019-03-31 22:20:28 +01:00
tenplus1
88d79881b8 Add food groups to blueberries (#2335) 2019-03-31 22:20:47 +02:00
HybridDog
efd090228d fire: Document flammable group, a little code cleanup 2019-03-30 20:33:08 +00:00
Paramat
dfe6fd6560
Restrict waving liquid shader to normal water 2019-03-27 02:17:32 +00:00
SmallJoker
dd3f3b2032 Use group:stick in recipes (fixes #2306) 2019-03-24 10:59:34 +01:00
Paramat
8b5e0a914b
Dungeon loot: Avoid empty 'if' branch to satisfy lua check 2019-03-23 23:16:41 +00:00
Paramat
e3cd961a15
Fix beds being undiggable after laying down 2019-03-23 23:12:44 +00:00
Niwla23
eaf6eac723 Mapping kit recipe: Use "group:stick" instead of "default:stick" 2019-03-18 22:20:24 +00:00
sfan5
02e2cab375 Dungeon loot: Don't crash on unknown items
fixes #2228
2019-03-17 13:59:10 +01:00
sofar
b853c8a509 Beds: Properly count players in beds
This is a rebased and slightly rewritten version of #2125.
2019-03-10 01:43:49 +00:00
acmgit
891f00e9db Flowers: Remove stack max definition (#2324) 2019-03-05 11:59:23 +01:00
Hugo Locurcio
b38b5b2357
Enable colored Luacheck output on Travis CI
This also removes the deprecated `sudo: false` option, as Travis CI
is phasing out the container-based infrastructure.
2019-02-24 19:46:48 +01:00
Paramat
196f206d3e
Remove corals.mts credit 2019-02-18 19:57:30 +00:00
Paramat
1ca25eec9d
Kelp, coral sounds: Add missing 'footstep'. Use quiet 'dig', 'dug'
Footstep sounds as sand or cubic coral nodes.
Dig and dug sounds as leaves but much lower gain to be suitable for
underwater.
2019-02-16 21:18:01 +00:00
Nathan Salapat
b92f7431ef Fix sfinv hotbar offset 2019-02-16 20:51:33 +00:00
Paramat
7f687777a6
Beds: Do not require red wool to craft beds 2019-02-10 21:38:58 +00:00
Auke Kok
6b2887e3bf Limit sign length to 512 (~6 lines of 80 char or so).
Players can enter unlimited text into the field, causing lag and
potentially locking up clients. I have not found any negative effects
server side, other than the large storage needed to store the long
text.
2019-02-07 23:57:42 -08:00
12Me21
14cc07bfd3 Beds: Make on_rotate function check new param2 instead of rotation mode
The on_rotate function now checks the new param2 value to determine if a rotation is valid, rather than checking the rotation mode.
This is so screwdriver-like items with different rotation modes will not be able to rotate the bed into invalid orientations.
2019-02-08 01:53:55 +00:00
Paul Ouellette
ad6c2cf035 Dye: Remove type="shapeless" from single-item recipes 2019-02-06 19:07:48 +00:00
Paramat
2033b2cc65
'permafrost_with_stones/moss' drops itself instead of permafrost
Previously they were not collectable or creatable.
A simple temporary solution for MTG 5.0.0.
2019-02-05 00:24:04 +00:00
rubenwardy
bfde214c52 Add screenshot.png, and more info to game.conf 2019-02-05 00:07:06 +00:00
random-geek
6e0e2b8be9 Textures: Update permafrost to new dirt, improve stones, add stones side 2019-02-03 19:14:13 +00:00
rubenwardy
64a923f7fb Fix sfinv not updating on creative grant/revoke 2019-02-03 11:45:45 +00:00
SmallJoker
2ff9058a62 Beds: Fix formspec size, no prepend 2019-01-26 14:00:01 +01:00
Paramat
a2c9523bce
Update small pines in schematic_tables.txt
Update was missing from 7fa03c7a9b
2019-01-06 23:48:57 +00:00
Paramat
7fa03c7a9b
Fix small pine leafdecay: New schematics, new leafdecay radius
Fix small pine leafdecay: New schematics, new leafdecay radius
2019-01-04 04:12:07 +00:00
Paramat
8af8dc49a0
Remove uses of default.gui_bg/bg_img/slots
Keep their definitions, to not break mods, but move them to legacy.lua.
2019-01-03 01:57:13 +00:00
Paul Ouellette
ccf03ea404 Remove extra empty strings in craft recipes (#2281) 2019-01-02 12:40:32 +01:00
Paramat
6688ddf6d4
Add large cactus seedling
Alter 'large cactus' schematic to place another force-placed cactus node,
to replace the cactus seedling on growth.
Make schematic 5x7x5 to solve rotation, placement and protection check
issues.
Add a y-slice probability for height variation.

Growth time is tuned to not make this a faster way to obtain cactus nodes
compared to normal cactus farming.
Seedling texture by Extex101.

Use sapling/seedling description in protection intersection message in
'sapling_on_place' function.
2019-01-02 02:18:50 +00:00
Paramat
da10af919e
Doors: New handle and hinges for glass door 2018-12-22 00:33:37 +00:00
Ryan Nolan
bae58b3806 Doors: Allow on_rightclick to be overidden
Allow mods such as protection mods to over ride on_rightclick.
Usecase is creating shared doors without the need for keys.
2018-12-20 22:45:24 +00:00
Paramat
ec248d3cb0
Remove now-unused 'puts out fire' group 2018-12-08 04:00:38 +00:00
sofar
667e130c52 Prevent crash if some mod inadvertently allowed doors to rotate 2018-12-06 23:29:43 +00:00
rubenwardy
1fa8180e7f
Add sfinv.get_page() 2018-11-28 14:14:33 +00:00
Paul Ouellette
068e0b167f Remove double inner/outer in stairs descriptions 2018-11-16 19:50:53 +01:00
Ezhh
21f5eaade0
Add plantlike_rooted coral 2018-11-15 00:49:16 +00:00
TumeniNodes
5f61379757 Fix sRGB profiles for obsidian glass stair textures 2018-11-09 18:53:23 +00:00
SmallJoker
ad486bc863 New glass, glass stair/slab, and glass door textures 2018-11-02 17:22:54 +00:00
TumeniNodes
5ccf965825 Beds: Use mod textures instead of default_wood.png
No longer use default_wood.png for one side of the bed head and
one side of the bed bottom node.
Add a new texture for the underside of both beds.
2018-10-29 22:08:25 +00:00
Paramat
58f6994e08
Liquid sources: Backface-cull sides and base. Remove unused special tiles
Fixes most z-fighting caused by underwater nodeboxes.
Special tiles were for 'new style water' (lowered water level) which was
removed a few years ago.
2018-10-27 13:57:16 +01:00
SmallJoker
cf0e49fb4a Chests: Fix crash on empty key metadata 2018-10-18 05:45:35 +01:00
Paramat
382e2acd9b
Spawn mod: Avoid respawn conflict with beds mod (#2240) 2018-10-14 02:36:40 +01:00
TumeniNodes
b042106fdc Stairs: Remove combine slabs code 2018-10-11 19:33:33 +01:00
TumeniNodes
f583d90c94 Fence rails: Allow connections to walls 2018-10-11 19:31:35 +01:00
random-geek
ab1a79b13c Add blueberry bushes 2018-10-09 20:54:22 +01:00
TumeniNodes
2696b0cd91 Stairs: Add glass and obsidian glass. Fix slab combine bug
Fix slabs combining into a cube: Facedir is only set for the cube if it has
paramtype2 = "facedir". This avoids liquid appearing in connected
framed glasslike.
2018-10-09 20:44:15 +01:00
Paramat
5b3b609270
Stairs: Add field to determine world-aligned textures (#2219)
All stair/slab nodes with parent nodes that are rotatable (wood and bricks)
are reverted to not having world-aligned textures, to fix the breakage of
rotated stair/slab appearence in worlds.

Update, and add missing documentation to, game_api.txt.
2018-10-04 00:33:11 +01:00
Paramat
24900f7da5
Fence rail: Only connect to fences. Update map mod README recipe
Fence rail: Only connect to 'group:fence'.
Update map mod README crafting recipe documentation.
2018-09-25 19:42:19 +01:00
SmallJoker
f42deb4026
map: Use wood group crafting recipe 2018-09-24 21:13:01 +02:00
Ezhh
e10e0f94d6
Remove cave ice from creative inventory 2018-09-21 18:52:55 +01:00
Paramat
be6fe9f592
Fire: Remove the ABM active when fire mod is disabled (#2209) 2018-09-14 18:33:46 +01:00
Paramat
7fedf0b5d9
Player_api: New hotbar textures (#2207) 2018-09-14 17:59:49 +01:00
12Me21
aafe31c14e Stairs: Safer slab name check
Before, it checked if the node name *contained* "stairs:slab_", which could detect
things like "xxxxxstairs:slab_xxxx". Changed the pattern to "^stairs:slab_".
2018-09-03 03:34:56 +01:00
Paramat
ef20f9e12b
Fire: Make flames floodable, remove extinguish ABM 2018-09-02 02:43:59 +01:00
Paramat
5673a71752
Game_api.txt: Update and improve dye documentation 2018-08-28 19:12:10 +01:00
Paramat
02c4a05e60
Rename 'killme' mod to 'game_commands', add README and license files 2018-08-24 19:08:06 +01:00
tenplus1
6f80fd3737 Wool mod: Remove 'basecolor', 'excolor', 'unicolor' groups 2018-08-23 20:42:36 +01:00
tenplus1
3484ff23ad Dye mod: Remove 'basecolor', 'excolor', 'unicolor' groups 2018-08-23 20:39:16 +01:00
Paramat
689f0c5478
README.txt files: Change 'LGPL 2.1' to 'LGPLv2.1+'. Remove 'WTFPL' 2018-08-22 01:23:00 +01:00
Paramat
f4f90520ec
Add new dirt texture by random-geek 2018-08-21 20:41:26 +01:00
Paramat
20b433881b
New wider apple tree schematic
Precisely reduce trees and logs per mapchunk division to compensate.
2018-08-20 23:56:00 +01:00
Paramat
3d02145271
Add 'schematic_tables.txt' document 2018-08-11 22:32:23 +01:00
Paramat
70c0181b59
Pine bush: Do not force-place needles nodes 2018-08-04 20:26:30 +01:00
Paramat
ab3b1a35f5
sfinv, player_api mods: Fix and cleanup README and license files
sfinv:
Move license information to create the missing license.txt file.
Make README consistent with other Minetest Game mods.

player_api:
Add missing texture and sound credits to README.
Update and add extra license information.

default:
Remove credit for 'player_damage.ogg' sound.
2018-07-31 10:55:28 +01:00
Paramat
c284e52963
Boats, carts mods: Use 'initial_properties' table 2018-07-30 00:32:18 +01:00
kakalak-lumberJack
ab4940505e wall.register: Allow table as texture value 2018-07-26 21:51:25 +02:00
Paramat
506eca22bc
Make apple log shorter, to be no longer than appletree trunk 2018-07-24 16:14:52 +01:00
Paramat
bf3efa0bb7
Flora spread: Reduce maximum density
Previously, maximum flora density was chosen based on the extremely rare
occurrence of all 8 flowers being at high density at one location. This
caused flora everywhere to spread to an unacceptably high density.

Revert the threshold to 3, which in testing results in a more acceptable
maximum density of 7 flora per 9x9 area.
2018-07-17 05:04:46 +01:00
Paramat
ee72bc722c
Boats: Use driver name string instead of objectref 2018-07-15 21:50:07 +01:00
Paramat
57db3f748c
Default: Credit schematics and licence as media 2018-07-14 22:52:12 +01:00
TumeniNodes
9318c71659 Biomes: Add pine bush to taiga and snowy grassland
Replaces 'bush' in snowy grassland.
2018-07-13 01:17:07 +01:00
Paramat
d4b0b73ae0
Move chests to a new file. Update credits for chests and torches
Move chests code out of nodes.lua and into a new file.
Credit torch code, and chest and torch models in README.txt.
Remove 'torches' mod text from torch.lua.
Minor cleanups in README.txt.
2018-07-10 23:02:22 +01:00
Paramat
ef7bd43829
Remove coral air-death ABM 2018-07-10 03:51:41 +01:00
Paramat
513609dcfd
Fence rails: Add fence rail textures
Minor clean up of README.txt, including deletion of credits for removed
torch textures.
2018-07-08 22:22:07 +01:00
Paramat
5c8bd34957
Boats: Properly use 'dtime' for consistent responsiveness
Previously, boat responsiveness varied greatly depending on server
lag and singleplayer / multiplayer.
'dtime' is the time from the last execution of the boat entity
'on step' function, so must multiply acceleration and yaw change.

Retune acceleration, turn rate and drift deceleration.

Make reversed turn only happen with significant backwards speed.
2018-07-07 21:00:31 +01:00
TumeniNodes
7e1b07fddd Add fence rails
Dedicated fence rail textures coming in a follow-up PR.
2018-07-07 19:03:33 +01:00
SmallJoker
ecea5364f1 Update carts from boost_cart
Better pathfinder algorithm, allows tuning the lag spike compensation.
Smoother movement (when it's laggy).
Set the player animation to stand on attach.
Remove driver when they leave.
Only update velocity when it's necessary.
2018-07-07 02:08:36 +01:00
Paramat
59dbeebc2f
Boats: Add cruise mode (boat autoforward)
Document controls in README.txt.

Optimise 'get yaw' and 'set yaw' code.
2018-07-03 19:52:28 +01:00
beyondlimits
876a9ca5d2 Beds: Fix input checking for "Force night skip" 2018-07-03 19:50:16 +01:00
SmallJoker
255031fc91 Replace deprecated function calls 2018-07-01 20:44:03 +01:00
Ezhh
0df2753a68
Make hidden fireflies floodable 2018-06-25 21:29:24 +01:00
Ezhh
0ea6065a09
Add butterflies mod 2018-06-25 21:28:39 +01:00
bell07
5692c15b4d Disallow digging a bed if in use
Use a new table beds.bed_position to check if a bed is in use.
2018-06-19 22:07:01 +01:00
Ezhh
e9fbd3d75d Add longer log schematics
These use 'spawn_by' to avoid steep slopes.
2018-06-15 07:25:43 +01:00
Paramat
abe1b9f559
Spawn mod: Also reposition players on respawn
To avoid respawn position being possibly very distant from new player
spawn position.
2018-06-07 04:14:56 +01:00
Paramat
bcf76eab1d
Settings: Add missing settings to settingtypes.txt
Conf.example: Remove quotes from bones modes. Setting does not work
if quotes are used.
2018-06-04 00:01:56 +01:00
Jacob Gustafson
e376d57bd2 Add optional bones messages for player and log 2018-06-02 09:54:45 +02:00
Paramat
37b206e49f
TNT: Raise cost of TNT by adding a TNT stick crafting stage
6 gunpowder and 1 paper crafts to 2 TNT stick craftitems.
9 TNT sticks craft to 1 TNT.
TNT stick is not yet usable as an explosive, possibly later.
2018-06-01 23:41:45 +01:00
Paramat
e74e091e78
Biomes: Make beaches snowy in snowy biomes 2018-06-01 22:39:50 +01:00
Paramat
ed1d64d8aa
Snow: Make players sink into 'default:snow' by 3/16 node 2018-05-31 03:14:46 +01:00
Ezhh
145b7bfef3
Place hidden instead of visible fireflies on mapgen 2018-05-25 22:33:03 +01:00
Paramat
b389f38120
Kelp: Add 'paramtype = light' to avoid black plantlike extension 2018-05-19 18:57:01 +01:00
Paramat
64470dc786
Biomes: Add vertical biome blends (#2120)
Alter a few biome y-limits for consistency.
2018-05-15 22:27:39 +01:00
Ezhh
3d709dfa1d Enable regrowth of apples
Apples only regrow where they first appear on trees, either on mapgen or when grown from saplings (meaning apples that were placed by players won't regrow).
Once the tree is cut down in full (leaves removed), regrowth will stop.
New apples only grow in daylight, and take the same time as a sapling to grow.
2018-05-11 16:42:28 +01:00
Paramat
ace7ec953e
Biomes: Add tundra lowland with permafrost, stones, moss and snow
Move previous tundra to highland and remove the snowblocks that are
unsuitable for a fairly dry biome, use snow slabs instead.
2018-05-04 23:05:47 +01:00
Ezhh
b52ea3de15
Remove commented lines from biome definitions 2018-04-30 22:14:23 +01:00
Paramat
aedd209440
Use stratum ore to add the missing sandstone types
Add silver sandstone strata to 'cold desert' biome.
Add sandstone and desert_sandstone strata to 'desert' biome.
2018-04-29 07:15:11 +01:00
Paramat
bbb88e6387
Rebalance bronze and steel tools, swap ore depths
Reduce bronze tool capabilities to be between stone and steel.
Swap depths of iron ore and tin / copper ores for corresponding
progression.
2018-04-20 20:13:16 +01:00
Paramat
0b025e6392
Add 'spawn' mod to spawn new players in suitable starting biomes (#2091)
Disabled in mgv6 and singlenode mapgens, by setting, or if
'static_spawnpoint' is set.

Cleanup format of minetest.conf.example.
2018-04-13 02:21:43 +01:00
Paramat
8d8f2f79d0
Ore distribution: Deeper iron, diamond and mese block, tune gold (#2107)
Iron at y = 0 was far too easy to find.
Adjust gold lower region to be twice the depth of highest level, like
all other ores.
Diamond at y = -500 was too easy to progress to.
Make diamond and mese block deeper to create a depth progression from
mese crystal to diamond, to reflect tool progression.
This all creates a satisfying 2^n depth progression, with lower regions
being at twice the depth of highest levels.
2018-04-12 00:51:56 +01:00
sofar
8c71f3d826 Prevent divide by zero (#2106)
This forces all explosions to damage entities within the 1 node
range. If that needs to be disabled, the damage_radius needs to
be set to 0.
2018-04-08 17:57:00 +01:00
Paramat
9c459e77ac
Farming: Deprecate bronze, mese and diamond hoes. Tune steel uses (#2103)
Remove unnecessary "air" fallback recipe for hoes to avoid this showing
in crafting guides.
2018-04-08 17:55:19 +01:00
tenplus1
11b3407671 Add food_* groups to default edibles (#2089) 2018-04-04 10:59:15 +02:00
Andrew Ward
b0e55c52c8
Add formspec theming, remove sfinv's dependency on default 2018-03-28 18:28:26 +01:00
Paramat
f3ce25fc72
Xpanes: Description 'Iron Bar' -> 'Steel Bars' 2018-03-28 12:09:44 +01:00
sfan5
7e9000b502
Fix creative mode check again 2018-03-25 14:05:25 +02:00
sfan5
fb0217042b Fix creative mode check in fireflies mod 2018-03-25 13:47:20 +02:00
Ezhh
465d8cae3e
Hide fireflies during day time 2018-03-22 20:33:54 +00:00
Ezhh
c0557b2c23
Add names for register_decoration 2018-03-18 00:25:16 +00:00
Paramat
c2209c120e Add new pine needles texture by Splizard 2018-03-13 20:02:18 +00:00
Paramat
da877ccf57 Rename 'subgame' to 'game' 2018-03-13 20:00:29 +00:00
paramat
160dc21bc1 Pine trees: Add small pine tree and mix into coniferous forests
Use noises to create a varying mix in coniferous forest biomes:
Areas of large pines only, areas of small pines only, mixed areas.
While also having areas of high and low tree densities.
Saplings grow into large or small pines with equal chance.
2018-03-11 00:18:13 +00:00
paramat
ac50b3e3ce Icesheet biome: Add 'default:cave_ice' node to enable caves in land ice
Has 'is_ground_content = true'.
Drops 'default:ice'.
2018-03-11 00:18:07 +00:00
ezhh
d4a007c051 Fireflies: Reduce density in non-mgv6 mapgens 2018-03-05 23:08:29 +00:00
paramat
1afb8f249e Creative: Fix width of arrow textures 2018-03-05 23:06:15 +00:00
paramat
3afcd68e9b Ores: Remove region overlaps. Make some regions deeper 2018-03-05 23:05:59 +00:00
ezhh
c2001b3b52 Fireflies: Add dedicated mgv6 register_decoration 2018-02-27 01:17:43 +00:00
paramat
63ebdfd139 Waterlily: Place as Y-offset simple decoration 2018-02-27 01:16:48 +00:00
paramat
702070accb Floatland biomes: Add forest, tune beach height 2018-02-27 01:16:43 +00:00
SmallJoker
04a46d0671 Rename intersects_protection to is_area_protected 2018-02-27 01:16:37 +00:00
paramat
70d91bc64d Revert "Boats: Prevent entering 'ignore' nodes"
This reverts commit 7754555707.
Due to recent engine commit boats now collide with 'ignore' nodes.
2018-02-26 18:47:18 +00:00
Ezhh
280f1b1c39 Put y_max above y_min in mapgen registrations (#2051)
Switch y_max and y_min for flowers, fireflies and default
2018-02-25 12:25:34 +01:00
Tim
283636bfdb Bones: Iterate player inventory lists dynamically (#1229)
Avoid hard-coded player inventory lists.
Expose `bones.player_inventory_lists` for mods to look up or change,
which player inventory lists are being dropped or placed into bones.
2018-02-20 19:15:03 +01:00
paramat
094ad004a4 Schematics: Various improvements
Acacia bush: Create a unique form different to normal bush, with more
leaf nodes at top than at base.
Acacia tree: Maximum height increased by 1 node. 2 extra nodes of
height variation.
Jungle tree: Add an extra node of height variation. Y-slices moved
downwards to be more balanced between trunk and branches, makes
branches more common.
Pine tree: Increase maximum height by 1 node. Add an extra node of
height variation.

Update sapling 'on place' protection checks for acacia and pine trees.
2018-02-19 07:16:24 +00:00
paramat
b90aabec80 Rainforest: Add emergent jungle tree and sapling
Height 20 to 32 nodes.
Dependent on chunksize >= 5.
Base limited to maximum altitude y = 32.
Craft sapling from 9 jungle saplings.
2018-02-19 07:16:16 +00:00
paramat
495fa32873 Flower spread: Only spread to the same surface node 2018-02-17 09:37:27 +00:00
paramat
7754555707 Boats: Prevent entering 'ignore' nodes
At world edge make boat bounce back into world by inverting speed.
At world base avoid falling into ignore by setting y velocity to 0.
2018-02-17 09:37:22 +00:00
ezhh
1e9c61f241 Kelp: Improve placement/removal and extend selection box 2018-02-07 22:53:35 +00:00
paramat
7f3e9e65b3 Add marram grass for coastal sand dunes
Use noise with 1 octave and flag 'absvalue' to create sand paths
in dunes.
2018-02-07 22:52:26 +00:00
paramat
ca81e9b8c6 Coniferous litter: Improve textures
Greyer, lighter, reduce lines, remove dark patches.
Shorter and more consistent side texture.
2018-02-04 02:34:42 +00:00
paramat
a587972010 Flower spread ABM: Optimise
Match maximum spread density to maximum mapgen density for flowers.
Place 3 flora nodes at once instead of 1.
Change ABM chance value to 300 to match previous spread rate.
ABM becomes 3 times less intensive.
2018-02-04 02:34:36 +00:00
paramat
d5907d5f1e Doors: Avoid crash on nil player in 'can dig door' 2018-02-03 03:54:03 +00:00
ezhh
12f1703537 Add fireflies mod 2018-02-03 03:53:03 +00:00
paramat
8f85ca57f3 Intersects_protection(): Remove from Minetest Game
Add compatibility code with deprecation warning.
2018-02-03 03:46:13 +00:00
TumeniNodes
496a1a24d2 Add obsidian_pane (#2035) 2018-01-31 20:53:49 +01:00
Jat15
5f121b586d Stairs: unbind table groups (#2036)
Unbind table groups for base block, stairs, slabs.
2018-01-31 20:49:27 +01:00
paramat
ee6d2f2468 Dungeon loot: Reduce maximum processed rooms to 8 2018-01-23 06:43:49 +00:00
paramat
41a4073d4c Creative: New textures for less distortion
Use 128px textures with a slight blur to reduce distortion caused
by formspec texture scaling.
Cross is shifted slightly up and left to compensate for formspec
button image shift.
2018-01-23 06:43:46 +00:00
paramat
a6aa68d5b4 default:dirt_with_snow: Re-add to soil group
Previously, saplings were not growing if the dirt they are on turned to
'dirt with snow' before growth.
Also for consistency with other dirt nodes.
2018-01-23 06:43:40 +00:00
paramat
223562d687 Dry shrub: Use plantlike meshoption for bushy appearence
Adjust selectionbox width for a better fit and consistency with other
grasses.
2018-01-02 22:45:47 +00:00
paramat
f52085a40f Biomes: Make coastal grassy dune biomes larger 2018-01-02 22:45:39 +00:00
MarkuBu
faa088e2c5 Xpanes: Add optional 'use_texture_alpha' parameter to registration 2018-01-02 22:43:42 +00:00
Ekdohibs
bd0c627a20 Furnace: Fix being able to cook items without enough fuel
This was triggered when too much time had elapsed when timer was called.
Also, fix timer resolution giving free fuel time.
2018-01-02 22:41:50 +00:00
ezhh
d1ece74652 Resize junglegrass selection box 2017-12-24 20:50:51 +00:00
paramat
d1db66bf4f Ferns: Add 3 sizes for coniferous forest biome
Remove flowers from coniferous forest.
Add 'dirt with coniferous litter' to farming mod overrides.
2017-12-24 20:50:44 +00:00
paramat
8ab7c54d76 Biomes: Add 'dirt with coniferous litter' node for coniferous forest 2017-12-24 00:33:21 +00:00
Diego Martínez
5b57815af1 creative: Add missing tooltips. 2017-12-22 22:57:24 +01:00
Diego Martínez
dfe74948e2 creative: Use icons for buttons. 2017-12-22 22:57:24 +01:00
paramat
62d5d5954e Book textures: Reset colour profiles to remove warnings 2017-12-20 20:46:41 +00:00
paramat
d603707e1a Dirt sounds: Remove extreme sub frequencies, trim for zero amplitude starts 2017-12-20 20:46:33 +00:00
Reedych
5134510356 Replace setpos with set_pos in sethome 2017-12-16 05:10:35 +00:00
paramat
21b3c841bd Default texture licenses: Move some to CC BY-SA 3.0. Remove WTFPL 2017-12-11 15:58:32 +00:00
paramat
0c841771a7 Book textures: Replace with more original textures 2017-12-11 15:58:32 +00:00
paramat
0132bfe41e Stairs: Improve inner/outer stair descriptions. Code cleanup 2017-12-11 15:58:25 +00:00
paramat
2824e4bb7c Binoculars: Update to use 'zoom_fov' player property
In survival mode, zoom is disabled, the binoculars item is needed to
allow a zoom with a 10 degree FOV, realistic for compact binoculars.

Creative mode or per-player creative privilege allows a zoom with a
15 degree field of view (the default MT engine zoom FOV).
2017-12-04 02:54:20 +00:00
ezhh
ed83e30d68 Default: Make burntimes more rational and consistent 2017-11-27 01:52:02 +00:00
paramat
2c5670563a Flowers: Add black tulip, green chrysanthemum
Adds a direct resource of green dye, and a flower resource of black dye.
Completes the colour sequence: red, orange, yellow, green, blue, violet.
Makes all base dyes cultivatable and sustainable, without the presence
of coal.

Add the new flowers to the world with the same density variation as the
others, but obviously with different noise seeds. Results in more flowers
in a world and more variety of flower combinations.
2017-11-27 01:51:33 +00:00
ForbiddenJ
b75a17984a Default: Expose open_chests and chest_lid_obstructed 2017-11-27 01:50:37 +00:00
DTA7
a2d7678ffd Add nil checks for placer 2017-11-15 23:16:28 +00:00
paramat
3ae382c913 River water renewability: Add comments to nodes.lua and bucket mod 2017-11-11 21:37:27 +00:00
bertrandda
91997d9342 README: Update minetest.net downloads link to avoid redirection 2017-11-11 21:35:56 +00:00
raymoo
8b5ad0f028 Creative: Make the placenode registration check for non-player placers 2017-11-11 21:34:30 +00:00
raymoo
319b9eeeaf Creative: Make handle_node_drops override work for non-player diggers 2017-11-11 21:34:05 +00:00
paramat
d4e1bd053e Player API: Set eye height property for new player model
Correct the collisionbox height.
2017-11-06 15:40:14 +00:00
paramat
9d9e9b6709 Stairs: Set world-aligned textures for all stairs and slabs
Fix 'stair_images' code to avoid 'stair_images' being empty in some
situations.
Change stairs back to nodeboxes to make world-aligned textures work.
2017-11-04 23:43:30 +00:00
SmallJoker
dbfe435abf Bookshelf: Count written and empty books 2017-11-04 23:43:02 +00:00
paramat
08c60cfc30 Binoculars: Only set property if necessary to reduce mesh reloading 2017-11-03 16:26:00 +00:00
paramat
9596d00a18 Player model: Remove vertical stretch of body and limbs, remove cape
Previously, body and limbs were stretched vertically by 1.125, creating
rectangular pixels on side faces. Head was unstretched.
Remove stretch of body and limbs, leaving the head unchanged.
No other change would excessively shorten the model, so also scale up
the model slightly, by * 1.05, such that the reduction factor for height is
equal to the increasing factor for width. This minimises the changes to
height and width.

Remove cape support.

Update the collisionbox to match.

Add missing license.txt.
2017-11-03 16:25:54 +00:00
sfan5
49cc4c7c63 Add loot to dungeons (#1921) 2017-10-27 13:34:41 +02:00
paramat
36df80fc45 Binoculars / Map mods: Clarify key-activation of items in descriptions
Map mod:
Tune cyclic update interval.
Re-add HUD flags update on item 'use'.
2017-10-24 07:34:15 +01:00
paramat
3f14d1012d Footstep sounds: 5 new sounds
Original recording by Ryding.
http://freesound.org/people/Ryding/
Found by Anth0rx, edited by paramat.

Add and use 'default.node_sound_snow_defaults()' function.
2017-10-24 04:21:34 +01:00
Coder12a
045abbd6d7 Books: Convert \r to \n
Some files or editors may use \r instand of \n like notepad++. If you copy
text written in notepad++ and pasted into the book. The book will only have
one page.
2017-10-23 04:39:44 +01:00
SmallJoker
454e0da531 Carts: Better wiggle prevention 2017-10-23 04:38:43 +01:00
SmallJoker
5870fd48f6 Carts: Replace old, deprecated function names 2017-10-23 04:38:28 +01:00
SmallJoker
47d6fbf884 Creative: Cache inventory items on load 2017-10-23 04:37:10 +01:00
James Stevenson
7c3854de27 Chest sounds: Shorten open/close sounds 2017-10-23 04:35:37 +01:00
paramat
cc371ac726 Add binoculars mod with binoculars item to allow zoom
Uses the new player object property 'can zoom'.
In survival mode, use of zoom requires the binoculars item in
inventory.
Zoom is automatically allowed in creative mode and for players with
the 'creative' privilege.
The binoculars.update_player_property() function is global so can be
redefined by a mod for alternative behaviour.
2017-10-13 05:32:18 +01:00
paramat
eb5a5b56e1 Decorations: Add kelp to cool and temperate shallow ocean
Original texture by tobyplowy, colourised by paramat.
2017-10-10 22:57:10 +01:00
tenplus1
3ff296961e TNT: Add tnt.boom defaults
This adds def, def.radius and def.damage_radius defaults to the
tnt.boom() function if they aren't specified on call.
2017-10-10 22:55:49 +01:00
Lars Hofhansl
12a971660d Creative: Do not give creative priv to admin 2017-10-07 18:48:18 +02:00
paramat
b6626f76b5 Map mod: Remove confusing 'use', reduce update interval
Clarify README.txt.
2017-10-03 02:59:55 +01:00
paramat
e40f25f1fb Minimap: Add 'map' mod with mapping kit item to enable minimap
In survival mode, use of the minimap requires the mapping kit item.
Minimap radar mode is always disabled in survival mode.

Minimap and minimap radar mode will be automatically enabled in creative mode
and for any player with the 'creative' privilege.

The 'map.update_hud_flags()' function is global so can be redefined by a mod for
alternative behaviour.
2017-10-02 21:23:55 +01:00
SmallJoker
3611af1dda Bones: Return bones when taking the last ItemStack 2017-10-02 11:01:01 +02:00
paramat
809e5933c4 Beds: Strip colour bits from param2 in 'get look yaw'
Based on code by github user 'hdak1945git'.
Fixes a crash when 'colorfacedir' param2 is used for beds.
2017-09-28 20:49:34 +01:00
tenplus1
2d8207a924 Flowers: Add waterlily right-click checks
Check for on_rightclick functions of nodes when holding a waterlily.
2017-09-25 15:58:59 +01:00
rubenwardy
a4b94a3347 Sfinv: Remove possibility of infinite loop when homepage doesn't exist 2017-09-25 15:57:55 +01:00
rubenwardy
db08c0d721 Sfinv: Rename navigation tabs to reduce chance of a conflict 2017-09-25 15:57:11 +01:00
paramat
74ed63f46b Ores (non-mgv6 mapgens): New distributions
Make deeper, to compensate for ease of travel using 3D noise tunnels.
Make depth more progressive with value:

Ore, upper limit

Coal 64 no change
Iron 0 no change
Tin -32 > -64
Copper -16 > -128
Gold -64 > -256
Diamond -128 > -512
Mese crystal -64 > -512
Mese block -1024 no change

Make y of 1st density increase deeper but following a similar logic to before:

Ore, upper limit

Coal 0 no change
Iron -64 no change
Tin -128 no change
Copper -64 > -256
Gold -256 > -1024
Diamond -256 > -1024
Mese crystal -256 > -1024
Mese block -2048 new

Add second, denser layer of mese blocks with a decrease of separation and
increase in density equal to mese ore layers.
2017-09-25 15:55:22 +01:00
danielmeek32
f33cc02080 Chests: Fix locked chest protection against explosions (#1886)
Fixes #1885
2017-09-20 20:08:17 +02:00
tenplus1
c5c9e423ca Chests: Fix open chest after player leave (#1884)
This should fix the chest staying open when a player disconnects while inside.
2017-09-20 20:08:06 +02:00
paramat
4ccafd1518 Biome registration: Update due to revert of mgv7 'biomerepeat' option 2017-09-17 06:18:47 +01:00
sfan5
bf8404fcf7 Doors: Same prediction change for trapdoors
Forgot this in the last commit, thanks @Fixer-007
2017-09-12 00:28:29 +02:00
sfan5
edba1dcb02 Doors: Disable client dig prediction for protected doors 2017-09-11 21:35:28 +02:00
tenplus1
fe67ffda7c TNT: Add explode_center flag
Add 'explode_centre' flag which when false explodes as normal and when true runs on_blast on centre node as well as dropping items.
2017-08-26 22:14:44 +01:00
tenplus1
bcf98df5fa Mushroom spread: Optimise and make overridable
Move mushroom spread ABM action into a global and overridable function.
Optimise spread code.
Reduce spread range to reduce spread through walls.
2017-08-25 23:07:19 +01:00
paramat
08727bcd69 Farming: Make cotton look like cotton, add crafted string item
Remove string -> cotton alias.
2017-08-18 18:48:25 +01:00
Hybrid Dog
f928780946 Register fence: Allow setting nodedefs to 'false' 2017-08-18 18:46:44 +01:00
tenplus1
bb084294ce TNT: Allow a custom explosion sound to be used 2017-08-18 18:41:15 +01:00
rubenwardy
20687a6301 Make ice slippery 2017-08-14 19:06:54 +01:00
Rui
b431ae1c77 Carts: Fix player position (#1872) 2017-08-13 13:47:13 +02:00
Rui
fe710c99a6 Boats: Fix player position (#1871) 2017-08-13 13:47:01 +02:00
tenplus1
c5e97867f3 TNT's tnt:boom cleanup (#1868)
The tnt:boom node doesn't actually need the on_construct and on_timer functions to remove the node after 0.4 seconds as the tnt_explode function already does this beforehand.
2017-08-13 13:46:30 +02:00
TumeniNodes
8817d1c696 default_desert_cobble.png with darker mortar (#1859) 2017-08-13 13:45:39 +02:00
Jens Rottmann
d883012491 Trivial: Make furnace info text look nicer
Furnace inactive (Item: Not cookable; Fuel:
Empty)

--> becomes -->

Furnace inactive
(Item: Not cookable; Fuel: Empty)
2017-08-13 00:08:43 -07:00
SmallJoker
67c01a44c2 Beds: Do not crash when placing in an unknown node 2017-08-10 10:08:24 +02:00
paramat
77c9408721 Player API: Integrate settable player step height
Split some long lines.
Some nearby code cleanup.
2017-08-09 11:27:37 +01:00
ForbiddenJ
3294a2a515 Torches: Make liquids drop torches as items
Liquids that are 'igniters', such as lava, will drop the torch without
a flame-extinguish sound, as the torch item will burn up after a few
seconds with a sound and smoke particles.

All other liquids cause a flame-extinguish sound.
2017-08-07 02:38:31 +01:00
paramat
57577596d6 Floatland biomes: Simplify to grassland
Make the placeholder biomes grassland to make the shape of the floatland
terrain more visible.
2017-08-06 01:54:47 +01:00
paramat
b4abb07572 Player_api: Integrate settable player collisionbox 2017-08-06 01:54:47 +01:00
danielmeek32
271b2befaa Player API: Apply model default textures when passing nil to 'set_textures' 2017-08-06 01:53:53 +01:00
rubenwardy
5d19fd6923 Separate player code into new mod 2017-08-01 03:57:29 +01:00
paramat
7ffd176f48 Lava cooling: Increase interval to 2
An excessive load has been reported caused by the node searching, so even
when no lava is present.
2017-08-01 03:57:10 +01:00
SmallJoker
8f1f3760f0 Carts: Check for last pathfinder predition too
Minor fix to reduce cart jitter slightly
2017-07-30 19:55:36 +02:00
TumeniNodes
71dff2ac4a Default: Correct dimensions of default_clay_brick.png (#1858)
Resize default_clay_brick.png from 16x17px to 16x16px, as mentioned in issue #1855
2017-07-29 18:09:27 +02:00
SmallJoker
fa4c77feba TNT: Only burn visually connected powder (#1857) 2017-07-29 18:09:15 +02:00
elinor-s
c81165b2c8 Default: Increase the maximum level of the diamond axe to 3 (#1854)
This is the maximum level of the other diamond tools and makes the
number of uses similar to them.
2017-07-29 18:09:05 +02:00
DS
996f168aa3 Default: Reexport the player model (#1848) 2017-07-26 20:06:29 +02:00
Ezhh
40ed77185e Improve node descriptions (#1834) 2017-07-23 10:26:10 +02:00
SmallJoker
a1d35f3d69 Creative: Prevent unauthorized item access (#1840) 2017-07-22 20:16:25 +02:00
Ezhh
c2f3c99cad Correct farming/stairs dependency (#1838) 2017-07-22 16:11:40 +02:00
paramat
48baf1acb5 Floatland biomes: Update due to mgv7 biomerepeat option
Only register floatland biomes if mgv7 'biomerepeat' flag is false.
Simplify floatland biomes to coniferous forest and ocean.
Make 'mgv7_floatland_level' and 'mgv7_shadow_limit' parameters global
values for mods to use to register their own floatland biomes.
2017-07-22 01:07:06 +01:00
TeTpaAka
886537ef50 Player model: Remove vertical 1 node offset
Required due to the settable player collision box engine feature.
Change for MT/MTG v0.5.0 that breaks compatibility with old clients.
2017-07-21 02:13:09 +01:00
SmallJoker
e5189760b3 Default: Expose the formspec getter functions (#1783) 2017-07-16 14:31:34 +02:00
Paramat
1d5bc15f9a Crafting: Remove duplicate reversed recipes (#1777)
For axes and hoes only use one recipe that matches the appearance of the texture and in inventory.
2017-07-16 14:31:21 +02:00
Fixer
1aafcdd7e0 Stairs: Add tin block stairs and slab 2017-07-08 14:51:24 +01:00
paramat
0cdee1d8f5 Saplings: Reduce grow time to ABM equivalent
Previous times were chosen using statistical maths, but reports suggested
this was too long.
I tested by timing an ABM acting on 100 nodes, with interval and chance equal
to the old sapling ABM.
50 at 4m59s.
99 at 24m58s.
100 at 26m58s.
So choose a grow time between 5 and 25 min for tree and bush saplings.
If 'can grow' is false at grow time the timer is reset to 5 min.
2017-07-08 14:51:03 +01:00
TumeniNodes
b66a61a10f Stairs: Add inner and outer corner stairs
With thanks to MarkuBu for the original PR and GreenXenith for the stair models.
2017-07-08 14:50:17 +01:00
paramat
57979686d9 Mapgen: Completely separate mgv6 ore registrations
This allows us to preserve mgv6 ore distribution while giving us the freedom
to alter ore distribution for other mapgens.
Other mapgens are larger scale and have 3D noise tunnels which make vertical
travel easier, so ores can be deeper.
Other mapgens have registered biomes which allows us to limit ores to certain
biomes.
2017-07-02 11:33:48 +01:00
DS-Minetest
2e413b521a Add backface_culling to open chests and fencegates 2017-07-02 11:32:34 +01:00
Foz
0f7d0bfd7a TNT: Track TNT owner in metadata for protection mods
It is useful for protection mods to know who owns an exploding
TNT block. This allows the blocks destroyed by the TNT to be
limited to the same ones the owner could destroy without using
TNT.

TNT placed within a protected area by the area owner, and later
ignited by another player will destroy within the protected area
nodes the igniter may not otherwise be able to interact with. Any
player could significantly increase the size of an explosion by
placing more TNT in an adjacent unprotected area if the original
TNT block was placed withing 1 node of such a boundary. This
feature sounds dangerous, but we are talking about TNT. Players
should use it carefully.
2017-07-02 11:30:39 +01:00
SmallJoker
c51ebcb74a Carts: Do not connect rails with gunpowder (#1812) 2017-07-02 10:32:10 +02:00
paramat
bae17cd88c Flowers: More flowers 2017-07-01 04:29:49 +01:00
Johannes Fritz
7b46d3b6af Stairs: Add backface culling to stair meshes
If backface culling is not specified for a tile in 'images' it is set to true.
Slabs already have backface culling due to being defined as nodeboxes (which
are then converted to meshnodes).
2017-07-01 04:22:11 +01:00
paramat
bdc09d2313 Floatland biomes: Add ocean biomes to fix missing sandstone
Update biome lists for blob ores.
2017-06-28 11:18:53 +01:00
F.K.Z
2c666891a8 Furnace formspec: Replace deprecated 'current_name' with 'context' 2017-06-28 11:17:40 +01:00
Ezhh
3d1fc42f66 Make sapling, leaves and fence descriptions consistent (#1795) 2017-06-25 11:19:12 +02:00
John Cole
36d024a716 Allow mossy cobble slabs to combine (#1791) 2017-06-22 20:38:02 +02:00
paramat
120e96938d Chests: Check 'def' of node above chest to avoid crash
In 'chest_lid_obstructed(pos)' check for nil 'def' to avoid a crash caused by
an unknown node above the chest.
2017-06-16 04:11:33 +01:00
red-001
502720b14d Books: Also limit the max size of the title
This limits the max size of the full title of the book to `80` letters and
the size of the part thats displayed in the tooltip to `35` letters.
2017-06-16 04:11:00 +01:00
tenplus1
0157175346 Creative: Add 'creative' privilege for survival servers
This adds a 'creative' privilege to survival servers which OPs can bestow
on admin or competent builders to give access to the creative inventory.
2017-06-14 20:47:11 +01:00
red-001
b3f17cda9f Books: Limit the size of books
Really large books just waste hard drive space and the engine is not designed to
handle that much data in item metadata, this can cause strange things to happen.
2017-06-14 20:28:40 +01:00
ezhh
15ba96467d Descriptions: Make capitalization consistent 2017-06-14 20:26:33 +01:00
red-001
da7e8e4810 Books: Add nil value checks to the book formspec handler 2017-06-14 20:26:17 +01:00
paramat
175a9f8ff5 Stairs: Use one recipe matching inventory appearence
No longer have 2 recipes for stairs, choose the one that matches the appearence
in inventory (stair rising toward the right).
Helps to reduce recipe count now that an increasing number of stairs are
being registered.
2017-06-14 20:26:17 +01:00
Wuzzy
b91e047868 Stairs: Allow crafting slabs and stairs into full blocks again 2017-06-14 20:25:26 +01:00
DS-Minetest
7e9c5a3576 Doors: Avoid white particles when digging wooden trapdoor
Alter the wooden trapdoor side texture, replacing the white area with a
repetition of the wood pixels.
It is now consistent with the steel trapdoor side texture.
2017-06-08 15:52:31 +01:00
paramat
c714d43319 Flowers: New texture for yellow dandelion
Derived from the white dandelion texture.
Uses the flower head colours of the previous yellow dandelion.
2017-06-08 15:52:00 +01:00
vorunbekannt75@web.de
626cd8e9c7 Default: Revert "Default: Shorter and better ABMs"
This reverts commit e523c3a296 to re-enable
the overriding and redefinition of these global functions.
2017-06-08 10:35:54 +01:00
sfan5
f855beeda5 Use transparency for unused part of mese post top texture
The color autogeneration algorithm of minetestmapper otherwise
causes this node to appear as solid black.
2017-06-06 12:54:42 +02:00
MrIbby
18956c7f69 Change "Junglewood" to "Jungle Wood" 2017-06-03 11:55:13 -04:00
Michael Bargatin
a8a60d33a3 Resize book textures from 16x17 to 16x16 2017-06-03 11:54:39 -04:00
paramat
eec1c5a03b Settings: Use new settings object 2017-05-24 07:18:26 +01:00
theFox6
e523c3a296 Default: Shorter and better ABMs (#1739)
Action of some abm's call functions directly, instead of calling the function inside a function.
2017-05-20 14:32:52 +02:00
sfan5
b25317fc64 Remove set_inventory_formspec in default, remove delay in sfinv 2017-05-18 09:54:18 +01:00
Vanessa Ezekowitz
d104b9b10f Chest: Redo new chests to use single-tile textures where possible
This keeps the filenames the same, but adds a new "inside" double texture
for the open chest.
Use regular drawtype for closed chest and delete the "cube.obj" model.
X-flip the right-side texture for the closed chest.
2017-05-18 09:45:56 +01:00
ezhh
758d5010b8 Fire: Disable fire by default in multiplayer 2017-05-15 17:39:59 +01:00
tenplus1
63b3542d00 Chests: Revert inventory name
Revert the new 'default:game' inventory back to the old 'main' and use the
lbm to restore the contents of the chest.
Change the name of the conversion LBM to ensure it is run again on already
converted chests.
2017-05-15 13:47:03 +01:00
cx384
5bd44c21ef Change the selection_box of bush stems (#1733)
This is needed because you can't place a node above a bush stem when you are pointing at the bush stem.
2017-05-13 12:49:04 +02:00
Auke Kok
c7d558c09e Chest open model: UV map fix.
The back side had a UV mapping issue which caused the bottom
rear part to "shrink" when opened.
2017-05-07 20:47:17 -07:00
Auke Kok
55f81d0802 Fix nil deref issue with people hitting chests too often. 2017-05-07 20:47:17 -07:00
SmallJoker
a533434b58 Chests: Keep old textures for mod compability
Prevents generating ugly looking dummy images for mods that weren't updated yet.
2017-05-07 20:46:49 -07:00
Ezhh
08706313f4 Add option to disable lavacooling (#1726) 2017-05-07 18:25:53 +02:00
sfan5
6737952fbf Fix merging mistake (crash in "stairs") 2017-05-01 21:26:10 +02:00
Tim
519d166ce3 Stairs: Add snowblock and ice stairs and slabs 2017-05-01 19:48:54 +01:00
Fernando Carmona Varo
be9121214c TNT: Gunpowder (and tnt.burn) will trigger the on_ignite of nodes
The previous behaviour is kept as fallback for compatibility, for when the on_ignite
is not defined in the node.
2017-05-01 19:38:38 +01:00
Auke Kok
011ad78b42 Improve Chest appearance - opening chests.
Adds a mesh model that appears when a chest is opened. The chest
stays visibly open as long as the player keeps it open. When the
player closes the formspec, the chest returns back to the closed
shape. While opening and closing, a sound plays.

A second person inspecting the chest will trigger a second sound
open. However, only after the last player closes the chest, does the
chest actually visually close and is the sound close played. This
keeps mesh updates to a minimum.

While it's possible that a server shutting down may cause chests
to remain open, this does not affect the chests' working matter,
and opening or closing them should fix them.

Old chests are converted to the new style by LBM. I previously
had them converted on open but this was unreliable, and LBMs
don't have that problem.

Open chests cannot be dug up. This prevents people from keeping
a chest open and digging it out as well, since closing a chest
would place a chest back (swap) at the spot. We could protect
against this, but it still messes up the client and causes a lot
of "missing node inventory" error messages otherwise. It's
unlikely but possible that a player lagging out causes a chest
to stay "open" and thus unremovable by digging, but there are
other ways of dealing with that - a server restart fixes that
issue.

If the lid of the chest is obstructed, the sounds continue to play,
but the lid isn't opened. Obstructed means that a node is present
above the chest lid, however, we ignore several node types like signs,
torches (not 3d) and wallmounted nodeboxes (typically signs) since
they don't pose any major obstruction in almost any case, and are
typically found above chests. Additionally, the selection box of the
opened chest does not include the lid, and so one can still interact
with e.g. a sign behind an open lid.

Due to the fact that chests now have 7+ textures, we can no longer
use materials (limit: 6) to texture the chest, and so there is now
a single UV mapped image that applies both to open and closed chests.
While this does mean texture pack makers need to create it, this
is extremely simple and consists of a simple cut'n'paste over the
template and should be really easy to do. Only one texture file is
now then used for both open and closed chests.
2017-05-01 19:36:35 +01:00
Auke Kok
4ec0fd974b Doors: place sound when placing a door.
Due to door items being the thing that's placed, we need to
explicitly play a sound when placing a door.

Fixes #1363
2017-04-28 21:52:59 -07:00
Auke Kok
67b13a5942 Fix books getting erased on page button use.
Changing the book page caused the entire itemstack meta to
get wiped due to improper calling of meta:from_table().

Fixes #1711
2017-04-28 21:52:39 -07:00
Auke Kok
ae7206c006 Remove dye craft recipe conflict.
We have enough gray recipes, but brown is more difficult.

Fixes #1710
2017-04-26 20:19:59 -07:00
rubenwardy
2917562728 Fix owner not being checked on write to book 2017-04-27 02:28:23 +01:00
paramat
c2d1a5ed4b Tin: Tune mapgen, bugfix, fix texture credits
Previously i had matched ore density to moreores, but this density was
too high and out of balance with MTGame, reduce density to be similar
to copper ore.
The 2 levels of underground ore were overlapping, fix.
Textures are actually by kilbith, update credits.

Also credit kilbith for bronze, copper, gold and steel blocks, credits
had not been updated at the time.
2017-04-23 23:05:31 +01:00
paramat
4d9fd7ad61 Textures: Reduce contrast of snow ripples 2017-04-23 23:05:31 +01:00
Dániel Juhász
24559d012e Creative: Automatic item colorization for creative mode 2017-04-23 23:05:06 +01:00
paramat
2668619638 Ores: Add tin ore, lump, ingot and block
Use Calinou's textures from moreores mod.
Craft bronze from tin and copper instead of steel and copper.
Match ore density to the moreores mod but start ore at a depth of
y = -32 to be part of the depth progression of other ores.
2017-04-20 19:55:05 +01:00
upsilon
6335525757 Doors: Ignore permission check if player parameter is omitted
As written in game_api.txt.
2017-04-20 19:54:27 +01:00
octacian
c54a7e882f Keys: Move skeleton key to craftitems.lua
Commit 73d61cbb10 makes skeleton keys
craftitems rather than tools, warranting the move from tools.lua
to craftitems.lua.
2017-04-20 19:51:51 +01:00
octacian
701abc2d2f Keys: Allow skeleton keys to be stacked
Allow skeleton keys to be stacked by converting them to craftitems and
adding a few lines of code to add a new itemstack to the inventory with
the new key or drop it at the player position if the inventory is full.
2017-04-20 19:50:34 +01:00
Thomas--S
98216810ef nodebox -> node_box
Seems like this was a typo
2017-04-12 18:39:42 -07:00
paramat
a57d2db54a Bushes: Add saplings
Bush saplings grow in half the time of tree saplings.
Bushes do not need 'from sapling' schematic variants because only the
stem node is force-placed in the mapgen schematic, so only the sapling
is force-replaced.
Bush leaves drop saplings with a rarity that ensures at least 1 sapling
per bush on average.
2017-04-12 17:18:50 +01:00
paramat
d68d2c08ef PB&J Pup: Remove mod
Also delete nyancat API documentation from game_api.txt.
2017-04-12 17:18:35 +01:00
Ekdohibs
e2b3ab768a Fix .luacheckrc (missing Settings class) 2017-04-11 16:53:38 +02:00
MarkuBu
e6d0d775e3 Stairs: Improve stair and slab rotation on placement
Slabs are placed horizontal instead of vertical, even if they are
placed on a wall.
Slabs are rotated automatically if they are placed to another slab,
no matter which material.
Slabs are placed at the lower position if the placer points into
the lower half of the pointed node and to the upper position if
pointed to the upper half.
Stairs are placed normal if the placer points to the lower half of
the pointed node and rotated upside down if pointed to the upper half.
2017-04-11 08:33:30 +01:00
Alex Ford
8d43b984fc Screwdriver: Allow non-native rotations if supported by targeted node
This also allows custom actions (such as using the screwdriver as a wrench).
2017-04-11 03:58:13 +01:00
LNJ
fe021281e6 Textures: Replace aspen leaves texture with BlockMen's 2017-04-11 03:57:44 +01:00
paramat
9e4f0d3689 Leafdecay: Do not restart aready running timers 2017-04-11 03:57:07 +01:00
paramat
acfd58cdeb Carts: Make rail recipes more generous
As part of making vertical travel easier to reduce reliance on
sneak ladders.
Calculate using cubic pixels of steel.

A steelblock is 16^3 = 4096 cubic pixels steel.
6 ingots is 6/9 steelblocks.
A rail is a 2*2*16 pixel length of steel, 64 cubic pixels steel.
6 ingots produces 2*21 rails = 21 rail nodes.
Choose 18 for an even number that is a multiple of ingot number.

Replace the stick with 2 wood in the recipe to be closer to the amount
of wood that would be needed for 20*4 sleepers.

Replace 2 mese crystal fragments with 1 mese crystal to
compensate for the larger number of nodes returned. The result
is the recipe is much more generous with steel usage but slightly
less generous with mese usage, keeping power rail cost reasonably high.

Replace 2 coal lumps with 1 for a similar recipe to power rails.
2017-04-11 03:57:01 +01:00
SmallJoker
b377aaa50d doors: Fix craftitem not listed in inventory (#1683)
Fixes bug caused by b847888
2017-04-02 10:01:01 +02:00
paramat
5fe831ed13 Carts: Remove '+' added in commit 077316b 2017-03-30 04:24:29 +01:00
paramat
2f46103ff8 Glasslike_framed nodes: Add 'glasslikeliquidlevel' paramtype2 2017-03-30 04:24:23 +01:00
zaoqi
077316b4cd Use creative.is_enabled_for for creative mode if possible (#1558) 2017-03-29 21:02:26 +02:00
cx384
b847888cb7 doors: add groups to the door craftitem 2017-03-29 20:40:56 +02:00
upsilon
7c42c41170 doors: record protection violation if it cannot be dug 2017-03-26 03:06:44 +01:00
paramat
08eec2beb7 Flora spread: Re-enable dry shrub replacing flora in desert sand
Flora is converted to dry shrub in desert sand and silver sand.
No conversion in sand to preserve sand dune grasses.
Dry shrubs do not spread so this conversion, used by players, is the
only way to generate them.
2017-03-26 03:06:37 +01:00
Auke Kok
9b45e7b3e9 PB&J Pup.
Replace possibly trademarked artwork with royalty free and
OK for commercial use artwork.

The Pup appears by default but does not alias the Nyan Cat nodes
away. For that you will have to enable the setting. A settingtypes.txt
is provided to make that really easy. This allows people to get
an out-of-tree mod and not have their Nyan nodes disappear.

The mod can also be disabled entirely this way for those who don't
want it.

There's some eatser eggs in here as well. Instead of making the
nodes burnable, they are edible, and make you bark and howl. And
perhaps something else too.
2017-03-26 03:05:57 +01:00
paramat
91182d6a9e Flora spread: Do not replace flora with dry shrub, only 'return'
If there is no group:soil node found below, do not replace flora with
dry shrub, this was breaking flower pots and other mods.
Originally, flora would only turn to dry shrub if in desert sand.
2017-03-22 22:30:35 +00:00
paramat
86fd616f3c Flora spread: Allow spread on rainforest litter. Other improvements
Use the soil group more instead of checking for multiple node names.
Remove 'neighbors' from ABM.
Turn any flora to dry shrub if on a non-soil, except when on default:sand
to avoid dune grasses being replaced.
Search for "group:soil" when searching for a position for the new flora
node, instead of searching for multiple node names, however do not spread
flora onto desert sand, which is in the soil group.

Remove default:dirt_with_snow from the soil group as it would be frozen
soil. It can be dug and placed to turn it into dirt (consider this some
extra work needed to make it cultivatable).
2017-03-20 00:14:56 +00:00
octacian
2a74032745 Books: Fix backwards compatibility issues
Commit c68b8274fe prevented books from
being copied in the crafting grid, and made it so that old books, though
seemingly successfully transferred to the new format, could not be written
to as the old data still persisted.
2017-03-20 00:13:31 +00:00
Auke Kok
ecf160d93d Screwdriver: simplify logic, allow wallmounted rotation.
- Allow rotation of wallmounted nodeboxes (signs) since they are
  now rotating properly.
- Instead of testing `ndef` several times, do it once, correctly.
- Simplify exception logic for nodes that have `on_rotate` set.
- For simplicity, return itemstack, always.
- Remove a useless nil check.
2017-03-20 00:12:16 +00:00
Thomas--S
6a55e150af Doors: Fix wood/glass doors not opening or closing
Some code was lost during a rebase of a recently merged commit (73e4666).
2017-03-19 00:43:12 +00:00
paramat
d2aae95c39 Leafdecay: Change Aspen radius back to 3
Although the new aspen tree schematic only requires a radius of 2 the
many existing aspen trees in a world require radius 3.
2017-03-17 05:52:06 +00:00
paramat
02921baa7a Junglegrass: Prevent seeding of dirt_with_grass
Previously you could place junglegrass on dirt to convert that dirt to
dirt_with_grass, but this is unsuitable now that rainforest has a
surface of dirt_with_rainforest_litter.
Remove junglegrass from the 'grass' group.
2017-03-17 05:52:06 +00:00
octacian
07e11427cf Keys: Fix crash when using unconfigured default:key
Since meta secret field is blank on any keys (default:key) obtained using
/give, the game will crash if you attempt to use one of these. This follows
along the principle that the game should never have any reason to crash.
2017-03-17 05:50:50 +00:00
paramat
68212967c0 Biomes: Add and auto-select mgv7 floatland biomes
A simple set of biomes for now: Ocean, coniferous forest, grassland,
sandstone desert.
Update biome lists for blob ores and decorations.

Make sandstone desert filler 1 node deeper to match other deserts.
2017-03-17 05:49:57 +00:00
Thomas--S
73e4666f28 Change doors to default.can_interact_with_node() 2017-03-16 09:11:20 -07:00
paramat
bd4d2dff1c Farming: Add override for default:dirt_with_rainforest_litter 2017-03-15 22:22:21 +00:00
Auke Kok
61d7c43c83 Skeleton key: Change to use left-click (tool on_use)
Instead of right click, the skeleton key is now a true `tool`
in the sense that it's default left-click action is to create
a key for the locked object.

This is far better than the outcome of the patches we've done
where the only way to create a key for a locked item was to
use sneak+rightclick. Now keys are perhaps a bit more sensible,
left for making keys, right for opening stuff with keys.

Fixes #1625
2017-03-15 22:22:21 +00:00
SmallJoker
780f991a87 Sapling_on_place: Restore after_place_node() calls 2017-03-15 22:18:50 +00:00
Auke Kok
1c78fd346d Sethome: Migrate sethome mod to player attributes.
Migrates settings safely and evacuates the `homes` file
entirely over time.
2017-03-15 22:18:36 +00:00
Fixer
da69fcdf91 TNT: Clarify new TNT receipe
Update readme.txt with new TNT crafting recipe.
2017-03-14 19:05:49 +00:00
paramat
37c81f70b0 Textures: New textures for silver sandstone nodes 2017-03-14 19:05:14 +00:00
Auke Kok
7b90044574 TNT: start fire nodetimers for created fire nodes.
Without this patch, any fire created(placed) by tnt explosions
will remain forever on the map.
2017-03-14 19:03:34 +00:00
SmallJoker
b87ef5ccde Keys: Update default.can_interact_with_node to new item meta
Completes a forgotten update in 9d3a526
2017-03-12 12:20:31 -07:00
paramat
07a5fca432 Leafdecay: Register leafdecay for bush leaves 2017-03-12 10:20:26 +00:00
Auke Kok
d5e19d70c2 Screwdriver: drop nodes if no longer attached.
This should be fairly cheap and pops off items if needed.
2017-03-12 10:20:19 +00:00
Dániel Juhász
efb81d188e Correct rotation of attached nodes, and rotate colored nodes 2017-03-12 10:20:19 +00:00
Auke Kok
297192dd39 Screwdriver: use table lookup for facedir rotations.
The table was generated using the old code. A table lookup
should be faster than lots of math and branches.

Allows us to drop `nextrange()` as well.
2017-03-12 10:20:19 +00:00
Auke Kok
f14b0a6ff5 Screwdriver: allow simple wallmounted rotation.
Allows rotating things like signs and torches. Axis rotation
rotates over all 6 faces, face rotation flips upside down to
flat on floor only, and of course in the 4 horizontal directions.

Made the code a bit more modular to account for different rotation
schemes. Should be easier to extend from here on to other needs,
and the functions can be reused by other mods for convenience.
2017-03-12 10:20:19 +00:00
Auke Kok
0850314d74 luacheck 0.19.0 complains about unpack(). 2017-03-11 18:38:56 -08:00
paramat
ad118ea98d Flint & steel sounds: Fix bugs caused by nil position
Usage and tool break sounds were played at 'pointed_thing.above' which
can be nil if not pointing at anything or at an entity. This caused
sounds to be played to all players on a server non-positionally.

Fallback to player pos for sounds if 'pointed_thing.above' is nil.

Replace 'pt' variable with 'pointed_thing' in 'register_tool'.
2017-03-10 19:30:18 +00:00
paramat
c52ad140ae Mapgen: Use decoration sidelen 16 for jungletrees and junglegrass
Currently jungletrees and junglegrass use sidelen 80 for simplicity,
but this results in a more uneven distribution of decorations. A more
even distribution helps keep rainforest darker with a more unbroken
canopy.
This is also more consistent. 80 is based on the default mapchunk
size, all other decorations use sidelen 16 or smaller to divide into
any mapchunk size.
2017-03-10 19:28:43 +00:00
paramat
0f0dd0f6e8 Tree schematics: Alter jungletree, aspen, pine, appletree
Denser jungletree for darker rainforest:
Highest 'jungletree' nodes now prob 255.
Add a 5th lower branch layer.
Increase lower branch layer y-slice prob to 191.

Aspen:
Extend trunk upwards by 1 node to reduce leafdecay radius to 2.

Pine:
Make lower trunk 1 node longer so that lowest branches are more often
higher off the ground, also to make pines taller.

Appletree:
Make 2 opposite branches prob 255, the other 2 prob 127, to avoid
trees with 1 or 0 branches. Therefore also add random rotation.
2017-03-10 19:28:38 +00:00
paramat
1f6d633037 Ladder recipe: Make wooden ladder recipe more generous
Increase to 5 ladders from 7 sticks.
More generous to help with vertical travel.

Divide the log core volume of 14 * 14 * 16 cubic pixels by the volume of
a ladder node with two 2 * 2 * 16 side pieces and four 2 * 1 * 16 rungs
(cut down to length 14), to get 12.25 ladders per log.
The recipe of 7 stick items is 7 / 16 = 0.4375 logs.
Ladders per 7 stick items = 0.4375 * 12.25 = 5.36.
2017-03-07 06:43:44 +00:00
rubenwardy
a16413f96c sfinv: Fix wrong tab being highlighted
Thank you to @ForbiddenJ for finding cause of the issue.
2017-03-07 06:43:18 +00:00
tenplus1
6d67badcac Screwdriver: Fix crash
If 'node_box' is nil 'node_box.type' causes a crash.
2017-03-07 06:37:33 +00:00
Diego Martínez
1d45b27c12 Add desert/silver sandstone-related blocks. (#1596)
Add desert and silver sand-related blocks, and stairs.
2017-03-06 19:03:30 -08:00
Diego Martínez
496521f4a1 Fix some warnings.
Also fixes the failing travis checks.
2017-03-05 09:27:53 +00:00
paramat
28ecb3b261 Dungeons: Use 'block' instead of 'brick' for nodebox stairs 2017-03-05 09:27:44 +00:00
octacian
c68b8274fe Show title and author of book in description
Utilizes the new key-meta (as with nodes) and the ability to set the description of an itemstack with the `description` meta key. Includes code to convert old metadata to new key-meta.
2017-02-28 18:16:55 -08:00
Auke Kok
78c632ebd4 Allow interaction with nodes while wielding these items.
- beds
- boats
- carts
- key/skeleton key
- seeds

All these had on_place handlers that did not allow nodes with
an on_rightclick() handler to be used first (if not using
sneak). This code is taken from the torches mod and applied
everywhere.

This allows all these items to e.g. be inserted into the `frame`
mod's item frames.
2017-02-28 18:16:12 -08:00
paramat
d1b132555b Biomes: New surface node for rainforest
Moist rainforest plant litter.
Textures by npx.
2017-02-28 05:32:19 +00:00
octacian
9d3a526324 Keys: Show owner in description
Utilizes several new features allowing the description of an item to be changed using the `description` meta key. This also moves keys from using the old single-value itemstack metadata system to the new node-like metadata system.
2017-02-27 19:00:14 -08:00
paramat
bb18eeccaf Corals: Smaller, less dense reefs 2017-02-25 03:52:31 +00:00
paramat
d5f1f964e3 Lavacooling: Return to chance = 2
Return to previous parameters interval = 1, chance = 2.
Compensates for the increase in default active block radius.
Large amounts of lava cooling at once is known to overload sound
creation, producing error messages.
2017-02-25 03:52:26 +00:00
paramat
1ec31d8472 Torches: Reduce light source level from 13 to 12
As part of the original plan for a new lightcurve.

With the old lightcurve lights were so dim all light sources had light
source level 13 or 14 to compensate, resulting in almost no difference
between torchlight and a maximum brightness light.

The new lightcurve makes all light sources effectively much brighter by
spreading visually-bright light further, torches are now slightly too
bright. So now we can reduce the light source level of torches while
actually making them effectively brighter than with the old lightcurve.
This also creates a desirable difference between torchlight and a
maximum-brightness light source.
2017-02-25 03:52:19 +00:00
MarkuBu
60e5b299af Leafdecay: Node timer based implementation, API
This implements a node-timer based leafdecay mechanism, and exposes
an API to use it in mods.

The API is documented in game_api.txt.

`default.register_leafdecay(leafdecaydef)`

`leafdecaydef` is a table, with following members:
{
	trunks = { "default:tree"}, -- nodes considered trunks
	leaves = { "default:leaves", "default:apple"}, -- nodes considered leaves
	radius = 3, -- activates leafdecay this far from the trunk
}

The algorithm will drop `leaves` items in the area if no `trunks` are found
in the `trunk_radius` sized area around the position of the leaf. If a node
listed in `leaves` has a group `leafdecay_drop > 0`, then the item is dropped,
otherwise the item is removed but not dropped.

The algorithm also implements a value `default.leafdecay_speed` (default
15) which can be modified to increase or decrease of the leaf decay. The
algorithm will vary the actual speed a bit to introduce randomness.

Leaf decay is randomized by 0.1 seconds to reduce the chance that
decay happens many times on the same second interval. This requires
nodetimer_interval to be set to values lower than 1.0 to have an
effect.

The leaves will decay between 2 and 10 seconds after digging the trunk,
and happen at non-integer second intervals.

-- The API was added by sofar.
2017-02-25 03:50:15 +00:00
Thomas--S
37dd910747 Globalize, rename and change the behaviour of has_locked_chest_privilege
* rename to default.can_interact_with_node()
* pass pos instead of meta
* change order of arguments
2017-02-21 10:17:12 -08:00
SmallJoker
89c45993ac Carts: Fix the rail table overwrite behaviour 2017-02-12 11:39:52 -08:00
paramat
0819d4bade Visual scale: Update plantlike nodes to post-bugfix values
Plantlike drawtype no longer applies 'visual scale' twice, so now we
use the actual scale factor desired.
Remove unnecessary 'visual_scale = 1.0' lines.
2017-02-12 01:27:34 +00:00
octacian
f6dfa4a1cb Waterlily: Avoid z-fighting of base texture with water surface
Avoid z-fighting visible from below.
Raise the nodebox base 1/64th of a node.
2017-02-12 01:23:53 +00:00
rubenwardy
e3dd3d19cd Add sfinv.set_page, plus other helper functions 2017-02-10 23:54:57 +00:00
Paramat
86849d9eec Default: Add nodebox mese post light usable as a growlamp (#1480)
Light level 14 to be able to grow plants.
3 returned from crafting with 1 glass node, 3 mese crystals and 1
wood plank.
Seamlessly placable on appletree wood fence posts.
2017-02-08 16:01:30 -08:00
Thomas--S
c88c0a98fd Make drop logic work better for non-8-step-plants. (#1544)
Using @paramat's formula.
2017-02-08 15:59:25 -08:00
paramat
2e950ac61c Mapgen: Dedicated registrations for mgv6 blob ores
Now that biomes are being specified for blob ores we need a separate
set of blob ore registrations for mgv6 which has no Biome API biomes
defined.
Various minor improvements to mapgen.lua.
2017-02-02 17:20:53 +00:00
paramat
2b215848d8 Trees: Add 'snowy' group for pine sapling snow detection
Use the 'snowy' group in the 'is snow nearby' function instead of
default nodes. Often snow nodes are not from the default mod.
2017-02-01 17:51:44 +00:00
paramat
e86955afae Creative: Cache creative mode setting 2017-02-01 17:51:35 +00:00
paramat
d560f59a74 Ores: Add silver sand blob ore, relocate other blob ores 2017-02-01 17:51:22 +00:00
rubenwardy
b06368adf2 Fix node drops not being added to inventory when not in creative mode 2017-01-27 19:48:59 +00:00
paramat
1dd9fdb530 Dungeons: Add mapgen alias for desert stone stairs 2017-01-26 17:56:16 +00:00
number Zero
38500da655 Stairs: Fix smooth lighting of stair mesh 2017-01-26 17:55:16 +00:00
rubenwardy
bee5b316a8 Creative: Add creative.is_enabled_for 2017-01-26 17:54:45 +00:00
paramat
ae426878d4 Sounds: Remove 'default_dig_crumbly' from leaves defaults table
Now that the missing 'default_dig_snappy' sound has been added we can
remove the dirt dig sound from the table. All nodes that use the
leaves defaults table have group 'snappy' so 'default_dig_snappy' now
becomes their default dig sound.
2017-01-22 07:47:04 +00:00
Martin Doege
eb1805ea0a Textures: Strip color profiles from some textures
Removes the "iCCP: known incorrect sRGB profile" error messages on the
console when starting minetest_game by stripping offending color profiles.
2017-01-22 07:43:12 +00:00
Auke Kok
1104d571b0 TNT: Log explosions and player igniting tnt or gunpowder 2017-01-19 21:57:34 -08:00
Auke Kok
6dcf541f6e Revert "Doors: Remove ..." and "Doors: Allow the screwdriver to ..."
This reverts commit 5e4a6e8ac6, and
             commit 60cf3f85b6.

The original door API rewrite I posted had all rotation disabled using
the correct on_rotate() handler returning `false`. Two subsequent
changes attempting first to enable simple rotation and second disabling
that again changed the callback handler to a boolean `false`, which
is incorrect use in the screwdriver API, and actually allows rotation.

The proper way to disable rotation for facedir nodes it to use a full
callback handler that does `return false`.
2017-01-15 17:43:17 -08:00
paramat
1470b9df79 Tree log decorations: Replace lua tables with .mts files 2017-01-15 04:29:56 +00:00
Lars Hofhansl
8715b83ff0 Fire: Make explosions remove flames
TNT removes flammable nodes from the destruction radius and should
remove flames within it too because they lose their fuel and would
be removed by ABM later anyway.
2017-01-15 04:24:01 +00:00
Baptiste Pouget
57eb906047 Add support for custom bed sounds 2017-01-12 12:42:38 -08:00
Auke Kok
df19b4eab0 Dye: Simplify recipes.
Create a simple triplet table (src1, src2, dst) for all the dye
recipes and group them logically, with a bit of explanation where
they actually come from.

This prunes a lot of recipes from the list, but the old list had a
ton of combinations that did not make any sense, as well as recipes
that were just gross approximations and duplicates, mixing the same
color with itself just to get the same color back, which just wastes
packets at logon.

The list has been checked to allow all colors created from the basic
dyes (flowers+coal) so that all colors can be crafted.
2017-01-11 23:53:44 -08:00
paramat
c8b1671ef0 Default: Alter sand to sandstone recipe
Craft 4 default:sand to default:sandstone.

Previously, 4 group:sand was craftable to sandstone and sandstone was
craftable back into default:sand, allowing silver and desert sands to
be converted into incorrect colour sandstone and yellow sand.
2017-01-07 22:01:36 +00:00
paramat
96aac5ff5b Fire: Reduce flame light level to 13 2017-01-07 22:01:30 +00:00
paramat
b6889134d3 License.txt: Include full official LGPL 2.1 .txt file
Copy-paste and only remove form-feed characters.
2017-01-07 22:01:24 +00:00
rubenwardy
cadc8b34d7 Add /killme chat command
Added as a new mod as it doesn't fit anywhere else.

This is a game play change, so it better suited to
Minetest Game rather than builtin

Fixes #857
2017-01-07 22:01:19 +00:00
rubenwardy
48ab62db88 Make doors place when shift is held instead of calling on_rightclick
Fixes #1364
2017-01-03 16:54:01 +00:00
rubenwardy
9ab50702fb Add LICENSE.txt 2017-01-02 18:38:36 +00:00
paramat
42700a4b4b Default: More generous meselamp recipe
Require only 1 mese crystal instead of 3.
To make farming in dark locations easier.
To reduce and balance recipe ore cost.
2017-01-02 18:31:01 +00:00
SmallJoker
8bc93598c6 Papyrus, cactus: Require light level 13 for growth 2017-01-02 18:30:05 +00:00
DS-Minetest
f07c4dcd83 Decrease the cost of gunpowder for trails
The cost of TNT remains the same
2017-01-01 23:41:04 +00:00
paramat
3c9d0893ee Boats: Avoid crash if boat pos over limit
If the boat pos is over limit, 'add entity' will not add an entity,
causing 'boat' to be nil.
2016-12-21 13:42:23 +00:00
paramat
12b1541971 Sounds: Edit some sound gains, mostly footsteps
I recently made glass footstep and dig gains too low, raise slightly.
Change dirt dug gain from above-maximum 1.5 to maximum 1.0.
Reduce gain of footsteps: stone, dirt, gravel, wood, metal
Raise gain of leaves footstep.
2016-12-17 20:02:40 +00:00
Auke Kok
e5c5c2637e Furnace: Attempt to fix exploits
The fuel would remain active even if source went empty, giving
free cook time to newly inserted items. This patch is supposed
to stop this.
2016-12-17 20:01:46 +00:00
paramat
55a16cd2c6 Default: Add missing 'default_dig_snappy' sound
Some nodes with the snappy group (wool, glass pane, seeds) were missing
sound when dug with a sword.
Adding the sound causes it to be used for glass pane, so define a 'dig'
sound in the 'node sound glass defaults' table, use the footstep sound.
Adding the sound also causes it to be used for seeds which deliberately
have no dig sound, so add an empty sound override for seed dig.

Reduce the gain of the glass footstep sound which was excessively loud.

Add some freesound members to license.txt.
2016-12-13 03:15:30 +00:00
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
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
paramat
41a3345718 Default: Update and set volume of damage sounds
Use 'player damage' sound for both damage and falling damage.
Gains for damage sounds are set in the engine, however we cannot change
those gains as other subgames already use damage sounds based on those
gains.
Sound has been re-edited from source and normalised to 0 dB for
maximum volume, which is only just enough because gain is fixed at 0.5
in the engine.
2016-10-25 04:22:12 +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
Auke Kok
fa9a34554b Default: Add metal sound table function and metal sounds 2016-10-25 02:34:39 +01:00
paramat
f7325d26b6 Fire: Add flint and steel sound 2016-10-24 04:55:08 +01:00
paramat
9b62d8a504 Default: Add damage and falling damage sounds 2016-10-24 04:55:03 +01:00
Fernando Carmona Varo
bcb4426ec7 Default: Destroy flammable items when in fire or lava
The check for igniters (fire/lava) will be performed every 10 secs
if the item is flammable.

if the item is found to be in lava it will then burn up and
disappear in a smoke puff.

If a non-lava igniter node is found, a combination of `flammable`
value of the item and `igniter` group value of the node will be used
to determine the chance for the item to be removed.
2016-10-23 03:48:37 +01:00
paramat
4ea74466e4 Default: Fix 'leaves simple', 'jungleleaves simple' textures
'jungleleaves simple' had completely different leaf colours to
'jungleleaves', now matched.
'leaves simple' had dark green instead of black colour for transparent
pixels (the 'leaves' texture uses black), normally these pixels would
not be rendered as opaque colours but bush nodes now use this texture
and will be rendering it as opaque. The dark green pixels resulted in
a texture lacking in contrast.
2016-10-18 05:53:45 +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
7b30c26a45 Bucket: Add optional 'force-renew' bool to registration
River water needs to be 'liquid_renewable = false' to avoid a mess caused by
spreading of sources, however picking it up with a bucket then creates
a hole in the river. Allow a 'force-renew' of the source node if it has a
source neighbour.
2016-10-12 04:11:36 +01:00
bas080
78311a27a1 Store registered plant on namespace
Handy for when modders want to use these definitions to extend or add to the mod
2016-10-12 00:14:11 +01:00
tenplus1
6fdfd2554c Tnt: Various optimisations
Pass nodename to tnt.burn function where possible to reduce
use of 'get_node'.
Change 'ipairs' to 'pairs'.
Use 'nodeupdate_single(pos)' instead of 'nodeupdate(pos)' to
avoid every node triggering recursion, the loop itself takes
the place of recursion and works upwards through horizontal
planes as required.
2016-10-10 03:16:41 +01:00
rubenwardy
53179b8d10 Creative: Use element instead of parameter to disable close on enter 2016-10-08 18:02:14 +01:00
paramat
1906ab84f5 Default/functions: Tune speed of grass spread ABM
Through testing the chance is changed to 50 such that grass spread
speed matches that of the previous (0.4.13) ABM version.
2016-10-05 22:24:02 +01:00
Tim
1799754a8f Default: Prevent possible nil-crash on invalid book metadata 2016-10-05 22:23:49 +01:00
Tim
32f7051eb8 Fix sapling placement handling of on_rightclick and CONTENT_IGNORE 2016-10-05 22:22:15 +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
5e4a6e8ac6 Doors: Remove ability to rotate doors with screwdrivers
Rotating doors with screwdrivers causes too many issues to be worth it.
2016-09-30 02:44:24 +01:00
DS-Minetest
36a78c87d7 Default/player.lua: Remove outdated comment 2016-09-30 02:43:11 +01:00
tenplus1
0ad3306c79 Farming: Remove unnecessary overriding of groups
This removes the group overrides for dirt, dirt_with_grass and dirt_with_dry_grass which aren't needed and interfere with new grass spreading changes: https://github.com/minetest/minetest_game/pull/1286
2016-09-27 17:03:50 +01:00
paramat
0f6e75bcb5 Add settingtypes.txt for Minetest Game
Commit originally by PilzAdam.
Settings appear in advanced settings menu.
2016-09-23 18:24:54 +01:00
paramat
3e05870706 Doors: Trim open fencegate collison box again
The collision box still extended into a neighbouring empty node, causing
falling node objects to collide but not transform back into normal nodes.
Completes the fix started in a previous similar commit.
2016-09-23 18:24:47 +01:00
paramat
34c768d394 Default: New snow textures by Gambit
From PixelBOX2 texture pack.
Brightness increased for 'snow' and 'snow side'.
2016-09-14 06:02:16 +01:00
Auke Kok
b848e35ca5 Stairs: Big simplification of slabs combination
Combine slabs if identical based on orientations using a simple lookup
table if the nodes are identical.

Otherwise relies on place_node() to place the node, which properly
handles rotation compared to adjacent nodes already, and can orient
based on look_dir as well.

Initial slabs placed are oriented based on (1) the orientation of
the pointed "face" (assumes nodes are cubic, of course), and uses
the player look direction to orient the node n/e/w/s if the slab
is horizontal or upside-down. If placed against a vertical face,
the slab is placed against the face without rotation around the axis
perpendicular to that vertical face. This allows upside down placement
and vertical placement without screwdriver.

If a slab is placed on top of an upside down slab, or below a normally
placed slab, the rotation is inverted so that no "floating" slab
is created.

Largely based on kilbith's #807 PR. Slab combining and place_node()
usage by sofar.

Since this relies entirely on `on_place` mechanics, this fails to
combine slabs into a plain node if the space *above* is occupied.
This is unavoidable due to the fact that on_place() happens after
the checks required to see if pointed_thing.above is empty or not.
2016-09-14 06:01:04 +01:00
tenplus1
0cbb516ae2 Bones: Search for nearby 'air' for fallback bones placement
When a player dies on ladders or rope then a space can not be found at or
above player, so this change looks around player for a space to place bones.
2016-09-10 05:19:15 +01:00
Auke Kok
54235f3276 Xpanes: Convert to connected nodeboxes
I've rewritten this to use connected nodeboxes, but with a caveat. In
order to make flat nodes look better, I'm keeping one non-connected
pane that is flat around to convert flat sections to the flat nodes
instead of connected, as these look better and are easier to work
with. Once more sides are needed we convert the panes on the fly to
connected nodes and recalculate the shape.

We don't paint any of the half-panes that the previous generation of
xpanes did. There's no need and it's harder to work with. Updating the
nodes also seems more natural and placement and removal works straight
forward.

The conversion of old panes relies on an LBM, and does a reasonable
conversion job, but it's not exact, since the panes behave slightly
different now.

The game API documentation was wrong to begin with. We discard param
nr. 2 of the API entirely, and correct the tile usage text.
2016-09-10 05:18:02 +01:00
paramat
992f295880 Licenses: (Part 4) Remove overlooked WTFPL text. Cleanup 2016-09-08 06:17:05 +01:00
paramat
6171fb43f0 Change WTFPL to MIT (part 3)
Relicense WTFPL media to CC BY-SA 3.0.
Various corrections and edits.
2016-09-07 04:44:53 +01:00
paramat
7d70d25eeb Licenses: Change WTFPL to MIT (part 2)
Add license.txt files.
Update and improve README.txt files.
Corrections to part 1.
2016-09-06 04:45:23 +01:00
paramat
e9d26e2ee3 Licenses: Change WTFPL to MIT (part 1)
Part 1: All mods except default and xpanes.
Add license.txt files.
Add missing README.txt files.
Check and update copyright years for all contributors.
Improve text format and make more consistent.
2016-09-05 05:54:33 +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
Auke Kok
1d6fbe04cd Default/furnace: Indicate dst full
Indicate in the infotext when a furnace has filled up `dst` but still
has fuel. The info text shows the item as 100% with added "(output
full)" text, indicating that while it can cook the item, there is no
place for it in the `dst`. Emptying the `dst` should make the item
cook immediately and furnace resume normal operation.
2016-09-03 01:08:29 +01:00
paramat
0664570d22 Creative: Make dig times near-identical for nodes of all levels
Dig time is modified according to difference (leveldiff) between tool
'maxlevel' and node 'level'. Digtime is divided by the larger of leveldiff
and 1. In creative mode, where the hand is redefined to have maxlevel 3,
this results in higher level nodes taking significantly longer to break.

Now, to speed up digging, hand 'maxlevel' and 'digtime' have been
increased such that nodes of differing levels have an insignificant
effect on digtime. Dig time for all nodes is now identical to that of, for
example, dirt nodes.
2016-09-03 01:07:49 +01:00
Pinky Snow
5e9e3f7e84 Default: Eliminate redundant 'get modpath' calls 2016-08-29 00:31:18 +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
rubenwardy
471d1cf159 Add search on enter press to creative inventory 2016-08-27 21:24:07 +01:00
Megaf
3be2f12beb Flowers: Add missing aliases for mushrooms from the mushroom mod 2016-08-22 00:43:04 +01:00
paramat
cabf80b743 Fire: Use 'enable fire' setting instead of 'disable fire' 2016-08-20 04:29:32 +01:00
pithydon
088385493a Default: Improve fences inventory/wield images 2016-08-20 04:27:48 +01:00
tenplus1
1b745d401d Default/trees: Faster 'is snow nearby' function
Use 'find node near' instead of 'find nodes in area'
2016-08-15 20:43:19 +01:00
paramat
2ecbc43a7a Default: Optimise and simplify leafdecay ABM, remove cache
With thanks to contributor tenplus1
Remove leaf cache and globalstep accumulator limiter
Use 'pos' instead of 'p0'
Remove non-essential 'group:liquid' from 'neighbors'
Increase chance value to 10 to compensate for disabled cache
Disable 'catch-up' to avoid the ABM often becoming 10 times more
intensive
Remove use of 'do preserve' bool, instead simply 'return'
Remove unnecessary checks for 'd' and 'd == 0'
Don't 'get' n0, use already present 'node' instead
Swap order two conditionals so that the one most likely is first
2016-08-15 20:42:50 +01:00
tenplus1
619ac52693 Add labels to ABMs
Useful for searches and the mod profiler.
2016-08-09 03:56:37 +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
tenplus1
14b99a72a9 Tnt: Limit blown up dropped stacks to stack_max
This replaces the hardcoded 99 item limit and instead uses the
get_stack_max() limit for each item.
2016-08-09 03:48:01 +01:00
Tim
76211624ac Use minetest instead of core namespace, discourage via luacheck 2016-08-09 03:47:27 +01:00
Tim
b408e9cce6 Let Travis-CI automatically run luacheck on the game 2016-08-09 03:47:11 +01:00
Tim
20fa037313 Screwdriver: disallow rotation with on_rotate = false
Other screwdriver mods, or mods that cause rotation, might operate without the screwdriver mod loaded and have `screwdriver.disallow` unavailable.
This allows nodes to default to full-disallow rather than full-rotation in such a situation.
2016-08-05 20:41:24 +01:00
Tim
60cf3f85b6 Doors: Allow the screwdriver to rotate doors around y-axis.
Keep other axis' disabled to prevent the hidden placeholder node to become irremovable to players.
2016-08-05 12:34:46 +02:00
tenplus1
6c83ea0b48 TNT: Fix bug with huge stacks
This fixes the TNT bug that can crash game when blowing up a container
which holds huge stacks above the norm... e.g. give yourself 65535 snow,
place in chest, blow up, stalled!
2016-08-04 03:21:55 +01:00
paramat
265c40b558 Doors: Trim open fence gate collision box
Previously, the collision box extended into an empty node, causing
falling node objects to land on the open gate but not transform
back into normal nodes. Now fallng node objects will fall through and
either side of the end of the open gate and transform back.
2016-08-04 03:21:09 +01:00
Tim
00c2dde4ea Doors: Fix potential crashes, code improvements
Fix crash when doors are placed under unknown nodes.
Share a can_dig among doors, that does not crash on nil-player.
Only set can_dig if we actually protect the door.
2016-08-01 01:21:57 +01:00
paramat
4fba897a96 Bones: Improve bones textures
Add mouth, remove jaw shadow, shade eyesockets.
Darker shading for spine and rotate texture using ^[transform2
instead of inverting texture.
Use 'node sound gravel defaults' for sounds.
2016-08-01 01:20:27 +01:00
SmallJoker
ea49eb3f3d Beds, boats: Replace deprecated get_look_yaw/set_look_yaw 2016-07-27 21:39: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
tenplus1
2df7ce20dd Bones: Ability to change bones mode. Tidy up code
Add 'bones_mode' setting to minetest.conf -> Modes: bones, drop, keep
Remove table 'bones'
Add minetest.conf.example description
Remove protection check from may_replace
2016-07-27 21:37:49 +01:00
paramat
db129f4ca0 Flowers: Fix waterlily on-place itemstack code
Add 'record_protection_violation()'
2016-07-23 04:56:49 +01:00
Thomas--S
72f4c6be48 Doors: Fix orientations of trapdoor textures 2016-07-23 04:56:09 +01:00
paramat
79dbafc13b Nyancat: Fix texture names 2016-07-18 23:47:14 +01:00
paramat
1a2eb89f17 Default/trees: Update to 'get_mapgen_setting()' 2016-07-18 23:47:14 +01:00
Thomas--S
f018e06d9b Doors: Fix trapdoor on_blast
Removing the node above was an error and is unnecessary
2016-07-18 23:45:48 +01:00
Thomas--S
9862bbc8e5 Doors: Same naming for trapdoors as for doors
This makes register_trapdoor act the same as the register_door.
If `name` isn't prefixed, it will be prefixed with "doors:".
2016-07-18 23:43:51 +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
0bd13d11cf Doors: Make door groups consistent with corresponding materials 2016-07-15 22:01:20 +01:00
adrido
d89bb69a22 Beds: Only register respawn callbacks if respawn is enabled 2016-07-15 22:00:57 +01:00
Tim
9524ff67a3 Clean up fire ABM parameters. 2016-07-15 21:58:49 +01:00
Tim
30b0a155fb Stop shadowing upvalues and definitions. 2016-07-15 21:58:49 +01:00
Tim
4473627de0 Remove unused and clean up missused variable-value assignments.
* Unused variables
* Unused values (assigned to variables, but overwritten before use)
* Defining already defined variables instead of reassigning to them.
2016-07-15 21:58:49 +01:00
tenplus1
d7a7456007 Beds: Save respawn position when entering bed, only read bed spawns once
No longer require night to be skipped for resawn position to be saved
Remove constant beds.read_spawns() calls when a player joins as this
is only required once
2016-07-13 14:45:30 +01:00
Tim
b74954969c Doors: Fix missing node parameter passing 2016-07-13 14:45:18 +01:00
paramat
07141b4a2e Bones: New textures 2016-07-10 21:08:01 +01:00
Tim
fcceec0e8c Doors: Fix trapdoor crash on can_dig with nil-player (e.g. minetest.dig_node) 2016-07-10 21:07:17 +01:00
tenplus1
f1f96dbe6b Default/trees: Faster way to detect snow around pine saplings
Instead of using voxelmanip use 'find nodes in area' instead
2016-07-10 20:50:40 +01:00
Tim
594365310d Doors: Remove unnecessary node lookups 2016-07-09 16:34:28 +01:00
Tim
71c7e21669 Always return the leftover ItemStack for on_place and on_rightclick 2016-07-09 16:32:41 +01:00
paramat
e38099225c TNT: Add missing 'then' 2016-07-07 19:22:26 +01:00
Tim
5644ab4bd3 Bucket: Allow liquid placed against unknown nodes instead of aborting abnormally 2016-07-07 19:22:13 +01:00
Tim
fe450b4144 Bucket: Prevent crashing when placing liquid against a buildable node into an unknown node 2016-07-07 19:21:46 +01:00
paramat
3d44804074 Doors: Code cleanup
Remove spaces inside curly brackets
Split lines over 90 columns
2016-07-07 18:14:36 +01:00
paramat
60f6564c75 Doors / default: Remove 'hot', 'bendy' and 'melty' groups from nodes 2016-07-07 18:14:36 +01:00
paramat
f17d791173 Default, flowers: Use 'get_mapgen_setting()' 2016-07-07 18:14:36 +01:00
tenplus1
497e6f6257 TNT: When disabled leave some useful functionality enabled
- Only remove the TNT craft recipe, tnt:tnt node and the ABM
- Leave tnt:tnt_burning available for explosions in 3rd party mods
2016-07-07 18:10:57 +01:00
tenplus1
98551edd94 Game_api.txt: Add position table reference 2016-07-05 18:18:45 +01:00
tenplus1
c5b0fe72ea Game_api.txt: Add API information for sethome functions
- Documentation for sethome.get, sethome.set and sethome.go
2016-07-05 18:17:22 +01:00
paramat
d42f77cc5f Default/mapgen: Simplify iron ore registrations
Preserve overlapping registrations of large and small clusters
below y = -64 but now extend the small clusters up to y = 0 (the
previous highest iron ore level) in a similar to way to coal
2016-07-05 18:16:52 +01:00
paramat
d476d017a4 Default/mapgen: Add ores above y = 1024
Each ore's rarity is equal to that occuring below y= -1024
2016-07-05 18:16:52 +01:00
paramat
1886d293d7 Default/mapgen: Clean up ore registrations
Re-order registrations
Add and improve comments
Change sand blob ymax to 0 as sand does not always rise above 0
Remove dirt blobs from sandstone as it is unsuitable for
many sandstone biomes and ugly in stony sandstone desert
Change ymax of first iron region to 0
2016-07-05 18:16:52 +01:00
tenplus1
21b457c9e1 Bucket: Correct liquid placing in protected areas
- Placing liquid inside a protected area no longer returns an empty bucket
- Remove on_place function, tidy up code, return proper itemstack
- Shorten code (changes from HybridDog/patch-35)
2016-07-05 18:15:35 +01:00
tenplus1
80d49095f5 Tidy sethome code, add global functions, round coords to 1 decimal
- Global functions sethome.set(name, pos) , sethome.get(name) and sethome.go(name)
- Tidy: trim coords to one decimal place and write to table and output table in one go.
- Add error checking
- Add t4im's homepos loader
2016-07-03 18:40:43 +02:00
paramat
f4f9e58ef2 Flowers: Make waterlily floodable
When waterlilies are placed near river water source make flowing river
water remove waterlilies instead of flowing around them in an ugly way
2016-07-01 07:05:53 +01:00
Thomas--S
55fd286083 Doors: Remove use_texture_alpha from door definition 2016-07-01 07:05:19 +01:00
HybridDog
1231f72628 Wool: Use adv- and optipng to optimise texture files 2016-07-01 07:03:17 +01:00
HybridDog
15b82f5b03 Wool: Clean up code 2016-07-01 07:02:38 +01:00
paramat
f796194c69 Doors: Add dedicated sounds for glass doors
Changed node sounds for steel door/trapdoor to stone
defaults instead of wood defaults
2016-06-27 05:32:36 +01:00
paramat
84e4ae1881 Default: New aspen tree schematics 2016-06-27 05:32:36 +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
tenplus1
6bf552eb10 Creative: Document creative.formspec_add in game_api.txt 2016-06-27 05:28:43 +01:00
paramat
983af7b1c0 Stairs: Code cleanup, fix various errors
Improve registration format
Fix groups not matching corresponding full node
Improve some descriptions
2016-06-26 06:11:16 +01:00
paramat
22dc7b2d9e Stairs: Register stone / desert stone / sandstone / obsidian blocks 2016-06-26 06:11:16 +01:00
Tim
cd5893db02 Gitignore: Update to ignore additional ide/editors 2016-06-26 06:10:49 +01:00
paramat
9d6df824d6 Default: Add stone / desert stone / sandstone / obsidian blocks 2016-06-25 06:58:18 +01:00
paramat
5809c28ae3 Stairs: Stair recipe returns 8 stairs not 6
Make it consistent with the slab recipe which conserves volume
2016-06-22 02:12:57 +01:00
Xunto
e77ef553ff Default: Fix character model uv-mapping
Arm and leg textures are now edge-consistent
2016-06-22 02:12:11 +01:00
paramat
1fafed3387 Default: Remove mortar from stone brick, desert stone brick 2016-06-22 02:10:52 +01:00
Yutao Yuan
e0bec501f2 Flowers: Fix misaligned waterlily texture
Previously waterlily has misaligned top and bottom textures and looks
different when viewed from below.

This also hides the flower in bottom texture.
2016-06-21 02:21:00 +01:00
Auke Kok
3e9afe097c Doors: Clean up nodedef usage
Allows for more properties to be passed through. Somewhat simplifies
the code as well.
2016-06-21 02:20:47 +01:00
cd2
5775c9147c Farming: Add negative fall_damage_add_percent to straw
This doubles the fall height without damage to 11 nodes.
2016-06-17 23:43:41 +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
50eb079813 Creative: Add missing 'formspec_escape' to fix bug
Symbols used in search caused the game to hang with a grey screen,
for example searching for 'diamond;ingot'
2016-06-14 23:29:21 +01:00
paramat
da0fe31443 Boats: Raise collisionbox top surface to fix boat behaviour
Lowering the top surface to be level with the boat top somehow
causes the boat to fall through world if underwater. Revert to
previous position that is needed for correct behaviour
2016-06-14 23:29:21 +01:00
Auke Kok
2199be5108 Stairs: Add mossy cobble slab and stair
Allow water to turn cobble slab and stairs to turn into mossy versions.

There is no crafting recipe for mossy stairs and mossy slabs, the
stair/slab API has been modified to allow for a recipeitem that
is `nil`, which will omit adding a crafting recipe for these two
items. The API documentation is updated.

The slabs and stairs will turn mossy when water is adjacent, just like
cobblestone. You can either farm mossy versions by placing them in
water for a while, then collecting them, or run water over your craft.
2016-06-14 23:28:17 +01:00
paramat
b5ea7d17b2 Mapgen: Add biome fields for riverbed node and depth 2016-06-05 19:15:50 +01:00
Auke Kok
dcf2465441 Farming: allow LBM's for other mods as well.
Fixes #1114
2016-06-04 13:39:58 +01:00
paramat
6386684f3e Fire: Ignite tnt, gunpowder, permanent flame above coalblock
Enable ignition of tnt, gunpowder and permanent
flame above coalblock using flint and steel
Override coalblock to remove flame above when dug
Add depends.txt for default mod
2016-06-04 13:39:00 +01:00
Auke Kok
ba33639887 Doors: Pass pointed_thing to on_rightclick() callback
This is an omission technicality. The callee should be able
to trust this isn't `nil`
2016-05-30 11:55:12 +01:00
paramat
541b2d79c7 Default: New mese texture. Add missing texture credits
Mese texture is a classic-mese-yellow version
of celeron55's texture used in MTv0.4.0
Add missing texture credits for mese crystal
and mese crystal fragment
2016-05-30 11:54:24 +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
d61803b65f Fire: move fire node removal out of ABM.
Because the fire nodes are not removed 100% when there are
no more burnable nodes nearby, they can potentially stay around
for very, very long times, leading to ABM trains every 5 seconds
for no good reason (only 1 in 16 will be removed every interval).

A much better method to remove fire nodes is to remove them by
timer, and give removal a 100% chance if no flammable nodes are
adjacent. This makes fire cleanup a lot faster and more natural,
and will reduce the amount of ABM hits making fire overall more
responsive.

We also remove the 1 in 4 chance and fold the removal of flammable
nodes into the ABM chance.

There's some low hanging fruit cleanups in here as well.
2016-05-28 15:11:31 +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
Auke Kok
70ef7864c1 Farming: Convert plants to use node timers
This PR requires @minetest/minetest#3677

Farming and plant growth has traditionally in minetest been
implemented using ABM's. These ABM's periodically tick and cause
plants to grow. The way these ABM's work has several side effects
that can be considered harmful.

Not to mention a comprehensive list of downsides here, but ABM's
are chance-dependent. That results in the chance that some nodes
potentially never get processed by the ABM action, and others get
processed always. One can easily find this effect by planting a large
field of crops, and seeing that some nodes are fully grown really
fast, and some just won't make it to fully grown status even after
hours or play time.

One could solve the problem by making the ABM's slower, and giving them
a 100% of action, but this would cause the entire field to grow a step
instantly at ABM intervals, and is both ugly, and a large number of
node updates that needs to be sent out to each client. Very un-ideal.

With NodeTimers though, each node will see a separate node timer event,
and they will likely not coalesce. This means that we can stop relying
on chance to distribute plant growth, and assign a single timer event
to grow the plant to the next phase.  Due to the timer implementation,
we won't ever miss a growth event, and we can re-scehdule them until
the plant has reached full size.

Previously, plants would attempt to grow every 9 seconds, with a
chance of 1/20. This means typically, a plant would need 9*20 seconds
to grow 1 phase, and since there are 8 steps, a typical plant growth
would require 9*20*8 ABM node events. (spread out over 9*8 ABM actual
underlying events per block, roughly).

because plants are likely not growing to full for a very long time
due to statistics working against it (5% of the crops take 20x longer
than the median to grow to full, we'd be seeing ABMs fire possibly
up to 9*20*8*20 with a 95% confidence interval (the actual math
is likely off, but the scale should be correct). That's incredibly
wasteful. We'd reach those conditions easily with 20 plant nodes.

Now, after we convert to NodeTimers, each plant node will see exactly
8 NodeTimer events, and no more. This scales lineairly per plant.

I've tuned the growth rate of crops to be mature in just under 3
whole days. That's about 1hr of game time. Previously, about half
the crops would grow to full in under 2 days, but many plants would
still not be mature by the end of day 3. This is more consistent.

An additional problem in the farming mod was that the final fully-grown
plant was also included in the ABM, causing infinite more ABM's even
after the entire field had grown to completion.

Now, we're left with the problem that none of the pre-existing plants
have actual node timers started on them, and we do not want a new ABM
to fix this issue, since that would be wasteful.  Fortunately, there
is now an LBM concept, and we can use it to assure that NodeTimers
on crop nodes are properly started, and only have to do the actual
conversion once per block, ever.

We want to provide a fairly similar growth rate after this conversion
and as such I've resorted to modelling some statistical data. For this
I created a virtual 32x32 crop field with 9 steps (8 transitions)
as is the default wheat crop. We then apply a step where 1 in 20
plants in the field grows a step (randomly chosen) and count the
number of steps needed to get to 25%, 50, 75% and 95% grown.

The resulting data looks as follows:

25% - ~120 steps * 9 sec / abm = 1080s
50% - ~152 steps               = 1368s
75% - ~194 steps               = 1746s
95% - ~255 steps               = 2295s

Next, we want to create a model where the chance that a crop grows
is 100% every node timer. Since there will only be 8 steps ever,
we want the slowest crops to grow in intervals of ~ 2300 / 8 seconds
and the fastest 1/4 of crops to grow 1080 / 8 seconds intervals.
We can roughly compare this to a normal distribution with a median
of 1400 with a stddev of ~350 (thick fingering this one here).

The rest is a bit of thick-fingering to get similar growth rates,
taking into account that ABM's fire regularly so if they're missed
it's fairly painless, but our timers are going to be 1-2 minutes
apart at minimum. I calculate the timer should be around 150s
median, and experimented with several jitter ranges.

Eventually I settled for now on [80,200] with a redo of [40,80],
meaning that each growth step at minimum takes (80 to 200) seconds,
and if a negative growth condition was found (darkness, soil not
wet, etc), then the growth step is retried every (40 to 80) seconds.

The end result is a growth period from seed to full in ~ 2.25
minetest days. This is a little bit shorter than the current
growth rate but the chances you'll miss timer ticks is a bit
larger, so in normal gameplay it should be fairly comparable.

A side effect is that fields grow to full yield fairly quickly
after crops make it to mature growth, and no crops are mature
a very long time before the majority grows to full. The spread
and view over a growing field is also fairly even, there's no
large updates with plenty of nodes. Just a node here or there
every second or so in large fields.

Ultimately, we get rid of ABM rollercoasters that cause tens of
node updates every 9 seconds. This will help multiplayer servers
likely a lot.
2016-05-25 03:26:53 +01:00
Auke Kok
fc902a77de Boats: Lower boat collision box top
Standing on a boat makes you appear to "hover" over it since this
collision box is way too high. Lower it so that it's low enough
to look normal when walking on top of a boat
2016-05-23 08:37:58 +01:00
paramat
3e5f3f28d2 Vessels: Improve code style 2016-05-23 08:37:58 +01:00
paramat
d8daee7e47 Vessels: Make shelf open on 2 sides not impossible 4 sides
Make shelf facedir rotatable as is now required
2016-05-23 08:37:58 +01:00
Duane Robertson
7681682d28 Doors: Fix uninitialized state variable 2016-05-23 08:37:11 +01:00
Thomas--S
b9422ed44e Vessels: Smaller/improved textures, remove duplicated 'inv' textures
Removed unnecessary inventory textures
The drinking glass inventory texture now differs from
the node texture to be more clearly a drinking glass
Smaller textures to reduce size as nodes
2016-05-21 03:03:03 +01:00
red-001
b1e0864cf1 Creative: Reset 'start_i' to 1 when the inventory filter is changed 2016-05-21 03:02:10 +01:00
paramat
90f24e312d Default: Remove unnecessary infotexts for chests and signs 2016-05-21 03:01:10 +01:00
paramat
e7a55734d3 Tnt: Avoid divide-by-zero errors in calc_velocity() 2016-05-08 22:53:16 +01:00
tenplus1
b36b154257 Creative: Fix inventory crash after toggling creative mode in-game 2016-05-08 00:40:52 +01:00
tenplus1
3976dc6a5b Creative: Fix '-' glitch in playername
Fix the glitch when players use the '-' character in their username
on a server, causing creative inventory to not pass page 2
2016-05-07 02:13:00 +01:00
tenplus1
8ea031ef77 Creative: Add global variable creative.formspec_add
This pull adds a new global variable called creative.formspec_add
that will allow mods to add to the creative inventory screen
without the need to fork the mod altogether.  Simple solution
that works already for inventory_plus' BACK button
2016-05-07 02:07:55 +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
8d3d558e42 Tnt: Fix bug in dropped item counting 2016-05-05 23:46:10 +01:00
paramat
de3adb5859 Default: Lower grass_side and snow_side textures
Half coverage for a more grassy appearance
Make snow_side universal by removing green pixels
Move KevDoy's heart texture credit to above sound credits
2016-05-05 23:42:10 +01:00
rubenwardy
acafe5ca86 Add give_initial_items API 2016-05-01 19:29:15 +01:00
Auke Kok
12c763a6c7 TNT: Combine adjacent TNT into the explosion
This uses a vmanip to count adjacent tnt nodes and explodes them
all at once, using an inverse square law to recalculate the radius.
The maximum explosion becomes 125 nodes of tnt yielding a radius of
15 nodes, which does not break my machine and makes it return
in under a second.

This makes both bigger explosions and less stability issues.

The drop code has been simplified and now drops at all times a
reasonable amount of drops, never blanketing the area with drops,
even at the larges explosion level.

Particles are scaled up according to explosion size as well - a
bigger explosion will show bigger particles.

To scale the tnt:boom particle, we move it to the _effects() function.
2016-05-01 18:57:45 +01:00
Auke Kok
098ea0d10a TNT: Allow mods to override entity physics.
Introduces an `on_blast(luaobj, damage)` callback that mods can attach
to an entity def. The function will get called with the damage that
TNT would make.

The function should return three values:

  bool do_damage, bool do_knockback, table drops

do_damage allows the mod to tell the TNT code to perform damage on
the entity for the mod. The mod code should not do anything with
the entity HP. The entity should not be immortal. If false, then
the entity will not be damaged by the TNT mod.

do_knockback allows the mod to tell the TNT mod to perform an
entity knockback effect. If false, no knockback effect is applied
to the entity.

the drops table is a list of items to drop. It may be nil. E.g. {
"wool:red" }.

I've documented both on_blast() API methods in game_api.txt. It is
a better place than lua_api.txt.
2016-04-30 20:47:21 +01:00
Auke Kok
f14b411157 TNT: Fix multiple explosions erasing drops
Any second explosion near a first TNT explosion will punch all
entities found nearby, including item drops. This causes the
item pickup code to think the item was picked up, but by
a `nil` player, thus removing the item.

We query for the immortal entity group, and if the item is in
the immortal group, do not punch the item.
2016-04-30 20:47:21 +01:00
Foz
1a6298958e Default: Add function 'node_sound_gravel_defaults()' 2016-04-29 23:19:30 +01:00
paramat
fafbe2c268 Default: New grass and grass_side textures
Derived from Casimir's Voxelgarden texture
2016-04-29 23:19:30 +01:00
tenplus1
dc7cbdd5ab Beds: Quicker saves with tidy output
Tweaked the beds.save_spawns() function to compile list then output
to file with shortened co-ordinates containing 1 decimal place
2016-04-29 23:18:05 +01:00
Auke Kok
5cd4b5a231 TNT: make tnt:boom visual a particle, and larger
We reuse the tnt:boom texture for a particle that is added by the
on_construct() of tnt:boom, and has a short expiry time (0.2sec).
It is 3 nodes larged, centered on the explosion.

We then make tnt:boom airlike so it doesn't have a texture, and it's
the thing that emits lots of light (we could even make it exist a
bit longer).

The nice thing about particles is that the client is less susceptible
to lag and will always remove them as fast as possible, so this makes
the visual more constant and responsive.
2016-04-26 22:34:00 +01:00
Auke Kok
f62afa02b7 TNT: lower smoke particle count and speed.
The effect is similar, and the reduction in particles is a small
boost in responsiveness.

To compensate, I've lowered the spawner time and expiration length
as well.
2016-04-26 22:34:00 +01:00
Auke Kok
7a892c70e6 TNT: self-start boom removal timer. 2016-04-26 22:34:00 +01:00
Auke Kok
682d79b82a TNT: make tnt:burning a falling node.
This allows TNT to be used for e.g. traps (drop it from the
ceiling) or weird tnt effects with other explosions.
2016-04-26 22:34:00 +01:00
Auke Kok
8b384fb257 TNT: randomly vary ejecting velocity
We add a +/- 0.5 random value to the velocity vector of
ejecting nodes.

I've spotted a lot of nodes going exactly straight up if blowing
up sand above TNT. The extra variation looks less artificial.
2016-04-26 22:34:00 +01:00
Auke Kok
d6c33da355 TNT: Damage mobs, knock back players
We apply punch damage to mobs caught in the blast radius, as
this code previously only hurt players.

We "move" players back 1 node if they're caught in the blast, and
slightly up. We can't "eject" players due to missing API code to
support that, unfortunately.
2016-04-26 22:33:59 +01:00
Auke Kok
386dcdef06 TNT: Whitespace cleanup 2016-04-26 22:33:59 +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
f32a3ff57c Farming: Add quiet sounds to seeds 2016-04-23 20:09:04 +01:00
kilbith
16fe1efcd8 Flowers: Fix waterlily node's duplication with stack of 1 2016-04-23 20:08:43 +01:00
KevDoy
fa43bd8a56 Default: New heart texture
Similar to before, add symmetry and slightly more rounded off
2016-04-23 20:01:09 +01:00
paramat
e426f64993 Fire: Higher chance of removing flammable nodes
Flammable nodes burn away quicker
2016-04-19 05:33:13 +01:00
paramat
ab7b7c7504 Flowers: Make flower spread a public function to enable override
Remove search for 'group:flora_block'
Enable flora spread on 'dirt with dry grass'
2016-04-19 02:58:03 +01:00
Auke Kok
80664f9f8a Doors: Use LBM instead of ABM to convert doors.
This works much more efficiently to replace old style doors.
2016-04-19 02:57:54 +01:00
paramat
0ca43e42bc Default: Create 'grass', 'dry_grass' groups, use in dirt conversion ABM 2016-04-18 01:52:03 +01:00
Auke Kok
33aa5e77dc Character: Fix boat leg wobble.
There was a small leg wobble in the sitting animation (visible
when sitting on the boat). This removes it.
2016-04-18 01:51:57 +01:00
paramat
f8e273da15 Boats: Increase maximum velocity to 5n/s 2016-04-16 19:27:47 +01:00
tenplus1
9ece86cc7a Flowers: Tweak flower and mushroom spreading
Tidy up position numbers and code
Check for flora group aswell
Improve node light check for mushroom growth
Shrooms grow in 3 and below light
2016-04-16 19:27:41 +01:00
Auke Kok
7d93272caa Change how dirt turns to dirt_with_(something)
This changes how dirt blocks turn to dirt_with -grass, -dry_grass
or -snow.

Previously, dirt that was sunlit would turn to dirt_with_grass no
matter what, but this happened without any context, so you could
get green patches of dirt_with_grass in the middle of a savannah or
even desert.

Dirt no longer turns to covered dirt unless it's within 1 node from
another dirt_with_grass or dirt_with_dry_grass or dirt_with_snow.
This makes dirt_with_grass "growback" a lot slower, since it now only
happens on the edges, but it retains the context nicely now.

If there is any dirt with a grass or dry grass plant, or snow on top,
and enough light, we'll convert it sporadically to dirt_with_grass
or dirt_with_dry_grass or dirt_with_snow.

This allows us to plant grass of our choice in a large dirt patch,
or in a region where otherwise that type of grass is not present.

This used to be done by 2 abms, but I've combined them in to a single
ABM that is ordered to run with maximum efficiency, solving for the
most common outcome first before attempting more complex checks.
2016-04-16 19:27:34 +01:00
Auke Kok
64fe69f382 Remove "grass under snow" from default:dirt_with_snow in darkness.
This is technically "dirt with grass" that's just under a snow
cover, so in darkness the grass on these nodes will also die,
turning it into dirt.

This doesn't convert dirt_with_snow under snow.
2016-04-16 19:27:34 +01:00
Auke Kok
a2d4e57716 Call nodeupdate on the entire blast zone
This will make sand and gravel blocks on top of TNT actually fly
in the air.

  https://youtu.be/4omndVZijLc
2016-04-16 19:27:16 +01:00
Auke Kok
8114c3dbab Limit entity speed to 250m/s.
Let's just call it "terminal" velocity.
2016-04-16 19:27:16 +01:00
Auke Kok
e6cef57661 TNT: Move timer start to on_create() for burning nodes.
We add on_create() handlers for both burning TNT and burning
gunpowder. Because gunpowder will explode TNT in 1 second,
and not 4, we need to modify the 4 second timer after we
make the TNT burning. Other mods can now place burning TNT
that will by default explode after 4 seconds.
2016-04-16 19:27:16 +01:00
Auke Kok
0736d30e33 TNT: Fix up nil derefs
I spotted two places where under stress (many explosions) luajit would
end up passing nil to these functions. I'm not entirely sure how,
but it seems good form to guard against it, which does make it
more robust. After this patch, I'm not able to crash the server. With
many explosions, it may still lag significantly, but always returns
in the end.
2016-04-16 19:27:16 +01:00
Auke Kok
da5f4a939e Fix API docs after various changes. 2016-04-16 19:27:16 +01:00
red-001
a84e2669c7 Restructure code to only check def once. 2016-04-16 19:27:16 +01:00
Auke Kok
ccee025ce3 Calculate blast intensity at all locations.
We define the blast intensity as the square of the tnt_radius, divided
by the square of the distance to the explosion center, where distance
is limited to 1 at the lower end.

When destroying nodes, we calculate the intensity for each node, and
only destroy the nodes when the intensity is 1.0 or larger. To avoid
perfectly spherical explosions, we make sure to retain a randomness
factor of 20%. This will make explosion edges jagged and not smooth,
but not too much.

We pass the calculated intensity to on_blast() functions as well,
except we take the jitter here out and make sure it's always 1.0
or larger.
2016-04-16 19:27:16 +01:00
Auke Kok
8c801529df TNT: Limit amount of stacks ejected.
We apply a log scale to the size of the stacks ejected, so that
in larger explosions we are getting larger stacks. For normal r=3
explosions, this gives stack sizes ~6-7 or so, but for r=10 explosions
it could end up giving stacks of 25+.V
2016-04-16 19:27:16 +01:00
Auke Kok
3ddff2fbea TNT: Chain reaction
With the new high res timer, we can make TNT much better create chain
reactions. This does exactly that.
2016-04-16 19:27:16 +01:00
Auke Kok
eafd1ebc43 TNT particles: use drops list smartly
The drops list already has quantities, so let's just select the one
with the highest quantity from it, and use that as tile. Fallback
tile will therefore only be used if explosion happens in air. Oh well.
2016-04-16 19:27:16 +01:00
Auke Kok
3623398b78 TNT: Spacing / codestyle fixes
- Fix spacing errors around = and ..
- Indentation fixes
- Break up long lines
2016-04-16 19:27:16 +01:00
red-001
b25889e742 Make TNT faster by using VoxelManip() for removing nodes. 2016-04-16 19:27:16 +01:00
red-001
9f4dc1412b Fix TNT mod calculate blast intensity.
Currently the TNT mod uses a dummy vaule of 1 for this.
2016-04-16 19:27:16 +01:00
red-001
cfef21f4d9 Add TNT API. 2016-04-16 19:27:16 +01:00
Auke Kok
8556dd30e2 TNT: add some depth to the explosion effect
We add a dirt-like particle (drawn from scratch, uses some
colors from default_dirt's palette) to spawn many particles
that have collision enabled around the center of the blast.

This has the effect of obscuring the center of the blast, as
that is a painfully visible empty area when the explosion happens,
as there's only a little spark.

The dirt particles bounce around the walls and floor a bit,
and disappear rapidly, well before the smoke particles disappear.

This is a nice visual distraction that obscures the sudden
appearance of the gaping hole, and makes it a whole lot more
believable.
2016-04-16 19:27:16 +01:00
Auke Kok
8cd049c224 Make TNT a bit more fun.
But not too much.

TNT is a bit underwhelming at the moment. We can make it a bit
more interesting by ejecting not just one or two itemstacks,
but a bunch of them. This code splits up the drops into
separate itemstacks that are 2-5 items together, which
results in generally roughly 10 itemstacks being ejected.

Since now we have multiple ejecta, it makes sense to tune
the ejecta velocities a bit better to get the appearance of
an actual explosion better. The items will not all start
with the same vertical velocity, since that would look
like fireworks. Instead we give them all a different vertical
speed.
2016-04-16 19:27:16 +01:00
Auke Kok
12d5ca2f48 Allow the on_blast API to pass an itemstack.
If the node is special and has an on_blast() handler, we need
to call it instead of getting node drops manually. However, we
do want to know if drops should be added for the special nodes,
so we modify the on_blast() handler code to allow the nodedef
handlers to pass back itemstacks. This could be used by e.g.
the doors mod to drop door items after a blast.

Since this API is documented in lua_api.txt, a separate PR will
be incoming to update the on_blast() documentation.
2016-04-16 19:27:16 +01:00
Auke Kok
3ecafbcfb4 Remove composed shelf side.
Don't compose the shelf side texture. The texture isn't transparent,
and unlikely to be in any case.
2016-04-14 02:46:03 +01:00
kilbith
082b36d3e7 Books: Split text per page relatively to number of lines 2016-04-14 02:45:57 +01:00
kilbith
7be008936e Flowers: Fix itemstack when waterlily is placed 2016-04-12 01:28:16 +01:00
tenplus1
6e1a329763 default: Strengthen obsidian glass Remove group 'oddly_breakable_by_hand' 2016-04-12 01:27:55 +01:00
kilbith
47b197e4d5 Flowers: Cleaning of waterlily's placement 2016-04-08 01:13:14 +01:00
paramat
be05441e77 Farming: Override dirt_with_dry_grass to enable cultivation 2016-04-08 01:13:05 +01:00
paramat
aadac1223d Default/mapgen: Denser rainforest, fewer logs 2016-04-08 01:12:56 +01:00
kilbith
9a6cb2d7c8 Creative: Add myself in credits
Some people borrowed the creative code for their sub-games with an exclusive attribution to celeron55.

This is frustrating since I've largely rewritten, redesigned and carefully maintained this mod for the last months.

I expect to be credited.
2016-04-04 05:39:29 +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
tenplus1
e38f69d549 Fix doors disappearing while underwater
Currently any doors viewed from underwater will disappear but removing the line 'use_texture_alpha = true,' seems to fix this.  Thanks to Thomas-S for finding this glitch.
2016-04-04 05:39:16 +01:00
Auke Kok
874b1ae326 Beds: Check for buildable_to for bottom half
We properly checked top half already, just not the top half
target location.

Assure both checked positions are not unknown nodes.

Fixes #991
2016-04-04 05:39:06 +01:00
Auke Kok
1977ae19ae Boats: Optimize, re-UV unwrap.
The boat model had over 1700 tris (!) before this redo. I've reduced
the amount of tris to ~150, which is very reasonable given that there
are almost 45 faces to this model.

I've also spent a good hour re-UV unwrapping the entire model which
has a huuuge impact on the boats' appearance. As much as possible,
the boat now looks like it's made out of actual blocks of wood,
and I've even attempted to make the grains connect around edges,
appear in the same pattern and spacing, and generally make it look
like it's just a nice crafted thing out of several pieces of wood.

I've had to tweak the rudder part to make the texture actually have
square texture pixels. I did that by varying the vertical position of
the botton of the rudder handle and the top of the rudder bottom, which
worked well. I also had to 'slice' the rear face of the boat to prevent
a strange texture tear, probably due to non-flat surface somewhere,
but I couldn't spot the issue there anymore after adding 2 extra edges.

This looks totally like a new boat now.

 - http://i.imgur.com/stiVzsa.jpg
2016-03-30 23:11:12 +01:00
Rui
7bbbcbf7b0 Fire: Use get_item_group instead of get_node_group 2016-03-30 23:11:04 +01:00
Auke Kok
4d7dbfc826 Start timer as well when moving items around.
It's possible to hit this when using an e.g. charcoal mod
where a tree is both a fuel and a source.
2016-03-30 23:10:59 +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
12bcfeab4d Shelves: Fix listring functionality + code cleaning 2016-03-30 23:10:46 +01:00
paramat
14334a1d89 Default: Reduce sand footstep and dug sound gains 2016-03-25 13:15:22 +00:00
Jean-Patrick Guerrero
6749da1070 Books: Ensure backward compatibility for older written books 2016-03-25 13:15:12 +00:00
Jean-Patrick Guerrero
7a29d26e3e Fire: Allow placing only above flammable blocks 2016-03-25 13:15:04 +00:00
Rui
7cba7af894 Rename Glass Door (the obisian one) to Obsidian Glass Door 2016-03-22 15:46:26 +00:00
Jean-Patrick Guerrero
a71948c007 Books: Move page buttons at the bottom 2016-03-22 15:46:19 +00: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
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
red-001
68f5740dcc Fix markdown formating in game_api.txt. 2016-03-06 01:30:58 +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
red-001
3a98245f62 Document share_bones_time_early 2016-03-03 00:36:53 +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
PilzAdam
c15bd9d529 Fix wrong nomenclature in game_api.txt 2015-10-11 18:29:39 +02:00
paramat
41c1e99b1f Default/mapgen: Remove dunes biome. Sand for glacier seabed 2015-10-10 16:28:49 +01:00
paramat
70e8924082 New header image 'Minetest Game' 2015-10-10 16:28:40 +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
paramat
a0d7644a86 Default: Add snow, snowblock, ice to puts_out_fire group 2015-08-25 03:03:06 +01:00
paramat
2392842948 Fire: Slow down fire spread and reduce lua load
Increase chance value of ABMs
Disable ignition from a distance
Only detect neighbouring extinguishing nodes
Fix code style issues and add comments
2015-08-20 04:09:22 +01:00
RealBadAngel
3740efb393 New normalmaps for some nodes 2015-08-19 03:24:45 +01:00
RealBadAngel
835ca02be5 Add tiling info for grass nodes 2015-08-19 00:59:22 +01:00
paramat
99d0442cc9 Boats: Fix sinking through boat when detaching
By CProgrammerRU
Also, by paramat:
Slightly raise base of collision box
Improve code style
2015-08-18 22:35:16 +01:00
paramat
b24049950e Default: New stone brick and desert stone brick textures 2015-08-17 21:59:43 +01:00
paramat
86dab909ed Default: Change to 'pixelbox2' long grass textures by Gambit 2015-08-17 03:58:34 +01:00
paramat
ffcb3d6356 Stairs: Add aliases needed due to new pine wood name 2015-08-16 00:31:41 +01:00
paramat
c7b9e734ff Default: New grass textures, new footprint overlay texture 2015-08-15 21:19:39 +01:00
paramat
450543f782 Stairs: Add straw and metal blocks
Make replace ABM optional, disabled by default
2015-08-14 23:23:41 +01:00
paramat
b7a1426b42 Default: New darker jungletree_top and junglewood textures 2015-08-14 19:15:33 +01:00
paramat
408ee69fb8 Flowers: Add sporeless mushrooms and edit drops 2015-08-14 01:34:35 +01:00
Christian Wischenbart
35de5241f4 Fixed invalid check. This fixes minetest/minetest_game#609 2015-08-11 18:56:15 +02:00
paramat
be4dd6479d Default: Rename pine tree nodes, textures and mapgen aliases 2015-08-10 09:19:02 +01:00
est31
7066a6a0dd Tweak mushroom drops
-> Don't always drop the main mushroom (allowed endless spore generation loop before)
-> Drop less spores, before you got lots of spores
2015-08-10 01:03:15 +02:00
paramat
6194f9ffea Default/trees: Combine sapling ABMs into one ABM 2015-08-09 05:52:46 +01:00
paramat
47c7b0b187 Mushrooms: Rename spore nodes. Single ABM for mushroom growing
Code re-arranged and clarified
2015-08-07 19:07:48 +01:00
paramat
0a3bf5b220 Biomes: Tune v5/v7 biomes and v5/v6/v7 mushroom distribution
More complex distribution of dry grasses
Remove water below glacier rivers
Gravel as glacier seabed
Do not force-place acacia root
Tune acacia tree density
Match mgv5/v7 mushrooms to tree density
Spawn mgv6 mushrooms by trees
2015-08-07 17:13:33 +01:00
Craig Davison
14ee61ab92 Fix mese block alias
It should alias the old name (mese_block) to the new/current name (mese) rather than the other way round.
2015-08-04 01:02:01 +01:00
paramat
f7f178ce03 Stairs: Lengthen interval of replace abm 2015-08-04 01:01:40 +01:00
paramat
547a7b3304 Default/functions: Reduce lavacooling ABM/sound overload 2015-08-04 01:01:25 +01:00
paramat
8d1eef025d Flowers: Make mushrooms farmable using spores 2015-08-04 01:00:47 +01:00
paramat
84de5f0f40 Add biomes for mgv5 and mgv7 2015-07-30 01:19:12 +01:00
paramat
cbea61e8dd Default: Thicker snow nodebox 2015-07-29 01:18:30 +01:00
paramat
2885ae6018 Default: Add papyrus schematic 2015-07-28 02:27:45 +01:00
paramat
cf781ee218 Default: New appletree schematic with tuned apple chance 2015-07-27 05:06:32 +01:00
paramat
252dffce78 Default/mapgen: Disable nyancats in singlenode mapgen 2015-07-27 05:05:50 +01:00
paramat
83c2a88c91 Flowers: Keep mushrooms above water level 2015-07-24 21:56:16 +01:00
paramat
e7def5d4e6 Default: Add improved mgv5/mgv7 tree schematics 2015-07-24 00:59:44 +01:00
paramat
ec68283812 Stairs: Register acacia wood stair and slab 2015-07-23 05:14:43 +01:00
paramat
bc4d0c1344 Flowers: Add mushrooms to mgv6 2015-07-23 05:14:32 +01:00
paramat
e2033025b0 Default: Add biome API tree schematics and enable growing by sapling ABMs 2015-07-20 22:56:35 +01:00
Rui914
da9789e3ce Fix not_in_creative_inventory
Update
2015-07-17 20:53:55 +01:00
jeanpatrick.guerrero@gmail.com
26866e4c21 Grant multiple tiles on stairs model 2015-07-17 20:53:32 +01:00
jeanpatrick.guerrero@gmail.com
0cf4fd4c18 Add mushrooms 2015-07-17 10:12:00 +02:00
RealBadAngel
2ddbf68e31 Better default stone normalmap, sharpened a bit 2015-07-14 14:53:13 +02:00
RealBadAngel
0c5f6dabc0 Add new texture for leaves, jungle leaves and style simple 2015-07-13 03:17:26 +01:00
paramat
fdae2832bb Default: New ice texture by Gambit and asl97 2015-07-13 00:45:38 +01:00
paramat
6843ddb814 Default: Add savanna nodes, textures, crafting and fuels 2015-07-12 22:41:59 +01:00
RealBadAngel
166b1c623a Add some normalmaps with heightmap in alpha channel 2015-07-12 12:24:02 +02:00
jp
e8cafeb3e7 Improved diamond block texture (from #548) 2015-07-12 12:06:38 +02:00
Wouters Dorian
8a7af21e3a Improved stairs model, v2 2015-07-11 00:22:18 +01:00
jeanpatrick.guerrero@gmail.com
407b32e04c Improved stairs model 2015-07-09 21:35:53 +01:00
jeanpatrick.guerrero@gmail.com
f3f8b22698 Convert stairs in meshnode 2015-07-08 19:07:22 +01:00
paramat
585b2bc22e Default/trees: Add checks for air/ignore/needles to pinetree trunk
Speed optimise: Trunk placing, add_pine_needles, add_snow
2015-07-05 15:23:55 +01:00
paramat
0914e595c7 Default/mapgen: Add missing spaces 2015-07-01 08:34:25 +01:00
Amaz
7361eb5e05 Add the listring functionality c977fbd928 2015-06-23 19:17:57 +02:00
Marcin
44ac020f28 Fix node placing sound being heard on left channel only 2015-06-22 18:33:15 +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
kilbith
d8dd9332ed Improved Iron Bar texture 2015-06-14 11:34:52 +02:00
paramat
c4fb5bd385 Bucket: Register river water bucket, add texture
Add groups to registration and use water_bucket group
2015-06-14 01:18:14 +01:00
est31
f09ae11e89 Add patch files to gitignore 2015-06-09 22:01:25 +02:00
tenplus1
8b4a92ef2d word-wrap book text
This change word-wraps text when reading a book.
2015-06-08 16:29:44 +02:00
paramat
f92d49feff Default/functions: Fix cactus growing by rotation again. Cleanup code 2015-06-08 00:32:40 +01:00
ShadowNinja
64fa8e6be5 Make books writable 2015-06-07 15:57:29 +02:00
Wuzzy
0aebf864d1 Add gunpowder trails
Uses group “connect_to_raillike”
2015-06-07 14:27:18 +02:00
paramat
016fa0da40 Default/functions: Fix cacti not growing when rotation is 1-3 2015-06-07 04:39:25 +01: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
6919d43d02 Remove deprecated ore generation code 2015-06-07 04:38:52 +01:00
LeMagnesium
01ad09036b Improved flowers' registration system - Specific nodeboxes, - Color groups - All datas were put into a table then unpacked for add_simple_flower 2015-06-06 14:51:25 +02:00
Ombridride
638add603f Simplified flowers' registration - Created a new local function to register flowers 2015-06-06 14:51:25 +02: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
paramat
03b51e8c8f Default: New sandstone brick texture 2015-05-31 05:55:12 +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
Calinou
300b14078f Give 24 rails per craft instead of 15 2015-05-14 17:28:30 +02:00
Novatux
eae3740d85 Fix missing argument for on_rotate 2015-05-14 16:07:19 +02:00
Novatux
3669ca0a83 Make beds not skip night if nobody is online 2015-05-14 14:41:26 +02:00
Novatux
46c6154444 Make doors not depend on screwdriver. 2015-05-14 14:24:14 +02:00
Novatux
2824562dc9 Add screwdriver callbacks, and code them for doors and beds 2015-05-14 10:24:56 +02:00
Wuzzy
852b337916 Use connect_to_raillike for rail
Used value: 2
2015-05-14 10:19:07 +02:00
paramat
dd34dffa45 Default/mapgen: Add sandstone alias for sandstone biome detection 2015-05-12 23:31:38 +01:00
Novatux
aaa6c260cd Copy pos before giving it to on_blast because it can modify it; also remove a debug print that had nothing to do here 2015-05-12 21:03:02 +02:00
Novatux
81259e9fcc De-duplicate code in doors mod in make_on_blast 2015-05-12 20:55:46 +02:00
Novatux
4bd1094619 Fix problems with TNT 2015-05-12 16:53:04 +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
ab4485f824 Default/mapgen: Add mapgen aliases for sandstone brick and sandstone brick stair, to enable sandstone dungeons 2015-05-12 16:23:09 +02:00
paramat
fa1b4d0d44 Default/nodes: Increase meselamp light level to light_max (14) 2015-05-11 22:50:44 +01:00
paramat
055157d084 Default/mapgen: Make register function selection compatible with future mapgens 2015-05-11 05:37:04 +01:00
HybridDog
fe3c5a7090 allow overriding papyrus and cactus grow functions
dont grow cactus on a lying one

use minetest.get_node 2 times less

do a bit what ShadowNinja wrote

add comment

return true if the plant is set
2015-04-27 01:09:32 +01:00
paramat
d0070f2b1a Default/mapgen: Add dry shrub to mgv6 tundra 2015-04-23 06:28:49 +01:00
paramat
c570f9f494 Default/mapgen: Add alias for river water source 2015-04-19 04:00:46 +01:00
paramat
f8c8047a52 Default: Add river_water nodes 2015-04-19 02:27:06 +01:00
paramat
f49faadc19 Minetest.conf: Move mapgen flags to engine .conf 2015-04-14 02:32:06 +01:00
paramat
fe7a982343 Default/nodes: Make water, lava and ice is_ground_content = false 2015-04-06 01:43:17 +01:00
paramat
87468eb6fc Default/mapgen: Fix missing num_spawn_by = 1 line for papyrus 2015-04-05 01:37:14 +01:00
paramat
4a7a51a46e Default/mapgen.lua: Remove ores absheight flags. Add aliases for mgv6 snow biomes 2015-03-30 00:21:47 +01:00
Rui
9c15ebccab Add max_hear_distance for fire 2015-03-29 21:35:03 +02:00
MT-Modder
525f467057 Slow down fire spread a bit 2015-03-29 21:25:46 +02:00
BlockMen
820a97e397 Add Meselamps
- Mese glows
- Glass + Mese = Meselamp
- New mese mineral texture
2015-03-29 21:17:53 +02:00
jp
3f2e35e827 Add vessels shelf 2015-03-29 21:00:32 +02:00
paramat
ccb4b925ed default/mapgen.lua: Register mgv6 decorations
Organise and cleanup code
2015-03-27 00:29:44 +00:00
paramat
21c874ab52 flowers/mapgen.lua: Remove unnecessary double quotation marks 2015-03-25 22:03:53 +00:00
paramat
8a8712e4a3 flowers/mapgen.lua: Register flower decorations for mgv6 2015-03-25 21:28:15 +00:00
jp@localhost.localdomain
9eb9502209 Optimize boat model 2015-03-21 17:28:36 +01:00
paramat
a192f9fc78 default/mapgen.lua: Update biomes for new biome API
Register blob ores in mgv6 to replace addDirtGravelBlobs
Combine ores and blobs functions
2015-03-17 07:46:45 +00:00
ShadowNinja
794a436d86 Fix bucket code indentation 2015-03-07 21:26:55 -05:00
BlockMen
41837e6193 Fix beds respawn settings check 2015-03-06 19:29:16 +01:00
kilbith
86e0e4b2bf Remove undeclared writing variable 2015-03-06 11:49:22 +01:00
BlockMen
2a6050e552 Add option to disable bed respawn, better recipe for fancy bed 2015-03-06 10:46:05 +01:00
ThatGraemeGuy
e604d8d7f3 Remove dupe aliases (fixes #438) 2015-02-28 22:49:32 +01:00
Calinou
5a2aab855f Make some tools dig faster 2015-02-28 22:44:31 +01:00
jp
f86ac2fdff Optimize textures and model (use *.b3d instead *.x) 2015-02-28 22:33:19 +01:00
tenplus1
df35360372 Make empty buckets stackable 2015-02-28 22:15:46 +01:00
MT-Modder
3e912f7b85 Add reverse recipes for hoes
- Adds material for crafting (keeps def.recipe compatibility)
- Fix two typos in api documentation
2015-02-28 22:05:07 +01:00
BlockMen
ea7b04a712 Use only red and white wool for beds 2015-02-24 21:55:14 +01:00
BlockMen
edb02e9d33 Add beds 2015-02-24 20:59:04 +01:00
paramat
3b526a7276 mapgen.lua: Add dirt/sand/gravel blob ores for mgv5/mgv7
Create register ores function. Select and order functions per mapgen
Use blob ore for clay. Update ore height_min/max to y_min/max
Tune flower amount
2015-02-22 01:34:35 +00:00
Jeija
03c00a831d Clean up trapdoors code and make them more flexible, so custom trapdoors
can be registered by other mods
2015-02-14 00:48:28 +01:00
Steven Smith
60520b8032 Fix download URL 2015-02-12 22:25:07 +01:00
Craig Davison
a9137e8c21 Fix typo in survival formspec & create legacy file 2015-02-12 22:18:22 +01:00
Tim
75ea7e3160 Bones mod fixes
1. don't delete protected nodes, 2. time out in loaded chunks, 3. don't crash when dying in certain nodes (like default doors or sign_lib signs)
2015-02-12 22:10:15 +01:00
Xanthin
047ecea3a2 Make trapdoor better visible when held in the hand
Screenshots at: https://github.com/minetest/minetest_game/issues/411
2015-02-12 16:51:32 +01:00
jeanpatrick.guerrero@gmail.com
5518c277f3 Textures Update 2015-01-25 10:48:42 +01:00
Xanthin
4468015cbe Fix typo for obsidian glass door texture
I think that was just a typo?
2015-01-24 20:40:08 +01:00
MT-Modder
0755a8fa05 Mossycobble fixes 2015-01-24 20:36:37 +01:00
jeanpatrick.guerrero@gmail.com
5d8b2442ce Add straw 2015-01-17 16:30:31 +01:00
Craig Davison
6157982787 Follow naming convention of textures and sounds in doors 2015-01-17 16:05:23 +01:00
Craig Davison
07dcae7258 Add fancy inventory for bones 2015-01-17 16:05:19 +01:00
paramat
d546a5a1fa Return to original water sink speed for player 2015-01-11 11:27:08 +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
d1e715ebac Add tree growing functions to game_api.txt 2015-01-10 15:47:30 +01:00
PilzAdam
c654c9fd11 Remove weird constants in default 2015-01-10 15:47:30 +01:00
PilzAdam
2c0f716a13 Remove useless, empty callbacks 2015-01-10 15:47:29 +01:00
Craig Davison
64bf6c1b89 Add crafting grid result arrow to creative inventory 2015-01-10 15:32:16 +01:00
paramat
047bfb9ad1 Simple biomes for mgv5/mgv7. Uses get_mapgen_params 2015-01-10 15:32:16 +01:00
Craig Davison
cab01b6694 Add Obsidian / Obsidian Brick stairs & slabs 2015-01-10 15:32:16 +01:00
Lean Rada
554d15fadb Change furnace fire icons 2015-01-10 15:16:41 +01:00
1310 changed files with 37237 additions and 24234 deletions

13
.github/workflows/luacheck.yml vendored Normal file
View File

@ -0,0 +1,13 @@
name: luacheck
on: [push, pull_request]
jobs:
luacheck:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Luacheck
uses: lunarmodules/luacheck@master
with:
args: mods

11
.github/workflows/test.yml vendored Normal file
View File

@ -0,0 +1,11 @@
name: test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- run: ./utils/test/run.sh

27
.gitignore vendored
View File

@ -1,7 +1,22 @@
## Generic ignorable patterns and files ## Files related to minetest development cycle
*~ /*.patch
.*.swp # GNU Patch reject file
*bak* *.rej
tags
*.vim
## Editors and Development environments
*~
*.swp
*.bak*
*.orig
# Vim
*.vim
# Kate
.*.kate-swp
.swp.*
# Eclipse (LDT)
.project
.settings/
.buildpath
.metadata
# Idea IDE
.idea/*

31
.luacheckrc Normal file
View File

@ -0,0 +1,31 @@
unused_args = false
allow_defined_top = true
globals = {
"default"
}
read_globals = {
"DIR_DELIM",
"minetest",
"dump",
"vector",
"VoxelManip", "VoxelArea",
"PseudoRandom", "PcgRandom",
"ItemStack",
"Settings",
"unpack",
-- Silence errors about custom table methods.
table = { fields = { "copy", "indexof" } },
-- Silence warnings about accessing undefined fields of global 'math'
math = { fields = { "sign" } }
}
-- Overwrites minetest.handle_node_drops
files["mods/creative/init.lua"].globals = { "minetest" }
-- Overwrites minetest.calculate_knockback
files["mods/player_api/api.lua"].globals = { "minetest" }
-- Don't report on legacy definitions of globals.
files["mods/default/legacy.lua"].global = false

519
LICENSE.txt Normal file
View File

@ -0,0 +1,519 @@
License of media (textures and sounds)
--------------------------------------
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
See README.txt in each mod directory for information about other authors.
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
http://creativecommons.org/licenses/by-sa/3.0/
License of menu/header.png
Copyright (C) 2015 paramat CC BY-SA 3.0
License of source code
----------------------
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
See README.txt in each mod directory for information about other authors.
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

46
README.md Normal file
View File

@ -0,0 +1,46 @@
# Minetest Game
[![ContentDB](https://content.minetest.net/packages/Minetest/minetest_game/shields/title/)](https://content.minetest.net/packages/Minetest/minetest_game/)
Minetest Game (abbreviated MTG) is a simple and peaceful sandbox game, with no
real goals or built-in enemy mobs.
While it provides a basic gameplay experience out of the box, it is best played
with mods.
Minetest Game is in perpetual maintenance-only mode, meaning it will not see new
gameplay features or anything else that breaks compatibility (see
[#2710](https://github.com/minetest/minetest_game/issues/2710)).
## Installation
### ContentDB
* Content > Browse Online Content
* Search for "[Minetest Game](https://content.minetest.net/packages/Minetest/minetest_game/)"
* Click Install
### Manually
- Unzip the archive, rename the folder to `minetest_game` and
place it in `.../minetest/games/`
- GNU/Linux: If you use a system-wide installation place it in `~/.minetest/games/`.
The Minetest engine can be found at [GitHub](https://github.com/minetest/minetest).
For further information or help, see: [Installing Mods](https://wiki.minetest.net/Installing_Mods).
## Compatibility
As of January 2024 Minetest Game follows a **rolling release** model with new changes being automatically
published on ContentDB every day.
There are no stable releases or tags, all existing ones are considered legacy.
Minetest Game is always compatible to the latest stable release of the engine.
Older releases may be supported too depending on circumstances.
## Licensing
See `LICENSE.txt`

View File

@ -1,52 +0,0 @@
The main game for the Minetest game engine [minetest_game]
==========================================================
To use this game with Minetest, insert this repository as
/games/minetest_game
in the Minetest Engine.
The Minetest Engine can be found in:
https://github.com/minetest/minetest/
Compatibility
--------------
The minetest_game github master HEAD is generally compatible with the github
master HEAD of minetest.
Additionally, when the minetest engine is tagged to be a certain version (eg.
0.4.10), minetest_game is tagged with the version too.
When stable releases are made, minetest_game is packaged and made available in
http://minetest.net/download.php
and in case the repository has grown too much, it may be reset. In that sense,
this is not a "real" git repository. (Package maintainers please note!)
License of source code
----------------------
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
See README.txt in each mod directory for information about other authors.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
License of media (textures and sounds)
--------------------------------------
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
See README.txt in each mod directory for information about other authors.
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
http://creativecommons.org/licenses/by-sa/3.0/
License of menu/header.png
Copyright (C) 2013 BlockMen CC BY-3.0

View File

@ -1 +1,4 @@
name = Minetest title = Minetest Game
author = Minetest
description = A basic exploration, mining, crafting, and building, sandbox game with no NPCs, monsters, or animals. Minetest Game is usually used with mods added, and many mods are available for this game. Reliably maintained by Minetest Engine core developers.
min_minetest_version = 5.8

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 935 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,6 +0,0 @@
mg_flags = dungeons
mgv6_spflags = biomeblend, jungles
movement_liquid_sink = 25
movement_liquid_fluidity = 0.8
movement_liquid_fluidity_smooth = 2

View File

@ -1,24 +1,81 @@
# This file contains settings of minetest_game that can be changed in # This file contains settings of Minetest Game that can be changed in
# minetest.conf # minetest.conf.
#
# By default, all the settings are commented and not functional. # By default, all the settings are commented and not functional.
# Uncomment settings by removing the preceding #. # Uncomment settings by removing the preceding #.
# Whether creative mode (fast digging of all blocks, unlimited resources) should be enabled # Whether creative mode (fast digging of all blocks, unlimited resources) should
# be enabled.
#creative_mode = false #creative_mode = false
# The time in seconds after which the bones of a dead player can be looted by everyone # Sets the behaviour of the inventory items when a player dies.
# 0 to disable # bones: Store items in a bone node but drop items if inside protected area.
# drop: Drop items on the ground.
# keep: Player keeps items.
#bones_mode = bones
# The time in seconds after which the bones of a dead player can be looted by
# everyone.
# 0 to disable.
#share_bones_time = 1200 #share_bones_time = 1200
# Whether fire should be disabled (all fire nodes will instantly disappear) # How much earlier the bones of a dead player can be looted by
#disable_fire = false # everyone if the player dies in a protected area they don't own.
# 0 to disable. By default it is "share_bones_time" divide by four.
#share_bones_time_early = 300
# Whether steel tools, torches and cobblestone should be given to new players # Inform player of condition and location of new bones.
#bones_position_message = false
# Whether fire should be enabled. If disabled, 'basic_flame' nodes will
# disappear.
# 'permanent_flame' nodes will remain with either setting.
#enable_fire = true
# Enable flame sound.
#flame_sound = true
# Whether lavacooling should be enabled.
#enable_lavacooling = true
# Whether the stuff in initial_stuff should be given to new players.
#give_initial_stuff = false #give_initial_stuff = false
#initial_stuff = default:pick_steel,default:axe_steel,default:shovel_steel,
default:torch 99,default:cobble 99
# Whether the TNT mod should be enabled # Whether the TNT mod should be enabled.
#enable_tnt = <true in singleplayer, false in multiplayer> #enable_tnt = <true in singleplayer, false in multiplayer>
# The radius of a TNT explosion # The radius of a TNT explosion.
#tnt_radius = 3 #tnt_radius = 3
# Enable the stairs mod ABM that replaces the old 'upside down'
# stair and slab nodes in old maps with the new param2 versions.
#enable_stairs_replace_abm = false
# Whether to allow respawning in beds.
# Default value is true.
#enable_bed_respawn = true
# Whether players can skip night by sleeping.
# Default value is true.
#enable_bed_night_skip = true
# If enabled, fences and walls cannot be jumped over.
#enable_fence_tall = false
# Whether the engine's spawn search, which does not check for a suitable
# starting biome, is used.
# Default value is false.
#engine_spawn = false
# Whether river water source nodes create flowing sounds.
# Helps rivers create more sound, especially on level sections.
#river_source_sounds = false
# If enabled, the 'weather' mod will control cloud parameters, shadow intensity,
# bloom and volumetric lighting.
# Non-functional in V6 or Singlenode mapgens.
#enable_weather = true
# If enabled, non-player actions are logged
#log_non_player_actions = false

30
mods/beds/README.txt Normal file
View File

@ -0,0 +1,30 @@
Minetest Game mod: beds
=======================
See license.txt for license information.
Authors of source code
----------------------
Originally by BlockMen (MIT)
Various Minetest developers and contributors (MIT)
Authors of media (textures)
---------------------------
BlockMen (CC BY-SA 3.0)
All textures unless otherwise noted
TumeniNodes (CC BY-SA 3.0)
beds_bed_under.png
This mod adds a bed to Minetest which allows players to skip the night.
To sleep, right click on the bed. If playing in singleplayer mode the night gets skipped
immediately. If playing multiplayer you get shown how many other players are in bed too,
if all players are sleeping the night gets skipped. The night skip can be forced if more
than half of the players are lying in bed and use this option.
Another feature is a controlled respawning. If you have slept in bed (not just lying in
it) your respawn point is set to the beds location and you will respawn there after
death.
You can disable the respawn at beds by setting "enable_bed_respawn = false" in
minetest.conf.
You can disable the night skip feature by setting "enable_bed_night_skip = false" in
minetest.conf or by using the /set command in-game.

186
mods/beds/api.lua Normal file
View File

@ -0,0 +1,186 @@
-- Removes a node without calling on on_destruct()
-- We use this to mess with bed nodes without causing unwanted recursion.
local function remove_no_destruct(pos)
minetest.swap_node(pos, {name = "air"})
minetest.remove_node(pos) -- Now clear the meta
minetest.check_for_falling(pos)
end
local function destruct_bed(pos, n)
local node = minetest.get_node(pos)
local other
if n == 2 then
local dir = minetest.facedir_to_dir(node.param2)
other = vector.subtract(pos, dir)
elseif n == 1 then
local dir = minetest.facedir_to_dir(node.param2)
other = vector.add(pos, dir)
end
local oname = minetest.get_node(other).name
if minetest.get_item_group(oname, "bed") ~= 0 then
remove_no_destruct(other)
beds.remove_spawns_at(pos)
beds.remove_spawns_at(other)
end
end
function beds.register_bed(name, def)
minetest.register_node(name .. "_bottom", {
description = def.description,
inventory_image = def.inventory_image,
wield_image = def.wield_image,
drawtype = "nodebox",
tiles = def.tiles.bottom,
use_texture_alpha = "clip",
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = false,
stack_max = 1,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 1},
sounds = def.sounds or default.node_sound_wood_defaults(),
node_box = {
type = "fixed",
fixed = def.nodebox.bottom,
},
selection_box = {
type = "fixed",
fixed = def.selectionbox,
},
on_place = function(itemstack, placer, pointed_thing)
local under = pointed_thing.under
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
not (placer and placer:is_player() and
placer:get_player_control().sneak) then
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
local pos
if udef and udef.buildable_to then
pos = under
else
pos = pointed_thing.above
end
local player_name = placer and placer:get_player_name() or ""
if minetest.is_protected(pos, player_name) and
not minetest.check_player_privs(player_name, "protection_bypass") then
minetest.record_protection_violation(pos, player_name)
return itemstack
end
local node_def = minetest.registered_nodes[minetest.get_node(pos).name]
if not node_def or not node_def.buildable_to then
return itemstack
end
local dir = placer and placer:get_look_dir() and
minetest.dir_to_facedir(placer:get_look_dir()) or 0
local botpos = vector.add(pos, minetest.facedir_to_dir(dir))
if minetest.is_protected(botpos, player_name) and
not minetest.check_player_privs(player_name, "protection_bypass") then
minetest.record_protection_violation(botpos, player_name)
return itemstack
end
local botdef = minetest.registered_nodes[minetest.get_node(botpos).name]
if not botdef or not botdef.buildable_to then
return itemstack
end
minetest.set_node(pos, {name = name .. "_bottom", param2 = dir})
minetest.set_node(botpos, {name = name .. "_top", param2 = dir})
if not minetest.is_creative_enabled(player_name) then
itemstack:take_item()
end
return itemstack
end,
on_destruct = function(pos)
destruct_bed(pos, 1)
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
beds.on_rightclick(pos, clicker)
return itemstack
end,
on_rotate = function(pos, node, user, _, new_param2)
local dir = minetest.facedir_to_dir(node.param2)
-- old position of the top node
local p = vector.add(pos, dir)
local node2 = minetest.get_node_or_nil(p)
if not node2 or minetest.get_item_group(node2.name, "bed") ~= 2 or
node.param2 ~= node2.param2 then
return false
end
if minetest.is_protected(p, user:get_player_name()) then
minetest.record_protection_violation(p, user:get_player_name())
return false
end
if new_param2 % 32 > 3 then
return false
end
-- new position of the top node
local newp = vector.add(pos, minetest.facedir_to_dir(new_param2))
local node3 = minetest.get_node_or_nil(newp)
local node_def = node3 and minetest.registered_nodes[node3.name]
if not node_def or not node_def.buildable_to then
return false
end
if minetest.is_protected(newp, user:get_player_name()) then
minetest.record_protection_violation(newp, user:get_player_name())
return false
end
node.param2 = new_param2
remove_no_destruct(p)
minetest.set_node(pos, node)
minetest.set_node(newp, {name = name .. "_top", param2 = new_param2})
return true
end,
can_dig = function(pos, player)
return beds.can_dig(pos)
end,
})
minetest.register_node(name .. "_top", {
drawtype = "nodebox",
tiles = def.tiles.top,
use_texture_alpha = "clip",
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = false,
pointable = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2,
not_in_creative_inventory = 1},
sounds = def.sounds or default.node_sound_wood_defaults(),
drop = name .. "_bottom",
node_box = {
type = "fixed",
fixed = def.nodebox.top,
},
on_destruct = function(pos)
destruct_bed(pos, 2)
end,
can_dig = function(pos, player)
local node = minetest.get_node(pos)
local dir = minetest.facedir_to_dir(node.param2)
local p = vector.add(pos, dir)
return beds.can_dig(p)
end,
})
minetest.register_alias(name, name .. "_bottom")
minetest.register_craft({
output = name,
recipe = def.recipe
})
end

109
mods/beds/beds.lua Normal file
View File

@ -0,0 +1,109 @@
-- beds/beds.lua
-- support for MT game translation.
local S = beds.get_translator
-- Fancy shaped bed
beds.register_bed("beds:fancy_bed", {
description = S("Fancy Bed"),
inventory_image = "beds_bed_fancy.png",
wield_image = "beds_bed_fancy.png",
tiles = {
bottom = {
"beds_bed_top1.png",
"beds_bed_under.png",
"beds_bed_side1.png",
"beds_bed_side1.png^[transformFX",
"beds_bed_foot.png",
"beds_bed_foot.png",
},
top = {
"beds_bed_top2.png",
"beds_bed_under.png",
"beds_bed_side2.png",
"beds_bed_side2.png^[transformFX",
"beds_bed_head.png",
"beds_bed_head.png",
}
},
nodebox = {
bottom = {
{-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375},
{0.375, -0.5, -0.5, 0.5, -0.065, -0.4375},
{-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375},
{-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
{0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
{-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5},
},
top = {
{-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5},
{0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5},
{-0.5, 0, 0.4375, 0.5, 0.125, 0.5},
{-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5},
{-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
{0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
{-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375},
}
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"", "", "group:stick"},
{"wool:white", "wool:white", "wool:white"},
{"group:wood", "group:wood", "group:wood"},
},
})
-- Simple shaped bed
beds.register_bed("beds:bed", {
description = S("Simple Bed"),
inventory_image = "beds_bed.png",
wield_image = "beds_bed.png",
tiles = {
bottom = {
"beds_bed_top_bottom.png^[transformR90",
"beds_bed_under.png",
"beds_bed_side_bottom_r.png",
"beds_bed_side_bottom_r.png^[transformFX",
"blank.png",
"beds_bed_side_bottom.png"
},
top = {
"beds_bed_top_top.png^[transformR90",
"beds_bed_under.png",
"beds_bed_side_top_r.png",
"beds_bed_side_top_r.png^[transformFX",
"beds_bed_side_top.png",
"blank.png",
}
},
nodebox = {
bottom = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5},
top = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5},
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.0625, 1.5},
recipe = {
{"wool:white", "wool:white", "wool:white"},
{"group:wood", "group:wood", "group:wood"}
},
})
-- Aliases for PilzAdam's beds mod
minetest.register_alias("beds:bed_bottom_red", "beds:bed_bottom")
minetest.register_alias("beds:bed_top_red", "beds:bed_top")
-- Fuel
minetest.register_craft({
type = "fuel",
recipe = "beds:fancy_bed_bottom",
burntime = 13,
})
minetest.register_craft({
type = "fuel",
recipe = "beds:bed_bottom",
burntime = 12,
})

304
mods/beds/functions.lua Normal file
View File

@ -0,0 +1,304 @@
local pi = math.pi
local is_sp = minetest.is_singleplayer()
local enable_respawn = minetest.settings:get_bool("enable_bed_respawn")
if enable_respawn == nil then
enable_respawn = true
end
-- support for MT game translation.
local S = beds.get_translator
-- Helper functions
local function get_look_yaw(pos)
local rotation = minetest.get_node(pos).param2
if rotation > 3 then
rotation = rotation % 4 -- Mask colorfacedir values
end
if rotation == 1 then
return pi / 2, rotation
elseif rotation == 3 then
return -pi / 2, rotation
elseif rotation == 0 then
return pi, rotation
else
return 0, rotation
end
end
local function is_night_skip_enabled()
local enable_night_skip = minetest.settings:get_bool("enable_bed_night_skip")
if enable_night_skip == nil then
enable_night_skip = true
end
return enable_night_skip
end
local function check_in_beds(players)
local in_bed = beds.player
if not players then
players = minetest.get_connected_players()
end
for n, player in ipairs(players) do
local name = player:get_player_name()
if not in_bed[name] then
return false
end
end
return #players > 0
end
local function lay_down(player, pos, bed_pos, state, skip)
local name = player:get_player_name()
local hud_flags = player:hud_get_flags()
if not player or not name then
return
end
-- stand up
if state ~= nil and not state then
if not beds.player[name] then
-- player not in bed, do nothing
return false
end
beds.bed_position[name] = nil
-- skip here to prevent sending player specific changes (used for leaving players)
if skip then
return
end
player:set_pos(beds.pos[name])
-- physics, eye_offset, etc
local physics_override = beds.player[name].physics_override
beds.player[name] = nil
player:set_physics_override({
speed = physics_override.speed,
jump = physics_override.jump,
gravity = physics_override.gravity
})
player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0})
player:set_look_horizontal(math.random(1, 180) / 100)
player_api.player_attached[name] = false
hud_flags.wielditem = true
player_api.set_animation(player, "stand" , 30)
-- lay down
else
-- Check if bed is occupied
for _, other_pos in pairs(beds.bed_position) do
if vector.distance(bed_pos, other_pos) < 0.1 then
minetest.chat_send_player(name, S("This bed is already occupied!"))
return false
end
end
-- Check if player is moving
if vector.length(player:get_velocity()) > 0.001 then
minetest.chat_send_player(name, S("You have to stop moving before going to bed!"))
return false
end
-- Check if player is attached to an object
if player:get_attach() then
return false
end
if beds.player[name] then
-- player already in bed, do nothing
return false
end
beds.pos[name] = pos
beds.bed_position[name] = bed_pos
beds.player[name] = {physics_override = player:get_physics_override()}
local yaw, param2 = get_look_yaw(bed_pos)
player:set_look_horizontal(yaw)
local dir = minetest.facedir_to_dir(param2)
-- p.y is just above the nodebox height of the 'Simple Bed' (the highest bed),
-- to avoid sinking down through the bed.
local p = {
x = bed_pos.x + dir.x / 2,
y = bed_pos.y + 0.07,
z = bed_pos.z + dir.z / 2
}
player:set_physics_override({speed = 0, jump = 0, gravity = 0})
player:set_pos(p)
player_api.player_attached[name] = true
hud_flags.wielditem = false
player_api.set_animation(player, "lay" , 0)
end
player:hud_set_flags(hud_flags)
end
local function get_player_in_bed_count()
local c = 0
for _, _ in pairs(beds.player) do
c = c + 1
end
return c
end
local function update_formspecs(finished)
local ges = #minetest.get_connected_players()
local player_in_bed = get_player_in_bed_count()
local is_majority = (ges / 2) < player_in_bed
local form_n
local esc = minetest.formspec_escape
if finished then
form_n = beds.formspec .. "label[2.7,9;" .. esc(S("Good morning.")) .. "]"
else
form_n = beds.formspec .. "label[2.2,9;" ..
esc(S("@1 of @2 players are in bed", player_in_bed, ges)) .. "]"
if is_majority and is_night_skip_enabled() then
form_n = form_n .. "button_exit[2,6;4,0.75;force;" ..
esc(S("Force night skip")) .. "]"
end
end
for name,_ in pairs(beds.player) do
minetest.show_formspec(name, "beds_form", form_n)
end
end
-- Public functions
function beds.kick_players()
for name, _ in pairs(beds.player) do
local player = minetest.get_player_by_name(name)
lay_down(player, nil, nil, false)
end
end
function beds.skip_night()
minetest.set_timeofday(0.23)
end
local update_scheduled = false
local function schedule_update()
if update_scheduled then
-- there already is an update scheduled; don't schedule more to prevent races
return
end
update_scheduled = true
minetest.after(2, function()
update_scheduled = false
if not is_sp then
update_formspecs(is_night_skip_enabled())
end
if is_night_skip_enabled() then
-- skip the night and let all players stand up
beds.skip_night()
beds.kick_players()
end
end)
end
function beds.on_rightclick(pos, player)
local name = player:get_player_name()
local ppos = player:get_pos()
local tod = minetest.get_timeofday()
if tod > beds.day_interval.start and tod < beds.day_interval.finish then
if beds.player[name] then
lay_down(player, nil, nil, false)
end
minetest.chat_send_player(name, S("You can only sleep at night."))
return
end
-- move to bed
if not beds.player[name] then
lay_down(player, ppos, pos)
beds.set_spawns() -- save respawn positions when entering bed
else
lay_down(player, nil, nil, false)
end
if not is_sp then
update_formspecs(false)
end
if check_in_beds() then
schedule_update()
end
end
function beds.can_dig(bed_pos)
-- Check all players in bed which one is at the expected position
for _, player_bed_pos in pairs(beds.bed_position) do
if vector.equals(bed_pos, player_bed_pos) then
return false
end
end
return true
end
-- Callbacks
-- Only register respawn callback if respawn enabled
if enable_respawn then
-- Respawn player at bed if valid position is found
spawn.register_on_spawn(function(player, is_new)
local pos = beds.spawn[player:get_player_name()]
if pos then
player:set_pos(pos)
return true
end
end)
end
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
lay_down(player, nil, nil, false, true)
beds.player[name] = nil
if check_in_beds() then
schedule_update()
end
end)
minetest.register_on_dieplayer(function(player)
local name = player:get_player_name()
local in_bed = beds.player
local pos = player:get_pos()
local yaw = get_look_yaw(pos)
if in_bed[name] then
lay_down(player, nil, pos, false)
player:set_look_horizontal(yaw)
player:set_pos(pos)
end
end)
minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname ~= "beds_form" then
return
end
-- Because "Force night skip" button is a button_exit, it will set fields.quit
-- and lay_down call will change value of player_in_bed, so it must be taken
-- earlier.
local last_player_in_bed = get_player_in_bed_count()
if fields.quit or fields.leave then
lay_down(player, nil, nil, false)
update_formspecs(false)
end
if fields.force then
local is_majority = (#minetest.get_connected_players() / 2) < last_player_in_bed
if is_majority and is_night_skip_enabled() then
update_formspecs(true)
beds.skip_night()
beds.kick_players()
else
update_formspecs(false)
end
end
end)

31
mods/beds/init.lua Normal file
View File

@ -0,0 +1,31 @@
-- beds/init.lua
-- Load support for MT game translation.
local S = minetest.get_translator("beds")
local esc = minetest.formspec_escape
beds = {}
beds.player = {}
beds.bed_position = {}
beds.pos = {}
beds.spawn = {}
beds.get_translator = S
beds.formspec = "size[8,11;true]" ..
"no_prepend[]" ..
"bgcolor[#080808BB;true]" ..
"button_exit[2,10;4,0.75;leave;" .. esc(S("Leave Bed")) .. "]"
beds.day_interval = {
start = 0.2,
finish = 0.805,
}
local modpath = minetest.get_modpath("beds")
-- Load files
dofile(modpath .. "/functions.lua")
dofile(modpath .. "/api.lua")
dofile(modpath .. "/beds.lua")
dofile(modpath .. "/spawns.lua")

61
mods/beds/license.txt Normal file
View File

@ -0,0 +1,61 @@
License of source code
----------------------
The MIT License (MIT)
Copyright (C) 2014-2016 BlockMen
Copyright (C) 2014-2016 Various Minetest developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
For more details:
https://opensource.org/licenses/MIT
Licenses of media (textures)
----------------------------
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Copyright (C) 2014-2016 BlockMen
Copyright (C) 2018 TumeniNodes
You are free to:
Share — copy and redistribute the material in any medium or format.
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
ShareAlike — If you remix, transform, or build upon the material, you must distribute
your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological measures that
legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public
domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary
for your intended use. For example, other rights such as publicity, privacy, or moral
rights may limit how you use the material.
For more details:
http://creativecommons.org/licenses/by-sa/3.0/

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Schickes Bett
Simple Bed=Schlichtes Bett
This bed is already occupied!=Dieses Bett ist bereits belegt!
You have to stop moving before going to bed!=Sie müssen stehen bleiben, bevor Sie zu Bett gehen können!
Good morning.=Guten Morgen.
@1 of @2 players are in bed=@1 von @2 Spielern sind im Bett
Force night skip=Überspringen der Nacht erzwingen
You can only sleep at night.=Sie können nur nachts schlafen.
Leave Bed=Bett verlassen

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Luksa lito
Simple Bed=Simpla lito
This bed is already occupied!=Tiu lito jam estas okupata!
You have to stop moving before going to bed!=Vi ĉesu moviĝi por enlitiĝi!
Good morning.=Bonan matenon.
@1 of @2 players are in bed=@1 el @2 ludantoj estas en lito
Force night skip=Devigi noktan salton
You can only sleep at night.=Vi povas dormi nur nokte.
Leave Bed=Ellitiĝi

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Cama de lujo
Simple Bed=Cama sencilla
This bed is already occupied!=Esta cama esta ocupada
You have to stop moving before going to bed!=Deja de moverte o no podras acostarte
Good morning.=Buenos días.
@1 of @2 players are in bed=@1 de @2 jugadores están durmiendo
Force night skip=Forzar hacer de dia
You can only sleep at night.=Sólo puedes dormir por la noche.
Leave Bed=Levantarse

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Lit chic
Simple Bed=Lit simple
This bed is already occupied!=Ce lit est déjà occupé !
You have to stop moving before going to bed!=Vous devez arrêter de bouger avant de vous coucher !
Good morning.=Bonjour.
@1 of @2 players are in bed=@1 joueur(s) sur @2 sont au lit
Force night skip=Forcer le passage de la nuit
You can only sleep at night.=Vous ne pouvez dormir que la nuit.
Leave Bed=Se lever du lit

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Ranjang Mewah
Simple Bed=Ranjang Sederhana
This bed is already occupied!=Ranjang telah terisi!
You have to stop moving before going to bed!=Anda harus diam untuk tidur!
Good morning.=Selamat pagi.
@1 of @2 players are in bed=@1 dari @2 pemain sedang tidur
Force night skip=Paksa lewati malam
You can only sleep at night.=Anda hanya bisa tidur pada waktu malam.
Leave Bed=Tinggalkan Ranjang

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Letto decorato
Simple Bed=Letto semplice
This bed is already occupied!=
You have to stop moving before going to bed!=
Good morning.=
@1 of @2 players are in bed=
Force night skip=
You can only sleep at night.=
Leave Bed=Alzati dal letto

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=ファンシーなベッド
Simple Bed=シンプルなベッド
This bed is already occupied!=ベッドはすでに使われています!
You have to stop moving before going to bed!=寝るときは動かないでください!
Good morning.=おはようございます。
@1 of @2 players are in bed=ベッドに@1 / @2人います
Force night skip=強制的に夜をスキップします
You can only sleep at night.=夜しか寝れません。
Leave Bed=ベッドから出ます

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=lo selja'i ckana
Simple Bed=lo sampu ckana
This bed is already occupied!=.i lo ti ckana cu canlu
You have to stop moving before going to bed!=lo nu do cando cu sarcu lo nu do sipna
Good morning.=.i .uise'inai cerni
@1 of @2 players are in bed=.i @1 cmima be lu'i @2 le pilno cu vreta lo ckana
Force night skip=bapli le nu co'u nicte
You can only sleep at night.=.i steci le ka nicte kei fa le ka do kakne le ka sipna ca pa ckaji be ce'u
Leave Bed=cliva lo ckana

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Katil Beragam
Simple Bed=Katil Biasa
This bed is already occupied!=Katil ini sudah diduduki!
You have to stop moving before going to bed!=Anda perlu berhenti bergerak sebelum tidur!
Good morning.=Selamat pagi.
@1 of @2 players are in bed=@1 daripada @2 pemain sedang tidur
Force night skip=Paksa langkau malam
You can only sleep at night.=Anda hanya boleh tidur pada waktu malam.
Leave Bed=Tinggalkan Katil

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Fantazyjne łóżko
Simple Bed=Proste łóżko
This bed is already occupied!=To łóżko jest już zajęte!
You have to stop moving before going to bed!=Musisz się zatrzymać aby wejść do łóżka
Good morning.=Dzień dobry.
@1 of @2 players are in bed=@1 z @2 graczy śpią
Force night skip=Wymuś pominięcie nocy
You can only sleep at night.=Możesz spać tylko w nocy.
Leave Bed=Opuść łóżko

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Cama Bonita
Simple Bed=Cama Simples
This bed is already occupied!=Esta cama já está ocupada!
You have to stop moving before going to bed!=Você precisa parar de se mover antes de ir para cama!
Good morning.=Bom dia.
@1 of @2 players are in bed=@1 de @2 jogadores estão na cama
Force night skip=Forçar o amanhecer
You can only sleep at night.=Você só pode dormir à noite
Leave Bed=Sair da Cama

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Красивая кровать
Simple Bed=Простая кровать
This bed is already occupied!=Эта кровать уже занята!
You have to stop moving before going to bed!=Вам нужно перестать двигаться чтобы лечь!
Good morning.=Доброе утро.
@1 of @2 players are in bed=@1 из @2 игроков в кровати
Force night skip=Пропустить ночь
You can only sleep at night.=Вы можете спать только ночью.
Leave Bed=Встать с кровати

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Pekná posteľ
Simple Bed=Jednoduchá posteľ
This bed is already occupied!=Táto posteľ je už obsadená
You have to stop moving before going to bed!=Predtým ako si ľahneš do postele, sa musíš prestať pohybovať!
Good morning.=Dobré ráno.
@1 of @2 players are in bed=@1 z @2 hráčov sú v posteli
Force night skip=Nútene preskočiť noc
You can only sleep at night.=Môžeš spať len v noci.
Leave Bed=Opusti posteľ

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Fin säng
Simple Bed=Enkel säng
This bed is already occupied!=Den här sängen används redan!
You have to stop moving before going to bed!=Du måste stanna innan du kan lägga dig!
Good morning.=God morgon.
@1 of @2 players are in bed=@1 av @2 spelare försöker sova.
Force night skip=Tvinga att hoppa över natt
You can only sleep at night.=Du kan bara sova på natten.
Leave Bed=Lämna säng

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Гарне ліжко
Simple Bed=Просте ліжко
This bed is already occupied!=Це ліжко вже зайняте!
You have to stop moving before going to bed!=Зупиніться перед тим як лягти!
Good morning.=Доброго ранку.
@1 of @2 players are in bed=@1 з @2 гравців(-я) у ліжку
Force night skip=Пропустити ніч
You can only sleep at night.=Ви можете спати лише вночі.
Leave Bed=Встати з ліжка

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=花式床
Simple Bed=简易床
This bed is already occupied!=床上已有人!
You have to stop moving before going to bed!=上床前要停止移动!
Good morning.=早安!
@1 of @2 players are in bed=@2位玩家中的@1位在床上
Force night skip=强制跳过夜晚
You can only sleep at night.=你只能在晚上睡觉。
Leave Bed=离开床

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=花式床
Simple Bed=簡易床
This bed is already occupied!=這個床已經被占據了!
You have to stop moving before going to bed!=你必須在上床前停止移動!
Good morning.=早安!
@1 of @2 players are in bed=@2位玩家中的@1位在床上
Force night skip=強制跳過夜晚
You can only sleep at night.=你只能在晚上睡覺。
Leave Bed=離開床

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=
Simple Bed=
This bed is already occupied!=
You have to stop moving before going to bed!=
Good morning.=
@1 of @2 players are in bed=
Force night skip=
You can only sleep at night.=
Leave Bed=

3
mods/beds/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = beds
description = Minetest Game mod: beds
depends = default, wool, spawn

72
mods/beds/spawns.lua Normal file
View File

@ -0,0 +1,72 @@
local world_path = minetest.get_worldpath()
local org_file = world_path .. "/beds_spawns"
local file = world_path .. "/beds_spawns"
local bkwd = false
-- check for PA's beds mod spawns
local cf = io.open(world_path .. "/beds_player_spawns", "r")
if cf ~= nil then
io.close(cf)
file = world_path .. "/beds_player_spawns"
bkwd = true
end
function beds.read_spawns()
local spawns = beds.spawn
local input = io.open(file, "r")
if input and not bkwd then
repeat
local x = input:read("*n")
if x == nil then
break
end
local y = input:read("*n")
local z = input:read("*n")
local name = input:read("*l")
spawns[name:sub(2)] = {x = x, y = y, z = z}
until input:read(0) == nil
io.close(input)
elseif input and bkwd then
beds.spawn = minetest.deserialize(input:read("*all"))
input:close()
beds.save_spawns()
os.rename(file, file .. ".backup")
file = org_file
end
end
beds.read_spawns()
function beds.save_spawns()
if not beds.spawn then
return
end
local data = {}
local output = io.open(org_file, "w")
for k, v in pairs(beds.spawn) do
table.insert(data, string.format("%.1f %.1f %.1f %s\n", v.x, v.y, v.z, k))
end
output:write(table.concat(data))
io.close(output)
end
function beds.set_spawns()
for name,_ in pairs(beds.player) do
local player = minetest.get_player_by_name(name)
local p = player:get_pos()
-- but don't change spawn location if borrowing a bed
if not minetest.is_protected(p, name) then
beds.spawn[name] = p
end
end
beds.save_spawns()
end
function beds.remove_spawns_at(pos)
for name, p in pairs(beds.spawn) do
if vector.equals(vector.round(p), pos) then
beds.spawn[name] = nil
end
end
beds.save_spawns()
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

View File

@ -0,0 +1,37 @@
Minetest Game mod: binoculars
=============================
See license.txt for license information.
Authors of source code
----------------------
paramat (MIT)
Authors of media (textures)
---------------------------
paramat (CC BY-SA 3.0):
binoculars_binoculars.png
Crafting
--------
binoculars:binoculars
default:obsidian_glass O
default:bronze_ingot B
O_O
BBB
O_O
Usage
-----
In survival mode, use of zoom requires the binoculars item in your inventory,
they will allow a 10 degree field of view.
It can take up to 5 seconds for adding to or removal from inventory to have an
effect, however to instantly allow the use of this zoom 'use' (leftclick) the
item.
Zoom with a field of view of 15 degrees is automatically allowed in creative
mode and for any player with the 'creative' privilege.
The 'binoculars.update_player_property()' function is global so can be
redefined by a mod for alternative behaviour.

73
mods/binoculars/init.lua Normal file
View File

@ -0,0 +1,73 @@
-- binoculars/init.lua
-- Mod global namespace
binoculars = {}
-- Load support for MT game translation.
local S = minetest.get_translator("binoculars")
-- Update player property
-- Global to allow overriding
function binoculars.update_player_property(player)
local new_zoom_fov = 0
if player:get_inventory():contains_item(
"main", "binoculars:binoculars") then
new_zoom_fov = 10
elseif minetest.is_creative_enabled(player:get_player_name()) then
new_zoom_fov = 15
end
-- Only set property if necessary to avoid player mesh reload
if player:get_properties().zoom_fov ~= new_zoom_fov then
player:set_properties({zoom_fov = new_zoom_fov})
end
end
-- Set player property 'on joinplayer'
minetest.register_on_joinplayer(function(player)
binoculars.update_player_property(player)
end)
-- Cyclic update of player property
local function cyclic_update()
for _, player in ipairs(minetest.get_connected_players()) do
binoculars.update_player_property(player)
end
minetest.after(4.7, cyclic_update)
end
minetest.after(4.7, cyclic_update)
-- Binoculars item
minetest.register_craftitem("binoculars:binoculars", {
description = S("Binoculars") .. "\n" .. S("Use with 'Zoom' key"),
inventory_image = "binoculars_binoculars.png",
stack_max = 1,
groups = {tool = 1},
on_use = function(itemstack, user, pointed_thing)
binoculars.update_player_property(user)
end,
})
-- Crafting
minetest.register_craft({
output = "binoculars:binoculars",
recipe = {
{"default:obsidian_glass", "", "default:obsidian_glass"},
{"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
{"default:obsidian_glass", "", "default:obsidian_glass"},
}
})

View File

@ -0,0 +1,59 @@
License of source code
----------------------
The MIT License (MIT)
Copyright (C) 2017 paramat
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
For more details:
https://opensource.org/licenses/MIT
Licenses of media (textures)
----------------------------
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Copyright (C) 2017 paramat
You are free to:
Share — copy and redistribute the material in any medium or format.
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
ShareAlike — If you remix, transform, or build upon the material, you must distribute
your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological measures that
legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public
domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary
for your intended use. For example, other rights such as publicity, privacy, or moral
rights may limit how you use the material.
For more details:
http://creativecommons.org/licenses/by-sa/3.0/

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Fernglas
Use with 'Zoom' key=Mit „Zoom“-Taste benutzen

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binoklo
Use with 'Zoom' key=Uzi per 'Zomo' klavo

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Prismáticos
Use with 'Zoom' key=Usar con la tecla 'Zoom'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Jumelles
Use with 'Zoom' key=Utiliser avec le bouton « Zoom »

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Teropong
Use with 'Zoom' key=Gunakan dengan tombol 'Zum'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binocolo
Use with 'Zoom' key=Usalo col tasto 'Ingrandimento'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=双眼鏡
Use with 'Zoom' key=ズームキーで使います

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=lo reldarvistci
Use with 'Zoom' key=.i tu'a le jvinu banro batke cu tadji lo nu pilno

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binokular
Use with 'Zoom' key=Guna dengan kekunci 'Zum'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Lornetka
Use with 'Zoom' key=Aby użyć naciśnij 'Zoom'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binóculos
Use with 'Zoom' key=Use com a tecla de 'Zoom'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Бинокль
Use with 'Zoom' key=Используется клавишей 'Приближение'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Ďalekohľad
Use with 'Zoom' key=Použi s klávesou "Priblíž"

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Kikare
Use with 'Zoom' key=Använd med 'Zoom'-knappen

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Бінокль
Use with 'Zoom' key=Використовується клавішею 'Наближення'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=望远镜
Use with 'Zoom' key=与“缩放”键一起使用

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=望遠鏡
Use with 'Zoom' key=與“縮放”鍵一起使用

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=
Use with 'Zoom' key=

3
mods/binoculars/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = binoculars
description = Minetest Game mod: binoculars
depends = default

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

View File

@ -1,16 +1,31 @@
Minetest 0.4 mod: boats Minetest Game mod: boats
======================= ========================
by PilzAdam, slightly modified for NeXt See license.txt for license information.
License of source code: Authors of source code
----------------------- ----------------------
WTFPL Originally by PilzAdam (MIT)
Various Minetest developers and contributors (MIT)
License of media (textures and sounds): Authors of media (textures and model)
--------------------------------------- -------------------------------------
WTFPL Textures: Zeg9 (CC BY-SA 3.0)
Model: thetoon and Zeg9 (CC BY-SA 3.0),
modified by PavelS(SokolovPavel) (CC BY-SA 3.0),
modified by sofar (CC BY-SA 3.0)
Authors of media files: Controls
----------------------- --------
textures: Zeg9 Right mouse button = Enter or exit boat when pointing at boat.
model: thetoon and Zeg9, modified by PavelS(SokolovPavel) Forward = Speed up.
Slow down when moving backwards.
Forward + backward = Enable cruise mode: Boat will accelerate to maximum forward
speed and remain at that speed without needing to hold the
forward key.
Backward = Slow down.
Speed up when moving backwards.
Disable cruise mode.
Left = Turn to the left.
Turn to the right when moving backwards.
Right = Turn to the right.
Turn to the left when moving backwards.

View File

@ -1 +0,0 @@
default

View File

@ -1,3 +1,7 @@
-- boats/init.lua
-- Load support for MT game translation.
local S = minetest.get_translator("boats")
-- --
-- Helper functions -- Helper functions
@ -8,13 +12,6 @@ local function is_water(pos)
return minetest.get_item_group(nn, "water") ~= 0 return minetest.get_item_group(nn, "water") ~= 0
end end
local function get_sign(i)
if i == 0 then
return 0
else
return i / math.abs(i)
end
end
local function get_velocity(v, yaw, y) local function get_velocity(v, yaw, y)
local x = -math.sin(yaw) * v local x = -math.sin(yaw) * v
@ -22,6 +19,7 @@ local function get_velocity(v, yaw, y)
return {x = x, y = y, z = z} return {x = x, y = y, z = z}
end end
local function get_v(v) local function get_v(v)
return math.sqrt(v.x ^ 2 + v.z ^ 2) return math.sqrt(v.x ^ 2 + v.z ^ 2)
end end
@ -31,39 +29,65 @@ end
-- --
local boat = { local boat = {
physical = true, initial_properties = {
collisionbox = {-0.5, -0.4, -0.5, 0.5, 0.3, 0.5}, physical = true,
visual = "mesh", -- Warning: Do not change the position of the collisionbox top surface,
mesh = "boat.x", -- lowering it causes the boat to fall through the world if underwater
textures = {"default_wood.png"}, collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5},
visual = "mesh",
mesh = "boats_boat.obj",
textures = {"default_wood.png"},
},
driver = nil, driver = nil,
v = 0, v = 0,
last_v = 0, last_v = 0,
removed = false removed = false,
auto = false
} }
function boat.on_rightclick(self, clicker) function boat.on_rightclick(self, clicker)
if not clicker or not clicker:is_player() then if not clicker or not clicker:is_player() then
return return
end end
local name = clicker:get_player_name() local name = clicker:get_player_name()
if self.driver and clicker == self.driver then if self.driver and name == self.driver then
self.driver = nil -- Cleanup happens in boat.on_detach_child
clicker:set_detach() clicker:set_detach()
default.player_attached[name] = false
default.player_set_animation(clicker, "stand" , 30) player_api.set_animation(clicker, "stand", 30)
elseif not self.driver then local pos = clicker:get_pos()
self.driver = clicker pos = {x = pos.x, y = pos.y + 0.2, z = pos.z}
clicker:set_attach(self.object, "", {x = 0, y = 11, z = -3}, {x = 0, y = 0, z = 0}) minetest.after(0.1, function()
default.player_attached[name] = true clicker:set_pos(pos)
minetest.after(0.2, function()
default.player_set_animation(clicker, "sit" , 30)
end) end)
self.object:setyaw(clicker:get_look_yaw() - math.pi / 2) elseif not self.driver then
clicker:set_attach(self.object, "",
{x = 0.5, y = 1, z = -3}, {x = 0, y = 0, z = 0})
self.driver = name
player_api.player_attached[name] = true
minetest.after(0.2, function()
player_api.set_animation(clicker, "sit", 30)
end)
clicker:set_look_horizontal(self.object:get_yaw())
end end
end end
-- If driver leaves server while driving boat
function boat.on_detach_child(self, child)
if child and child:get_player_name() == self.driver then
player_api.player_attached[child:get_player_name()] = false
self.driver = nil
self.auto = false
end
end
function boat.on_activate(self, staticdata, dtime_s) function boat.on_activate(self, staticdata, dtime_s)
self.object:set_armor_groups({immortal = 1}) self.object:set_armor_groups({immortal = 1})
if staticdata then if staticdata then
@ -72,74 +96,96 @@ function boat.on_activate(self, staticdata, dtime_s)
self.last_v = self.v self.last_v = self.v
end end
function boat.get_staticdata(self) function boat.get_staticdata(self)
return tostring(self.v) return tostring(self.v)
end end
function boat.on_punch(self, puncher, time_from_last_punch, tool_capabilities, direction)
function boat.on_punch(self, puncher)
if not puncher or not puncher:is_player() or self.removed then if not puncher or not puncher:is_player() or self.removed then
return return
end end
if self.driver and puncher == self.driver then
local name = puncher:get_player_name()
if self.driver and name == self.driver then
self.driver = nil self.driver = nil
puncher:set_detach() puncher:set_detach()
default.player_attached[puncher:get_player_name()] = false player_api.player_attached[name] = false
end end
if not self.driver then if not self.driver then
self.removed = true self.removed = true
local inv = puncher:get_inventory()
if not minetest.is_creative_enabled(name)
or not inv:contains_item("main", "boats:boat") then
local leftover = inv:add_item("main", "boats:boat")
-- if no room in inventory add a replacement boat to the world
if not leftover:is_empty() then
minetest.add_item(self.object:get_pos(), leftover)
end
end
-- delay remove to ensure player is detached -- delay remove to ensure player is detached
minetest.after(0.1, function() minetest.after(0.1, function()
self.object:remove() self.object:remove()
end) end)
if not minetest.setting_getbool("creative_mode") then
puncher:get_inventory():add_item("main", "boats:boat")
end
end end
end end
function boat.on_step(self, dtime) function boat.on_step(self, dtime)
self.v = get_v(self.object:getvelocity()) * get_sign(self.v) self.v = get_v(self.object:get_velocity()) * math.sign(self.v)
if self.driver then if self.driver then
local ctrl = self.driver:get_player_control() local driver_objref = minetest.get_player_by_name(self.driver)
local yaw = self.object:getyaw() if driver_objref then
if ctrl.up then local ctrl = driver_objref:get_player_control()
self.v = self.v + 0.1 if ctrl.up and ctrl.down then
elseif ctrl.down then if not self.auto then
self.v = self.v - 0.1 self.auto = true
end minetest.chat_send_player(self.driver, S("Boat cruise mode on"))
if ctrl.left then end
if self.v < 0 then elseif ctrl.down then
self.object:setyaw(yaw - (1 + dtime) * 0.03) self.v = self.v - dtime * 2.0
else if self.auto then
self.object:setyaw(yaw + (1 + dtime) * 0.03) self.auto = false
minetest.chat_send_player(self.driver, S("Boat cruise mode off"))
end
elseif ctrl.up or self.auto then
self.v = self.v + dtime * 2.0
end end
elseif ctrl.right then if ctrl.left then
if self.v < 0 then if self.v < -0.001 then
self.object:setyaw(yaw + (1 + dtime) * 0.03) self.object:set_yaw(self.object:get_yaw() - dtime * 0.9)
else else
self.object:setyaw(yaw - (1 + dtime) * 0.03) self.object:set_yaw(self.object:get_yaw() + dtime * 0.9)
end
elseif ctrl.right then
if self.v < -0.001 then
self.object:set_yaw(self.object:get_yaw() + dtime * 0.9)
else
self.object:set_yaw(self.object:get_yaw() - dtime * 0.9)
end
end end
end end
end end
local velo = self.object:getvelocity() local velo = self.object:get_velocity()
if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then if not self.driver and
self.object:setpos(self.object:getpos()) self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then
self.object:set_pos(self.object:get_pos())
return return
end end
local s = get_sign(self.v) -- We need to preserve velocity sign to properly apply drag force
self.v = self.v - 0.02 * s -- while moving backward
if s ~= get_sign(self.v) then local drag = dtime * math.sign(self.v) * (0.01 + 0.0796 * self.v * self.v)
self.object:setvelocity({x = 0, y = 0, z = 0}) -- If drag is larger than velocity, then stop horizontal movement
if math.abs(self.v) <= math.abs(drag) then
self.v = 0 self.v = 0
return else
end self.v = self.v - drag
if math.abs(self.v) > 4.5 then
self.v = 4.5 * get_sign(self.v)
end end
local p = self.object:getpos() local p = self.object:get_pos()
p.y = p.y - 0.5 p.y = p.y - 0.5
local new_velo = {x = 0, y = 0, z = 0} local new_velo
local new_acce = {x = 0, y = 0, z = 0} local new_acce = {x = 0, y = 0, z = 0}
if not is_water(p) then if not is_water(p) then
local nodedef = minetest.registered_nodes[minetest.get_node(p).name] local nodedef = minetest.registered_nodes[minetest.get_node(p).name]
@ -149,63 +195,85 @@ function boat.on_step(self, dtime)
else else
new_acce = {x = 0, y = -9.8, z = 0} new_acce = {x = 0, y = -9.8, z = 0}
end end
new_velo = get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y) new_velo = get_velocity(self.v, self.object:get_yaw(),
self.object:setpos(self.object:getpos()) self.object:get_velocity().y)
self.object:set_pos(self.object:get_pos())
else else
p.y = p.y + 1 p.y = p.y + 1
if is_water(p) then if is_water(p) then
local y = self.object:getvelocity().y local y = self.object:get_velocity().y
if y >= 4.5 then if y >= 5 then
y = 4.5 y = 5
elseif y < 0 then elseif y < 0 then
new_acce = {x = 0, y = 20, z = 0} new_acce = {x = 0, y = 20, z = 0}
else else
new_acce = {x = 0, y = 5, z = 0} new_acce = {x = 0, y = 5, z = 0}
end end
new_velo = get_velocity(self.v, self.object:getyaw(), y) new_velo = get_velocity(self.v, self.object:get_yaw(), y)
self.object:setpos(self.object:getpos()) self.object:set_pos(self.object:get_pos())
else else
new_acce = {x = 0, y = 0, z = 0} new_acce = {x = 0, y = 0, z = 0}
if math.abs(self.object:getvelocity().y) < 1 then if math.abs(self.object:get_velocity().y) < 1 then
local pos = self.object:getpos() local pos = self.object:get_pos()
pos.y = math.floor(pos.y) + 0.5 pos.y = math.floor(pos.y) + 0.5
self.object:setpos(pos) self.object:set_pos(pos)
new_velo = get_velocity(self.v, self.object:getyaw(), 0) new_velo = get_velocity(self.v, self.object:get_yaw(), 0)
else else
new_velo = get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y) new_velo = get_velocity(self.v, self.object:get_yaw(),
self.object:setpos(self.object:getpos()) self.object:get_velocity().y)
self.object:set_pos(self.object:get_pos())
end end
end end
end end
self.object:setvelocity(new_velo) self.object:set_velocity(new_velo)
self.object:setacceleration(new_acce) self.object:set_acceleration(new_acce)
end end
minetest.register_entity("boats:boat", boat) minetest.register_entity("boats:boat", boat)
minetest.register_craftitem("boats:boat", { minetest.register_craftitem("boats:boat", {
description = "Boat", description = S("Boat"),
inventory_image = "boat_inventory.png", inventory_image = "boats_inventory.png",
wield_image = "boat_wield.png", wield_image = "boats_wield.png",
wield_scale = {x = 2, y = 2, z = 1}, wield_scale = {x = 2, y = 2, z = 1},
liquids_pointable = true, liquids_pointable = true,
groups = {flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
local under = pointed_thing.under
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
not (placer and placer:is_player() and
placer:get_player_control().sneak) then
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
if pointed_thing.type ~= "node" then if pointed_thing.type ~= "node" then
return return itemstack
end end
if not is_water(pointed_thing.under) then if not is_water(pointed_thing.under) then
return return itemstack
end end
pointed_thing.under.y = pointed_thing.under.y + 0.5 pointed_thing.under.y = pointed_thing.under.y + 0.5
minetest.add_entity(pointed_thing.under, "boats:boat") boat = minetest.add_entity(pointed_thing.under, "boats:boat")
if not minetest.setting_getbool("creative_mode") then if boat then
itemstack:take_item() if placer then
boat:set_yaw(placer:get_look_horizontal())
end
local player_name = placer and placer:get_player_name() or ""
if not minetest.is_creative_enabled(player_name) then
itemstack:take_item()
end
end end
return itemstack return itemstack
end, end,
}) })
minetest.register_craft({ minetest.register_craft({
output = "boats:boat", output = "boats:boat",
recipe = { recipe = {
@ -215,3 +283,8 @@ minetest.register_craft({
}, },
}) })
minetest.register_craft({
type = "fuel",
recipe = "boats:boat",
burntime = 20,
})

63
mods/boats/license.txt Normal file
View File

@ -0,0 +1,63 @@
License of source code
----------------------
The MIT License (MIT)
Copyright (C) 2012-2016 PilzAdam
Copyright (C) 2012-2016 Various Minetest developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
For more details:
https://opensource.org/licenses/MIT
Licenses of media (textures and model)
--------------------------------------
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Copyright (C) 2012-2016 Zeg9
Copyright (C) 2012-2016 thetoon
Copyright (C) 2012-2016 PavelS(SokolovPavel)
Copyright (C) 2016 sofar (sofar@foo-projects.org)
You are free to:
Share — copy and redistribute the material in any medium or format.
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
ShareAlike — If you remix, transform, or build upon the material, you must distribute
your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological measures that
legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public
domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary
for your intended use. For example, other rights such as publicity, privacy, or moral
rights may limit how you use the material.
For more details:
http://creativecommons.org/licenses/by-sa/3.0/

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Schneller Bootsmodus an
Boat cruise mode off=Schneller Bootsmodus aus
Boat=Boot

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=La kroza maniero de la boato estas ŝaltita.
Boat cruise mode off=La kroza maniero de la boato estas malŝaltita.
Boat=Boato

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Modo crucero en bote activado
Boat cruise mode off=Modo crucero en bote desactivado
Boat=Bote

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Bateau mode rapide activé
Boat cruise mode off=Bateau mode rapide désactivé
Boat=Bateau

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Mode perahu jelajah nyala
Boat cruise mode off=Mode perahu jelajah mati
Boat=Perahu

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Modalità movimento automatico barca attivata
Boat cruise mode off=Modalità movimento automatico barca disattivata
Boat=Barca

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=クルージングモード・オン
Boat cruise mode off=クルージングモード・オフ
Boat=ボート

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=.i lo bloti cu zmiku le ka klama
Boat cruise mode off=.i lo bloti cu macnu le ka klama
Boat=lo bloti

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Mod jelajah bot dihidupkan
Boat cruise mode off=Mod jelajah bot dimatikan
Boat=Bot

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Tryb rejsu łodką włączony
Boat cruise mode off=Tryb rejsu łodką wyłączony
Boat=Łódka

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Modo de cruseiro do barco ligado
Boat cruise mode off=Modo de cruseiro do barco desligado
Boat=Barco

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Автоход лодки включен
Boat cruise mode off=Автоход лодки выключен
Boat=Лодка

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Cestovný režim loďky je zapnutý
Boat cruise mode off=Cestovný režim loďky je vypnutý
Boat=Loďka

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Båtkryssningsläge på
Boat cruise mode off=Båtkryssningsläge av
Boat=Båt

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Режим мандрування на човні увімкнено
Boat cruise mode off=Режим мандрування на човні вимкнено
Boat=Човен

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=巡航模式开启
Boat cruise mode off=巡航模式关闭
Boat=船

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=巡航模式開啟
Boat cruise mode off=巡航模式關閉
Boat=船

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=
Boat cruise mode off=
Boat=

3
mods/boats/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = boats
description = Minetest Game mod: boats
depends = default, player_api

Some files were not shown because too many files have changed in this diff Show More