split mine gas out into a separate mod

This commit is contained in:
FaceDeer 2019-06-29 19:54:57 -06:00
parent a474ef31b4
commit 211afcc8c3
17 changed files with 162 additions and 64 deletions

View File

@ -120,7 +120,7 @@ Also found in Black Cap caverns are torchspines, stalagmite-like growths that so
![Nethercaps, with ice sprites hovering near icicles above](./df_caverns/screenshots/nethercap.jpg)
Nethercaps break the known laws of thermodynamics by somehow "feeding" directly on heat. As a result Nethercap caverns are frigid and icy, with icicles mixed with stalactites and giant columns of frozen water. Nethercap caverns have little other life in them as a result. They are lit by thet blue glow of the Nethercap's gills, as well as by the mysterious "ice sprites" that hover and sparkle near the ceilings and by the streaks of hoar moss that grow on the surfaces of ice columns.
Nethercaps break the known laws of thermodynamics by somehow "feeding" directly on heat. As a result Nethercap caverns are frigid and icy, with icicles mixed with stalactites and giant columns of frozen water. Nethercap caverns have little other life in them as a result. They are lit by the blue glow of the Nethercap's gills, as well as by the mysterious "ice sprites" that hover and sparkle near the ceilings and by the streaks of hoar moss that grow on the surfaces of ice columns.
Any liquid water that touches Nethercap wood will freeze, even if the Nethercap has been harvested and crafted into other forms. Nethercap will not burn and indeed will snuff out fires and even solidify lava it touches. If a Nethercap cavern has a lake its surface will be covered in a solid sheet of ice.

24
mine_gas/LICENSE.txt Normal file
View File

@ -0,0 +1,24 @@
Sounds and textures are under various licenses, see the license.txt file in the /sounds and /textures directories for details.
License for Code
----------------
Copyright (C) 2018 FaceDeer
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.

3
mine_gas/depends.txt Normal file
View File

@ -0,0 +1,3 @@
default
tnt?
doc?

View File

@ -18,7 +18,11 @@ if minetest.get_modpath("doc") then
seep_usage = S("Mining out such a deposit seals the crack.")
end
minetest.register_node("oil:gas", {
minetest.register_alias("oil:gas", "mine_gas:gas")
minetest.register_alias("oil:gas_seep", "mine_gas:gas_seep")
minetest.register_node("mine_gas:gas", {
description = S("Mine Gas"),
_doc_items_longdesc = gas_desc,
_doc_items_usagehelp = gas_usage,
@ -29,16 +33,16 @@ minetest.register_node("oil:gas", {
drawtype = "glasslike",
drowning = 1,
post_effect_color = {a = 20, r = 20, g = 20, b = 250},
tiles = {"oil_gas.png^[opacity:28"},
tiles = {"mine_gas.png^[opacity:28"},
use_texture_alpha = true,
groups = {not_in_creative_inventory=1},
groups = {not_in_creative_inventory=1, ropes_can_extend_into=1},
paramtype = "light",
drop = {},
sunlight_propagates = true,
--on_blast = function() end, -- unaffected by explosions
})
minetest.register_node("oil:gas_seep", {
minetest.register_node("mine_gas:gas_seep", {
description = S("Gas Seep"),
_doc_items_longdesc = seep_desc,
_doc_items_usagehelp = seep_usage,
@ -55,9 +59,9 @@ minetest.register_on_dignode(function(pos, oldnode, digger)
return;
end
local np = minetest.find_node_near(pos, 1,{"oil:gas"})
local np = minetest.find_node_near(pos, 1,{"mine_gas:gas"})
if np ~= nil then
minetest.set_node(pos, {name = "oil:gas"})
minetest.set_node(pos, {name = "mine_gas:gas"})
return
end
end)
@ -69,10 +73,10 @@ local directions = {
{x=0, y=0, z=-1},
}
local gas_node = {name="oil:gas"}
local gas_node = {name="mine_gas:gas"}
minetest.register_abm({
label = "oil:gas movement",
nodenames = {"oil:gas"},
label = "mine_gas:gas movement",
nodenames = {"mine_gas:gas"},
neighbors = {"group:liquid", "air"},
interval = 1.0,
chance = 1,
@ -113,9 +117,9 @@ minetest.register_abm({
})
minetest.register_abm({
label = "oil:gas snuffing torches",
label = "mine_gas:gas snuffing torches",
nodenames = {"group:torch"},
neighbors = {"oil:gas"},
neighbors = {"mine_gas:gas"},
interval = 1.0,
chance = 1,
catch_up = true,
@ -126,7 +130,7 @@ minetest.register_abm({
for _, dropped_item in pairs(drops) do
minetest.add_item(pos, dropped_item)
end
minetest.set_node(pos, {name="oil:gas"})
minetest.set_node(pos, {name="mine_gas:gas"})
minetest.sound_play(
"default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.1}
@ -137,9 +141,9 @@ minetest.register_abm({
if minetest.get_modpath("tnt") then
minetest.register_abm({
label = "oil:gas ignition",
label = "mine_gas:gas ignition",
nodenames = {"group:torch", "group:igniter"},
neighbors = {"oil:gas"},
neighbors = {"mine_gas:gas"},
interval = 1.0,
chance = 1,
catch_up = true,
@ -161,8 +165,8 @@ local orthogonal = {
}
minetest.register_abm({
label = "oil:gas seep",
nodenames = {"oil:gas_seep"},
label = "mine_gas:gas seep",
nodenames = {"mine_gas:gas_seep"},
neighbors = {"air"},
interval = 1.0,
chance = 1,
@ -170,10 +174,10 @@ minetest.register_abm({
action = function(pos, node)
local target_pos = vector.add(pos,orthogonal[math.random(1,6)])
if minetest.get_node(target_pos).name == "air" then
minetest.swap_node(target_pos, {name="oil:gas"})
minetest.swap_node(target_pos, {name="mine_gas:gas"})
if math.random() < 0.5 then
minetest.sound_play(
"oil_gas_seep_hiss",
"mine_gas_seep_hiss",
{pos = pos, max_hear_distance = 8, gain = 0.05}
)
end

45
mine_gas/intllib.lua Normal file
View File

@ -0,0 +1,45 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

View File

@ -0,0 +1,51 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-03-26 00:49-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: dfcaverns\mine_gas\init.lua:11
msgid ""
"Gaseous hydrocarbons formed from the detritus of long dead plants and "
"animals processed by heat and pressure deep within the earth."
msgstr ""
#: dfcaverns\mine_gas\init.lua:12
msgid ""
"Gas is highly hazardous. Heavier than air, it pools in deep caverns and "
"asphyxiates the unwary."
msgstr ""
#: dfcaverns\mine_gas\init.lua:14
msgid ""
"When exposed to air and an ignition source it can produce a deadly explosion."
msgstr ""
#: dfcaverns\mine_gas\init.lua:17
msgid "Some coal deposits have cracks that seep a steady flow of mine gas."
msgstr ""
#: dfcaverns\mine_gas\init.lua:18
msgid "Mining out such a deposit seals the crack."
msgstr ""
#: dfcaverns\mine_gas\init.lua:26
msgid "Mine Gas"
msgstr ""
#: dfcaverns\mine_gas\init.lua:46
msgid "Gas Seep"
msgstr ""

View File

@ -0,0 +1,6 @@
@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
cd ..
set LIST=
for /r %%X in (*.lua) do set LIST=!LIST! %%X
..\..\intllib\tools\xgettext.bat %LIST%

1
mine_gas/mod.conf Normal file
View File

@ -0,0 +1 @@
name = mine_gas

View File

@ -0,0 +1,2 @@
mine_gas_seep_hiss.1 is from https://freesound.org/people/wubitog/sounds/234782/ under the public domain (CC0)
mine_gas_seep_hiss.2 is from https://freesound.org/people/kgatto/sounds/240263/ by kgatto under the CC-BY-3.0 license

View File

@ -0,0 +1 @@
All textures not specifically listed here are created by FaceDeer and released under both the MIT license and under the Creative Commons CC0 license.

View File

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

View File

@ -1,5 +1,4 @@
default
dynamic_liquid?
bucket?
tnt?
doc?

View File

@ -9,8 +9,6 @@ if minetest.get_modpath("doc") then
oil_usage = S("Buckets of oil can be used as fuel.")
end
dofile(MP.."/gas.lua")
local oil_sounds = {footstep = {name = "oil_oil_footstep", gain = 0.2}}
minetest.register_node("oil:oil_source", {

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-23 00:28-0700\n"
"POT-Creation-Date: 2019-03-26 00:49-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,57 +17,24 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: oil\gas.lua:11
msgid ""
"Gaseous hydrocarbons formed from the detritus of long dead plants and "
"animals processed by heat and pressure deep within the earth."
msgstr ""
#: oil\gas.lua:12
msgid ""
"Gas is highly hazardous. Heavier than air, it pools in deep caverns and "
"asphyxiates the unwary."
msgstr ""
#: oil\gas.lua:14
msgid ""
"When exposed to air and an ignition source it can produce a deadly explosion."
msgstr ""
#: oil\gas.lua:17
msgid "Some coal deposits have cracks that seep a steady flow of mine gas."
msgstr ""
#: oil\gas.lua:18
msgid "Mining out such a deposit seals the crack."
msgstr ""
#: oil\gas.lua:22
msgid "Mine Gas"
msgstr ""
#: oil\gas.lua:42
msgid "Gas Seep"
msgstr ""
#: oil\init.lua:8
#: dfcaverns\oil\init.lua:8
msgid ""
"Liquid hydrocarbons formed from the detritus of long dead plants and animals "
"processed by heat and pressure deep within the earth."
msgstr ""
#: oil\init.lua:9
#: dfcaverns\oil\init.lua:9
msgid "Buckets of oil can be used as fuel."
msgstr ""
#: oil\init.lua:17
#: dfcaverns\oil\init.lua:15
msgid "Oil"
msgstr ""
#: oil\init.lua:67
#: dfcaverns\oil\init.lua:65
msgid "Flowing Oil"
msgstr ""
#: oil\init.lua:196
#: dfcaverns\oil\init.lua:194
msgid "Oil Bucket"
msgstr ""

View File

@ -4,6 +4,3 @@ Vlatko Blažek
Varaždin, Croatia
e-mail: vlatkoblazek@gmail.com
http://www.freesound.org/people/VlatkoBlazek/
oil_gas_seep_hiss.1 is from https://freesound.org/people/wubitog/sounds/234782/ under the public domain (CC0)
oil_gas_seep_hiss.2 is from https://freesound.org/people/kgatto/sounds/240263/ by kgatto under the CC-BY-3.0 license