commit 6ea5a9526d324d3400963685f5d34731ef14ad89 Author: Dirk Sohler Date: Tue Aug 25 19:36:40 2020 +0200 Initial commit diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..03e6f3d --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 “Linuxdirk” + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..3c09b60 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +*Void – A Game That Contains Nothing* + +This game for Minetest was reduced to the bare minimum of files and configuration. It contains quite literally “nothing”. It registers no more items than the essentially needed nodes and the hand. + +The game is not meant for playing (well, of course you can but there is nothing fun to do except digging the three essential nodes and placing them again). The purpose of this game is to test mods in an absolutely “clean” environment with absolutely no “3rd-party” mods or APIs provided by such mods. + +## Contents + +### Game Files + +Some necessary game files are used. + +* `game.conf` – Sets the human-readable name of the game as per Minetest API +* `README.md` – This document +* `LICENSE.txt` – Licensing information for the whole game including all the mods +* `mods/void_essential` – This mod adds essential things for properly running a map generator +* `mods/void_hand` – This mod registers the “hand” tool for proper interaction with nodes (i.e. node breaking) + +### Void Essential Mod + +The `void_essential` mod contains all that is needed for the map generator to create a usable world for testing mods. The following items and nodes are registered by that mod. + +* `void_essential:stone` aliased to `mapgen_stone` – This is an essential node used by map generators to generate the terrain. Without that node you would fall all the way down to the bottom of the world and could not place anything on ground, because there literally is no ground +* `void_essential:water_source` aliased to `mapgen_water_source` – Same as with the stone node the water source is one of the essential nodes that are used by map generators to generate the terrain. Without this node, all bodies of water would not be existent. The registered node does not have ANY water properties. It does not spread out, you cannot swim in it, you cannot see through it. IT basically is just a node named “water” +* `void_essential:river_water_source` aliased to `mapgen_river_water_source` – This is exactly the same as with the other water source node and is also one of the essential map generator nodes that need to be registered in order to have proper terrain generation. + +All nodes have the only group `oddly_breakable_by_hand = 3` set. The nodes also have `is_ground_content = true` set so the map generator can carve through them when generating caves, etc. + +The mod also provides three simple textures. + +* `void_essential_stone.png` for the essential stone node +* `void_essential_water_source.png` for the essential water source node +* `void_essential_river_water_source.png` for the essential river water source node + +This mod uses the bare minimum that is needed for mods. + +### Void Hand Mod + +`void_hand` registers the hand tool is not technically needed to generate terrain and entering a world but not having it testing would become unnecessary complicated because the unconfigured hand does not even allow to break nodes that are configured to be *breakable by hand*. + +* `:` – The “hand tool” registration. Tool capabilities are identical to the capabilities used by *Minetest Game* because it was seen as default since most of the time. The `wield_scale` was slightly changed (`{x = 0.5, y = 1, z = 4}` instead of `{x = 1, y = 1, z = 2.5}`) which only results in visual changes. + +This mod also adds a simple texture. + +* `void_hand_hand.png` for the registered “hand tool” + +This mod also uses the bare minimum that is needed for mods. + +## Usage + +To use this game simply switch to the game in the client and create a new world. You can use all standards compliant map generators with all of the settings. Except the three essential nodes (stone, water, river water) and the “hand tool” nothing is registered or loaded, or provided. You’ll have a pure, absolutely independent, bare minimum version of a game. + +In order to test your mods simply configure the created world and add the mods as needed for testing. Then start the world and see what’s happening. Since there is no creative inventory turning on creative mode does not change the Minetest-provided default inventory. You need a mod for that or use the `/giveme` command. + +## Legal Information + +* All code and all documentation of this game and all code and all documentation of all mods of this game are are licensed under the *MIT license*. +* All media files of the game and all media files in all of the game’s mods are licensed under the *Creative Commons Attribution 4.0 International* license (*CC BY 4.0*). diff --git a/game.conf b/game.conf new file mode 100644 index 0000000..1fb3567 --- /dev/null +++ b/game.conf @@ -0,0 +1 @@ +name = Void (contains nothing) diff --git a/mods/void_essential/init.lua b/mods/void_essential/init.lua new file mode 100644 index 0000000..1aeb768 --- /dev/null +++ b/mods/void_essential/init.lua @@ -0,0 +1,29 @@ +local register_node = minetest.register_node +local register_alias = minetest.register_alias + + +register_node('void_essential:stone', { + description = 'Essential node for mapgen alias “mapgen_stone”', + tiles = { 'void_essential_stone.png' }, + groups = { oddly_breakable_by_hand = 3 }, + is_ground_content = true +}) + +register_node('void_essential:water_source', { + description = 'Essential node for mapgen alias “mapgen_water_source”', + tiles = { 'void_essential_water_source.png' }, + groups = { oddly_breakable_by_hand = 3 }, + is_ground_content = true +}) + +register_node('void_essential:river_water_source', { + description = 'Essential node for mapgen alias “mapgen_river_water_source”', + tiles = { 'void_essential_river_water_source.png' }, + groups = { oddly_breakable_by_hand = 3 }, + is_ground_content = true +}) + + +register_alias('mapgen_stone', 'void_essential:stone') +register_alias('mapgen_water_source', 'void_essential:water_source') +register_alias('mapgen_river_water_source', 'void_essential:river_water_source') diff --git a/mods/void_essential/mod.conf b/mods/void_essential/mod.conf new file mode 100644 index 0000000..64ec6a0 --- /dev/null +++ b/mods/void_essential/mod.conf @@ -0,0 +1 @@ +name = void_essential diff --git a/mods/void_essential/textures/void_essential_river_water_source.png b/mods/void_essential/textures/void_essential_river_water_source.png new file mode 100644 index 0000000..56e49f7 Binary files /dev/null and b/mods/void_essential/textures/void_essential_river_water_source.png differ diff --git a/mods/void_essential/textures/void_essential_stone.png b/mods/void_essential/textures/void_essential_stone.png new file mode 100644 index 0000000..14d8f5e Binary files /dev/null and b/mods/void_essential/textures/void_essential_stone.png differ diff --git a/mods/void_essential/textures/void_essential_water_source.png b/mods/void_essential/textures/void_essential_water_source.png new file mode 100644 index 0000000..1281eb6 Binary files /dev/null and b/mods/void_essential/textures/void_essential_water_source.png differ diff --git a/mods/void_hand/init.lua b/mods/void_hand/init.lua new file mode 100644 index 0000000..930b497 --- /dev/null +++ b/mods/void_hand/init.lua @@ -0,0 +1,29 @@ +local register_item = minetest.register_item + + +register_item(':', { + type = 'none', + wield_image = 'void_hand_hand.png', + wield_scale = {x = 0.5, y = 1, z = 4}, + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level = 0, + groupcaps = { + crumbly = { + times = {[2] = 3.00, [3] = 0.70}, + uses = 0, + maxlevel = 1, + }, + snappy = { + times = {[3] = 0.40}, + uses = 0, + maxlevel = 1, + }, + oddly_breakable_by_hand = { + times = {[1] = 3.50, [2] = 2.00, [3] = 0.70}, + uses = 0, + }, + }, + damage_groups = {fleshy = 1}, + } +}) diff --git a/mods/void_hand/mod.conf b/mods/void_hand/mod.conf new file mode 100644 index 0000000..92c7963 --- /dev/null +++ b/mods/void_hand/mod.conf @@ -0,0 +1 @@ +name = void_hand diff --git a/mods/void_hand/textures/void_hand_hand.png b/mods/void_hand/textures/void_hand_hand.png new file mode 100644 index 0000000..5cecd39 Binary files /dev/null and b/mods/void_hand/textures/void_hand_hand.png differ