ToddLLM/luanti-complete-dataset huggingface dataset:
**Title:** Cycles

**Description:** 

**Details:**
## Rightclick to change state... How to?
This mod provides an easy way to register block or item state change on certain events. Unless otherwise specified, all calls should be called after the node/item registrations.

### `cycle.node` APIs
This table provides cycle functions for nodes.

#### `cycle.node.punchcycle(list)`
Enter the node names in order to the list. Nodes, when being punched, will change to the next state, or the first state if that node is the last one.

This function will override `nodedef.on_punch`. Functions originally exists will be executed afterwards.

#### `cycle.node.rightclickcycle(list)`
Enter the node names in order to the list. Nodes, when being right-clicked, will change to the next state, or the first state if that node is the last one.

This function will override `nodedef.on_rightclick`. Functions originally exists will be executed afterwards.

### `cycle.item` APIs
This table provides cycle functions for items, including nodes in item form.

#### `cycle.item.usecycle(list)`
Enter the node names in order to the list. When the player right-clicks when holding one of the listed items, the item will change to the next state, or the first state if that item is the last one.

This function will override `itemdef.on_place` and `itemdef.on_secondary_use`. Functions originally exists will be executed afterwards. This should not be used on node items.

#### `cycle.item.placecycle(list)`
With similar behavior as `cycle.item.usecycle(list)`, but will only do the loop if the player was pointing to a node.

This function will override `itemdef.on_place`. Functions originally exists will be executed afterwards. This should not be used on node items.

#### `cycle.item.secondarycycle(list)`
With similar behavior as `cycle.item.usecycle(list)`, but will only do the loop if the player was not pointing to a node.

This function will override `itemdef.on_secondary_use`. Functions originally exists will be executed afterwards.

#### `cycle.item.usecycle(list)`
Enter the node names in order to the list. When the player left-clicks when holding one of the listed items, the item will change to the next state, or the first state if that item is the last one.

This function will override `itemdef.on_use`. Functions originally exists will be executed afterwards.


### Variables
#### `cycle.version`
The version ID indicating API features. This number is increased on every changes that touched the behaviour of the APIs. Mods can then check the compactibility by comparing this value to the target version.

Ideally, all changes should be backward-compactible, so mods should only check for a lower limit of this variable.


**Tags:** library
**Repository:** https://github.com/C-C-Minetest-Server/cycle
**License:** MIT
**Title:** Luxury Decor

**Description:** 

**Details:**
*This mod is abandoned in favour of [Multidecor](https://content.luanti.org/packages/Andrey01/multidecor/).*

This mod has a goal to add large amount of furniture elements (kitchen, bathroom, living room, bedroom of different styles), decorations and exterior stuff. Many of them are luxurious and have expensive crafting recipes. Most planned stuff is missing now, unfortunately and intended to be added in coming updates.

# Features:

*Fine models and textures.
*Cabinets can be **visually** opened/closed. Unfortunately, a bug exists on double opening attempt when put items may seem be lost.
*Sofas and footstools will be connected between themselves if click it sideways with identical sofa.

# Crafting Recipes:

See forum topic https://forum.minetest.net/viewtopic.php?f=9&t=22352&sid=facf8f112ebf2a174d83a37cf8c2947d or github page in README.md https://github.com/Andrey2470T/luxury_decor

# TODO List:

See forum topic https://forum.minetest.net/viewtopic.php?f=9&t=22352&sid=facf8f112ebf2a174d83a37cf8c2947d



**Tags:** decorative
**Repository:** https://github.com/Andrey2470T/luxury_decor
**License:** MIT
**Title:** FediAuth

**Description:** 

**Details:**
2FA via Fediverse account, based on  the original mod https://content.luanti.org/packages/mt-mods/otp/ by BuckarooBanzai 

Lets Fediverse players use the `/fediauth_on` command to protect their account with a second factor.

Players that have the FediAuth enabled have to enter a verification code upon joining the game, the code will be sent to their account handle (@nick@example.com).

That mod requires add to `secure.http_mods = fediauth` for sending codes from service account (any mastodon API compatible instance)

Add `fediauth.instance = example.com` and `fediauth.api_token = secret` for work this mod.

Also you can enable fediauth.fedi_required option and players who not have fediverse account can't play on server

NOTE for server admins: remember, minetest can't revoke privileges from server admin (without change builtin lua code), for mitigation of it use separate account for administrative purposes and better secure way - terminal via ssh.   
(now it mitigated, but not panic if you got locked  in --terminal - just input /fediauth_unlock \[random code above in console\]; or just join to world as admin, also you can manage your server via [szutil_consocket](https://content.luanti.org/modnames/szutil_consocket/))  
NOTE: this mod conflicts with original `otp`

# License

* Code: `MIT`
* "basexx.lua" `MIT` https://github.com/aiq/basexx/blob/master/lib/basexx.lua

Textures:  

* fediverse.png from https://commons.wikimedia.org/wiki/File:Fediverse_logo_proposal.svg by Eukombos, CC0 1.0
* checkmark.png (aka blobfoxcheck.png) from https://volpeon.ink/projects/emojis/blobfox/ by Feuerfuchs <me@feuerfuchs.dev>, Apache 2.0

**Tags:** complex_installation, multiplayer, server_tools
**Repository:** https://git.phreedom.club/localhost_frssoft/fediauth
**License:** MIT
**Title:** tides & floods

**Description:** 

**Details:**
# tides & floods - Work in Progress

# Disclaimers
This mod is not actively being worked on, and multiple features are broken.

It replaces all the default water with custom water nodes.
Removing the mod will cause these nodes to become unknown nodes.
The water nodes from the mod are not compatible with the buckets, or any mechanics involving default:water.
Hence this mod is not recommanded in a survival world.

# How to use

In its current state, the tide level has to be changed with the /sealevel [height] command.
Raising or lowering the sea level by more than one node is possible, but not necessarily the goal of the mod.

# Goal

The goal of this mod is to make simulation of water level rising and lowering in realtime in a visually pleasant way.
It uses multiple liquid nodes :

- seawater : the main water node that fills the ocean. Doesn't contain any ABM.

- shorewater : a node generated where the sea meets the land. It contains a slow ABM that will start the receding tide process

- offshorewater : a node generated at the surface, at every cmapblock corner. It uses a slow ABM too trigger rising tides starting at the edge of the map (when it neighbours a "ignore" node)

- waves : a flowing liquid node with a fast ABM that takes care of everything inbetween and disappear once it is finished.

Some of those nodes contain an LBM so loading mapblocks will "catchup" instantaneously to to current sea level


# ~~To~~ *Won't* Do
(any help or advice ~~will be~~ *would still be* greatly appreciated!)

## high-priority
- replace water during terrain gen (still keep LBMs as an option to support already loaded worlds)
- re-implement filling "pools" that stays filled at low tide
## low priority
- fixe shorewater forming around vegetation
- fixe shorewater lines forming with LBMs
## next
- re-implement naturally occurring tides
- load visible mapblock once to update their tide levels (avoid messy looking horizon)
- add plantmatter layer node
- make plants turn into plantmatter layer, make it float, react to moving water, deposit as wrack lines
- or turn plants into items
- trigger falling lilypads/float group
## later/maybe
- tweak texture colors
- make all water nodes work with the bucket
- create new seawater node not affected by tides
- add sound
- add mechanic to allow formation of pockets of air in coastal caves
- make game agnostic?
- add tidal currents/water currents?
- improve river connections?
- settingtype option for tidal range, supertide events, water continuously rising, speed

# Futur plans

- adapt mod for lava and eruptions
- make it work with dynamic liquid?

**Tags:** creative, environment
**Repository:** https://github.com/Lemente/tidesandfloods
**License:** MIT
**Title:** Dyes for Extra Biomes

**Description:** 

**Details:**
#### Deprecation notice

As of ebiomes v1.5.0, this mod is no longer necessary because the dye recipes are included in the main mod. This mod (`ebiomes_dyes`), will only be useful if you are using an older version of `ebiomes` and still want to have dye recipes. 

This mod adds the recipes for crafting dyes for all the flowers included in [`ebiomes`](https://content.luanti.org/packages/CowboyLv/ebiomes/). It gives 4 dyes per flower, just like the default ones.

##### Reason for making this:

[Extra Biomes](https://github.com/CowboyLva/ebiomes) includes lots of flowers (16), but originally had no recipes for turning them into dyes. This was very annoying because if someone wanted to get dyes, and they lived in a biome from `ebiomes`, they would have to travel far to find a different biome to get a flower with the correct colour dye. With this mod, the flowers found in `ebiomes` can be crafted into dyes.

##### How it works:

If you want to know the specific colour for each flower, go in `init.lua` and look at `ebiomes_dyelist`. Each pair next to each other are the flower to dye colour.

The craft registering is handled by a loop function registering each pair in that list. 

This is all accomplished in only **40 lines**, including the list of dye colours at the top.

##### License:

by Skivling (MIT License) - see `LICENCE.txt`.

**Tags:** mapgen
**Repository:** https://codeberg.org/Skivling/ebiomes_dyes
**License:** MIT
**Title:** LEEF math (CPML)

**Description:** 

**Details:**
Cirno's Perfect Math Library
====

This is a Love (the game framework) library CPML which has been ported and modified to work in the context of Luanti.

### Main features
* only Luanti Library which implements the ability to manipulate matrices and quaternions and convert them reliably to irrlicht bone rotations.
* bounding box modules
* mat4
* vec3
* quaternions
* octrees
* bvh lib
* more

### Adapted for Luanti
For best memory performance: have luaJIT & it's FFI library (this should be built into luaJIT), and add LEEF-Math to your trusted list (so it can `require()` call the FFI library).

Various useful bits of game math. 3D line intersections, ray casting, 2d/3d vectors, 4x4 matrices, quaternions, etc.

This is a fork of CPML (for LÖVE/love3d), it's been ported over the minetest so it can be used in whatever you need it for.
Documentation can be found here: <https://luanti-extended-engine-features.github.io/LEEF-Math/>.

For possible future contributors: documentation must be generated manually when a commit is made, because I haven't set up workflows (and have no idea how to).

### TODO:
* Vec3s and Vec2s are not currently adapted for functionality with MT vectors, fix.


**Tags:** library
**Repository:** https://github.com/Luanti-Extended-Engine-Features/LEEF-Math
**License:** MIT
**Title:** LEEF filesystem

**Description:** 

**Details:**
# leef-filesystem
Implements binary file reading, and media tracking.
Credits to Appgurue: he basically wrote all original code, it's been highly modified to be modular and to have a working documented interface- but nonetheless none of it would be possible without him.
documentation: https://luanti-extended-engine-features.github.io/LEEF-filesystem/


**Tags:** library
**Repository:** https://github.com/Luanti-Extended-Engine-Features/LEEF-filesystem
**License:** MIT
**Title:** Farlands Reloaded

**Description:** 

**Details:**
# Minetest Farlands Reloaded Game

![Luacheck](https://github.com/terraquest-studios/farlands_reloaded/workflows/luacheck/badge.svg)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![License: CC BY-SA 4.0](https://img.shields.io/badge/License-CC%20BY--SA%204.0-blue)](https://creativecommons.org/licenses/by-sa/4.0/)

## About

game built on the minetest engine currently in beta. This game current provides minimal 
playable experience but in the long term hopes to become more tech and train focused.
see the [roadmap.md](https://github.com/TerraQuest-Studios/farlands_reloaded/blob/master/ROADMAP.md) file for proposed direction.

## Test Server

A test server running this game can be found at  
Address: creativeworks.terraqueststudios.net
Port: 30016

## License

Code: MIT  
Media: CC BY-SA 4.0.

## Links

* [Github](https://github.com/TerraQuest-Studios/farlands_reloaded)
* [Contentdb](https://content.luanti.org/packages/wsor4035/farlands_reloaded/)
* [forums](not available yet)

## Setup

  * Git  
    download game, install in /games, if using git, make sure to get the submodules as well  
  * Github zip download  
    github zip download does not include submodules so you will need to obtain copys of those mods
    and insert them in there proper place
  * Contentdb
    should be able to download the game from the content tab and play

## minetest.conf settings

currently none provided

## FAQ

__This game is missing xyz feature__  
Please open a issue for it, or better yet open a pull request for it

**Tags:** building, creative, oneofakind__original
**Repository:** https://github.com/TerraQuest-Studios/farlands_reloaded
**License:** MIT
**Title:** Controls

**Description:** 

**Details:**
Utility library for control press/hold/release events.

Rewritten and maintained version of [Arcelmi/minetest-controls](https://github.com/Arcelmi/minetest-controls).

### API

Callbacks are supported for all keys in `player:get_player_control()`.

```lua
controls.register_on_press(function(player, key)
    -- Called when a key is pressed
    -- player: player object
    -- key: key pressed
end)

controls.register_on_hold(function(player, key, length)
    -- Called every globalstep while a key is held
    -- player: player object
    -- key: key pressed
    -- length: length of time key has been held in seconds
end)

controls.register_on_release(function(player, key, length)
    -- Called when a key is released
    -- player: player object
    -- key: key pressed
    -- length: length of time key was held in seconds
end)
```

**Tags:** library
**Repository:** https://github.com/mt-mods/controls
**License:** MIT
**Title:** Nether Mobs

**Description:** 

**Details:**
## Nether Monsters
This mod adds monsters to your Nether.

### Nether Man
The nether man is the principal habitant of the nether world, it transforms nodes like sand and dirt into nether sand.

### Nether Dragon
The legendary nether dragon is the nether king and breathes deadly fire upon players. It drops a special item with more resistance, called nether dragon scale, and a dragon egg to spawn a tamed nether dragon.

### Nether Dragon Scales
With that item the players can craft resistant dragon scale blocks (including stairs and slabs) and of course the dragon armor (if using the 3d-armor mod).

### Tamed Nether Dragon
The tamed nether dragon can only be spawned with a dragon egg. If you right click on it with a saddle, you (as the owner) can start to drive and fly with the dragon. You also can catch the dragon using the lasso.

### Settings
In the init.lua file you can enable or disable the spawning of the netherman and dragon by setting nethermobs.NETHERMAN_ENABLED and nethermobs.DRAGON_ENABLED to true or false.
You can also change the spawn heights for the netherman and dragon (for example to allow them to spawn in the overworld and transform the ground to nether sand).

### Acknowledgements
This mod was originally made by rael5 and is based on the mob API Mobs Redo from TenPlus1.


**Tags:** mobs, pve, survival
**Repository:** https://github.com/GreenDirkfried/minetest-nether-monsters
**License:** MIT