Add mods: technic, moreores, paintings, Nyancat (Pbj_pup). Small fix: sandwiches
This commit is contained in:
parent
15e8e696a2
commit
fb09deddc1
1404 changed files with 156555 additions and 211 deletions
23
mods/xcompat/.github/workflows/farlands_reloaded.yml
vendored
Normal file
23
mods/xcompat/.github/workflows/farlands_reloaded.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
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
mods/xcompat/.github/workflows/hades_revisited.yml
vendored
Normal file
23
mods/xcompat/.github/workflows/hades_revisited.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
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
|
10
mods/xcompat/.github/workflows/luacheck.yml
vendored
Normal file
10
mods/xcompat/.github/workflows/luacheck.yml
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
name: luacheck
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
luacheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- name: Luacheck
|
||||
uses: lunarmodules/luacheck@master
|
23
mods/xcompat/.github/workflows/mineclonia.yml
vendored
Normal file
23
mods/xcompat/.github/workflows/mineclonia.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
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
mods/xcompat/.github/workflows/minetest_game.yml
vendored
Normal file
23
mods/xcompat/.github/workflows/minetest_game.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
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
mods/xcompat/.github/workflows/voxelibre.yml
vendored
Normal file
23
mods/xcompat/.github/workflows/voxelibre.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
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
|
21
mods/xcompat/.luacheckrc
Normal file
21
mods/xcompat/.luacheckrc
Normal file
|
@ -0,0 +1,21 @@
|
|||
globals = {
|
||||
"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",
|
||||
}
|
19
mods/xcompat/LICENSE
Normal file
19
mods/xcompat/LICENSE
Normal file
|
@ -0,0 +1,19 @@
|
|||
|
||||
MIT Copyright 2021-2024 wsor4035
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
34
mods/xcompat/README.md
Normal file
34
mods/xcompat/README.md
Normal file
|
@ -0,0 +1,34 @@
|
|||
# XCompat
|
||||
|
||||
[](https://github.com/mt-mods/xcompat/actions/workflows/luacheck.yml)
|
||||
[](https://content.minetest.net/packages/mt-mods/xcompat/)
|
||||
|
||||
Provides cross compatibility between games and mods for sounds and crafting materials.
|
||||
|
||||
Thanks to:
|
||||
* MisterE, OgelGames, and Blockhead for naming advice/suggestion.
|
||||
* luk3yx, Blockhead, BuckarooBanzai for bouncing ideas on the concept of this mod.
|
||||
|
||||
## Usage
|
||||
|
||||
See the respective sub apis doc file in /doc for detailed documentation.
|
||||
|
||||
## 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`
|
13
mods/xcompat/doc/functions.md
Normal file
13
mods/xcompat/doc/functions.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# 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
|
12
mods/xcompat/doc/gameid.md
Normal file
12
mods/xcompat/doc/gameid.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
# 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
|
3
mods/xcompat/doc/materials.md
Normal file
3
mods/xcompat/doc/materials.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Materials API
|
||||
|
||||
consult `/src/materials/minetest.lua` at this time
|
13
mods/xcompat/doc/player.md
Normal file
13
mods/xcompat/doc/player.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# 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
|
35
mods/xcompat/doc/sounds.md
Normal file
35
mods/xcompat/doc/sounds.md
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Sound API
|
||||
|
||||
## Option 1: Agnostically depend
|
||||
|
||||
You can do this by using a custom field in your node def instead of the `sounds` key.
|
||||
|
||||
```lua
|
||||
minetest.register_node(nodename, {
|
||||
...
|
||||
_sound_def = {
|
||||
key = "",
|
||||
input = {},
|
||||
},
|
||||
...
|
||||
})
|
||||
```
|
||||
|
||||
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
|
||||
|
||||
add this mod to your mod.confs depends and directly call the sound_api as follows
|
||||
|
||||
```lua
|
||||
minetest.register_node(nodename, {
|
||||
...
|
||||
sounds = xcompat.sounds.node_sound_stone_defaults(input)
|
||||
...
|
||||
})
|
||||
```
|
||||
|
||||
* input: optional table to override some or all of returned values
|
3
mods/xcompat/doc/textures.md
Normal file
3
mods/xcompat/doc/textures.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Textures API
|
||||
|
||||
consult `/src/texture/minetest.lua` at this time
|
2
mods/xcompat/gitattributes
Normal file
2
mods/xcompat/gitattributes
Normal file
|
@ -0,0 +1,2 @@
|
|||
test export-ignore
|
||||
.github export-ignore
|
51
mods/xcompat/init.lua
Normal file
51
mods/xcompat/init.lua
Normal file
|
@ -0,0 +1,51 @@
|
|||
local modpath = minetest.get_modpath("xcompat")
|
||||
|
||||
xcompat = {
|
||||
modpath = modpath,
|
||||
}
|
||||
|
||||
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
|
||||
elseif key then
|
||||
minetest.log("warning", "attempted to call invalid sound: "..key)
|
||||
else
|
||||
minetest.log("warning", "sound_def is missing a sound_api key")
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
minetest.register_on_mods_loaded(function()
|
||||
for name, def in pairs(minetest.registered_nodes) do
|
||||
if def._sound_def and validate_sound(def._sound_def.key) then
|
||||
minetest.override_item(name, {
|
||||
sounds = xcompat.sounds[def._sound_def.key](def._sound_def.input)
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
local old_reg_node = minetest.register_node
|
||||
function minetest.register_node(name, def)
|
||||
if def._sound_def and validate_sound(def._sound_def.key) then
|
||||
def.sounds = xcompat.sounds[def._sound_def.key](def._sound_def.input)
|
||||
end
|
||||
|
||||
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
|
6
mods/xcompat/mod.conf
Normal file
6
mods/xcompat/mod.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
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
|
||||
release = 30345
|
||||
author = mt-mods
|
||||
title = Xcompat
|
10
mods/xcompat/mtt.lua
Normal file
10
mods/xcompat/mtt.lua
Normal file
|
@ -0,0 +1,10 @@
|
|||
|
||||
-- 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
|
76
mods/xcompat/src/commands.lua
Normal file
76
mods/xcompat/src/commands.lua
Normal file
|
@ -0,0 +1,76 @@
|
|||
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
|
||||
})
|
55
mods/xcompat/src/functions.lua
Normal file
55
mods/xcompat/src/functions.lua
Normal file
|
@ -0,0 +1,55 @@
|
|||
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
|
33
mods/xcompat/src/gameid.lua
Normal file
33
mods/xcompat/src/gameid.lua
Normal file
|
@ -0,0 +1,33 @@
|
|||
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
|
8
mods/xcompat/src/materials.lua
Normal file
8
mods/xcompat/src/materials.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
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/materials/" .. filename .. ".lua") then
|
||||
filename = "minetest"
|
||||
end
|
||||
|
||||
return dofile(xcompat.modpath .. "/src/materials/" .. filename .. ".lua")
|
93
mods/xcompat/src/materials/farlands_reloaded.lua
Normal file
93
mods/xcompat/src/materials/farlands_reloaded.lua
Normal file
|
@ -0,0 +1,93 @@
|
|||
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
|
107
mods/xcompat/src/materials/hades_revisited.lua
Normal file
107
mods/xcompat/src/materials/hades_revisited.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
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
|
117
mods/xcompat/src/materials/mineclonia.lua
Normal file
117
mods/xcompat/src/materials/mineclonia.lua
Normal file
|
@ -0,0 +1,117 @@
|
|||
--note this file handles mineclonia, mineclone2, and its rename voxelibre
|
||||
|
||||
local mcl_dyes = minetest.get_modpath("mcl_dyes")
|
||||
local mcl_dyes_name = mcl_dyes and "mcl_dyes" or "mcl_dye"
|
||||
|
||||
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:block",
|
||||
steel_block = "mcl_core:ironblock",
|
||||
gold_block = "mcl_core:goldblock",
|
||||
tin_block = "mcl_core:ironblock",
|
||||
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",
|
||||
torch = "mcl_torches:torch",
|
||||
diamond = "mcl_core:diamond",
|
||||
clay_lump = "mcl_core:clay_lump",
|
||||
water_bucket = "mcl_buckets:bucket_water",
|
||||
empty_bucket = "mcl_buckets:bucket_empty",
|
||||
dye_dark_grey = mcl_dyes_name .. ":dark_grey",
|
||||
dye_black = mcl_dyes_name .. ":black",
|
||||
dye_white = mcl_dyes_name .. ":white",
|
||||
dye_green = mcl_dyes_name .. ":green",
|
||||
dye_red = mcl_dyes_name .. ":red",
|
||||
dye_yellow = mcl_dyes_name .. ":yellow",
|
||||
dye_brown = mcl_dyes_name .. ":brown",
|
||||
dye_blue = mcl_dyes_name .. ":blue",
|
||||
dye_violet = mcl_dyes_name .. ":violet",
|
||||
dye_grey = mcl_dyes_name .. ":grey",
|
||||
dye_dark_green = mcl_dyes_name .. ":dark_green",
|
||||
dye_orange = mcl_dyes_name .. ":orange",
|
||||
dye_pink = mcl_dyes_name .. ":pink",
|
||||
dye_cyan = mcl_dyes_name .. ":cyan",
|
||||
dye_magenta = mcl_dyes_name .. ":magenta",
|
||||
silicon = "mcl_core:iron_ingot",
|
||||
string = "mcl_mobitems:string",
|
||||
paper = "mcl_core:paper",
|
||||
book = "mcl_books:book",
|
||||
iron_lump = "mcl_raw_ores:raw_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_potions:glass_bottle",
|
||||
coal_lump = "mcl_core:coal_lump",
|
||||
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",
|
||||
bowl = "mcl_core:bowl",
|
||||
stick = "mcl_core:stick",
|
||||
}
|
||||
|
||||
if minetest.get_modpath("mcl_redstone") then
|
||||
materials.mese = "mcl_redstone_torch:redstoneblock"
|
||||
materials.mese_crystal = "mcl_redstone:redstone"
|
||||
materials.mese_crystal_fragment = "mcl_core:iron_ingot"
|
||||
else
|
||||
materials.mese = "mesecons_torch:redstoneblock"
|
||||
materials.mese_crystal = "mesecons:redstone"
|
||||
materials.mese_crystal_fragment = "mcl_core:iron_ingot"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mcl_trees") then
|
||||
materials.apple_leaves = "mcl_trees:leaves_oak"
|
||||
materials.apple_log = "mcl_trees:tree_oak"
|
||||
materials.apple_planks = "mcl_trees:wood_oak"
|
||||
materials.birch_leaves = "mcl_trees:leaves_birch"
|
||||
materials.birch_log = "mcl_trees:tree_birch"
|
||||
materials.birch_planks = "mcl_trees:wood_birch"
|
||||
materials.jungle_leaves = "mcl_trees:leaves_jungle"
|
||||
else
|
||||
materials.apple_leaves = "mcl_core:leaves"
|
||||
materials.apple_log = "mcl_core:tree"
|
||||
materials.apple_planks = "mcl_core:wood"
|
||||
materials.birch_leaves = "mcl_core:birchleaves"
|
||||
materials.birch_log = "mcl_core:birchtree"
|
||||
materials.birch_planks = "mcl_core:birchwood"
|
||||
materials.jungle_leaves = "mcl_core:jungleleaves"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moreores") then
|
||||
materials.tin_ingot = "moreores:tin_ingot"
|
||||
materials.tin_block = "moreores:tin_block"
|
||||
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
|
||||
|
||||
return materials
|
106
mods/xcompat/src/materials/minetest.lua
Normal file
106
mods/xcompat/src/materials/minetest.lua
Normal file
|
@ -0,0 +1,106 @@
|
|||
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
|
8
mods/xcompat/src/player.lua
Normal file
8
mods/xcompat/src/player.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
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")
|
51
mods/xcompat/src/player/farlands_reloaded.lua
Normal file
51
mods/xcompat/src/player/farlands_reloaded.lua
Normal file
|
@ -0,0 +1,51 @@
|
|||
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
|
40
mods/xcompat/src/player/mineclonia.lua
Normal file
40
mods/xcompat/src/player/mineclonia.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
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
|
41
mods/xcompat/src/player/minetest.lua
Normal file
41
mods/xcompat/src/player/minetest.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
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
|
41
mods/xcompat/src/player/xcompat_agnostic.lua
Normal file
41
mods/xcompat/src/player/xcompat_agnostic.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
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
|
8
mods/xcompat/src/sounds.lua
Normal file
8
mods/xcompat/src/sounds.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
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/sounds/" .. filename .. ".lua") then
|
||||
filename = "xcompat_agnostic"
|
||||
end
|
||||
|
||||
return dofile(xcompat.modpath .. "/src/sounds/" .. filename .. ".lua")
|
67
mods/xcompat/src/sounds/exile.lua
Normal file
67
mods/xcompat/src/sounds/exile.lua
Normal file
|
@ -0,0 +1,67 @@
|
|||
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
|
65
mods/xcompat/src/sounds/farlands_reloaded.lua
Normal file
65
mods/xcompat/src/sounds/farlands_reloaded.lua
Normal file
|
@ -0,0 +1,65 @@
|
|||
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
|
63
mods/xcompat/src/sounds/forgotten_lands.lua
Normal file
63
mods/xcompat/src/sounds/forgotten_lands.lua
Normal file
|
@ -0,0 +1,63 @@
|
|||
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
|
66
mods/xcompat/src/sounds/hades_revisited.lua
Normal file
66
mods/xcompat/src/sounds/hades_revisited.lua
Normal file
|
@ -0,0 +1,66 @@
|
|||
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
|
107
mods/xcompat/src/sounds/ksurvive2.lua
Normal file
107
mods/xcompat/src/sounds/ksurvive2.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
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
|
67
mods/xcompat/src/sounds/mineclonia.lua
Normal file
67
mods/xcompat/src/sounds/mineclonia.lua
Normal file
|
@ -0,0 +1,67 @@
|
|||
--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
|
67
mods/xcompat/src/sounds/minetest.lua
Normal file
67
mods/xcompat/src/sounds/minetest.lua
Normal file
|
@ -0,0 +1,67 @@
|
|||
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
|
63
mods/xcompat/src/sounds/xcompat_agnostic.lua
Normal file
63
mods/xcompat/src/sounds/xcompat_agnostic.lua
Normal file
|
@ -0,0 +1,63 @@
|
|||
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
|
8
mods/xcompat/src/textures.lua
Normal file
8
mods/xcompat/src/textures.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
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")
|
57
mods/xcompat/src/textures/farlands_reloaded.lua
Normal file
57
mods/xcompat/src/textures/farlands_reloaded.lua
Normal file
|
@ -0,0 +1,57 @@
|
|||
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
|
57
mods/xcompat/src/textures/minetest.lua
Normal file
57
mods/xcompat/src/textures/minetest.lua
Normal file
|
@ -0,0 +1,57 @@
|
|||
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
|
65
mods/xcompat/src/textures/xcompat_agnostic.lua
Normal file
65
mods/xcompat/src/textures/xcompat_agnostic.lua
Normal file
|
@ -0,0 +1,65 @@
|
|||
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
|
8
mods/xcompat/src/utilities.lua
Normal file
8
mods/xcompat/src/utilities.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
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
|
356
mods/xcompat/test/nodelist/farlands_reloaded.txt
Normal file
356
mods/xcompat/test/nodelist/farlands_reloaded.txt
Normal file
|
@ -0,0 +1,356 @@
|
|||
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
|
2966
mods/xcompat/test/nodelist/hades_revisited.txt
Normal file
2966
mods/xcompat/test/nodelist/hades_revisited.txt
Normal file
File diff suppressed because it is too large
Load diff
3406
mods/xcompat/test/nodelist/mineclonia.txt
Normal file
3406
mods/xcompat/test/nodelist/mineclonia.txt
Normal file
File diff suppressed because it is too large
Load diff
1494
mods/xcompat/test/nodelist/minetest.txt
Normal file
1494
mods/xcompat/test/nodelist/minetest.txt
Normal file
File diff suppressed because it is too large
Load diff
2499
mods/xcompat/test/nodelist/voxelibre.txt
Normal file
2499
mods/xcompat/test/nodelist/voxelibre.txt
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue