mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2025-06-28 14:36:20 +02:00
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
This commit is contained in:
24
oil/LICENSE.txt
Normal file
24
oil/LICENSE.txt
Normal 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.
|
5
oil/depends.txt
Normal file
5
oil/depends.txt
Normal file
@ -0,0 +1,5 @@
|
||||
default
|
||||
dynamic_liquid?
|
||||
bucket?
|
||||
tnt?
|
||||
doc?
|
182
oil/gas.lua
Normal file
182
oil/gas.lua
Normal file
@ -0,0 +1,182 @@
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local gas_desc
|
||||
local gas_usage
|
||||
|
||||
local seep_desc
|
||||
local seep_usage
|
||||
|
||||
if minetest.get_modpath("doc") then
|
||||
gas_desc = S("Gaseous hydrocarbons formed from the detritus of long dead plants and animals processed by heat and pressure deep within the earth.")
|
||||
gas_usage = S("Gas is highly hazardous. Heavier than air, it pools in deep caverns and asphyxiates the unwary.")
|
||||
if minetest.get_modpath("tnt") then
|
||||
gas_usage = gas_usage .. " " .. S("When exposed to air and an ignition source it can produce a deadly explosion.")
|
||||
end
|
||||
|
||||
seep_desc = S("Some coal deposits have cracks that seep a steady flow of mine gas.")
|
||||
seep_usage = S("Mining out such a deposit seals the crack.")
|
||||
end
|
||||
|
||||
minetest.register_node("oil:gas", {
|
||||
description = S("Mine Gas"),
|
||||
_doc_items_longdesc = gas_desc,
|
||||
_doc_items_usagehelp = gas_usage,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drawtype = "glasslike",
|
||||
drowning = 1,
|
||||
post_effect_color = {a = 20, r = 20, g = 20, b = 250},
|
||||
tiles = {"oil_gas.png^[opacity:28"},
|
||||
use_texture_alpha = true,
|
||||
groups = {not_in_creative_inventory=1},
|
||||
paramtype = "light",
|
||||
drop = {},
|
||||
sunlight_propagates = true,
|
||||
--on_blast = function() end, -- unaffected by explosions
|
||||
})
|
||||
|
||||
minetest.register_node("oil:gas_seep", {
|
||||
description = S("Gas Seep"),
|
||||
_doc_items_longdesc = seep_desc,
|
||||
_doc_items_usagehelp = seep_usage,
|
||||
tiles = {"default_stone.png^default_mineral_coal.png^[combine:16x80:0,-16=crack_anylength.png"},
|
||||
groups = {cracky = 3},
|
||||
drop = 'default:coal_lump',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
is_ground_content = true,
|
||||
})
|
||||
|
||||
minetest.register_on_dignode(function(pos, oldnode, digger)
|
||||
if minetest.get_item_group(oldnode.name, "digtron") > 0 then
|
||||
-- skip digtron moved nodes
|
||||
return;
|
||||
end
|
||||
|
||||
local np = minetest.find_node_near(pos, 1,{"oil:gas"})
|
||||
if np ~= nil then
|
||||
minetest.set_node(pos, {name = "oil:gas"})
|
||||
return
|
||||
end
|
||||
end)
|
||||
|
||||
local directions = {
|
||||
{x=1, y=0, z=0},
|
||||
{x=-1, y=0, z=0},
|
||||
{x=0, y=0, z=1},
|
||||
{x=0, y=0, z=-1},
|
||||
}
|
||||
|
||||
local gas_node = {name="oil:gas"}
|
||||
minetest.register_abm({
|
||||
label = "oil:gas movement",
|
||||
nodenames = {"oil:gas"},
|
||||
neighbors = {"group:liquid", "air"},
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
catch_up = true,
|
||||
action = function(pos, node)
|
||||
local next_pos = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
local next_node = minetest.get_node(next_pos)
|
||||
if minetest.get_item_group(next_node.name, "liquid") > 0 then
|
||||
minetest.swap_node(next_pos, gas_node)
|
||||
minetest.swap_node(pos, next_node)
|
||||
else
|
||||
next_pos.y = pos.y-1
|
||||
next_node = minetest.get_node(next_pos)
|
||||
if next_node.name == "air" then
|
||||
minetest.swap_node(next_pos, gas_node)
|
||||
minetest.swap_node(pos, next_node)
|
||||
else
|
||||
local dir = directions[math.random(1,4)]
|
||||
local next_pos = vector.add(pos, dir)
|
||||
local next_node = minetest.get_node(next_pos)
|
||||
if next_node.name == "air" or minetest.get_item_group(next_node.name, "liquid") > 0 then
|
||||
if next_node.name == "air" or math.random() < 0.5 then -- gas never "climbs" above air.
|
||||
minetest.swap_node(next_pos, gas_node)
|
||||
minetest.swap_node(pos, next_node)
|
||||
else
|
||||
-- this can get gas to rise up out of the surface of liquid, preventing it from forming a permanent hole.
|
||||
next_pos.y = next_pos.y + 1
|
||||
next_node = minetest.get_node(next_pos)
|
||||
if next_node.name == "air" then
|
||||
minetest.swap_node(next_pos, gas_node)
|
||||
minetest.swap_node(pos, next_node)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
label = "oil:gas snuffing torches",
|
||||
nodenames = {"group:torch"},
|
||||
neighbors = {"oil:gas"},
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
catch_up = true,
|
||||
action = function(pos, node)
|
||||
if not minetest.find_node_near(pos, 1, "air") then
|
||||
local torch_node = minetest.get_node(pos)
|
||||
local drops = minetest.get_node_drops(torch_node.name, "")
|
||||
for _, dropped_item in pairs(drops) do
|
||||
minetest.add_item(pos, dropped_item)
|
||||
end
|
||||
minetest.set_node(pos, {name="oil:gas"})
|
||||
minetest.sound_play(
|
||||
"default_cool_lava",
|
||||
{pos = pos, max_hear_distance = 16, gain = 0.1}
|
||||
)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("tnt") then
|
||||
minetest.register_abm({
|
||||
label = "oil:gas ignition",
|
||||
nodenames = {"group:torch", "group:igniter"},
|
||||
neighbors = {"oil:gas"},
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
catch_up = true,
|
||||
action = function(pos, node)
|
||||
if minetest.find_node_near(pos, 1, "air") then
|
||||
tnt.boom(pos, {radius=1, damage_radius=6})
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
local orthogonal = {
|
||||
{x=0,y=0,z=1},
|
||||
{x=0,y=1,z=0},
|
||||
{x=1,y=0,z=0},
|
||||
{x=0,y=0,z=-1},
|
||||
{x=0,y=-1,z=0},
|
||||
{x=-1,y=0,z=0},
|
||||
}
|
||||
|
||||
minetest.register_abm({
|
||||
label = "oil:gas seep",
|
||||
nodenames = {"oil:gas_seep"},
|
||||
neighbors = {"air"},
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
catch_up = true,
|
||||
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"})
|
||||
if math.random() < 0.5 then
|
||||
minetest.sound_play(
|
||||
"oil_gas_seep_hiss",
|
||||
{pos = pos, max_hear_distance = 8, gain = 0.05}
|
||||
)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
205
oil/init.lua
Normal file
205
oil/init.lua
Normal file
@ -0,0 +1,205 @@
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local oil_desc
|
||||
local oil_usage
|
||||
|
||||
if minetest.get_modpath("doc") then
|
||||
oil_desc = S("Liquid hydrocarbons formed from the detritus of long dead plants and animals processed by heat and pressure deep within the earth.")
|
||||
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", {
|
||||
description = S("Oil"),
|
||||
_doc_items_longdesc = oil_desc,
|
||||
_doc_items_usagehelp = oil_usage,
|
||||
drawtype = "liquid",
|
||||
tiles = {
|
||||
{
|
||||
name = "oil_oil_source_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 2.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
special_tiles = {
|
||||
-- New-style water source material (mostly unused)
|
||||
{
|
||||
name = "oil_oil_source_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 2.0,
|
||||
},
|
||||
backface_culling = false,
|
||||
},
|
||||
},
|
||||
alpha = 255,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
sunlight_propagates = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquidtype = "source",
|
||||
liquid_range = 3,
|
||||
liquid_renewable = false,
|
||||
liquid_alternative_flowing = "oil:oil_flowing",
|
||||
liquid_alternative_source = "oil:oil_source",
|
||||
liquid_viscosity = 1,
|
||||
post_effect_color = {a = 250, r = 0, g = 0, b = 0},
|
||||
groups = {liquid = 3},
|
||||
sounds = oil_sounds,
|
||||
})
|
||||
|
||||
minetest.register_node("oil:oil_flowing", {
|
||||
description = S("Flowing Oil"),
|
||||
_doc_items_longdesc = oil_desc,
|
||||
_doc_items_usagehelp = oil_usage,
|
||||
drawtype = "flowingliquid",
|
||||
tiles = {"oil_oil.png"},
|
||||
special_tiles = {
|
||||
{
|
||||
name = "oil_oil_flowing_animated.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 4.0,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "oil_oil_flowing_animated.png",
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 4.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
alpha = 255,
|
||||
paramtype = "light",
|
||||
paramtype2 = "flowingliquid",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
sunlight_propagates = false,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquidtype = "flowing",
|
||||
liquid_range = 3,
|
||||
liquid_renewable = false,
|
||||
liquid_alternative_flowing = "oil:oil_flowing",
|
||||
liquid_alternative_source = "oil:oil_source",
|
||||
liquid_viscosity = 1,
|
||||
post_effect_color = {a = 250, r = 0, g = 0, b = 0},
|
||||
groups = {liquid = 3, not_in_creative_inventory = 1},
|
||||
sounds = oil_sounds,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "oil:oil_source",
|
||||
burntime = 370, -- same as coalblock
|
||||
})
|
||||
|
||||
if minetest.get_modpath("dynamic_liquid") then
|
||||
dynamic_liquid.liquid_abm("oil:oil_source", "oil:oil_flowing", 2)
|
||||
|
||||
-- not using default liquid_abm to prevent oil from churning around once it's on the surface of water - we want slicks to remain cohesive and static
|
||||
minetest.register_abm({
|
||||
label = "oil:oil floats",
|
||||
nodenames = {"oil:oil_source"},
|
||||
neighbors = {"default:water_source"},
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
catch_up = true,
|
||||
action = function(pos, node)
|
||||
local next_pos = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
local next_node = minetest.get_node(next_pos)
|
||||
local above_name = next_node.name
|
||||
if above_name == "default:water_source" then
|
||||
minetest.swap_node(next_pos, {name="oil:oil_source"})
|
||||
minetest.swap_node(pos, next_node)
|
||||
else
|
||||
next_pos.y = pos.y
|
||||
local displacement
|
||||
if math.random() > 0.5 then displacement = 1 else displacement = -1 end
|
||||
if math.random() > 0.5 then
|
||||
next_pos.x = next_pos.x + displacement
|
||||
else
|
||||
next_pos.z = next_pos.z + displacement
|
||||
end
|
||||
next_node = minetest.get_node(next_pos)
|
||||
if next_node.name == "default:water_source" then
|
||||
if above_name ~= "air" then
|
||||
-- we're not on the surface, so try any lateral movement
|
||||
minetest.swap_node(next_pos, {name="oil:oil_source"})
|
||||
minetest.swap_node(pos, next_node)
|
||||
elseif math.random() < 0.1 then -- expensive and not commonly needed, so don't try this often
|
||||
--Otherwise, count neighboring oil nodes and if we're increasing the number of neighboring oil nodes by moving then do so.
|
||||
local oil_neighbors_here, here_count = minetest.find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, {"oil:oil_source"})
|
||||
local oil_neighbors_there, there_count = minetest.find_nodes_in_area({x=next_pos.x-1, y=next_pos.y, z=next_pos.z-1}, {x=next_pos.x+1, y=next_pos.y, z=next_pos.z+1}, {"oil:oil_source"})
|
||||
if there_count["oil:oil_source"] >= here_count["oil:oil_source"] then
|
||||
minetest.swap_node(next_pos, {name="oil:oil_source"})
|
||||
minetest.swap_node(pos, next_node)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- If oil is wandering around on top of a layer of water that isn't full, drop it down
|
||||
-- into the water layer. This helps drive the system toward a more static state with a flat-looking surface.
|
||||
minetest.register_abm({
|
||||
label = "oil:oil settles",
|
||||
nodenames = {"oil:oil_source"},
|
||||
neighbors = {"default:water_flowing"},
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
catch_up = true,
|
||||
action = function(pos, node)
|
||||
local next_pos = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||
local next_node = minetest.get_node(next_pos)
|
||||
if next_node.name == "default:water_flowing" then
|
||||
minetest.swap_node(next_pos, {name="oil:oil_source"})
|
||||
minetest.swap_node(pos, next_node)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
if minetest.get_modpath("bucket") then
|
||||
bucket.register_liquid(
|
||||
"oil:oil_source",
|
||||
"oil:oil_flowing",
|
||||
"oil:oil_bucket",
|
||||
"oil_bucket.png",
|
||||
S("Oil Bucket")
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "oil:oil_bucket",
|
||||
burntime = 370, -- same as coalblock
|
||||
replacements = {{"oil:oil_bucket", "bucket:bucket_empty"}},
|
||||
})
|
||||
end
|
45
oil/intllib.lua
Normal file
45
oil/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
|
73
oil/locale/template.pot
Normal file
73
oil/locale/template.pot
Normal file
@ -0,0 +1,73 @@
|
||||
# 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-23 00:28-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"
|
||||
|
||||
#: 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
|
||||
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
|
||||
msgid "Buckets of oil can be used as fuel."
|
||||
msgstr ""
|
||||
|
||||
#: oil\init.lua:17
|
||||
msgid "Oil"
|
||||
msgstr ""
|
||||
|
||||
#: oil\init.lua:67
|
||||
msgid "Flowing Oil"
|
||||
msgstr ""
|
||||
|
||||
#: oil\init.lua:196
|
||||
msgid "Oil Bucket"
|
||||
msgstr ""
|
6
oil/locale/update.bat
Normal file
6
oil/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
oil/mod.conf
Normal file
1
oil/mod.conf
Normal file
@ -0,0 +1 @@
|
||||
name = oil
|
9
oil/sounds/license.txt
Normal file
9
oil/sounds/license.txt
Normal file
@ -0,0 +1,9 @@
|
||||
oil footstep 1-4 extracted from https://freesound.org/people/VlatkoBlazek/sounds/318592/
|
||||
Released under the CC BY 3.0 license by:
|
||||
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
|
BIN
oil/sounds/oil_gas_seep_hiss.1.ogg
Normal file
BIN
oil/sounds/oil_gas_seep_hiss.1.ogg
Normal file
Binary file not shown.
BIN
oil/sounds/oil_gas_seep_hiss.2.ogg
Normal file
BIN
oil/sounds/oil_gas_seep_hiss.2.ogg
Normal file
Binary file not shown.
BIN
oil/sounds/oil_oil_footstep.1.ogg
Normal file
BIN
oil/sounds/oil_oil_footstep.1.ogg
Normal file
Binary file not shown.
BIN
oil/sounds/oil_oil_footstep.2.ogg
Normal file
BIN
oil/sounds/oil_oil_footstep.2.ogg
Normal file
Binary file not shown.
BIN
oil/sounds/oil_oil_footstep.3.ogg
Normal file
BIN
oil/sounds/oil_oil_footstep.3.ogg
Normal file
Binary file not shown.
BIN
oil/sounds/oil_oil_footstep.4.ogg
Normal file
BIN
oil/sounds/oil_oil_footstep.4.ogg
Normal file
Binary file not shown.
3
oil/textures/license.txt
Normal file
3
oil/textures/license.txt
Normal file
@ -0,0 +1,3 @@
|
||||
All textures not specifically listed here are created by FaceDeer and released under both the MIT license and under the Creative Commons CC0 license.
|
||||
|
||||
oil_bucket and oil liquid textures modified from default mod's bucket and water textures
|
BIN
oil/textures/oil_bucket.png
Normal file
BIN
oil/textures/oil_bucket.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 359 B |
BIN
oil/textures/oil_gas.png
Normal file
BIN
oil/textures/oil_gas.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 141 B |
BIN
oil/textures/oil_oil.png
Normal file
BIN
oil/textures/oil_oil.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 503 B |
BIN
oil/textures/oil_oil_flowing_animated.png
Normal file
BIN
oil/textures/oil_oil_flowing_animated.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
BIN
oil/textures/oil_oil_source_animated.png
Normal file
BIN
oil/textures/oil_oil_source_animated.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
Reference in New Issue
Block a user