ToddLLM/luanti-complete-dataset huggingface dataset:
**Title:** VPS Blocker

**Description:** 

**Details:**
# Vps Blocker

This mod checks the ips of the player for vpns, proxys, or other hosting services. These clients will be blocked  
It gets the information from proxy-check websites like iphub.info

Installing
----------

First you need to add vps_blocker to secure.http_mods to allow http requests.

Set the kick message:  
vps_kick_message = "You are using a proxy, vpn or other hosting services, please disable them to play on this server."

Commands
--------

Use /vps_wl (add or remove) (name) to allow people using vps.

Checkers
--------

Paste the keys to the minetest.conf

###### iphub.info

To use iphub.info you need to register there(recommend)  
You get 1000 requests/day for free  
iphub_key = 123

###### getipintel.net

You must set an own contact email for getipintel.net  
Please first go to the webpage and read what it's used for!  
getipintel_contact = example@example.com

###### proxycheck.io

For a higher request limit 1000 instead of 100 requests and dashboard register at there webpage
proxycheck_key = 1-2-3-4

License
-------

The idea for the mod is taken from https://github.com/red-001/block_vps but it's a complete redo of it.

Created by [Lejo](https://github.com/Lejo1)
License: MIT


**Tags:** complex_installation, multiplayer, server_tools
**Repository:** https://github.com/Lejo1/vps_blocker
**License:** MIT
**Title:** Advanced Ban

**Description:** 

**Details:**
This mod will ban player based on its username, not its IP address. You can also add some username manually in `bannedplayerlist.txt`.

**Usage**

* Check ban for a player: `/abancheck <player name>`
* Simple ban/unban: `/aban <player name>` and `/unaban <player name>`
* Ban with kick: `/abankick <player name>`
* Ban with IP: `/aban+ <player name>` and `/unaban+ <player name>`

**Tags:** server_tools
**Repository:** https://github.com/srifqi/advancedban
**License:** MIT
**Title:** Latency Protection

**Description:** 

**Details:**
# Latency Protection
Latency protection mod attempts to prevent players from glitching through protected nodes.    
By either teleporting the player or damaging them.

## Damage mode
This mode attempts to prevent players from glitching through protected nodes. By damaging players who interact with a protected position too fast.

## Teleport mode
This mode attempts to prevent players from glitching through protected nodes. By recording position every 20 seconds (This can be changed in settings) and teleporting them if the protection interaction happens in a very quick time frame. If a player interacts with a protected node the position will not be recorded for an extra cycle. Before recording a position, the player’s avg_jitter is checked to make sure the player is not lagging out.

## Setting types
The timer for when to record a player position.   
This only works if punishment is set to teleport.

```lua
latency_protection.timer = 20
```

The max jitter a player can have before refusing the position update.    
This only works if punishment is set to teleport.
```lua
latency_protection.jitter_max = 1.5
```

The time limit between is_protected calls.    
If the function is called too fast the player will be teleport or damaged.    
`time_max` is read in microseconds.

```lua
latency_protection.time_max = 10000
```

Damage amount to apply to the player.   
This only works if punishment is set to damage.

```lua
latency_protection.damage = 16
```

Set what type of punishment will be given to a player:
- Teleport the player.
- Damage the player.

```lua
latency_protection.punishment = "damage"
```


**Tags:** server_tools, world_tools
**Repository:** https://gitlab.com/Coder12a/latency_protection
**License:** MIT
**Title:** Localized Server News

**Description:** 

**Details:**
# minenews

Localized and simple server news for Minetest servers. Original version by Shara
RedCat, forked and improved by Ronoaldo.

This mod displays a formspec when the player joins. To set the news text to
display, make a file named news_*lang_code*.md in your world directory for
each locale you plan to support, falling back to a news.md file if no localized
version is found.

The contents of this file will be displayed to the player, interpreted as
Markdown. When changing the contents of the file, there is no need to restart
the server for it to update in game so you can also test quickly the display.

Players can also type /news to display the formspec at any time.

Players with the news_bypass privilege will not see the formspec when they sign
in, but can still use the /news command.

# License

Code for this mod is released under MIT (https://opensource.org/licenses/MIT).

This mod uses textures from Bootstrap Icons, also licensed under MIT
(https://opensource.org/licenses/MIT).

**Tags:** server_tools
**Repository:** https://github.com/ronoaldo/minenews
**License:** MIT
**Title:** Exploding Chest

**Description:** 

**Details:**
# explodingchest
explodingchest-api mod

This mod provides a framework to make a volatile chest or storage nodes which explode if it contains any registered explosive materials.

# Make chest volatile

By setting the chest's group to volatile it will be able to explode, Also it can be made into a trap chest.

Example:

``` lua
groups = {volatile = 1}
```

# Setting explosive materials

On any node or item that is to be explosive, set its group to explosive = [insert number]. The number is the radius of the explosion.


Example:

``` lua
groups = {explosive = 3}
```

# Trap chest

To make a trap chest place the explodingchest:trap craftitem into any volatile chest. If the chest contains any explosive materials it will blow up on right click.

explodingchest:trap Has no crafting receipt. You have to give it one.

# Settings

To limit the size of the explosion.

``` lua
explodingchest.explosion_max = 11
```

The way the explosion is calculated.

Multiply means explosive material is multiplied.

Reduce means the initial explosion size is set to the biggest explosive material then the rest is dividend by reduce.

``` lua
explodingchest.radius_comput = "reduce"
```

The amount to divide by. (this is only in use if radius_comput is set to reduce)

``` lua
explodingchest.reduce = 288
```

These settings can be changed in advanced settings.

# Blast Type

Instant blast type means the volatile container will blow up in 0 seconds.

Entity blast type means the volatile container will turn into a entity (You need tnt_revamped mod turn on for this)

Timer blast type means the volatile container will have a delay before blowing up.

``` lua
explodingchest.blast_type = "instant"
```

This setting is for when the volatile container is opened and theres a trap craftitem inside.

Instant blast type means the volatile container will blow up in 0 seconds.

Entity blast type means the volatile container will turn into a entity (You need tnt_revamped mod turn on for this)

Timer blast type means the volatile container will have a delay before blowing up.

``` lua
explodingchest.trap_blast_type = "instant"
```

Blast delay timer (only works for entity and timer)

If timer is set to zero then the timer is auto set to the blast radius size.

``` lua
explodingchest.timer = 0
```


**Tags:** library
**Repository:** https://gitlab.com/Coder12a/explodingchest
**License:** MIT
**Title:** World of Life

**Description:** 

**Details:**
Cellestiall (**cell**-esti-**all**) extends Cellestial to the entire world. Accordingly depends on [`cellestial`](https://github.com/appgurueu/cellestial).

Part of the Cellestial Series: [`cellestial`](https://content.luanti.org/packages/LMD/cellestial/), `cellestiall` and [`cellestial_game`](https://content.luanti.org/packages/LMD/cellestial_game/)

**Tags:** education, puzzle, simulation
**Repository:** https://github.com/appgurueu/cellestiall
**License:** MIT
**Title:** You Can't Touch It Either

**Description:** 

**Details:**
# You Can't Touch It Either

A simple protected node storage mod for Nodecore servers.

Designed in similar spirit to [nc_yctiwy (You Can't Take it With You) by Warr1024](https://content.luanti.org/packages/Warr1024/nc_yctiwy/)

### Includes:                                     

##### Golden Lockbox node
_Behaves like a typical Nodecore lode shelf, but is owned by it's placer and is able to be gently locked._

##### Golden Lockbox Key
_Used to lock a lockbox, or claim an unclaimed lockbox._

##### Securium Shard
_A mineral found underground that is obtained as a secondary product of mining lode ore._


### Considerations:

##### Tote-transport
Use of lockboxes with totes is supported, but unlocked lockboxes may still be moved by others using a tote (Though they are still soulbound to their original owners).

##### Licensing
YCTIE is (C)2020 by AvicenniaG [<a.germinans@gmail.com>]

MIT License (http://www.opensource.org/licenses/MIT)

CC BY 4.0 
https://creativecommons.org/licenses/by/4.0/legalcode

See included LICENSE file for full details and credits

* A Recent bug causing lode ore to be deleted has been patched.

Feel free to report any issues or contact via the above email address or GitHub [<https://github.com/Avicennia/yctie>]

- Avi

**Tags:** building, inventory, survival, tools
**Repository:** https://github.com/Avicennia/yctie
**License:** MIT
**Title:** Lighting Wand

**Description:** 

**Details:**
# VM Lighting Wand

Adds a Wand that can spawn a light node both in water or air.
But it is greedy, it requires been fed burnable items in order to place lights.
The Wand provides a GUI interface by right clicking while holding a Wand. From here you can see details about the wand and a slot to feed it burnable items.
As the wand is fed more items and builds up power it will level up, increasing the level grants it more range and decreases its usage cost.
Levels can be fully configured to suit your needs within the provided config.lua file, a backup of this file can be found at core/config.dist.lua

To place a light on top of a liquid node hold shift while pointing at some liquid.
A light will be removed if the node you are placing it already contains a light node.
the wand sound and particles can be disabled within the games settings page under mods

feedback, suggestions and comments are all welcome.

# features

- works with all games
  - just needs burnable items
- Easy setting of custom recipe
  - see config.lua
- a command setting to manage all players stored power
  - disabled by default
  - requires privilege added by this mod
- built in levelling system increasing placement range and reducing usage costs
- creative players are placed in the last level automatically and can place light nodes for free
- setting to give new players a wand for free when they join
  - disabled by default
- sound and particle effects
- configure all levels
  - add/remove/alter/balance
- overall efficiency multiplier setting for fast balancing to suit needs
- fancy GUI to show wand status and fed its hunger!

# website

https://forum.minetest.net/viewtopic.php?f=9&t=26113

# license

sounds/vm_lighting_wand.ogg = (CC BY-NC 4.0) (see sounds/LICENSE.txt)

everything else is MIT (see LICENSE)


**Tags:** building_mechanics, magic, tools
**Repository:** https://notabug.org/vibes81/vm_lighting_wand
**License:** MIT
**Title:** Node Object

**Description:** 

**Details:**
## Overview

This is a library mod for Minetest that simplifies associating objects with
nodes. Sometimes nodes need to be displayed or animated in a way that nodes do
not lend themselves to. In these cases, it can be helpful to use an object.

## API

### `node_object.set(pos, object)`

Sets the object associated with the node position. If a different object is
already associated, this object is removed. If `object` is `nil`, the
association is cleared.

It is recommended that the object have its property `static_save` set to
`false`, since the association is only in-memory.

In addition, you should optionally depend on `mesecons_mvps` and register the
object's entity type as unmoveable using that mod's API.

### `node_object.get(pos)`

Returns the object (or `nil`) associated with the node position. This will
return `nil` if the object has been removed or deactivated.

### `node_object.swap(pos, object)`

This is like `node_object.set`, but instead of being removed, the past object
(or `nil`) is returned.

### Node callback `_node_object_set(pos)`

An object associated with a node is an ephemeral reflection of the node's state.
By providing this callback in a node definition, you are telling the library to
call it with a node position as its argument when the node may not have an
associated object, such as after placement or loading, and to remove any
associated object before destruction. If the node state changes, you should
update the object yourself.

Note: you cannot set this callback within an `on_mods_loaded` callback.

### `node_object.version`

This is the library's version string. I'll try to stick to SemVer.


**Tags:** library
**Repository:** https://github.com/TurkeyMcMac/node_object
**License:** MIT
**Title:** Callbacks API

**Description:** 

**Details:**
# `callbacks_api`

callbacks_api is a framework for registering callbacks if the callback registration function exists, else returning gracefully. This mod can be very handy when developing or prototyping new callbacks, either within a mod, or within Minetest itself.

## `callbacks_api.register_callback(cb_registrar, cb, ...)`

Register callback `cb` (along with optional arguments `...`) to `cb_registrar`, if it exists, or return gracefully.

### Parameters

- `cb_registrar` [`function`]: The function that registers the callback.
- `cb` [`function`]: The callback itself.
- `...` [Comma-separated arguments]: Optional arguments to pass to `cb_registrar`, along with `cb`.

## Examples

```lua
local function callback(player, hpchange)
    minetest.log("action", player:get_player_name() .. "'s HP changed!
" ..
            "old_hp = " .. player:get_hp() - hpchange .. ",
" ..
            "new_hp = " .. player:get_hp())
end

-- cb_registrar = minetest.register_on_player_hpchange
-- cb = callback
-- ... = false
callbacks_api.register_callback(minetest.register_on_player_hpchange, callback, false)
```


**Tags:** library
**Repository:** https://github.com/ClobberXD/callbacks_api
**License:** MIT
**Title:** Promise Stuff

**Description:** 

**Details:**
This library implements promises for Lua. You can learn more from the [README](https://github.com/TurkeyMcMac/promisestuff/blob/main/README.md) and from the documentation for the [core](https://github.com/TurkeyMcMac/promisestuff/blob/main/doc/core.md) and [Minetest-specific](https://github.com/TurkeyMcMac/promisestuff/blob/main/doc/minetest.md) APIs.

**Tags:** library
**Repository:** https://github.com/TurkeyMcMac/promisestuff
**License:** MIT
**Title:** Pos Marker

**Description:** 

**Details:**
# commands
## `/marker <subcommand> <marker name>`
### subcommands
	- `set`: Set a marker
	- `get`: Get pos of a marker
	- `tp`: Teleport to a marker
## `/gmarker <subcommand> <marker name>`
Like `/marker`, but access global markers.

**Tags:** chat, transport
**Repository:** https://github.com/Emojigit/pos_marker
**License:** MIT
**Title:** Gettime

**Description:** 

**Details:**
This mod add some function to get time
## gettime.get_hour()
Get hour
## gettime.get_minutes()
Get minutes
## gettime.get_formatted_time()
Get the mix of hour and minutes (hh:mm)

**Tags:** library
**Repository:** https://github.com/Emojigit/gettime
**License:** MIT
**Title:** Pluggable Helpers

**Description:** 

**Details:**
Pluggable Helpers aims to encourage the cooperative development of helper functions in Minetest mods and games by automating the entire process from downloading to installation, including management of dependencies, within a distributed architecture backed by the BitBucket Cloud for secure version control.

Modularity is extremely important when it comes to maintaining large scale code-bases such as games and mods in Minetest. Helper classes and methods and even libraries serve this purpose. But so often they are re-implemented over-and-over again since nobody wants to rely on external dependencies in their mods and games. Eventually some helper functions may be integrated into the engine, but even that is often a lengthy review process with its own share of obstacles and pitfalls.

This is where Pluggable Helpers comes into the picture.

*"The core philosophy of Pluggable Helpers is to empower the community to create an evolving game-development API through the use of a jointly maintained public repository of helper classes, methods, and libraries that can be downloaded and installed on-the-fly with no intervention required by the end-user."*

Although the Pluggable Helpers mod has no dependencies in and of itself, it does need to perform occasional HTTP requests. Therefore, it must be added to the list of `secure.http_mods` in minetest.conf.

**Tags:** complex_installation, developer_tools, library
**Repository:** https://bitbucket.org/sorcerykid/plugins.git
**License:** MIT
**Title:** Tool Watcher

**Description:** 

**Details:**
Introduces an item, *the Tool Watcher*, for monitoring the durability of the player wield tool. After using the tool watcher once it will alert the player whenever their equipment is close to breaking through a HUD text as long as it is kept in that player inventory.

The Tool Watcher recipe consists of: mese crystal, glass, stick and steel ingot, it requires the default mod in order to be crafted.

**Tags:** hud, tools
**Repository:** https://codeberg.org/j0j0/tool_watcher
**License:** MIT
**Title:** Be2een Api

**Description:** 

**Details:**

# Be2een Api

> timers, animation and action! *ciack*

This is a library written in lua for the game [minetest](https://www.minetest.net/) that implements tools for creating timers and animations as objects that can be configurated with properties and events.

The animation system is flessible, is possible to define custom functions to change ui elements or world behaviour.

## Usage

The library acts like a mod, just add it in your mod list and enable it in your world. by itself it does nothing, because it implements features for other mods.

Add the dependency in your mod and use the namespace to access the api functionality, see the wiki for a detailed list of all functions.

## Wiki

Currenlty no wiki or documentatio page exists, however the code has comments using the [sumnkeno annotation](https://github.com/LuaLS/lua-language-server) so you can still have info about methods.

## Contribute

Yeah, you can ask for a specific feature in [issue](https://github.com/GianptDev/minetest-be2een-api/issues) or you can implement it and make a [pull request](https://github.com/GianptDev/minetest-be2een-api/pulls).

**Tags:** gui, hud, library
**Repository:** https://github.com/GianptDev/minetest-be2een-api
**License:** MIT
**Title:** Banshee

**Description:** 

**Details:**
A Ghostly mob that haunts the Pine and Taiga forests.

This mob performs a range of sweeping movements to reach it's target before going in to attack.

If a player succeeds in killing one they will be rewarded with Mese Crystal Fragments or, very rarely, the Glowgun.
They can also be caught with Bug Nets for a full Mese Crystal.

The Blowgun shoots a fast, gooey projectile that deals a half heart of damage and has a 1 second cooldown.

**This mob was anonymously commissioned.**

**Tags:** adventure__rpg, mobs, pve, survival, tools
**Repository:** https://github.com/ElCeejo/banshee
**License:** MIT