mirror of
https://github.com/mt-mods/xcompat.git
synced 2025-07-20 01:10:31 +02:00
Compare commits
3 Commits
b18dc7ba14
...
sound_api_
Author | SHA1 | Date | |
---|---|---|---|
d266415853 | |||
b832ca00da | |||
d3ddfb09b1 |
7
.github/dependabot.yml
vendored
Normal file
7
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: gitsubmodule
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 20
|
23
.github/workflows/farlands_reloaded.yml
vendored
23
.github/workflows/farlands_reloaded.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: farlands_reloaded
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://github.com/TerraQuest-Studios/farlands_reloaded
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = farlands_reloaded.txt
|
23
.github/workflows/hades_revisited.yml
vendored
23
.github/workflows/hades_revisited.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: hades_revisited
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://codeberg.org/Wuzzy/Hades_Revisited
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = hades_revisited.txt
|
13
.github/workflows/luacheck.yml
vendored
13
.github/workflows/luacheck.yml
vendored
@ -1,10 +1,13 @@
|
||||
name: luacheck
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
luacheck:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- name: Luacheck
|
||||
uses: lunarmodules/luacheck@master
|
||||
- uses: actions/checkout@master
|
||||
- name: apt
|
||||
run: sudo apt-get install -y luarocks
|
||||
- name: luacheck install
|
||||
run: luarocks install --local luacheck
|
||||
- name: luacheck run
|
||||
run: $HOME/.luarocks/bin/luacheck ./
|
23
.github/workflows/mineclonia.yml
vendored
23
.github/workflows/mineclonia.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: mineclonia
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://codeberg.org/mineclonia/mineclonia
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = mineclonia.txt
|
23
.github/workflows/minetest_game.yml
vendored
23
.github/workflows/minetest_game.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: minetest_game
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://github.com/minetest/minetest_game
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = minetest.txt
|
23
.github/workflows/voxelibre.yml
vendored
23
.github/workflows/voxelibre.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: voxelibre
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://git.minetest.land/VoxeLibre/VoxeLibre/
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = voxelibre.txt
|
35
.luacheckrc
35
.luacheckrc
@ -1,21 +1,22 @@
|
||||
unused_args = false
|
||||
allow_defined_top = true
|
||||
|
||||
exclude_files = {".luacheckrc"}
|
||||
|
||||
globals = {
|
||||
"minetest",
|
||||
"xcompat",
|
||||
"minetest", "xcompat",
|
||||
}
|
||||
|
||||
read_globals = {
|
||||
"default",
|
||||
"mcl_sounds",
|
||||
"ks_sounds",
|
||||
"nodes_nature",
|
||||
"fl_stone",
|
||||
"fl_topsoil",
|
||||
"fl_trees",
|
||||
"hades_sounds",
|
||||
"rp_sounds",
|
||||
"mtt",
|
||||
"sounds",
|
||||
"player_api",
|
||||
"mcl_player",
|
||||
"fl_player",
|
||||
}
|
||||
string = {fields = {"split"}},
|
||||
table = {fields = {"copy", "getn"}},
|
||||
|
||||
--luac
|
||||
"math", "table",
|
||||
|
||||
-- Builtin
|
||||
"vector", "ItemStack", "dump", "DIR_DELIM", "VoxelArea", "Settings", "PcgRandom", "VoxelManip", "PseudoRandom",
|
||||
|
||||
--mod produced
|
||||
"default", "mcl_sounds", "ks_sounds", "nodes_nature", "fl_stone", "fl_topsoil", "fl_trees", "hades_sounds", "rp_sounds",
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
# Sound API
|
||||
# Xcompat dev docs
|
||||
|
||||
## Option 1: Agnostically depend
|
||||
## Sound API
|
||||
|
||||
### Option 1: Agnostically depend
|
||||
|
||||
You can do this by using a custom field in your node def instead of the `sounds` key.
|
||||
|
||||
@ -20,7 +22,7 @@ where:
|
||||
* key: string name of the field from the sound api you want to use, for example `node_sound_stone_defaults`
|
||||
* input: table input of fields you want passed to the key field, used to override specific sounds.
|
||||
|
||||
## Option 2: Hard depend
|
||||
### Option 2: Hard depend
|
||||
|
||||
add this mod to your mod.confs depends and directly call the sound_api as follows
|
||||
|
||||
@ -32,4 +34,8 @@ minetest.register_node(nodename, {
|
||||
})
|
||||
```
|
||||
|
||||
* input: optional table to override some or all of returned values
|
||||
* input: optional table to override some or all of returned values
|
||||
|
||||
## Materials API
|
||||
|
||||
consult `/src/materials.lua` at this time
|
37
README.md
37
README.md
@ -1,34 +1,15 @@
|
||||
# XCompat
|
||||
# xcompat
|
||||
|
||||
[](https://github.com/mt-mods/xcompat/actions/workflows/luacheck.yml)
|
||||
[](https://content.minetest.net/packages/mt-mods/xcompat/)
|
||||
a mod that aims to facilitate other mods to be game agnostic by handling sounds and crafting
|
||||
|
||||
Provides cross compatibility between games and mods for sounds and crafting materials.
|
||||
thanks to:
|
||||
* MisterE, OgelGames, and Blockhead for naming advice/suggestion
|
||||
* luk3yx, Blockhead, Buckaroo for bouncing ideas on the concept of this mod
|
||||
|
||||
Thanks to:
|
||||
* MisterE, OgelGames, and Blockhead for naming advice/suggestion.
|
||||
* luk3yx, Blockhead, BuckarooBanzai for bouncing ideas on the concept of this mod.
|
||||
## Installing
|
||||
|
||||
## Usage
|
||||
clone via git or install via contentdb (soon)
|
||||
|
||||
See the respective sub apis doc file in /doc for detailed documentation.
|
||||
## Dev Docs
|
||||
|
||||
## Directly supported games and mods
|
||||
|
||||
| Games | Sounds | Materials | Textures | Player |
|
||||
| ----------------- | --------- | --------- | --------- | ------ |
|
||||
| Minetest Game | x | x | x | x |
|
||||
| MineClone2 | x | x | | x |
|
||||
| Mineclonia | x | x | | x |
|
||||
| Hades Revisited | x | x | | |
|
||||
| Farlands Reloaded | x | x | x | x |
|
||||
| Exile | x | | | |
|
||||
| KSurvive 2 | x | | | |
|
||||
| Forgotten Lands | x | | | |
|
||||
|
||||
For functions see /doc/functions.md for the specifics relating to the function
|
||||
|
||||
**Mods**
|
||||
* `basic_materials`
|
||||
* `mesecons_materials`
|
||||
* `moreores`
|
||||
Can be found at /DEV.md
|
@ -1,13 +0,0 @@
|
||||
# Functions API
|
||||
|
||||
## `can_interact_with_node(player, pos)`
|
||||
returns `bool`
|
||||
|
||||
checks for the ability to interact with a node via:
|
||||
* if a player
|
||||
* owner metadata key
|
||||
* protection_bypass
|
||||
|
||||
supports
|
||||
* minetest game default if present
|
||||
* else polyfill
|
@ -1,12 +0,0 @@
|
||||
# GameId API
|
||||
|
||||
## minetest versions >= 5.7
|
||||
|
||||
simply returns `minetest.get_game_info().id`
|
||||
|
||||
## minetest versions < 5.7
|
||||
|
||||
approximates the gameid value via a hardcoded table of gameid=>modname
|
||||
and then checks via `minetest.get_modpath()`. If it fails, it falls
|
||||
back to using `xcompat_unknown_gameid` as the id. See the chart in the
|
||||
readme for which games are supported
|
@ -1,3 +0,0 @@
|
||||
# Materials API
|
||||
|
||||
consult `/src/materials/minetest.lua` at this time
|
@ -1,13 +0,0 @@
|
||||
# Player API
|
||||
|
||||
mimic mtg player_api
|
||||
|
||||
## NOTE
|
||||
|
||||
`xcompat.player.player_attached`
|
||||
|
||||
read/write from it is fine, looping over it is not as it is a proxy table. this
|
||||
would need lua5.2 __pairs/__ipairs metamethods support which i could polyfill
|
||||
for using https://stackoverflow.com/a/77354254 but didnt feel like doing at
|
||||
this time. (luajit supports this via 5.2 extensions). additionally see issue:
|
||||
https://github.com/minetest/minetest/issues/15133
|
@ -1,3 +0,0 @@
|
||||
# Textures API
|
||||
|
||||
consult `/src/texture/minetest.lua` at this time
|
@ -1,2 +0,0 @@
|
||||
test export-ignore
|
||||
.github export-ignore
|
19
init.lua
19
init.lua
@ -1,18 +1,10 @@
|
||||
local modpath = minetest.get_modpath("xcompat")
|
||||
|
||||
xcompat = {
|
||||
modpath = modpath,
|
||||
sounds = dofile(modpath .. "/src/sounds.lua"),
|
||||
materials = dofile(modpath .. "/src/materials.lua"),
|
||||
}
|
||||
|
||||
xcompat.gameid = dofile(modpath .. "/src/gameid.lua")
|
||||
xcompat.utilities = dofile(modpath .. "/src/utilities.lua")
|
||||
|
||||
xcompat.sounds = dofile(modpath .. "/src/sounds.lua")
|
||||
xcompat.materials = dofile(modpath .. "/src/materials.lua")
|
||||
xcompat.textures = dofile(modpath .. "/src/textures.lua")
|
||||
xcompat.functions = dofile(modpath .. "/src/functions.lua")
|
||||
xcompat.player = dofile(modpath .. "/src/player.lua")
|
||||
|
||||
local function validate_sound(key)
|
||||
if key and xcompat.sounds[key] then
|
||||
return true
|
||||
@ -42,10 +34,3 @@ minetest.register_on_mods_loaded(function()
|
||||
old_reg_node(name, def)
|
||||
end
|
||||
end)
|
||||
|
||||
dofile(modpath .. "/src/commands.lua")
|
||||
|
||||
if minetest.get_modpath("mtt") and mtt.enabled then
|
||||
-- register tests
|
||||
dofile(modpath .. "/mtt.lua")
|
||||
end
|
||||
|
3
mod.conf
3
mod.conf
@ -1,3 +1,2 @@
|
||||
name = xcompat
|
||||
description = Provides cross compatibility between mods and games for sounds and crafting materials.
|
||||
optional_depends = default, fl_stone, fl_trees, mcl_sounds, hades_sounds, ks_sounds, nodes_nature, fl_topsoil, fl_trees, mcl_core, farming, x_farming, sounds, mtt, player_api, mcl_player, fl_player
|
||||
optional_depends = default, fl_stone, fl_trees, mcl_sounds, hades_sounds, ks_sounds, nodes_nature, fl_topsoil, fl_trees
|
10
mtt.lua
10
mtt.lua
@ -1,10 +0,0 @@
|
||||
|
||||
-- emerge a part of the world (basic smoketest)
|
||||
mtt.emerge_area({ x=0, y=0, z=0 }, { x=10, y=10, z=10 })
|
||||
|
||||
-- check nodelist
|
||||
local mtt_nodelist = minetest.settings:get("mtt_nodelist")
|
||||
if mtt_nodelist then
|
||||
-- nodelist specified, check if all the required nodes are present
|
||||
mtt.validate_nodenames(minetest.get_modpath("xcompat") .. "/test/nodelist/" .. mtt_nodelist)
|
||||
end
|
@ -1,76 +0,0 @@
|
||||
local materials_list = minetest.get_dir_list(xcompat.modpath.."/src/materials", false)
|
||||
local materials = {}
|
||||
for _, material in ipairs(materials_list) do
|
||||
local gameid = material:sub(1, -5)
|
||||
materials[gameid] = dofile(xcompat.modpath.."/src/materials/"..material)
|
||||
end
|
||||
|
||||
local textures_list = minetest.get_dir_list(xcompat.modpath.."/src/textures", false)
|
||||
local textures = {}
|
||||
for _, texture in ipairs(textures_list) do
|
||||
local gameid = texture:sub(1, -5)
|
||||
textures[gameid] = dofile(xcompat.modpath.."/src/textures/"..texture)
|
||||
end
|
||||
|
||||
local sounds_list = minetest.get_dir_list(xcompat.modpath.."/src/sounds", false)
|
||||
local sounds = {}
|
||||
for _, sound in ipairs(sounds_list) do
|
||||
local gameid = sound:sub(1, -5)
|
||||
sounds[gameid] = dofile(xcompat.modpath.."/src/sounds/"..sound)
|
||||
end
|
||||
|
||||
minetest.register_chatcommand("xcompat_test_materials", {
|
||||
description = "Test materials",
|
||||
privs = {server=true},
|
||||
func = function(name, _)
|
||||
local reference_materials = materials["minetest"]
|
||||
|
||||
for gameid, game_materials in pairs(materials) do
|
||||
for material, _ in pairs(reference_materials) do
|
||||
if not game_materials[material] then
|
||||
minetest.chat_send_player(name, "Missing material: "..material.." in game: "..gameid)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.chat_send_player(name, "Materials test complete")
|
||||
end
|
||||
})
|
||||
|
||||
--WARNING: only handles top level of table currently
|
||||
--TODO: handle nested tables
|
||||
minetest.register_chatcommand("xcompat_test_textures", {
|
||||
description = "Test textures",
|
||||
privs = {server=true},
|
||||
func = function(name, _)
|
||||
local reference_textures = textures["xcompat_agnostic"]
|
||||
|
||||
for gameid, game_textures in pairs(textures) do
|
||||
for texture, _ in pairs(reference_textures) do
|
||||
if not game_textures[texture] then
|
||||
minetest.chat_send_player(name, "Missing texture: "..texture.." in game: "..gameid)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.chat_send_player(name, "Textures test complete")
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("xcompat_test_sounds", {
|
||||
description = "Test sounds",
|
||||
privs = {server=true},
|
||||
func = function(name, _)
|
||||
local reference_sounds = sounds["xcompat_agnostic"]
|
||||
|
||||
for gameid, game_sounds in pairs(sounds) do
|
||||
for sound, _ in pairs(reference_sounds) do
|
||||
if not game_sounds[sound] then
|
||||
minetest.chat_send_player(name, "Missing sound: "..sound.." in game: "..gameid)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.chat_send_player(name, "Sounds test complete")
|
||||
end
|
||||
})
|
@ -1,55 +0,0 @@
|
||||
local functions = {}
|
||||
|
||||
function functions.can_interact_with_node(player, pos)
|
||||
--if we have default, use it
|
||||
if default then return default.can_interact_with_node(player, pos) end
|
||||
|
||||
local owner = minetest.get_meta(pos):get_string("owner") or ""
|
||||
|
||||
--check that we have a valid player
|
||||
if not player or not player:is_player() then return false end
|
||||
--check there privs for compat with areas
|
||||
if minetest.check_player_privs(player, "protection_bypass") then return true end
|
||||
--if a normal player, check if they are the owner
|
||||
if owner == "" or owner == player:get_player_name() then return true end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
function functions.sapling_on_place(
|
||||
itemstack, player, pointed_thing, sapling_name, minp_relative, maxp_relative, interval
|
||||
)
|
||||
if default then
|
||||
return default.sapling_on_place(
|
||||
itemstack, player, pointed_thing, sapling_name, minp_relative, maxp_relative, interval
|
||||
)
|
||||
end
|
||||
|
||||
local pos = pointed_thing.above
|
||||
local pname = player and player:get_player_name() or ""
|
||||
local below_node = minetest.get_node_or_nil(pointed_thing.under)
|
||||
|
||||
if below_node and minetest.registered_items[below_node.name] and
|
||||
minetest.registered_items[below_node.name].buildable_to then
|
||||
|
||||
pos = pointed_thing.under
|
||||
end
|
||||
|
||||
--check protection
|
||||
if minetest.is_protected(pos, pname) then
|
||||
minetest.record_protection_violation(pos, pname)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
--actually place sapling
|
||||
minetest.set_node(pos, {name = sapling_name})
|
||||
|
||||
--handle survival
|
||||
if not minetest.is_creative_enabled(pname) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
return functions
|
@ -1,33 +0,0 @@
|
||||
local game_alias = {
|
||||
mineclone2 = "mineclonia",
|
||||
}
|
||||
|
||||
local game_modnames = {
|
||||
mineclonia = "mcl_core",
|
||||
farlands_reloaded = "fl_core",
|
||||
minetest = "default",
|
||||
hades = "hades_core",
|
||||
exile = "exile_env_sounds",
|
||||
ksurvive2 = "ks_metals",
|
||||
}
|
||||
|
||||
local gameid = "xcompat_unknown_gameid"
|
||||
|
||||
if type(minetest.get_game_info) == "function" then
|
||||
gameid = minetest.get_game_info().id
|
||||
else
|
||||
for game, modname in pairs(game_modnames) do
|
||||
if minetest.get_modpath(modname) then
|
||||
gameid = game
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--for games that are similar/derviatives of other games
|
||||
if game_alias[gameid] then gameid = game_alias[gameid] end
|
||||
|
||||
--while minetest game derviates are not supported, we can still try to detect them
|
||||
if minetest.get_modpath("default") then gameid = "minetest" end
|
||||
|
||||
return gameid
|
@ -1,8 +1,242 @@
|
||||
local filename = xcompat.gameid
|
||||
local materials = {
|
||||
dirt = "default:dirt",
|
||||
sand = "default:sand",
|
||||
gravel = "default:gravel",
|
||||
copper_ingot = "default:copper_ingot",
|
||||
steel_ingot = "default:steel_ingot",
|
||||
gold_ingot = "default:gold_ingot",
|
||||
tin_ingot = "default:tin_ingot",
|
||||
mese = "default:mese",
|
||||
mese_crystal = "default:mese_crystal",
|
||||
mese_crystal_fragment = "default:mese_crystal_fragment",
|
||||
torch = "default:torch",
|
||||
diamond = "default:diamond",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "bucket:bucket_water",
|
||||
empty_bucket = "bucket:bucket_empty",
|
||||
dye_dark_grey = "dye:dark_grey",
|
||||
dye_black = "dye:black",
|
||||
dye_white = "dye:white",
|
||||
dye_green = "dye:green",
|
||||
dye_red = "dye:red",
|
||||
dye_yellow = "dye:yellow",
|
||||
dye_brown = "dye:brown",
|
||||
dye_blue = "dye:blue",
|
||||
dye_violet = "dye:violet",
|
||||
dye_grey = "dye:grey",
|
||||
dye_dark_green = "dye:dark_green",
|
||||
dye_orange = "dye:orange",
|
||||
dye_pink = "dye:pink",
|
||||
silicon = "mesecons_materials:silicon",
|
||||
string = "farming:string",
|
||||
paper = "default:paper",
|
||||
book = "default:book",
|
||||
iron_lump = "default:iron_lump",
|
||||
wool_grey = "wool:grey",
|
||||
wool_green = "wool:green",
|
||||
wool_dark_green = "wool:dark_green",
|
||||
wool_brown = "wool:brown",
|
||||
wool_black = "wool:black",
|
||||
wool_white = "wool:white",
|
||||
slab_stone = "stairs:slab_stone",
|
||||
slab_wood = "stairs:slab_wood",
|
||||
glass = "default:glass",
|
||||
glass_block = "default:glass",
|
||||
glass_bottle = "vessels:glass_bottle",
|
||||
coal_lump = "default:coal_lump",
|
||||
stone = "default:stone",
|
||||
desert_stone = "default:desert_stone",
|
||||
desert_sand = "default:desert_sand",
|
||||
chest = "default:chest",
|
||||
cobble = "default:cobble",
|
||||
brick = "default:brick",
|
||||
obsidian_glass = "default:obsidian_glass",
|
||||
}
|
||||
|
||||
--if we dont have a materials file for the game, use minetest
|
||||
if not xcompat.utilities.file_exists(xcompat.modpath .. "/src/materials/" .. filename .. ".lua") then
|
||||
filename = "minetest"
|
||||
if minetest.get_modpath("moreores") then
|
||||
materials.silver_ingot = "moreores:silver_ingot"
|
||||
end
|
||||
|
||||
return dofile(xcompat.modpath .. "/src/materials/" .. filename .. ".lua")
|
||||
if minetest.get_modpath("mcl_core") then
|
||||
materials = {
|
||||
dirt = "mcl_core:dirt",
|
||||
sand = "mcl_core:sand",
|
||||
gravel = "mcl_core:gravel",
|
||||
copper_ingot = "mcl_copper:copper_ingot",
|
||||
steel_ingot = "mcl_core:iron_ingot",
|
||||
gold_ingot = "mcl_core:gold_ingot",
|
||||
tin_ingot = "mcl_core:iron_ingot",
|
||||
mese = "mesecons_torch:redstoneblock",
|
||||
mese_crystal = "mesecons:redstone",
|
||||
mese_crystal_fragment = "mcl_core:iron_ingot",
|
||||
torch = "mcl_torches:torch",
|
||||
diamond = "mcl_core:diamond",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "mcl_buckets:bucket:bucket_water",
|
||||
empty_bucket = "mcl_buckets:bucket_empty",
|
||||
dye_dark_grey = "mcl_dyes:dark_grey",
|
||||
dye_black = "mcl_dyes:black",
|
||||
dye_white = "mcl_dyes:white",
|
||||
dye_green = "mcl_dyes:green",
|
||||
dye_red = "mcl_dyes:red",
|
||||
dye_yellow = "mcl_dyes:yellow",
|
||||
dye_brown = "mcl_dyes:brown",
|
||||
dye_blue = "mcl_dyes:blue",
|
||||
dye_violet = "mcl_dyes:violet",
|
||||
dye_grey = "mcl_dyes:grey",
|
||||
dye_dark_green = "mcl_dyes:dark_green",
|
||||
dye_orange = "mcl_dyes:orange",
|
||||
dye_pink = "mcl_dyes:pink",
|
||||
silicon = "mcl_core:iron_ingot",
|
||||
string = "mcl_mobitems:string",
|
||||
paper = "mcl_core:paper",
|
||||
book = "mcl_core:book",
|
||||
iron_lump = "mcl_core:stone_with_iron",
|
||||
wool_grey = "mcl_wool:grey",
|
||||
wool_green = "mcl_wool:green",
|
||||
wool_dark_green = "mcl_wool:dark_green",
|
||||
wool_brown = "mcl_wool:brown",
|
||||
wool_black = "mcl_wool:black",
|
||||
wool_white = "mcl_wool:white",
|
||||
slab_stone = "mcl_stairs:slab_stone",
|
||||
slab_wood = "mcl_stairs:slab_wood",
|
||||
glass = "mcl_core:glass",
|
||||
glass_block = "mcl_core:glass",
|
||||
glass_bottle = "mcl_core:glass_bottle",
|
||||
coal_lump = "mcl_core:coal",
|
||||
stone = "mcl_core:stone",
|
||||
desert_stone = "mcl_core:redsandstone",
|
||||
desert_sand = "mcl_core:sand",
|
||||
chest = "mcl_chests:chest",
|
||||
cobble = "mcl_core:cobble",
|
||||
brick = "mcl_core:brick",
|
||||
}
|
||||
elseif minetest.get_modpath("fl_ores") and minetest.get_modpath("fl_stone") then
|
||||
materials = {
|
||||
dirt = "fl_topsoil:dirt",
|
||||
sand = "fl_stone:sand",
|
||||
gravel = "fl_topsoil:gravel",
|
||||
steel_ingot = "fl_ores:iron_ingot",
|
||||
gold_ingot = "fl_ores:gold_ingot",
|
||||
mese = "fl_ores:iron_ingot",
|
||||
mese_crystal = "fl_ores:iron_ingot",
|
||||
mese_crystal_fragment = "fl_ores:iron_ingot",
|
||||
torch = "fl_light_sources:torch",
|
||||
diamond = "fl_ores:diamond",
|
||||
clay_lump = "fl_bricks:clay_lump",
|
||||
water_bucket = "fl_bucket:bucket_water",
|
||||
empty_bucket = "fl_bucket:bucket",
|
||||
dye_dark_grey = "fl_dyes:dark_grey_dye",
|
||||
dye_black = "fl_dyes:black_dye",
|
||||
dye_white = "fl_dyes:white_dye",
|
||||
dye_green = "fl_dyes:green_dye",
|
||||
dye_red = "fl_dyes:red_dye",
|
||||
dye_yellow = "fl_dyes:yellow_dye",
|
||||
dye_brown = "fl_dyes:brown_dye",
|
||||
dye_blue = "fl_dyes:blue_dye",
|
||||
dye_violet = "fl_dyes:violet_dye",
|
||||
dye_grey = "fl_dyes:grey_dye",
|
||||
dye_dark_green = "fl_dyes:dark_green_dye",
|
||||
dye_orange = "fl_dyes:orange_dye",
|
||||
dye_pink = "fl_dyes:pink_dye",
|
||||
copper_ingot = "fl_ores:copper_ingot",
|
||||
tin_ingot = "fl_ores:tin_ingot",
|
||||
silver_ingot = "fl_ores:iron_ingot",
|
||||
silicon = "mesecons_materials:silicon",
|
||||
string = "fl_plantlife:oxeye_daisy",
|
||||
paper = "basic_materials:plastic_sheet",
|
||||
iron_lump = "fl_ores:iron_ore",
|
||||
wool_grey = "",
|
||||
wool_green = "",
|
||||
wool_dark_green = "",
|
||||
wool_brown = "",
|
||||
wool_black = "",
|
||||
wool_white = "",
|
||||
slab_stone = "fl_stone:stone_slab",
|
||||
slab_wood = "fl_trees:apple_plank_slab",
|
||||
glass = "fl_glass:framed_glass",
|
||||
glass_block = "fl_glass:framed_glass",
|
||||
glass_bottle = "fl_bottles:bottle",
|
||||
coal_lump = "fl_ores:coal_ore",
|
||||
stone = "fl_stone:stone",
|
||||
desert_stone = "fl_stone:desert_stone",
|
||||
desert_sand = "fl_stone:desert_sand",
|
||||
chest = "fl_storage:wood_chest",
|
||||
cobble = "fl_stone:stone_rubble",
|
||||
brick = "",
|
||||
}
|
||||
elseif minetest.get_modpath("hades_core") then
|
||||
materials = {
|
||||
sand = "hades_core:fertile_sand",
|
||||
gravel = "hades_core:gravel",
|
||||
copper_ingot = "hades_core:copper_ingot",
|
||||
steel_ingot = "hades_core:steel_ingot",
|
||||
gold_ingot = "hades_core:gold_ingot",
|
||||
tin_ingot = "hades_core:tin_ingot",
|
||||
silver_ingot = "--unknown--",
|
||||
mese = "hades_core:mese",
|
||||
mese_crystal = "hades_core:mese_crystal",
|
||||
mese_crystal_fragment = "hades_core:mese_crystal_fragment",
|
||||
torch = "hades_torches:torch",
|
||||
diamond = "hades_core:diamond",
|
||||
clay_lump = "hades_core:clay_lump",
|
||||
clay_brick = "hades_core:clay_brick",
|
||||
|
||||
--[[
|
||||
Since hades doesnt have buckets or water for the user,
|
||||
using dirt from near water to pull the water out
|
||||
]]
|
||||
water_bucket = "hades_core:dirt",
|
||||
empty_bucket = "hades_core:fertile_sand",
|
||||
dye_dark_grey = "dye:dark_grey",
|
||||
dye_black = "dye:black",
|
||||
dye_white = "dye:white",
|
||||
dye_green = "dye:green",
|
||||
dye_red = "dye:red",
|
||||
dye_yellow = "dye:yellow",
|
||||
dye_brown = "dye:brown",
|
||||
dye_blue = "dye:blue",
|
||||
dye_violet = "dye:violet",
|
||||
dye_grey = "dye:grey",
|
||||
dye_dark_green = "dye:dark_green",
|
||||
dye_orange = "dye:orange",
|
||||
dye_pink = "dye:pink",
|
||||
silicon = "hades_materials:silicon",
|
||||
string = "hades_farming:string",
|
||||
paper = "hades_core:paper",
|
||||
book = "hades_core:book",
|
||||
iron_lump = "hades_core:iron_lump",
|
||||
wool_grey = "wool:grey",
|
||||
wool_green = "wool:green",
|
||||
wool_dark_green = "wool:dark_green",
|
||||
wool_brown = "wool:brown",
|
||||
wool_black = "wool:black",
|
||||
wool_white = "wool:white",
|
||||
slab_stone = "stairs:slab_stone",
|
||||
slab_wood = "stairs:slab_wood",
|
||||
glass = "hades_core:glass",
|
||||
glass_block = "hades_core:glass",
|
||||
glass_bottle = "vessels:glass_bottle",
|
||||
obsidian_glass = "hades_core:obsidian_glass",
|
||||
coal_lump = "hades_core:coal_lump",
|
||||
stone = "hades_core:stone",
|
||||
desert_stone = "hades_core:stone_baked",
|
||||
desert_sand = "hades_core:volcanic_sand",
|
||||
chest = "hades_chests:chest";
|
||||
cobble = "hades_core:cobble",
|
||||
brick = "hades_core:brick"
|
||||
}
|
||||
|
||||
if minetest.get_modpath("hades_bucket") then
|
||||
materials["water_bucket"] = "hades_bucket:bucket_water"
|
||||
materials["empty_bucket"] = "hades_bucket:bucket_empty"
|
||||
end
|
||||
if minetest.get_modpath("hades_extraores") then
|
||||
materials["silver_ingot"] = "hades_extraores:silver_ingot"
|
||||
end
|
||||
if minetest.get_modpath("hades_default") then
|
||||
materials.desert_sand = "hades_default:desert_sand"
|
||||
end
|
||||
end
|
||||
|
||||
return materials
|
@ -1,93 +0,0 @@
|
||||
local materials = {
|
||||
sand = "fl_stone:sand",
|
||||
sandstone = "fl_stone:sandstone",
|
||||
gravel = "fl_topsoil:gravel",
|
||||
flint = "fl_topsoil:flint",
|
||||
copper_ingot = "fl_ores:copper_ingot",
|
||||
steel_ingot = "fl_ores:iron_ingot",
|
||||
gold_ingot = "fl_ores:gold_ingot",
|
||||
tin_ingot = "fl_ores:tin_ingot",
|
||||
copper_block = "fl_ores:copper_block",
|
||||
steel_block = "fl_ores:iron_block",
|
||||
gold_block = "fl_ores:gold_block",
|
||||
tin_block = "fl_ores:tin_block",
|
||||
axe_steel = "fl_tools:steel_axe",
|
||||
axe_diamond = "fl_tools:diamond_axe",
|
||||
axe_bronze = "fl_tools:bronze_axe",
|
||||
axe_stone = "fl_tools:stone_axe",
|
||||
axe_wood = "fl_tools:wood_axe",
|
||||
pick_steel = "fl_tools:steel_pick",
|
||||
mese = "fl_ores:iron_ingot",
|
||||
mese_crystal = "fl_ores:iron_ingot",
|
||||
mese_crystal_fragment = "fl_ores:iron_ingot",
|
||||
torch = "fl_light_sources:torch",
|
||||
diamond = "fl_ores:diamond",
|
||||
clay_lump = "fl_bricks:clay_lump",
|
||||
water_bucket = "fl_bucket:bucket_water",
|
||||
empty_bucket = "fl_bucket:bucket",
|
||||
dye_dark_grey = "fl_dyes:dark_grey_dye",
|
||||
dye_black = "fl_dyes:black_dye",
|
||||
dye_white = "fl_dyes:white_dye",
|
||||
dye_green = "fl_dyes:green_dye",
|
||||
dye_red = "fl_dyes:red_dye",
|
||||
dye_yellow = "fl_dyes:yellow_dye",
|
||||
dye_brown = "fl_dyes:brown_dye",
|
||||
dye_blue = "fl_dyes:blue_dye",
|
||||
dye_violet = "fl_dyes:violet_dye",
|
||||
dye_grey = "fl_dyes:grey_dye",
|
||||
dye_dark_green = "fl_dyes:dark_green_dye",
|
||||
dye_orange = "fl_dyes:orange_dye",
|
||||
dye_pink = "fl_dyes:pink_dye",
|
||||
dye_cyan = "fl_dyes:cyan_dye",
|
||||
dye_magenta = "fl_dyes:magenta_dye",
|
||||
silver_ingot = "fl_ores:iron_ingot",
|
||||
silicon = "mesecons_materials:silicon",
|
||||
string = "fl_plantlife:oxeye_daisy",
|
||||
paper = "",
|
||||
book = "",
|
||||
iron_lump = "fl_ores:iron_ore",
|
||||
wool_grey = "",
|
||||
wool_green = "",
|
||||
wool_dark_green = "",
|
||||
wool_brown = "",
|
||||
wool_black = "",
|
||||
wool_white = "",
|
||||
slab_stone = "fl_stone:stone_slab",
|
||||
slab_wood = "fl_trees:apple_plank_slab",
|
||||
glass = "fl_glass:framed_glass",
|
||||
glass_block = "fl_glass:framed_glass",
|
||||
glass_bottle = "fl_bottles:bottle",
|
||||
coal_lump = "fl_ores:coal_ore",
|
||||
stone = "fl_stone:stone",
|
||||
desert_stone = "fl_stone:desert_stone",
|
||||
desert_sand = "fl_stone:desert_sand",
|
||||
chest = "fl_storage:wood_chest",
|
||||
cobble = "fl_stone:stone_rubble",
|
||||
brick = "",
|
||||
obsidian_glass = "",
|
||||
water_source = "fl_liquids:water_source",
|
||||
water_flowing = "fl_liquids:water_flowing",
|
||||
dirt = "fl_stone:dirt",
|
||||
dirt_with_grass = "fl_topsoil:dirt_with_grass",
|
||||
apple_leaves = "fl_trees:apple_leaves",
|
||||
apple_log = "fl_trees:apple_trunk",
|
||||
apple_planks = "fl_trees:apple_plank",
|
||||
birch_leaves = "fl_trees:aspen_leaves",
|
||||
birch_log = "fl_trees:aspen_trunk",
|
||||
birch_planks = "fl_trees:aspen_plank",
|
||||
jungle_leaves = "fl_trees:jungletree_leaves",
|
||||
bowl = "",
|
||||
stick = "fl_trees:stick",
|
||||
}
|
||||
|
||||
if minetest.get_modpath("basic_materials") then
|
||||
materials.paper = "basic_materials:plastic_sheet"
|
||||
end
|
||||
|
||||
if minetest.registered_items["farming:bowl"] then
|
||||
materials.bowl = "farming:bowl"
|
||||
elseif minetest.get_modpath("x_farming") then
|
||||
materials.bowl = "x_farming:bowl"
|
||||
end
|
||||
|
||||
return materials
|
@ -1,107 +0,0 @@
|
||||
local materials = {
|
||||
sand = "hades_core:fertile_sand",
|
||||
sandstone = "hades_core:sandstone",
|
||||
gravel = "hades_core:gravel",
|
||||
flint = "",
|
||||
copper_ingot = "hades_core:copper_ingot",
|
||||
steel_ingot = "hades_core:steel_ingot",
|
||||
gold_ingot = "hades_core:gold_ingot",
|
||||
tin_ingot = "hades_core:tin_ingot",
|
||||
silver_ingot = "--unknown--",
|
||||
copper_block = "hades_core:copperblock",
|
||||
steel_block = "hades_core:steelblock",
|
||||
gold_block = "hades_core:goldblock",
|
||||
tin_block = "hades_core:tinblock",
|
||||
axe_steel = "hades_core:axe_steel",
|
||||
axe_diamond = "hades_core:axe_diamond",
|
||||
axe_bronze = "hades_core:axe_bronze",
|
||||
axe_stone = "hades_core:axe_stone",
|
||||
axe_wood = "hades_core:axe_wood",
|
||||
pick_steel = "hades_core:pick_steel",
|
||||
mese = "hades_core:mese",
|
||||
mese_crystal = "hades_core:mese_crystal",
|
||||
mese_crystal_fragment = "hades_core:mese_crystal_fragment",
|
||||
torch = "hades_torches:torch",
|
||||
diamond = "hades_core:diamond",
|
||||
clay_lump = "hades_core:clay_lump",
|
||||
clay_brick = "hades_core:clay_brick",
|
||||
|
||||
--[[
|
||||
Since hades doesnt have buckets or water for the user,
|
||||
using dirt from near water to pull the water out
|
||||
]]
|
||||
water_bucket = "hades_core:dirt",
|
||||
empty_bucket = "hades_core:fertile_sand",
|
||||
dye_dark_grey = "dye:dark_grey",
|
||||
dye_black = "dye:black",
|
||||
dye_white = "dye:white",
|
||||
dye_green = "dye:green",
|
||||
dye_red = "dye:red",
|
||||
dye_yellow = "dye:yellow",
|
||||
dye_brown = "dye:brown",
|
||||
dye_blue = "dye:blue",
|
||||
dye_violet = "dye:violet",
|
||||
dye_grey = "dye:grey",
|
||||
dye_dark_green = "dye:dark_green",
|
||||
dye_orange = "dye:orange",
|
||||
dye_pink = "dye:pink",
|
||||
dye_cyan = "dye:cyan",
|
||||
dye_magenta = "dye:magenta",
|
||||
silicon = "hades_materials:silicon",
|
||||
string = "hades_farming:string",
|
||||
paper = "hades_core:paper",
|
||||
book = "hades_core:book",
|
||||
iron_lump = "hades_core:iron_lump",
|
||||
wool_grey = "wool:grey",
|
||||
wool_green = "wool:green",
|
||||
wool_dark_green = "wool:dark_green",
|
||||
wool_brown = "wool:brown",
|
||||
wool_black = "wool:black",
|
||||
wool_white = "wool:white",
|
||||
slab_stone = "stairs:slab_stone",
|
||||
slab_wood = "stairs:slab_wood",
|
||||
glass = "hades_core:glass",
|
||||
glass_block = "hades_core:glass",
|
||||
glass_bottle = "vessels:glass_bottle",
|
||||
obsidian_glass = "hades_core:obsidian_glass",
|
||||
coal_lump = "hades_core:coal_lump",
|
||||
stone = "hades_core:stone",
|
||||
desert_stone = "hades_core:stone_baked",
|
||||
desert_sand = "hades_core:volcanic_sand",
|
||||
chest = "hades_chests:chest";
|
||||
cobble = "hades_core:cobble",
|
||||
brick = "hades_core:brick",
|
||||
water_source = "hades_core:water_source",
|
||||
water_flowing = "hades_core:water_flowing",
|
||||
dirt = "hades_core:dirt",
|
||||
dirt_with_grass = "hades_core:dirt_with_grass",
|
||||
apple_leaves = "hades_trees:leaves",
|
||||
apple_log = "hades_trees:tree",
|
||||
apple_planks = "hades_trees:wood",
|
||||
birch_leaves = "hades_core:birch_leaves",
|
||||
birch_log = "hades_trees:birch_tree",
|
||||
birch_planks = "hades_trees:cream_wood",
|
||||
jungle_leaves = "hades_trees:jungle_leaves",
|
||||
--hades has no bowl but you get plate on eat so makes most sense?
|
||||
bowl = "hades_food:plate",
|
||||
stick = "hades_core:stick",
|
||||
}
|
||||
|
||||
if minetest.get_modpath("hades_bucket") then
|
||||
materials["water_bucket"] = "hades_bucket:bucket_water"
|
||||
materials["empty_bucket"] = "hades_bucket:bucket_empty"
|
||||
end
|
||||
if minetest.get_modpath("hades_extraores") then
|
||||
materials["silver_ingot"] = "hades_extraores:silver_ingot"
|
||||
materials["aluminum_ingot"] = "hades_extraores:aluminum_ingot"
|
||||
end
|
||||
if minetest.get_modpath("hades_default") then
|
||||
materials.desert_sand = "hades_default:desert_sand"
|
||||
end
|
||||
if minetest.get_modpath("hades_technic") then
|
||||
materials.lead_ingot = "hades_technic:lead_ingot"
|
||||
materials.carbon_steel_ingot = "hades_technic:carbon_steel_ingot"
|
||||
materials.stainless_steel_ingot = "hades_technic:stainless_steel_ingot"
|
||||
end
|
||||
|
||||
return materials
|
@ -1,84 +0,0 @@
|
||||
--note this file handles mineclonia, mineclone2, and its rename voxelibre
|
||||
|
||||
local materials = {
|
||||
sand = "mcl_core:sand",
|
||||
sandstone = "mcl_core:sandstone",
|
||||
gravel = "mcl_core:gravel",
|
||||
flint = "mcl_core:flint",
|
||||
copper_ingot = "mcl_copper:copper_ingot",
|
||||
steel_ingot = "mcl_core:iron_ingot",
|
||||
gold_ingot = "mcl_core:gold_ingot",
|
||||
tin_ingot = "mcl_core:iron_ingot",
|
||||
copper_block = "mcl_copper:copper_block",
|
||||
steel_block = "mcl_core:iron_block",
|
||||
gold_block = "mcl_core:gold_block",
|
||||
tin_block = "mcl_core:iron_block",
|
||||
axe_steel = "mcl_core:axe_steel",
|
||||
axe_diamond = "mcl_core:axe_diamond",
|
||||
axe_bronze = "mcl_core:axe_bronze",
|
||||
axe_stone = "mcl_core:axe_stone",
|
||||
axe_wood = "mcl_core:axe_wood",
|
||||
pick_steel = "mcl_core:pick_steel",
|
||||
mese = "mesecons_torch:redstoneblock",
|
||||
mese_crystal = "mesecons:redstone",
|
||||
mese_crystal_fragment = "mcl_core:iron_ingot",
|
||||
torch = "mcl_torches:torch",
|
||||
diamond = "mcl_core:diamond",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "mcl_buckets:bucket:bucket_water",
|
||||
empty_bucket = "mcl_buckets:bucket_empty",
|
||||
dye_dark_grey = "mcl_dyes:dark_grey",
|
||||
dye_black = "mcl_dyes:black",
|
||||
dye_white = "mcl_dyes:white",
|
||||
dye_green = "mcl_dyes:green",
|
||||
dye_red = "mcl_dyes:red",
|
||||
dye_yellow = "mcl_dyes:yellow",
|
||||
dye_brown = "mcl_dyes:brown",
|
||||
dye_blue = "mcl_dyes:blue",
|
||||
dye_violet = "mcl_dyes:violet",
|
||||
dye_grey = "mcl_dyes:grey",
|
||||
dye_dark_green = "mcl_dyes:dark_green",
|
||||
dye_orange = "mcl_dyes:orange",
|
||||
dye_pink = "mcl_dyes:pink",
|
||||
dye_cyan = "mcl_dyes:cyan",
|
||||
dye_magenta = "mcl_dyes:magenta",
|
||||
silicon = "mcl_core:iron_ingot",
|
||||
string = "mcl_mobitems:string",
|
||||
paper = "mcl_core:paper",
|
||||
book = "mcl_core:book",
|
||||
iron_lump = "mcl_core:stone_with_iron",
|
||||
wool_grey = "mcl_wool:grey",
|
||||
wool_green = "mcl_wool:green",
|
||||
wool_dark_green = "mcl_wool:dark_green",
|
||||
wool_brown = "mcl_wool:brown",
|
||||
wool_black = "mcl_wool:black",
|
||||
wool_white = "mcl_wool:white",
|
||||
slab_stone = "mcl_stairs:slab_stone",
|
||||
slab_wood = "mcl_stairs:slab_wood",
|
||||
glass = "mcl_core:glass",
|
||||
glass_block = "mcl_core:glass",
|
||||
glass_bottle = "mcl_core:glass_bottle",
|
||||
coal_lump = "mcl_core:coal",
|
||||
stone = "mcl_core:stone",
|
||||
desert_stone = "mcl_core:redsandstone",
|
||||
desert_sand = "mcl_core:sand",
|
||||
chest = "mcl_chests:chest",
|
||||
cobble = "mcl_core:cobble",
|
||||
brick = "mcl_core:brick",
|
||||
obsidian_glass = "",
|
||||
water_source = "mcl_core:water_source",
|
||||
water_flowing = "mcl_core:water_flowing",
|
||||
dirt = "mcl_core:dirt",
|
||||
dirt_with_grass = "mcl_core:dirt_with_grass",
|
||||
apple_leaves = "mcl_trees:leaves_oak",
|
||||
apple_log = "mcl_trees:tree_oak",
|
||||
apple_planks = "mcl_trees:wood_oak",
|
||||
birch_leaves = "mcl_trees:leaves_birch",
|
||||
birch_log = "mcl_trees:tree_birch",
|
||||
birch_planks = "mcl_trees:wood_birch",
|
||||
jungle_leaves = "mcl_trees:leaves_jungle",
|
||||
bowl = "mcl_core:bowl",
|
||||
stick = "mcl_core:stick",
|
||||
}
|
||||
|
||||
return materials
|
@ -1,106 +0,0 @@
|
||||
local materials = {
|
||||
sand = "default:sand",
|
||||
sandstone = "default:sandstone",
|
||||
gravel = "default:gravel",
|
||||
flint = "default:flint",
|
||||
copper_ingot = "default:copper_ingot",
|
||||
steel_ingot = "default:steel_ingot",
|
||||
gold_ingot = "default:gold_ingot",
|
||||
tin_ingot = "default:tin_ingot",
|
||||
copper_block = "default:copperblock",
|
||||
steel_block = "default:steelblock",
|
||||
gold_block = "default:goldblock",
|
||||
tin_block = "default:tinblock",
|
||||
axe_steel = "default:axe_steel",
|
||||
axe_diamond = "default:axe_diamond",
|
||||
axe_bronze = "default:axe_bronze",
|
||||
axe_stone = "default:axe_stone",
|
||||
axe_wood = "default:axe_wood",
|
||||
pick_steel = "default:pick_steel",
|
||||
mese = "default:mese",
|
||||
mese_crystal = "default:mese_crystal",
|
||||
mese_crystal_fragment = "default:mese_crystal_fragment",
|
||||
torch = "default:torch",
|
||||
diamond = "default:diamond",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "bucket:bucket_water",
|
||||
empty_bucket = "bucket:bucket_empty",
|
||||
dye_dark_grey = "dye:dark_grey",
|
||||
dye_black = "dye:black",
|
||||
dye_white = "dye:white",
|
||||
dye_green = "dye:green",
|
||||
dye_red = "dye:red",
|
||||
dye_yellow = "dye:yellow",
|
||||
dye_brown = "dye:brown",
|
||||
dye_blue = "dye:blue",
|
||||
dye_violet = "dye:violet",
|
||||
dye_grey = "dye:grey",
|
||||
dye_dark_green = "dye:dark_green",
|
||||
dye_orange = "dye:orange",
|
||||
dye_pink = "dye:pink",
|
||||
dye_cyan = "dye:cyan",
|
||||
dye_magenta = "dye:magenta",
|
||||
silicon = "mesecons_materials:silicon",
|
||||
string = "farming:string",
|
||||
paper = "default:paper",
|
||||
book = "default:book",
|
||||
iron_lump = "default:iron_lump",
|
||||
wool_grey = "wool:grey",
|
||||
wool_green = "wool:green",
|
||||
wool_dark_green = "wool:dark_green",
|
||||
wool_brown = "wool:brown",
|
||||
wool_black = "wool:black",
|
||||
wool_white = "wool:white",
|
||||
slab_stone = "stairs:slab_stone",
|
||||
slab_wood = "stairs:slab_wood",
|
||||
glass = "default:glass",
|
||||
glass_block = "default:glass",
|
||||
glass_bottle = "vessels:glass_bottle",
|
||||
coal_lump = "default:coal_lump",
|
||||
stone = "default:stone",
|
||||
desert_stone = "default:desert_stone",
|
||||
desert_sand = "default:desert_sand",
|
||||
chest = "default:chest",
|
||||
cobble = "default:cobble",
|
||||
brick = "default:brick",
|
||||
obsidian_glass = "default:obsidian_glass",
|
||||
water_source = "default:water_source",
|
||||
water_flowing = "default:water_flowing",
|
||||
dirt = "default:dirt",
|
||||
dirt_with_grass = "default:dirt_with_grass",
|
||||
apple_leaves = "default:leaves",
|
||||
apple_log = "default:tree",
|
||||
apple_planks = "default:wood",
|
||||
birch_leaves = "default:aspen_leaves",
|
||||
birch_log = "default:aspen_tree",
|
||||
birch_planks = "default:aspen_wood",
|
||||
jungle_leaves = "default:jungleleaves",
|
||||
bowl = "",
|
||||
stick = "default:stick",
|
||||
}
|
||||
|
||||
if minetest.registered_items["farming:bowl"] then
|
||||
materials.bowl = "farming:bowl"
|
||||
elseif minetest.get_modpath("x_farming") then
|
||||
materials.bowl = "x_farming:bowl"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moreores") then
|
||||
materials.silver_ingot = "moreores:silver_ingot"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("technic") then
|
||||
materials.lead_ingot = "technic:lead_ingot"
|
||||
materials.carbon_steel_ingot = "technic:carbon_steel_ingot"
|
||||
materials.stainless_steel_ingot = "technic:stainless_steel_ingot"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("aloz") then
|
||||
materials.aluminum_ingot = "aloz:aluminum_ingot"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("techage") then
|
||||
materials.aluminum_ingot = "techage:aluminum"
|
||||
end
|
||||
|
||||
return materials
|
@ -1,8 +0,0 @@
|
||||
local filename = xcompat.gameid
|
||||
|
||||
--if we dont have a player file for the game, use minetest
|
||||
if not xcompat.utilities.file_exists(xcompat.modpath .. "/src/player/" .. filename .. ".lua") then
|
||||
filename = "xcompat_agnostic"
|
||||
end
|
||||
|
||||
return dofile(xcompat.modpath .. "/src/player/" .. filename .. ".lua")
|
@ -1,51 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
local models = {}
|
||||
function papi.register_model(name, def)
|
||||
models[name] = def
|
||||
end
|
||||
|
||||
function papi.set_model(player, model_name)
|
||||
local model = models[model_name]
|
||||
|
||||
if not model then return end
|
||||
|
||||
player:set_properties({
|
||||
mesh = model_name,
|
||||
textures = model.textures,
|
||||
visual = "mesh",
|
||||
visual_size = model.visual_size,
|
||||
stepheight = model.stepheight
|
||||
})
|
||||
end
|
||||
|
||||
function papi.get_animation(_)
|
||||
--stub to keep from crashing
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player:get_properties().textures
|
||||
end
|
||||
|
||||
function papi.set_textures(player, textures)
|
||||
player:set_properties({textures = textures})
|
||||
end
|
||||
|
||||
function papi.set_animation(player, anim_name, speed, loop)
|
||||
player:set_animation(fl_player.animations[anim_name], speed, 0, loop)
|
||||
end
|
||||
|
||||
local metatable = {
|
||||
__index = function (_, key)
|
||||
return fl_player.ignore[key]
|
||||
end,
|
||||
__newindex = function (_, key, value)
|
||||
rawset(fl_player.ignore, key, value)
|
||||
end
|
||||
}
|
||||
|
||||
papi.player_attached = {}
|
||||
|
||||
setmetatable(papi.player_attached, metatable)
|
||||
|
||||
return papi
|
@ -1,40 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
function papi.register_model(name, def)
|
||||
return mcl_player.player_register_model(name, def)
|
||||
end
|
||||
|
||||
function papi.set_model(player, model)
|
||||
return mcl_player.player_set_model(player, model)
|
||||
end
|
||||
|
||||
function papi.get_animation(player)
|
||||
return mcl_player.player_get_animation(player)
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player:get_properties().textures
|
||||
end
|
||||
|
||||
function papi.set_textures(player, textures)
|
||||
player:set_properties({textures = textures})
|
||||
end
|
||||
|
||||
function papi.set_animation(player, anim_name, speed, _)
|
||||
return mcl_player.player_set_animation(player, anim_name, speed)
|
||||
end
|
||||
|
||||
local metatable = {
|
||||
__index = function (_, key)
|
||||
return mcl_player.player_attached[key]
|
||||
end,
|
||||
__newindex = function (_, key, value)
|
||||
rawset(mcl_player.player_attached, key, value)
|
||||
end
|
||||
}
|
||||
|
||||
papi.player_attached = {}
|
||||
|
||||
setmetatable(papi.player_attached, metatable)
|
||||
|
||||
return papi
|
@ -1,41 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
function papi.register_model(name, def)
|
||||
return player_api.register_model(name, def)
|
||||
end
|
||||
|
||||
function papi.set_model(player, model)
|
||||
return player_api.set_model(player, model)
|
||||
end
|
||||
|
||||
function papi.get_animation(player)
|
||||
return player_api.get_animation(player)
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player_api.get_textures(player)
|
||||
end
|
||||
|
||||
function papi.set_textures(player, texture)
|
||||
return player_api.set_textures(player, texture)
|
||||
end
|
||||
|
||||
function papi.set_animation(player, anim_name, speed, loop)
|
||||
return player_api.set_animation(player, anim_name, speed, loop)
|
||||
end
|
||||
|
||||
|
||||
local metatable = {
|
||||
__index = function (_, key)
|
||||
return player_api.player_attached[key]
|
||||
end,
|
||||
__newindex = function (_, key, value)
|
||||
rawset(player_api.player_attached, key, value)
|
||||
end
|
||||
}
|
||||
|
||||
papi.player_attached = {}
|
||||
|
||||
setmetatable(papi.player_attached, metatable)
|
||||
|
||||
return papi
|
@ -1,41 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
local models = {}
|
||||
function papi.register_model(name, def)
|
||||
models[name] = def
|
||||
end
|
||||
|
||||
function papi.set_model(player, model_name)
|
||||
local model = models[model_name]
|
||||
|
||||
if not model then return end
|
||||
|
||||
player:set_properties({
|
||||
mesh = model_name,
|
||||
textures = model.textures,
|
||||
visual = "mesh",
|
||||
visual_size = model.visual_size,
|
||||
stepheight = model.stepheight
|
||||
})
|
||||
end
|
||||
|
||||
function papi.get_animation(_)
|
||||
--stub to keep from crashing
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player:get_properties().textures
|
||||
end
|
||||
|
||||
function papi.set_textures(player, textures)
|
||||
player:set_properties({textures = textures})
|
||||
end
|
||||
|
||||
function papi.set_animation(_, _, _, _)
|
||||
--stub to keep from crashing
|
||||
end
|
||||
|
||||
--nothing to do here as we have no globalstep .....that we know about anyways
|
||||
papi.player_attached = {}
|
||||
|
||||
return papi
|
299
src/sounds.lua
299
src/sounds.lua
@ -1,8 +1,297 @@
|
||||
local filename = xcompat.gameid
|
||||
local sound_api = {}
|
||||
|
||||
--if we dont have a materials file for the game, use minetest
|
||||
if not xcompat.utilities.file_exists(xcompat.modpath .. "/src/sounds/" .. filename .. ".lua") then
|
||||
filename = "xcompat_agnostic"
|
||||
--convert some games for api usage
|
||||
|
||||
--ks_sounds conversion
|
||||
--currently loggy and bedrock are ignored
|
||||
local ks = {}
|
||||
|
||||
function ks.node_sound_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or ks_sounds.generalnode_sounds.footstep
|
||||
table.dug = table.dug or ks_sounds.generalnode_sounds.dug
|
||||
table.dig = table.dig or ks_sounds.generalnode_sounds.dig
|
||||
table.place = table.place or ks_sounds.generalnode_sounds.place
|
||||
return table
|
||||
end
|
||||
|
||||
return dofile(xcompat.modpath .. "/src/sounds/" .. filename .. ".lua")
|
||||
function ks.node_sound_wood_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or ks_sounds.woodennode_sounds.footstep
|
||||
table.dug = table.dug or ks_sounds.woodennode_sounds.dug
|
||||
table.dig = table.dig or ks_sounds.woodennode_sounds.dig
|
||||
table.place = table.place or ks_sounds.woodennode_sounds.place
|
||||
ks.node_sound_defaults(table)
|
||||
return table
|
||||
end
|
||||
|
||||
function ks.node_sound_leaves_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or ks_sounds.leafynode_sounds.footstep
|
||||
table.dug = table.dug or ks_sounds.leafynode_sounds.dug
|
||||
table.dig = table.dig or ks_sounds.leafynode_sounds.dig
|
||||
table.place = table.place or ks_sounds.leafynode_sounds.place
|
||||
ks.node_sound_defaults(table)
|
||||
return table
|
||||
end
|
||||
|
||||
function ks.node_sound_snow_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or ks_sounds.snowynode_sounds.footstep
|
||||
table.dug = table.dug or ks_sounds.snowynode_sounds.dug
|
||||
table.dig = table.dig or ks_sounds.snowynode_sounds.dig
|
||||
table.place = table.place or ks_sounds.snowynode_sounds.place
|
||||
ks.node_sound_defaults(table)
|
||||
return table
|
||||
end
|
||||
|
||||
|
||||
--api
|
||||
function sound_api.node_sound_default(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_defaults(table)
|
||||
elseif minetest.get_modpath("ks_sounds") then
|
||||
return ks.node_sound_default(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_default(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_stone_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_stone_defaults(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_stone_defaults(table)
|
||||
elseif minetest.get_modpath("fl_stone") then
|
||||
return fl_stone.sounds.stone(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_stone_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_stone_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_dirt_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_dirt_defaults(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_dirt_defaults(table)
|
||||
--s/dirt/grass
|
||||
elseif minetest.get_modpath("fl_topsoil") then
|
||||
return fl_topsoil.sounds.grass(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_dirt_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_dirt_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
--return dirt as some games use dirt vs grass
|
||||
function sound_api.node_sound_grass_defaults(table)
|
||||
if minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_grass_defaults(table)
|
||||
else
|
||||
return sound_api.node_sound_dirt_defaults(table)
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_sand_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_sand_defaults(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_sand_defaults(table)
|
||||
elseif minetest.get_modpath("fl_stone") then
|
||||
return fl_stone.sounds.sand(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_sand_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_sand_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_gravel_defaults(table)
|
||||
--s/gravel/sand
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_sand_defaults(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_gravel_defaults(table)
|
||||
elseif minetest.get_modpath("fl_topsoil") then
|
||||
return fl_topsoil.sounds.gravel(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_gravel_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_wood_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_wood_defaults(table)
|
||||
elseif minetest.get_modpath("ks_sounds") then
|
||||
return ks.node_sound_wood_default(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_wood_defaults(table)
|
||||
elseif minetest.get_modpath("fl_trees") then
|
||||
return fl_trees.sounds.wood(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_wood_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_wood_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_leaves_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_leaves_defaults(table)
|
||||
elseif minetest.get_modpath("ks_sounds") then
|
||||
return ks.node_sound_leaves_default(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_leaves_defaults(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_leaves_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_leaves_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_glass_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_glass_defaults(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_glass_defaults(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_glass_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_glass_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function sound_api.node_sound_ice_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_ice_defaults(table)
|
||||
--s/ice/glass
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_glass_defaults(table)
|
||||
--s/ice/glass
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_glass_defaults(table)
|
||||
--s/ice/glass
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_glass_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_metal_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_metal_defaults(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_metal_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_water_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_water_defaults(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_water_defaults(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_water_defaults(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_water_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(table)
|
||||
--s/lava/water
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_water_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_lava_defaults(table)
|
||||
--s/lava/water
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_water_defaults(table)
|
||||
elseif minetest.get_modpath("hades_sounds") then
|
||||
return hades_sounds.node_sound_lava_defaults(table)
|
||||
--s/lava/water
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_water_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(table)
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_snow_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_snow_defaults(table)
|
||||
elseif minetest.get_modpath("ks_sounds") then
|
||||
return ks.node_sound_snow_default(table)
|
||||
elseif minetest.get_modpath("nodes_nature") then
|
||||
return nodes_nature.node_sound_snow_defaults(table)
|
||||
elseif minetest.get_modpath("fl_topsoil") then
|
||||
return fl_topsoil.sounds.snow(table)
|
||||
elseif minetest.get_modpath("rp_sounds") then
|
||||
return rp_sounds.node_sound_snow_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(table)
|
||||
--s/wool/default
|
||||
if minetest.get_modpath("default") then
|
||||
return default.node_sound_defaults(table)
|
||||
elseif minetest.get_modpath("mcl_sounds") then
|
||||
return mcl_sounds.node_sound_wool_defaults(table)
|
||||
else
|
||||
return table
|
||||
end
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,67 +0,0 @@
|
||||
local sound_api = {}
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return nodes_nature.node_sound_default(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return nodes_nature.node_sound_stone_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return nodes_nature.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
--return dirt as some games use dirt vs grass
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return sound_api.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return nodes_nature.node_sound_sand_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return nodes_nature.node_sound_gravel_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return nodes_nature.node_sound_wood_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return nodes_nature.node_sound_leaves_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return nodes_nature.node_sound_glass_defaults(soundtable)
|
||||
end
|
||||
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
--s/ice/glass
|
||||
return nodes_nature.node_sound_glass_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return nodes_nature.node_sound_water_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
--s/lava/water
|
||||
return nodes_nature.node_sound_water_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return nodes_nature.node_sound_snow_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,65 +0,0 @@
|
||||
local sound_api = {}
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return fl_stone.sounds.stone(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return fl_topsoil.sounds.grass(soundtable)
|
||||
end
|
||||
|
||||
--return dirt as some games use dirt vs grass
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return sound_api.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return fl_stone.sounds.sand(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return fl_topsoil.sounds.gravel(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return fl_trees.sounds.wood(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return fl_topsoil.sounds.snow(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,63 +0,0 @@
|
||||
local sound_api = {}
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return sounds.stone(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return sounds.dirt(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return sounds.grass(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return sounds.sand(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return sounds.gravel(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return sounds.wood(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return sounds.glass(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,66 +0,0 @@
|
||||
local sound_api = {}
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return hades_sounds.node_sound_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return hades_sounds.node_sound_stone_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return hades_sounds.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
--return dirt as some games use dirt vs grass
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return hades_sounds.node_sound_grass_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return hades_sounds.node_sound_sand_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return hades_sounds.node_sound_gravel_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return hades_sounds.node_sound_wood_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return hades_sounds.node_sound_leaves_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return hades_sounds.node_sound_glass_defaults(soundtable)
|
||||
end
|
||||
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
--s/ice/glass
|
||||
return hades_sounds.node_sound_glass_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return hades_sounds.node_sound_metal_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return hades_sounds.node_sound_water_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
return hades_sounds.node_sound_lava_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,107 +0,0 @@
|
||||
local sound_api = {}
|
||||
|
||||
--ks_sounds conversion
|
||||
--currently loggy and bedrock are ignored
|
||||
local ks = {}
|
||||
|
||||
function ks.node_sound_defaults(soundtable)
|
||||
soundtable = soundtable or {}
|
||||
soundtable.footstep = soundtable.footstep or ks_sounds.generalnode_sounds.footstep
|
||||
soundtable.dug = soundtable.dug or ks_sounds.generalnode_sounds.dug
|
||||
soundtable.dig = soundtable.dig or ks_sounds.generalnode_sounds.dig
|
||||
soundtable.place = soundtable.place or ks_sounds.generalnode_sounds.place
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function ks.node_sound_wood_defaults(soundtable)
|
||||
soundtable = soundtable or {}
|
||||
soundtable.footstep = soundtable.footstep or ks_sounds.woodennode_sounds.footstep
|
||||
soundtable.dug = soundtable.dug or ks_sounds.woodennode_sounds.dug
|
||||
soundtable.dig = soundtable.dig or ks_sounds.woodennode_sounds.dig
|
||||
soundtable.place = soundtable.place or ks_sounds.woodennode_sounds.place
|
||||
ks.node_sound_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function ks.node_sound_leaves_defaults(soundtable)
|
||||
soundtable = soundtable or {}
|
||||
soundtable.footstep = soundtable.footstep or ks_sounds.leafynode_sounds.footstep
|
||||
soundtable.dug = soundtable.dug or ks_sounds.leafynode_sounds.dug
|
||||
soundtable.dig = soundtable.dig or ks_sounds.leafynode_sounds.dig
|
||||
soundtable.place = soundtable.place or ks_sounds.leafynode_sounds.place
|
||||
ks.node_sound_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function ks.node_sound_snow_defaults(soundtable)
|
||||
soundtable = soundtable or {}
|
||||
soundtable.footstep = soundtable.footstep or ks_sounds.snowynode_sounds.footstep
|
||||
soundtable.dug = soundtable.dug or ks_sounds.snowynode_sounds.dug
|
||||
soundtable.dig = soundtable.dig or ks_sounds.snowynode_sounds.dig
|
||||
soundtable.place = soundtable.place or ks_sounds.snowynode_sounds.place
|
||||
ks.node_sound_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return ks.node_sound_default(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
--return dirt as some games use dirt vs grass
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return sound_api.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return ks.node_sound_wood_default(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return ks.node_sound_leaves_default(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return ks.node_sound_snow_default(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,67 +0,0 @@
|
||||
--note this file handles mineclonia, mineclone2, and its rename voxelibre
|
||||
|
||||
local sound_api = {}
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return mcl_sounds.node_sound_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_stone_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
--return dirt as some games use dirt vs grass
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return sound_api.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_sand_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_sand_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_wood_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_leaves_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_glass_defaults(soundtable)
|
||||
end
|
||||
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_glass_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_metal_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_water_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_lava_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_snow_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
return mcl_sounds.node_sound_wool_defaults(soundtable)
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,67 +0,0 @@
|
||||
local sound_api = {}
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return default.node_sound_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return default.node_sound_stone_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return default.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
--return dirt as some games use dirt vs grass
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return sound_api.node_sound_dirt_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return default.node_sound_sand_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return default.node_sound_gravel_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return default.node_sound_wood_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return default.node_sound_leaves_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return default.node_sound_glass_defaults(soundtable)
|
||||
end
|
||||
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
return default.node_sound_ice_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return default.node_sound_metal_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return default.node_sound_water_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
--s/lava/water
|
||||
return default.node_sound_water_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return default.node_sound_snow_defaults(soundtable)
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
--s/wool/default
|
||||
return default.node_sound_defaults(soundtable)
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,63 +0,0 @@
|
||||
local sound_api = {}
|
||||
|
||||
function sound_api.node_sound_default(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_stone_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_dirt_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_grass_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_sand_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_gravel_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wood_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_leaves_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_glass_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_ice_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_metal_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_water_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_lava_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_snow_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
function sound_api.node_sound_wool_defaults(soundtable)
|
||||
return soundtable
|
||||
end
|
||||
|
||||
return sound_api
|
@ -1,8 +0,0 @@
|
||||
local filename = xcompat.gameid
|
||||
|
||||
--if we dont have a materials file for the game, use minetest
|
||||
if not xcompat.utilities.file_exists(xcompat.modpath .. "/src/textures/" .. filename .. ".lua") then
|
||||
filename = "xcompat_agnostic"
|
||||
end
|
||||
|
||||
return dofile(xcompat.modpath .. "/src/textures/" .. filename .. ".lua")
|
@ -1,57 +0,0 @@
|
||||
local textures = {
|
||||
gravel = "farlands_gravel.png",
|
||||
brick = "farlands_brick.png",
|
||||
|
||||
metal = {
|
||||
steel = {
|
||||
ore = "farlands_iron_ingot.png",
|
||||
ingot = "farlands_iron_ingot.png",
|
||||
block = "farlands_iron_block.png",
|
||||
},
|
||||
gold = {
|
||||
ore = "farlands_gold_ore.png",
|
||||
ingot = "farlands_gold_ingot.png",
|
||||
block = "farlands_gold_block.png",
|
||||
},
|
||||
},
|
||||
glass = {
|
||||
pane = "farlands_glass.png",
|
||||
detail = "farlands_glass_detail.png",
|
||||
},
|
||||
wood = {
|
||||
apple = {
|
||||
sapling = "farlands_apple_sapling.png",
|
||||
planks = "farlands_apple_planks.png",
|
||||
trunk_side = "farlands_apple_trunk.png",
|
||||
trunk_top = "farlands_apple_trunk_top.png",
|
||||
leaves = "farlands_apple_leaves.png",
|
||||
},
|
||||
jungle = {
|
||||
sapling = "farlands_jungletree_sapling.png",
|
||||
planks = "farlands_jungletree_planks.png",
|
||||
trunk_side = "farlands_jungletree_trunk.png",
|
||||
trunk_top = "farlands_jungletree_trunk_top.png",
|
||||
leaves = "farlands_jungletree_leaves.png",
|
||||
},
|
||||
},
|
||||
water = {
|
||||
tile = "farlands_water.png",
|
||||
animated = {
|
||||
source = "farlands_water_source_animated.png",
|
||||
flowing = "farlands_water_flowing_animated.png",
|
||||
},
|
||||
},
|
||||
wool = {
|
||||
white = "farlands_wool.png",
|
||||
black = "farlands_wool.png",
|
||||
grey = "farlands_wool.png",
|
||||
dark_grey = "farlands_wool.png",
|
||||
},
|
||||
grass = {
|
||||
top = "farlands_grass.png",
|
||||
side = "farlands_dirt.png^farlands_grass_side.png",
|
||||
dirt = "farlands_dirt.png",
|
||||
},
|
||||
}
|
||||
|
||||
return textures
|
@ -1,57 +0,0 @@
|
||||
local textures = {
|
||||
gravel = "default_gravel.png",
|
||||
brick = "default_brick.png",
|
||||
|
||||
metal = {
|
||||
steel = {
|
||||
ore = "default_iron_lump.png",
|
||||
ingot = "default_steel_ingot.png",
|
||||
block = "default_steel_block.png",
|
||||
},
|
||||
gold = {
|
||||
ore = "default_gold_lump.png",
|
||||
ingot = "default_gold_ingot.png",
|
||||
block = "default_gold_block.png",
|
||||
},
|
||||
},
|
||||
glass = {
|
||||
pane = "default_glass.png",
|
||||
detail = "default_glass_detail.png",
|
||||
},
|
||||
wood = {
|
||||
apple = {
|
||||
sapling = "default_sapling.png",
|
||||
planks = "default_wood.png",
|
||||
trunk_side = "default_tree.png",
|
||||
trunk_top = "default_tree_top.png",
|
||||
leaves = "default_leaves.png",
|
||||
},
|
||||
jungle = {
|
||||
sapling = "default_junglesapling.png",
|
||||
planks = "default_junglewood.png",
|
||||
trunk_side = "default_jungletree.png",
|
||||
trunk_top = "default_jungletree_top.png",
|
||||
leaves = "default_jungleleaves.png",
|
||||
},
|
||||
},
|
||||
water = {
|
||||
tile = "default_water.png",
|
||||
animated = {
|
||||
source = "default_water_source_animated.png",
|
||||
flowing = "default_water_flowing_animated.png",
|
||||
},
|
||||
},
|
||||
wool = {
|
||||
white = "wool_white.png",
|
||||
black = "wool_black.png",
|
||||
grey = "wool_grey.png",
|
||||
dark_grey = "wool_dark_grey.png",
|
||||
},
|
||||
grass = {
|
||||
top = "default_grass.png",
|
||||
side = "default_dirt.png^default_grass_side.png",
|
||||
dirt = "default_dirt.png",
|
||||
},
|
||||
}
|
||||
|
||||
return textures
|
@ -1,65 +0,0 @@
|
||||
local textures = {
|
||||
gravel = "[combine:16x16^[noalpha^[colorize:#3a3b3c",
|
||||
brick = "[combine:16x16^[noalpha^[colorize:#AA4A44",
|
||||
|
||||
metal = {
|
||||
steel = {
|
||||
ore = "[combine:16x16^[noalpha^[colorize:#D3D3D3",
|
||||
ingot = "[combine:16x16^[noalpha^[colorize:#D3D3D3",
|
||||
block = "[combine:16x16^[noalpha^[colorize:#D3D3D3",
|
||||
},
|
||||
gold = {
|
||||
ore = "[combine:16x16^[noalpha^[colorize:#FFD700",
|
||||
ingot = "[combine:16x16^[noalpha^[colorize:#FFD700",
|
||||
block = "[combine:16x16^[noalpha^[colorize:#FFD700",
|
||||
},
|
||||
},
|
||||
glass = {
|
||||
pane = "[combine:16x16:" ..
|
||||
"0,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"0,0=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"0,15=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"15,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff",
|
||||
detail = "[combine:16x16:" ..
|
||||
"0,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"0,0=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"0,15=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"15,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff",
|
||||
},
|
||||
wood = {
|
||||
apple = {
|
||||
sapling = "[combine:16x16^[noalpha^[colorize:#654321",
|
||||
planks = "[combine:16x16^[noalpha^[colorize:#654321",
|
||||
trunk_side = "[combine:16x16^[noalpha^[colorize:#654321",
|
||||
trunk_top = "[combine:16x16^[noalpha^[colorize:#654321",
|
||||
leaves = "[combine:16x16^[noalpha^[colorize:#654321",
|
||||
},
|
||||
jungle = {
|
||||
sapling = "[combine:16x16^[noalpha^[colorize:#563d2d",
|
||||
planks = "[combine:16x16^[noalpha^[colorize:#563d2d",
|
||||
trunk_side = "[combine:16x16^[noalpha^[colorize:#563d2d",
|
||||
trunk_top = "[combine:16x16^[noalpha^[colorize:#563d2d",
|
||||
leaves = "[combine:16x16^[noalpha^[colorize:#563d2d",
|
||||
},
|
||||
},
|
||||
water = {
|
||||
tile = "[combine:16x16^[noalpha^[colorize:#00008b",
|
||||
animated = {
|
||||
source = "[combine:16x16^[noalpha^[colorize:#00008b",
|
||||
flowing = "[combine:16x16^[noalpha^[colorize:#00008b",
|
||||
},
|
||||
},
|
||||
wool = {
|
||||
white = "[combine:16x16^[noalpha^[colorize:#ffffff",
|
||||
black = "[combine:16x16^[noalpha^[colorize:#000000",
|
||||
grey = "[combine:16x16^[noalpha^[colorize:#313b3c",
|
||||
dark_grey = "[combine:16x16^[noalpha^[colorize:#313b3c",
|
||||
},
|
||||
grass = {
|
||||
top = "[combine:16x16^[noalpha^[colorize:#006400",
|
||||
side = "[combine:16x16^[noalpha^[colorize:#006400",
|
||||
dirt = "[combine:16x16^[noalpha^[colorize:#563d2d",
|
||||
},
|
||||
}
|
||||
|
||||
return textures
|
@ -1,8 +0,0 @@
|
||||
local utilities = {}
|
||||
|
||||
function utilities.file_exists(name)
|
||||
local f=io.open(name,"r")
|
||||
if f~=nil then io.close(f) return true else return false end
|
||||
end
|
||||
|
||||
return utilities
|
@ -1,356 +0,0 @@
|
||||
fl_furniture:yellow_ipe_table
|
||||
fl_trees:palm_trunk
|
||||
fl_stone:mossy_stone
|
||||
fl_trees:acacia_sapling
|
||||
fl_doors:copper_door_a
|
||||
fl_trees:jungletree_plank
|
||||
fl_workshop:furnace_active
|
||||
fl_topsoil:wet_farmland
|
||||
fl_trees:spruce_leaves
|
||||
fl_stone:stone_brick
|
||||
fl_light_sources:lantern
|
||||
fl_plantlife:red_mushroom_leaves
|
||||
fl_stone:basalt
|
||||
fl_topsoil:condensed_ice
|
||||
fl_doors:apple_door_b
|
||||
fl_beds:bed_pink
|
||||
fl_plantlife:petunia_blue
|
||||
fl_trees:acacia_leaves
|
||||
fl_stone:basalt_block
|
||||
fl_ores:coal_in_tuff
|
||||
fl_topsoil:sea_grass_3
|
||||
fl_agriculture:carrot_2
|
||||
fl_beds:bed_violet
|
||||
fl_stone:basalt_rubble
|
||||
fl_furniture:spruce_bench
|
||||
fl_ores:copper_in_tuff
|
||||
fl_trees:willow_plank
|
||||
fl_trees:yellow_ipe_plank_fence
|
||||
fl_storage:spruce_vessel_shelf
|
||||
fl_beds:bed_blue
|
||||
fl_stone:stone_block
|
||||
fl_stone:tuff_rubble
|
||||
fl_ores:mithite_in_stone
|
||||
fl_topsoil:savannah_dirt_with_grass
|
||||
fl_furniture:pine_table
|
||||
fl_trees:pine_plank_fence
|
||||
fl_furniture:baobab_chair
|
||||
fl_plantlife:grass_2
|
||||
fl_trees:pine_sapling
|
||||
fl_beds:bed_dark_green
|
||||
fl_plantlife:cactus
|
||||
fl_storage:spruce_book_shelf
|
||||
fl_signs:sign_wood
|
||||
fl_plantlife:pink_ground_flower
|
||||
fl_doors:steel_door_b
|
||||
fl_topsoil:sea_grass_1
|
||||
fl_trees:aspen_leaves
|
||||
fl_stone:ors_brick
|
||||
fl_doors:jungletree_door_a
|
||||
fl_paintings:forest
|
||||
fl_storage:spruce_multi_shelf
|
||||
fl_beds:bed_red
|
||||
fl_tnt:tnt
|
||||
fl_beds:bed_brown
|
||||
fl_storage:pine_multi_shelf
|
||||
fl_ores:mithite_block
|
||||
fl_beds:bed_orange
|
||||
fl_ores:coal_in_desert_stone
|
||||
fl_plantlife:red_ground_flower
|
||||
fl_ores:gold_in_desert_stone
|
||||
fl_stone:silver_sandstone_block
|
||||
fl_storage:wood_chest
|
||||
fl_furniture:aspen_table
|
||||
fl_doors:aspen_door_a
|
||||
fl_stone:ors
|
||||
fl_stone:sandstone_brick
|
||||
fl_doors:pine_door_b
|
||||
fl_furniture:acacia_table
|
||||
fl_trees:acacia_trunk
|
||||
fl_stone:mossy_stone_block
|
||||
fl_doors:baobab_door_b
|
||||
fl_plantlife:pansy_purple
|
||||
fl_industrial:conveyor_funnel
|
||||
fl_stone:savannah_rubble
|
||||
fl_trains:straight_rise_track
|
||||
fl_storage:baobab_book_shelf
|
||||
fl_plantlife:purple_allium
|
||||
fl_ores:diamond_block
|
||||
fl_topsoil:dirt_with_grass
|
||||
fl_plantlife:ground_waterlily
|
||||
fl_plantlife:flowerpot
|
||||
fl_plantlife:grass_4
|
||||
fl_storage:pine_book_shelf
|
||||
fl_doors:palm_door_a
|
||||
fl_furniture:willow_table
|
||||
fl_trains:straight_45_track
|
||||
fl_trees:palm_leaves
|
||||
fl_glass:framed_glass_panes
|
||||
fl_storage:yellow_ipe_vessel_shelf
|
||||
fl_ores:coal_block
|
||||
fl_plantlife:dandelion_yellow
|
||||
fl_beds:bed_cyan
|
||||
fl_topsoil:gravel
|
||||
fl_storage:acacia_book_shelf
|
||||
fl_furniture:baobab_bench
|
||||
fl_furniture:willow_bench
|
||||
fl_plantlife:savannah_grass_1
|
||||
fl_industrial:conveyor
|
||||
fl_storage:acacia_vessel_shelf
|
||||
fl_light_sources:chain
|
||||
fl_trees:spruce_plank
|
||||
fl_trees:apple_leaves
|
||||
fl_trees:baobab_leaves
|
||||
fl_stone:silver_sand
|
||||
fl_stone:desert_stone
|
||||
fl_furniture:spruce_chair
|
||||
fl_ores:copper_in_desert_stone
|
||||
fl_topsoil:snow_block
|
||||
fl_ores:mithite_in_savannah
|
||||
fl_trees:acacia_plank
|
||||
fl_topsoil:dirt
|
||||
fl_fire:fire
|
||||
fl_stone:gneiss_rubble
|
||||
fl_furniture:acacia_bench
|
||||
fl_storage:willow_vessel_shelf
|
||||
fl_plantlife:lantana
|
||||
fl_stone:sandstone
|
||||
fl_furniture:jungletree_chair
|
||||
fl_workshop:furnace
|
||||
fl_stone:gneiss
|
||||
fl_agriculture:potato_4
|
||||
fl_topsoil:permafrost_with_stones
|
||||
fl_topsoil:snow
|
||||
fl_trees:baobab_plank
|
||||
fl_stone:tuff_brick
|
||||
fl_stone:desert_sandstone_block
|
||||
fl_bones:bone_block
|
||||
fl_stone:basalt_brick
|
||||
fl_doors:steel_door_a
|
||||
fl_furniture:aspen_bench
|
||||
fl_ores:tin_in_savannah
|
||||
fl_trees:palm_plank_fence
|
||||
fl_doors:apple_door_a
|
||||
fl_wool:wool
|
||||
fl_furniture:spruce_table
|
||||
fl_agriculture:carrot_1
|
||||
fl_ores:iron_in_stone
|
||||
fl_stone:desert_sandstone_brick
|
||||
fl_storage:apple_empty_shelf
|
||||
fl_stone:gneiss_block
|
||||
fl_stone:mossy_stone_rubble
|
||||
fl_agriculture:carrot_3
|
||||
fl_trees:willow_trunk
|
||||
fl_trees:pine_leaves
|
||||
fl_trains:curve_right_track
|
||||
fl_doors:copper_door_b
|
||||
fl_doors:jungletree_door_b
|
||||
fl_furniture:jungletree_bench
|
||||
fl_doors:willow_door_b
|
||||
fl_topsoil:sea_grass_2
|
||||
fl_ores:gold_in_ors
|
||||
fl_doors:willow_door_a
|
||||
fl_trains:switch_right_track
|
||||
fl_doors:aspen_door_b
|
||||
fl_doors:palm_door_b
|
||||
fl_stone:stone
|
||||
fl_plantlife:rose
|
||||
fl_doors:yellow_ipe_door_b
|
||||
fl_doors:yellow_ipe_door_a
|
||||
fl_plantlife:grass_3
|
||||
fl_storage:apple_vessel_shelf
|
||||
fl_plantlife:tulip
|
||||
fl_light_sources:torch
|
||||
fl_trees:palm_sapling
|
||||
fl_doors:blocker_top
|
||||
fl_bricks:terracotta
|
||||
fl_bricks:clay_block
|
||||
fl_bricks:brick
|
||||
fl_agriculture:carrot_4
|
||||
fl_paintings:cthulhu
|
||||
fl_trees:aspen_trunk
|
||||
fl_furniture:willow_chair
|
||||
fl_glass:tinted_framed_glass_panes
|
||||
fl_stone:sandstone_block
|
||||
fl_glass:tinted_framed_glass
|
||||
fl_ores:gold_block
|
||||
fl_furniture:apple_chair
|
||||
fl_glass:framed_glass
|
||||
fl_storage:pine_vessel_shelf
|
||||
fl_beds:bed_yellow
|
||||
fl_beds:bed_black
|
||||
fl_stone:silver_sandstone
|
||||
fl_beds:bed_dark_grey
|
||||
fl_beds:bed_green
|
||||
fl_ores:tin_in_tuff
|
||||
fl_beds:bed_grey
|
||||
fl_beds:bed_magenta
|
||||
fl_beds:bed_white
|
||||
fl_wildlife:spawner
|
||||
fl_wool:wool_carpet
|
||||
fl_paintings:dragon
|
||||
fl_topsoil:dirt_with_snow
|
||||
fl_ores:tin_block
|
||||
fl_furniture:baobab_table
|
||||
fl_dyes:demo_node
|
||||
fl_plantlife:viola
|
||||
fl_ores:diamond_in_ors
|
||||
fl_plantlife:savannah_grass_4
|
||||
fl_plantlife:oxeye_daisy
|
||||
fl_plantlife:geranium
|
||||
fl_plantlife:mushroom_trunk
|
||||
fl_stone:ors_rubble
|
||||
fl_doors:baobab_door_a
|
||||
fl_light_sources:lantern_c
|
||||
fl_doors:acacia_door_b
|
||||
fl_plantlife:petunia_white
|
||||
fl_storage:spruce_empty_shelf
|
||||
fl_plantlife:petunia_pink
|
||||
fl_ores:tin_in_stone
|
||||
fl_ores:mithite_in_desert_stone
|
||||
fl_stone:desert_sand
|
||||
fl_plantlife:pansy_blue
|
||||
fl_plantlife:frozen_rose
|
||||
fl_ores:gold_in_tuff
|
||||
fl_stone:savannah_brick
|
||||
fl_ores:coal_in_savannah
|
||||
fl_plantlife:blue_ground_flower
|
||||
fl_ores:iron_in_desert_stone
|
||||
fl_industrial:injector
|
||||
fl_trees:aspen_plank_fence
|
||||
fl_plantlife:savannah_grass_2
|
||||
fl_plantlife:dandelion_white
|
||||
fl_plantlife:flame_lily
|
||||
fl_plantlife:brown_mushroom
|
||||
fl_plantlife:red_mushroom
|
||||
fl_trees:jungletree_plank_fence
|
||||
fl_plantlife:brown_mushroom_leaves
|
||||
fl_plantlife:raw_mushroom_leaves
|
||||
fl_plantlife:savannah_grass_5
|
||||
fl_stone:tuff_block
|
||||
fl_plantlife:savannah_grass_3
|
||||
fl_trees:acacia_plank_fence
|
||||
fl_trees:jungletree_sapling
|
||||
fl_furniture:pine_bench
|
||||
fl_plantlife:grass_1
|
||||
fl_plantlife:lavender_flower
|
||||
fl_ores:coal_in_stone
|
||||
fl_plantlife:grass_5
|
||||
fl_ores:bronze_block
|
||||
fl_trees:yellow_ipe_plank
|
||||
fl_stone:gneiss_brick
|
||||
fl_ores:diamond_in_savannah
|
||||
fl_trees:pine_plank
|
||||
fl_ores:diamond_in_desert_stone
|
||||
fl_ores:diamond_in_tuff
|
||||
fl_storage:baobab_empty_shelf
|
||||
fl_storage:yellow_ipe_empty_shelf
|
||||
fl_paintings:landscape
|
||||
fl_stairs:tablesaw
|
||||
fl_furniture:yellow_ipe_chair
|
||||
fl_ores:copper_in_ors
|
||||
fl_trees:apple_trunk
|
||||
fl_trees:yellow_ipe_leaves
|
||||
fl_trees:dead_aspen_leaves
|
||||
fl_liquids:water_flowing
|
||||
fl_furniture:aspen_chair
|
||||
fl_plantlife:lobelia
|
||||
fl_topsoil:dry_farmland
|
||||
fl_trees:apple_plank
|
||||
ignore
|
||||
fl_trains:switch_left_track
|
||||
fl_storage:willow_empty_shelf
|
||||
fl_trees:spruce_plank_fence
|
||||
fl_ores:copper_in_savannah
|
||||
fl_stone:sand
|
||||
fl_furniture:pine_chair
|
||||
fl_storage:aspen_empty_shelf
|
||||
fl_topsoil:coarse_dirt
|
||||
fl_storage:acacia_multi_shelf
|
||||
fl_ores:mithite_in_ors
|
||||
fl_paintings:waterlilie
|
||||
fl_stone:tuff
|
||||
fl_stone:savannah_block
|
||||
fl_trees:willow_plank_fence
|
||||
fl_storage:baobab_vessel_shelf
|
||||
fl_furniture:apple_table
|
||||
fl_paintings:rose
|
||||
fl_liquids:river_water_source
|
||||
fl_trees:pine_trunk
|
||||
fl_storage:aspen_vessel_shelf
|
||||
fl_topsoil:ice
|
||||
fl_storage:aspen_book_shelf
|
||||
fl_liquids:lava_source
|
||||
fl_agriculture:potato_2
|
||||
fl_storage:aspen_multi_shelf
|
||||
fl_storage:willow_book_shelf
|
||||
fl_furniture:acacia_chair
|
||||
fl_trains:crossing_track
|
||||
fl_trees:apple_plank_fence
|
||||
fl_liquids:river_water_flowing
|
||||
fl_trees:baobab_sapling
|
||||
fl_ores:gold_in_stone
|
||||
fl_trains:curve_left_track
|
||||
fl_trains:straight_track
|
||||
fl_doors:acacia_door_a
|
||||
fl_storage:apple_multi_shelf
|
||||
fl_trees:aspen_plank
|
||||
fl_trees:spruce_trunk
|
||||
fl_stone:desert_stone_rubble
|
||||
fl_trees:baobab_trunk
|
||||
fl_ores:copper_in_stone
|
||||
fl_industrial:conveyor_left
|
||||
fl_storage:acacia_empty_shelf
|
||||
fl_trees:palm_plank
|
||||
fl_agriculture:potato_1
|
||||
fl_trees:apple_sapling
|
||||
fl_trees:baobab_plank_fence
|
||||
fl_furniture:yellow_ipe_bench
|
||||
fl_ores:tin_in_desert_stone
|
||||
fl_furniture:palm_bench
|
||||
fl_storage:yellow_ipe_book_shelf
|
||||
fl_stone:savannah
|
||||
fl_furniture:apple_bench
|
||||
fl_ores:iron_block
|
||||
fl_furniture:palm_chair
|
||||
fl_glass:tinted_connected_glass
|
||||
fl_agriculture:potato_3
|
||||
fl_trees:aspen_sapling
|
||||
fl_storage:baobab_multi_shelf
|
||||
fl_storage:willow_multi_shelf
|
||||
fl_furniture:palm_table
|
||||
fl_furniture:jungletree_table
|
||||
fl_trees:jungletree_trunk
|
||||
fl_stone:stone_rubble
|
||||
fl_doors:pine_door_a
|
||||
fl_storage:pine_empty_shelf
|
||||
fl_stone:mossy_stone_brick
|
||||
fl_stone:ors_block
|
||||
fl_paintings:possessedwoman
|
||||
fl_storage:apple_book_shelf
|
||||
fl_storage:yellow_ipe_multi_shelf
|
||||
fl_stone:desert_stone_block
|
||||
fl_stone:desert_stone_brick
|
||||
fl_trees:jungletree_leaves
|
||||
fl_liquids:water_source
|
||||
fl_stone:desert_sandstone
|
||||
fl_trees:willow_leaves
|
||||
fl_workshop:anvil
|
||||
fl_paintings:mistiriusgirl
|
||||
fl_trees:yellow_ipe_trunk
|
||||
fl_topsoil:savannah_dirt
|
||||
fl_ores:coal_in_ors
|
||||
fl_topsoil:permafrost
|
||||
fl_liquids:lava_flowing
|
||||
fl_ores:iron_in_ors
|
||||
fl_industrial:conveyor_right
|
||||
fl_ores:iron_in_tuff
|
||||
fl_ores:iron_in_savannah
|
||||
fl_ores:copper_block
|
||||
fl_stone:silver_sandstone_brick
|
||||
air
|
||||
fl_ores:gold_in_savannah
|
||||
fl_ores:tin_in_ors
|
||||
fl_ores:mithite_in_tuff
|
||||
fl_stone:bedrock
|
||||
fl_ores:diamond_in_stone
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user