Modpack refactor (#4)
Split this mod into a set of sub-mods in a modpack, and in the process did a whole bunch of renovations. * updated Subterrane's API to allow for more patterned placement of things * added "warrens" * clean separation of flooded and non-flooded caverns * rearranged biomes to make cavern layers more distinct * added oil layer * added underworld layer
26
df_underworld_items/LICENSE.txt
Normal file
@ -0,0 +1,26 @@
|
||||
Dwarf Fortress is copyright 2018 by Tarn Adams. This mod uses no assets or other copyrighted materials from Dwarf Fortress.
|
||||
|
||||
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.
|
27
df_underworld_items/config.lua
Normal file
@ -0,0 +1,27 @@
|
||||
local CONFIG_FILE_PREFIX = "dfcaverns_"
|
||||
|
||||
df_underworld_items.config = {}
|
||||
|
||||
local print_settingtypes = false
|
||||
|
||||
local function setting(stype, name, default, description)
|
||||
local value
|
||||
if stype == "bool" then
|
||||
value = minetest.setting_getbool(CONFIG_FILE_PREFIX..name)
|
||||
elseif stype == "string" then
|
||||
value = minetest.setting_get(CONFIG_FILE_PREFIX..name)
|
||||
elseif stype == "int" or stype == "float" then
|
||||
value = tonumber(minetest.setting_get(CONFIG_FILE_PREFIX..name))
|
||||
end
|
||||
if value == nil then
|
||||
value = default
|
||||
end
|
||||
df_underworld_items.config[name] = value
|
||||
|
||||
if print_settingtypes then
|
||||
minetest.debug(CONFIG_FILE_PREFIX..name.." ("..description..") "..stype.." "..tostring(default))
|
||||
end
|
||||
end
|
||||
|
||||
setting("bool", "invulnerable_slade", true, "Slade is invulnerable to players")
|
||||
setting("bool", "destructive_pit_plasma", true, "Pit plasma destroys adjacent nodes")
|
79
df_underworld_items/crystals_amethyst.lua
Normal file
@ -0,0 +1,79 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
minetest.register_node("df_underworld_items:glow_amethyst", {
|
||||
description = S("Glowing Amethyst Block"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.glow_amethyst_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.glow_amethyst_usage,
|
||||
tiles = {"dfcaverns_glow_amethyst.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3, pit_plasma_resistant=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
light_source = 6,
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
drawtype = "glasslike",
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("radiant_damage") and radiant_damage.override_radiant_damage and radiant_damage.config.enable_mese_damage then
|
||||
radiant_damage.override_radiant_damage("mese", {emitted_by={["df_underworld_items:glow_amethyst"] = radiant_damage.config.mese_damage*0.25}})
|
||||
end
|
||||
|
||||
local c_amethyst = minetest.get_content_id("df_underworld_items:glow_amethyst")
|
||||
|
||||
local safe_write = function(data, area, vi, c_node)
|
||||
if area:containsi(vi) then data[vi] = c_node end
|
||||
end
|
||||
|
||||
-- x_slant and z_slant can be 1, 0 or -1
|
||||
-- rotated is true or false
|
||||
-- length is 1 or more
|
||||
df_underworld_items.underworld_shard = function(data, area, vi, x_slant, z_slant, rotated, length)
|
||||
if x_slant == nil then x_slant = math.random(-1,1) end
|
||||
if z_slant == nil then z_slant = math.random(-1,1) end
|
||||
if rotated == nil then rotated = math.random() > 0.5 end
|
||||
if length == nil then length = math.random(4, 12) end
|
||||
|
||||
length = math.ceil(length/2) * 2 -- make it an even multiple of 2
|
||||
|
||||
local xstride, ystride, zstride
|
||||
ystride = area.ystride
|
||||
if rotated then
|
||||
xstride = area.zstride
|
||||
zstride = 1
|
||||
else
|
||||
xstride = 1
|
||||
zstride = area.zstride
|
||||
end
|
||||
|
||||
-- bottom end
|
||||
safe_write(data, area, vi, c_amethyst)
|
||||
safe_write(data, area, vi+xstride, c_amethyst)
|
||||
|
||||
for i = 1, length do
|
||||
vi = vi + ystride
|
||||
|
||||
safe_write(data, area, vi-xstride, c_amethyst)
|
||||
|
||||
safe_write(data, area, vi+zstride, c_amethyst)
|
||||
safe_write(data, area, vi, c_amethyst)
|
||||
safe_write(data, area, vi-zstride, c_amethyst)
|
||||
|
||||
safe_write(data, area, vi+zstride+xstride, c_amethyst)
|
||||
safe_write(data, area, vi+xstride, c_amethyst)
|
||||
safe_write(data, area, vi-zstride+xstride, c_amethyst)
|
||||
|
||||
safe_write(data, area, vi+2*xstride, c_amethyst)
|
||||
|
||||
if i % 2 == 0 and i ~= length then
|
||||
vi = vi + xstride * x_slant + zstride * z_slant
|
||||
end
|
||||
end
|
||||
|
||||
vi = vi + ystride
|
||||
|
||||
safe_write(data, area, vi, c_amethyst)
|
||||
safe_write(data, area, vi+xstride, c_amethyst)
|
||||
end
|
7
df_underworld_items/depends.txt
Normal file
@ -0,0 +1,7 @@
|
||||
default
|
||||
intllib?
|
||||
doc?
|
||||
radiant_damage?
|
||||
mesecons_mvps?
|
||||
tnt?
|
||||
stairs
|
1
df_underworld_items/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Various node types used by the dfcaverns mapgen mod for its underworld layer.
|
26
df_underworld_items/doc.lua
Normal file
@ -0,0 +1,26 @@
|
||||
df_underworld_items.doc = {}
|
||||
|
||||
if not minetest.get_modpath("doc") then
|
||||
return
|
||||
end
|
||||
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
df_underworld_items.doc.glowstone_desc = S("Bright glowing stones of unknown origin found lodged in the crevices of the underworld's ceiling.")
|
||||
df_underworld_items.doc.glowstone_usage = S("These stones are highly volatile and should not be disturbed.")
|
||||
|
||||
df_underworld_items.doc.slade_desc = S("The very foundation of the world, Slade is a mysterious ultra-dense substance.")
|
||||
df_underworld_items.doc.slade_usage = S("Slade is extremely hard to work with so it has little use.")
|
||||
if df_underworld_items.config.invulnerable_slade then
|
||||
df_underworld_items.doc.slade_usage = df_underworld_items.doc.slade_usage .. " " .. S("In fact, Slade is impervious to conventional mining entirely.")
|
||||
end
|
||||
|
||||
df_underworld_items.doc.slade_seal_desc = S("This block of Slade, carved by an unknown hand, is engraved with mysterious symbols. Most of the engraving's meaning is lost to the mists of time but one frament in the oldest known language can be translated: \"This place is not a place of honor.\"")
|
||||
|
||||
df_underworld_items.doc.glow_amethyst_desc = S("Glowing purple crystals that grow through holes in the foundation of the world.")
|
||||
df_underworld_items.doc.glow_amethyst_usage = S("These crystals have no known use.")
|
||||
|
||||
df_underworld_items.doc.pit_plasma_desc = S("The liquid found in the deepest pits in the underworld is highly dangerous and damaging.")
|
||||
df_underworld_items.doc.pit_plasma_usage = S("The only use for this material is that it destroys whatever is thrown into it. It cannot otherwise be manipulated.")
|
25
df_underworld_items/glow_stone.lua
Normal file
@ -0,0 +1,25 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local glowstone_def = {
|
||||
_doc_items_longdesc = df_underworld_items.doc.glowstone_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.glowstone_usage,
|
||||
light_source = minetest.LIGHT_MAX,
|
||||
description = S("Lightseam"),
|
||||
tiles = {"dfcaverns_glowstone.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
paramtype = "light",
|
||||
--use_texture_alpha = true,
|
||||
drawtype = "glasslike",
|
||||
drop = "",
|
||||
sunlight_propagates = true,
|
||||
}
|
||||
if minetest.get_modpath("tnt") then
|
||||
glowstone_def.on_dig = function(pos, node, digger)
|
||||
tnt.boom(pos, {radius=3})
|
||||
end
|
||||
end
|
||||
minetest.register_node("df_underworld_items:glowstone", glowstone_def)
|
168
df_underworld_items/glowing_pit_plasma.lua
Normal file
@ -0,0 +1,168 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
minetest.register_node("df_underworld_items:pit_plasma", {
|
||||
description = S("Glowing Pit Plasma"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.pit_plasma_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.pit_plasma_usage,
|
||||
tiles = {
|
||||
{
|
||||
name = "dfcaverns_pit_plasma.png",
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 32,
|
||||
aspect_h = 32,
|
||||
length = 0.5,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
groups={pit_plasma=1, pit_plasma_resistant=1},
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
sunlight_propagates = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquid_viscosity = 7,
|
||||
damage_per_second = 4 * 2,
|
||||
post_effect_color = {a = 200, r = 245, g = 211, b = 251},
|
||||
drawtype="liquid",
|
||||
liquidtype="source",
|
||||
liquid_alternative_flowing = "df_underworld_items:pit_plasma_flowing",
|
||||
liquid_alternative_source = "df_underworld_items:pit_plasma",
|
||||
liquid_renewable = false,
|
||||
is_ground_content = true,
|
||||
light_source = minetest.LIGHT_MAX,
|
||||
paramtype = "light",
|
||||
})
|
||||
|
||||
minetest.register_node("df_underworld_items:pit_plasma_flowing", {
|
||||
description = S("Glowing Pit Plasma"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.pit_plasma_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.pit_plasma_usage,
|
||||
tiles = {"dfcaverns_pit_plasma_static.png"},
|
||||
special_tiles = {
|
||||
{
|
||||
name = "dfcaverns_pit_plasma.png",
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 32,
|
||||
aspect_h = 32,
|
||||
length = 0.5,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "dfcaverns_pit_plasma.png",
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 32,
|
||||
aspect_h = 32,
|
||||
length = 0.5,
|
||||
},
|
||||
},
|
||||
},
|
||||
groups={pit_plasma=1, pit_plasma_resistant=1},
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
sunlight_propagates = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquid_viscosity = 7,
|
||||
damage_per_second = 4 * 2,
|
||||
post_effect_color = {a = 200, r = 245, g = 211, b = 251},
|
||||
liquidtype = "flowing",
|
||||
drawtype = "flowingliquid",
|
||||
paramtype2 = "flowingliquid",
|
||||
liquid_alternative_flowing = "df_underworld_items:pit_plasma_flowing",
|
||||
liquid_alternative_source = "df_underworld_items:pit_plasma",
|
||||
liquid_renewable = false,
|
||||
is_ground_content = true,
|
||||
light_source = minetest.LIGHT_MAX,
|
||||
paramtype = "light",
|
||||
})
|
||||
|
||||
if minetest.get_modpath("radiant_damage") and radiant_damage.override_radiant_damage then
|
||||
if radiant_damage.config.enable_mese_damage then
|
||||
radiant_damage.override_radiant_damage("mese", {emitted_by={["group:pit_plasma"] = radiant_damage.config.mese_damage*2}})
|
||||
end
|
||||
if radiant_damage.config.enable_heat_damage then
|
||||
radiant_damage.override_radiant_damage("heat", {emitted_by={["group:pit_plasma"] = radiant_damage.config.lava_damage}})
|
||||
end
|
||||
end
|
||||
|
||||
local sparkle = function(sparkle_pos)
|
||||
minetest.add_particlespawner({
|
||||
amount = 10,
|
||||
time = 1,
|
||||
minpos = {x=sparkle_pos.x-5, y=sparkle_pos.y-0.5, z=sparkle_pos.z-5},
|
||||
maxpos = {x=sparkle_pos.x+5, y=sparkle_pos.y+0.5, z=sparkle_pos.z+5},
|
||||
minvel = {x=-0.1, y=2, z=-0.1},
|
||||
maxvel = {x=0.1, y=2, z=0.1},
|
||||
minacc = {x=0, y=2, z=0},
|
||||
maxacc = {x=0, y=2, z=0},
|
||||
minexptime = 5,
|
||||
maxexptime = 10,
|
||||
minsize = 1,
|
||||
maxsize = 1,
|
||||
collisiondetection = true,
|
||||
collision_removal = true,
|
||||
vertical = false,
|
||||
glow = minetest.LIGHT_MAX,
|
||||
texture = "dfcaverns_glowpit_particle.png",
|
||||
})
|
||||
minetest.sound_play({name="dfcaverns_arcing"}, {
|
||||
pos = sparkle_pos,
|
||||
gain = 1,
|
||||
max_hear_distance = 32,
|
||||
})
|
||||
end
|
||||
|
||||
if df_underworld_items.config.destructive_pit_plasma then
|
||||
minetest.register_abm({
|
||||
label = "glowing pit matter degradation",
|
||||
nodenames = {"group:pit_plasma"},
|
||||
interval = 1,
|
||||
chance = 30,
|
||||
catch_up = false,
|
||||
action = function(pos)
|
||||
local sparkle_pos
|
||||
for x = pos.x-1, pos.x+1 do
|
||||
for y = pos.y-1, pos.y+1 do
|
||||
for z = pos.z-1, pos.z+1 do
|
||||
local test_pos = {x=x, y=y, z=z}
|
||||
if minetest.get_item_group(minetest.get_node(test_pos).name, "pit_plasma_resistant") == 0 then
|
||||
sparkle_pos = test_pos
|
||||
minetest.set_node(test_pos, {name="air"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if sparkle_pos then
|
||||
sparkle(sparkle_pos)
|
||||
end
|
||||
end,
|
||||
})
|
||||
else
|
||||
minetest.register_abm({
|
||||
label = "glowing pit sparkle",
|
||||
nodenames = {"group:pit_plasma"},
|
||||
neighbors = {"air"},
|
||||
interval = 1,
|
||||
chance = 30,
|
||||
catch_up = false,
|
||||
action = function(pos)
|
||||
local air_pos = minetest.find_node_near(pos, 1, "air")
|
||||
if air_pos then
|
||||
sparkle(air_pos)
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
11
df_underworld_items/init.lua
Normal file
@ -0,0 +1,11 @@
|
||||
df_underworld_items = {}
|
||||
|
||||
local modpath = minetest.get_modpath(minetest.get_current_modname())
|
||||
|
||||
dofile(modpath.."/config.lua")
|
||||
dofile(modpath.."/doc.lua")
|
||||
|
||||
dofile(modpath.."/crystals_amethyst.lua")
|
||||
dofile(modpath.."/glow_stone.lua")
|
||||
dofile(modpath.."/slade.lua")
|
||||
dofile(modpath.."/glowing_pit_plasma.lua")
|
45
df_underworld_items/intllib.lua
Normal 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
|
131
df_underworld_items/locale/it.po
Normal file
@ -0,0 +1,131 @@
|
||||
# ITALIAN LOCALE FOR THE DFCAVERNS MODULE
|
||||
# Copyright (C) 2017 FaceDeer <derksenmobile@gmail.com>
|
||||
# This file is distributed under the same license as the DFCAVERNS package.
|
||||
# Hamlet <h4mlet@riseup.net>, 2017.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dfcaverns module's Italian locale\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-24 21:26-0700\n"
|
||||
"PO-Revision-Date: 2017-08-17 23:01+0100\n"
|
||||
"Last-Translator: H4mlet <h4mlet@riseup.net>\n"
|
||||
"Language-Team: ITALIANO\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.10\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: df_underworld_items\crystals_amethyst.lua:6
|
||||
msgid "Glowing Amethyst Block"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:11
|
||||
msgid ""
|
||||
"Bright glowing stones of unknown origin found lodged in the crevices of the "
|
||||
"underworld's ceiling."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:12
|
||||
msgid "These stones are highly volatile and should not be disturbed."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:14
|
||||
msgid ""
|
||||
"The very foundation of the world, Slade is a mysterious ultra-dense "
|
||||
"substance."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:15
|
||||
msgid "Slade is extremely hard to work with so it has little use."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:17
|
||||
msgid "In fact, Slade is impervious to conventional mining entirely."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:20
|
||||
msgid ""
|
||||
"This block of Slade, carved by an unknown hand, is engraved with mysterious "
|
||||
"symbols. Most of the engraving's meaning is lost to the mists of time but "
|
||||
"one frament in the oldest known language can be translated: \"This place is "
|
||||
"not a place of honor.\""
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:22
|
||||
msgid ""
|
||||
"Glowing purple crystals that grow through holes in the foundation of the "
|
||||
"world."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:23
|
||||
msgid "These crystals have no known use."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:25
|
||||
msgid ""
|
||||
"The liquid found in the deepest pits in the underworld is highly dangerous "
|
||||
"and damaging."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:26
|
||||
msgid ""
|
||||
"The only use for this material is that it destroys whatever is thrown into "
|
||||
"it. It cannot otherwise be manipulated."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\glowing_pit_plasma.lua:6
|
||||
#: df_underworld_items\glowing_pit_plasma.lua:44
|
||||
msgid "Glowing Pit Plasma"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\glow_stone.lua:9
|
||||
msgid "Lightseam"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:18
|
||||
msgid "Slade"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:38
|
||||
msgid "Slade Brick"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:52
|
||||
msgid "Slade Wall"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:77
|
||||
msgid "Slade Sand"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:89
|
||||
msgid "Slade Block"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:105
|
||||
msgid "Slade Seal"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:154
|
||||
msgid "Slade Stair"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:155
|
||||
msgid "Slade Slab"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Cave Coral"
|
||||
#~ msgstr "Grano di caverna"
|
||||
|
||||
#~ msgid "Glow Worms"
|
||||
#~ msgstr "Vermi luminosi"
|
||||
|
||||
#~ msgid "Dirt With Cave Moss"
|
||||
#~ msgstr "Terra con muschio di caverna"
|
||||
|
||||
#~ msgid "Cobblestone With Floor Fungus"
|
||||
#~ msgstr "Ciottoli con funghi del terreno"
|
117
df_underworld_items/locale/template.pot
Normal file
@ -0,0 +1,117 @@
|
||||
# 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: 2018-12-24 21:26-0700\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"
|
||||
|
||||
#: df_underworld_items\crystals_amethyst.lua:6
|
||||
msgid "Glowing Amethyst Block"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:11
|
||||
msgid ""
|
||||
"Bright glowing stones of unknown origin found lodged in the crevices of the "
|
||||
"underworld's ceiling."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:12
|
||||
msgid "These stones are highly volatile and should not be disturbed."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:14
|
||||
msgid ""
|
||||
"The very foundation of the world, Slade is a mysterious ultra-dense "
|
||||
"substance."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:15
|
||||
msgid "Slade is extremely hard to work with so it has little use."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:17
|
||||
msgid "In fact, Slade is impervious to conventional mining entirely."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:20
|
||||
msgid ""
|
||||
"This block of Slade, carved by an unknown hand, is engraved with mysterious "
|
||||
"symbols. Most of the engraving's meaning is lost to the mists of time but "
|
||||
"one frament in the oldest known language can be translated: \"This place is "
|
||||
"not a place of honor.\""
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:22
|
||||
msgid ""
|
||||
"Glowing purple crystals that grow through holes in the foundation of the "
|
||||
"world."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:23
|
||||
msgid "These crystals have no known use."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:25
|
||||
msgid ""
|
||||
"The liquid found in the deepest pits in the underworld is highly dangerous "
|
||||
"and damaging."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\doc.lua:26
|
||||
msgid ""
|
||||
"The only use for this material is that it destroys whatever is thrown into "
|
||||
"it. It cannot otherwise be manipulated."
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\glowing_pit_plasma.lua:6
|
||||
#: df_underworld_items\glowing_pit_plasma.lua:44
|
||||
msgid "Glowing Pit Plasma"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\glow_stone.lua:9
|
||||
msgid "Lightseam"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:18
|
||||
msgid "Slade"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:38
|
||||
msgid "Slade Brick"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:52
|
||||
msgid "Slade Wall"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:77
|
||||
msgid "Slade Sand"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:89
|
||||
msgid "Slade Block"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:105
|
||||
msgid "Slade Seal"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:154
|
||||
msgid "Slade Stair"
|
||||
msgstr ""
|
||||
|
||||
#: df_underworld_items\slade.lua:155
|
||||
msgid "Slade Slab"
|
||||
msgstr ""
|
6
df_underworld_items/locale/update.bat
Normal 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
df_underworld_items/mod.conf
Normal file
@ -0,0 +1 @@
|
||||
name = df_underworld_items
|
2
df_underworld_items/settingtypes.txt
Normal file
@ -0,0 +1,2 @@
|
||||
dfcaverns_invulnerable_slade (Slade cannot be damaged) bool true
|
||||
dfcaverns_destructive_pit_plasma (Pit plasma destroys adjacent nodes) bool true
|
162
df_underworld_items/slade.lua
Normal file
@ -0,0 +1,162 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local invulnerable = df_underworld_items.config.invulnerable_slade and not minetest.settings:get_bool("creative_mode")
|
||||
|
||||
local add_immortality = function(slade_def)
|
||||
slade_def.groups.immortal = 1
|
||||
slade_def.groups.cracky = nil
|
||||
--slade_def.on_destruct = function() end
|
||||
--slade_def.can_dig = function(pos, player) return minetest.settings:get_bool("creative_mode") == true end
|
||||
--slade_def.diggable = false
|
||||
--slade_def.on_blast = function() end
|
||||
return slade_def
|
||||
end
|
||||
|
||||
local slade_def = {
|
||||
description = S("Slade"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.slade_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.slade_usage,
|
||||
tiles = {"dfcaverns_slade.png"},
|
||||
groups = {cracky=3, stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1},
|
||||
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
||||
is_ground_content = false,
|
||||
on_blast = function(pos, intensity)
|
||||
if intensity > 3.0 then
|
||||
minetest.set_node(pos, {name="df_underworld_items:slade_sand"})
|
||||
minetest.check_for_falling(pos)
|
||||
end
|
||||
end,
|
||||
}
|
||||
if invulnerable then
|
||||
add_immortality(slade_def)
|
||||
end
|
||||
minetest.register_node("df_underworld_items:slade", slade_def)
|
||||
|
||||
local slade_brick_def = {
|
||||
description = S("Slade Brick"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.slade_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.slade_usage,
|
||||
tiles = {"dfcaverns_slade_brick.png"},
|
||||
groups = { cracky=3, stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1},
|
||||
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
||||
is_ground_content = false,
|
||||
}
|
||||
if invulnerable then
|
||||
add_immortality(slade_brick_def)
|
||||
end
|
||||
minetest.register_node("df_underworld_items:slade_brick", slade_brick_def)
|
||||
|
||||
local slade_wall_def = {
|
||||
description = S("Slade Wall"),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "connected",
|
||||
fixed = {{-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}},
|
||||
-- connect_bottom =
|
||||
connect_front = {{-3/16, -1/2, -1/2, 3/16, 3/8, -1/4}},
|
||||
connect_left = {{-1/2, -1/2, -3/16, -1/4, 3/8, 3/16}},
|
||||
connect_back = {{-3/16, -1/2, 1/4, 3/16, 3/8, 1/2}},
|
||||
connect_right = {{ 1/4, -1/2, -3/16, 1/2, 3/8, 3/16}},
|
||||
},
|
||||
connects_to = { "group:wall", "group:stone", "group:fence" },
|
||||
paramtype = "light",
|
||||
tiles = {"dfcaverns_slade_brick.png"},
|
||||
walkable = true,
|
||||
groups = { cracky=3, stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1},
|
||||
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
||||
}
|
||||
if invulnerable then
|
||||
add_immortality(slade_wall_def)
|
||||
end
|
||||
minetest.register_node("df_underworld_items:slade_wall", slade_wall_def)
|
||||
|
||||
|
||||
minetest.register_node("df_underworld_items:slade_sand", {
|
||||
description = S("Slade Sand"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.slade_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.slade_usage,
|
||||
tiles = {"dfcaverns_slade_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 3, level = 2, falling_node = 1, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1},
|
||||
sounds = default.node_sound_gravel_defaults({
|
||||
footstep = {name = "default_gravel_footstep", gain = 0.45},
|
||||
}),
|
||||
})
|
||||
|
||||
local slade_block_def = {
|
||||
description = S("Slade Block"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.slade_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.slade_usage,
|
||||
tiles = {"dfcaverns_slade_block.png"},
|
||||
groups = {cracky=3, stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1},
|
||||
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
||||
is_ground_content = false,
|
||||
}
|
||||
if invulnerable then
|
||||
add_immortality(slade_block_def)
|
||||
slade_block_def.on_blast = function() end
|
||||
end
|
||||
minetest.register_node("df_underworld_items:slade_block", slade_block_def)
|
||||
|
||||
|
||||
local slade_seal_def = {
|
||||
description = S("Slade Seal"),
|
||||
_doc_items_longdesc = df_underworld_items.doc.slade_seal_desc,
|
||||
_doc_items_usagehelp = df_underworld_items.doc.slade_usage,
|
||||
tiles = {"dfcaverns_slade_block.png^dfcaverns_seal.png", "dfcaverns_slade_block.png"},
|
||||
groups = {cracky=3, stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1},
|
||||
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
||||
is_ground_content = false,
|
||||
}
|
||||
if invulnerable then
|
||||
slade_seal_def.on_blast = function() end
|
||||
add_immortality(slade_seal_def)
|
||||
end
|
||||
minetest.register_node("df_underworld_items:slade_seal", slade_seal_def)
|
||||
|
||||
|
||||
|
||||
minetest.register_abm{
|
||||
label = "slade seal scratching",
|
||||
nodenames = {"df_underworld_items:slade_seal"},
|
||||
interval = 10,
|
||||
chance = 20,
|
||||
catch_up = false,
|
||||
action = function(pos)
|
||||
minetest.sound_play({name="dfcaverns_grinding_stone"},
|
||||
{
|
||||
pos = pos,
|
||||
gain = 0.05,
|
||||
max_hear_distance = 32,
|
||||
}
|
||||
)
|
||||
end,
|
||||
}
|
||||
|
||||
|
||||
-- Register stair and slab
|
||||
|
||||
if minetest.get_modpath("stairs") then
|
||||
local stair_groups = {level = 3, mese_radiation_shield=1, pit_plasma_resistant=1, slade=1}
|
||||
if invulnerable then
|
||||
stair_groups.immortal = 1
|
||||
else
|
||||
stair_groups.cracky = 3
|
||||
end
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"slade_brick",
|
||||
"df_underworld_items:slade_brick",
|
||||
stair_groups,
|
||||
{"dfcaverns_slade_brick.png"},
|
||||
S("Slade Stair"),
|
||||
S("Slade Slab"),
|
||||
default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } })
|
||||
)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mesecons_mvps") and df_underworld_items.config.invulnerable_slade then
|
||||
mesecon.register_mvps_stopper("df_underworld_items:slade")
|
||||
end
|
BIN
df_underworld_items/sounds/bedrock2_step.1.ogg
Normal file
BIN
df_underworld_items/sounds/bedrock2_step.2.ogg
Normal file
BIN
df_underworld_items/sounds/bedrock2_step.3.ogg
Normal file
BIN
df_underworld_items/sounds/dfcaverns_arcing.1.ogg
Normal file
BIN
df_underworld_items/sounds/dfcaverns_arcing.2.ogg
Normal file
BIN
df_underworld_items/sounds/dfcaverns_arcing.3.ogg
Normal file
BIN
df_underworld_items/sounds/dfcaverns_arcing.4.ogg
Normal file
BIN
df_underworld_items/sounds/dfcaverns_grinding_stone.1.ogg
Normal file
BIN
df_underworld_items/sounds/dfcaverns_grinding_stone.2.ogg
Normal file
BIN
df_underworld_items/sounds/dfcaverns_grinding_stone.3.ogg
Normal file
12
df_underworld_items/sounds/license.txt
Normal file
@ -0,0 +1,12 @@
|
||||
bedrock2_step.1.ogg - from the Bedrock mod by Wuzzy, https://repo.or.cz/w/minetest_bedrock2.git, under the WTFPL, relicenced to MIT for this mod.
|
||||
bedrock2_step.2.ogg
|
||||
bedrock2_step.3.ogg
|
||||
|
||||
dfcaverns_grinding_stone.1.ogg - from https://freesound.org/people/FreqMan/sounds/25845/ by FreqMan under Creative Commons BY 3.0
|
||||
dfcaverns_grinding_stone.2.ogg - from https://freesound.org/people/FreqMan/sounds/25846/ by FreqMan under Creative Commons BY 3.0
|
||||
dfcaverns_grinding_stone.3.ogg - from https://freesound.org/people/FreqMan/sounds/25847/ by FreqMan under Creative Commons BY 3.0
|
||||
|
||||
dfcaverns_arcing.1.ogg - from https://freesound.org/people/unfa/sounds/264827/ by unfa under Creative Commons BY 3.0
|
||||
dfcaverns_arcing.2.ogg - from https://freesound.org/people/unfa/sounds/264827/ by unfa under Creative Commons BY 3.0
|
||||
dfcaverns_arcing.3.ogg - from https://freesound.org/people/unfa/sounds/264827/ by unfa under Creative Commons BY 3.0
|
||||
dfcaverns_arcing.4.ogg - from https://freesound.org/people/unfa/sounds/264827/ by unfa under Creative Commons BY 3.0
|
BIN
df_underworld_items/textures/dfcaverns_glow_amethyst.png
Normal file
After Width: | Height: | Size: 325 B |
BIN
df_underworld_items/textures/dfcaverns_glowpit_particle.png
Normal file
After Width: | Height: | Size: 301 B |
BIN
df_underworld_items/textures/dfcaverns_glowstone.png
Normal file
After Width: | Height: | Size: 876 B |
BIN
df_underworld_items/textures/dfcaverns_pit_plasma.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
df_underworld_items/textures/dfcaverns_pit_plasma_static.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
df_underworld_items/textures/dfcaverns_seal.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
df_underworld_items/textures/dfcaverns_slade.png
Normal file
After Width: | Height: | Size: 580 B |
BIN
df_underworld_items/textures/dfcaverns_slade_block.png
Normal file
After Width: | Height: | Size: 374 B |
BIN
df_underworld_items/textures/dfcaverns_slade_brick.png
Normal file
After Width: | Height: | Size: 546 B |
BIN
df_underworld_items/textures/dfcaverns_slade_sand.png
Normal file
After Width: | Height: | Size: 550 B |
5
df_underworld_items/textures/license.txt
Normal file
@ -0,0 +1,5 @@
|
||||
All textures not specifically listed here are created by FaceDeer and released under both the MIT license and under the Creative Commons CC0 license.
|
||||
|
||||
dfcaverns_glow_amethyst, dfcaverns_glow_amethist_ore - from caverealms glow_amethyst
|
||||
|
||||
dfcaverns_slade, dfcaverns_slade_sand, dfcaverns_slade_brick, dfcaverns_glowstone, are all from the Nether mod by PilzAdam: Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/
|