mirror of
				https://github.com/mt-mods/xcompat.git
				synced 2025-11-04 10:05:33 +01:00 
			
		
		
		
	Compare commits
	
		
			30 Commits
		
	
	
		
			sound_api_
			...
			7a136dc739
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					7a136dc739 | ||
| 
						 | 
					3729628757 | ||
| 
						 | 
					78295d974c | ||
| 
						 | 
					b18dc7ba14 | ||
| 
						 | 
					931a16803e | ||
| 
						 | 
					655486f465 | ||
| 
						 | 
					cb6471e266 | ||
| 
						 | 
					dc87e255b7 | ||
| 
						 | 
					1ed14f9410 | ||
| 
						 | 
					688f12a970 | ||
| 
						 | 
					34781935d6 | ||
| 
						 | 
					cc2da8a2a6 | ||
| 
						 | 
					37a7fd6cc8 | ||
| 
						 | 
					bf15b0232f | ||
| 
						 | 
					745bdbe564 | ||
| 
						 | 
					a3ef7ba4a4 | ||
| 
						 | 
					b9b6d49619 | ||
| 
						 | 
					788217bb8e | ||
| 
						 | 
					5b4b19a184 | ||
| 
						 | 
					eb7d9fd4f6 | ||
| 
						 | 
					215b094515 | ||
| 
						 | 
					08bb0d0ed5 | ||
| 
						 | 
					3da43ebf4e | ||
| 
						 | 
					28df57dd5f | ||
| 
						 | 
					62227b7c88 | ||
| 
						 | 
					9f56ea7ff4 | ||
| 
						 | 
					e73007760e | ||
| 
						 | 
					95d24b4e26 | ||
| 
						 | 
					53c0826bff | ||
| 
						 | 
					1860fa44b6 | 
							
								
								
									
										7
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,7 +0,0 @@
 | 
			
		||||
version: 2
 | 
			
		||||
updates:
 | 
			
		||||
- package-ecosystem: gitsubmodule
 | 
			
		||||
  directory: "/"
 | 
			
		||||
  schedule:
 | 
			
		||||
    interval: daily
 | 
			
		||||
  open-pull-requests-limit: 20
 | 
			
		||||
							
								
								
									
										23
									
								
								.github/workflows/farlands_reloaded.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.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
									
								
								.github/workflows/hades_revisited.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.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
 | 
			
		||||
							
								
								
									
										13
									
								
								.github/workflows/luacheck.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/luacheck.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,13 +1,10 @@
 | 
			
		||||
name: luacheck
 | 
			
		||||
on: [push, pull_request]
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
  luacheck:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
    - 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 ./
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@main
 | 
			
		||||
      - name: Luacheck
 | 
			
		||||
        uses: lunarmodules/luacheck@master
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								.github/workflows/mineclonia.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.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
									
								
								.github/workflows/minetest_game.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.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
									
								
								.github/workflows/voxelibre.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.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
 | 
			
		||||
							
								
								
									
										37
									
								
								.luacheckrc
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								.luacheckrc
									
									
									
									
									
								
							@@ -1,24 +1,21 @@
 | 
			
		||||
unused_args = false
 | 
			
		||||
allow_defined_top = true
 | 
			
		||||
 | 
			
		||||
exclude_files = {".luacheckrc"}
 | 
			
		||||
 | 
			
		||||
globals = {
 | 
			
		||||
    "minetest", "sound_api", "xcompat", "default",
 | 
			
		||||
    "mcl_sounds", "ks_sounds", "nodes_nature", "fl_stone",
 | 
			
		||||
    "fl_topsoil", "fl_trees", "hades_sounds", "rp_sounds",
 | 
			
		||||
	"minetest",
 | 
			
		||||
	"xcompat",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
read_globals = {
 | 
			
		||||
    string = {fields = {"split"}},
 | 
			
		||||
    table = {fields = {"copy", "getn"}},
 | 
			
		||||
 | 
			
		||||
    --luac
 | 
			
		||||
    "math", "table",
 | 
			
		||||
 | 
			
		||||
    -- Builtin
 | 
			
		||||
    "vector", "ItemStack", "dump", "DIR_DELIM", "VoxelArea", "Settings", "PcgRandom", "VoxelManip", "PseudoRandom",
 | 
			
		||||
 | 
			
		||||
    --mod produced
 | 
			
		||||
    "fl_dyes", "fl_hand", "fl_tools", "mobkit", "fl_tnt", "i3",
 | 
			
		||||
}
 | 
			
		||||
	"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",
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								README.md
									
									
									
									
									
								
							@@ -1,15 +1,34 @@
 | 
			
		||||
# xcompat
 | 
			
		||||
# XCompat
 | 
			
		||||
 | 
			
		||||
a mod that aims to facilitate other mods to be game agnostic by handling sounds and crafting
 | 
			
		||||
[](https://github.com/mt-mods/xcompat/actions/workflows/luacheck.yml)
 | 
			
		||||
[](https://content.minetest.net/packages/mt-mods/xcompat/)
 | 
			
		||||
 | 
			
		||||
thanks to:
 | 
			
		||||
* MisterE, OgelGames, and Blockhead for naming advice/suggestion
 | 
			
		||||
* luk3yx, Blockhead, Buckaroo for bouncing ideas on the concept of this mod
 | 
			
		||||
Provides cross compatibility between games and mods for sounds and crafting materials.
 | 
			
		||||
 | 
			
		||||
## Installing
 | 
			
		||||
Thanks to:
 | 
			
		||||
* MisterE, OgelGames, and Blockhead for naming advice/suggestion.
 | 
			
		||||
* luk3yx, Blockhead, BuckarooBanzai for bouncing ideas on the concept of this mod.
 | 
			
		||||
 | 
			
		||||
clone via git or install via contentdb (soon)
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
## Dev Docs
 | 
			
		||||
See the respective sub apis doc file in /doc for detailed documentation.
 | 
			
		||||
 | 
			
		||||
Can be found at /DEV.md
 | 
			
		||||
## 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
									
								
								doc/functions.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								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
									
								
								doc/gameid.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								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
									
								
								doc/materials.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								doc/materials.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
# Materials API
 | 
			
		||||
 | 
			
		||||
consult `/src/materials/minetest.lua` at this time
 | 
			
		||||
							
								
								
									
										13
									
								
								doc/player.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								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
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
# Xcompat dev docs
 | 
			
		||||
# Sound API
 | 
			
		||||
 | 
			
		||||
## Sound API
 | 
			
		||||
 | 
			
		||||
### Option 1: Agnostically depend
 | 
			
		||||
## Option 1: Agnostically depend
 | 
			
		||||
 | 
			
		||||
You can do this by using a custom field in your node def instead of the `sounds` key.
 | 
			
		||||
 | 
			
		||||
@@ -22,7 +20,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
 | 
			
		||||
 | 
			
		||||
@@ -34,8 +32,4 @@ minetest.register_node(nodename, {
 | 
			
		||||
})
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
* input: optional table to override some or all of returned values
 | 
			
		||||
 | 
			
		||||
## Materials API
 | 
			
		||||
 | 
			
		||||
consult `/src/materials.lua` at this time
 | 
			
		||||
* input: optional table to override some or all of returned values
 | 
			
		||||
							
								
								
									
										3
									
								
								doc/textures.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								doc/textures.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
# Textures API
 | 
			
		||||
 | 
			
		||||
consult `/src/texture/minetest.lua` at this time
 | 
			
		||||
							
								
								
									
										2
									
								
								gitattributes
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								gitattributes
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
test export-ignore
 | 
			
		||||
.github export-ignore
 | 
			
		||||
							
								
								
									
										20
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								init.lua
									
									
									
									
									
								
							@@ -1,12 +1,17 @@
 | 
			
		||||
local modpath = minetest.get_modpath("xcompat")
 | 
			
		||||
 | 
			
		||||
xcompat = {
 | 
			
		||||
    sounds = dofile(modpath .. "/src/sounds.lua"),
 | 
			
		||||
    materials = dofile(modpath .. "/src/materials.lua"),
 | 
			
		||||
    modpath = modpath,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
--this exists for legacy compat reasons
 | 
			
		||||
sound_api = xcompat.sounds -- luacheck: ignore
 | 
			
		||||
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
 | 
			
		||||
@@ -37,3 +42,10 @@ 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,2 +1,3 @@
 | 
			
		||||
name = xcompat
 | 
			
		||||
optional_depends = default, fl_stone, fl_trees, mcl_sounds, hades_sounds, ks_sounds, nodes_nature, fl_topsoil, fl_trees
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								mtt.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								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
									
								
								src/commands.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								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
									
								
								src/functions.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								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
									
								
								src/gameid.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								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
 | 
			
		||||
@@ -1,242 +1,8 @@
 | 
			
		||||
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",
 | 
			
		||||
}
 | 
			
		||||
local filename = xcompat.gameid
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("moreores") then
 | 
			
		||||
    materials.silver_ingot = "moreores:silver_ingot"
 | 
			
		||||
--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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
return dofile(xcompat.modpath .. "/src/materials/" .. filename .. ".lua")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										93
									
								
								src/materials/farlands_reloaded.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								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
									
								
								src/materials/hades_revisited.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								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
 | 
			
		||||
							
								
								
									
										96
									
								
								src/materials/mineclonia.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								src/materials/mineclonia.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
			
		||||
--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_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",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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
									
								
								src/materials/minetest.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								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
									
								
								src/player.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								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
									
								
								src/player/farlands_reloaded.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								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
									
								
								src/player/mineclonia.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								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
									
								
								src/player/minetest.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								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
									
								
								src/player/xcompat_agnostic.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								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
 | 
			
		||||
							
								
								
									
										299
									
								
								src/sounds.lua
									
									
									
									
									
								
							
							
						
						
									
										299
									
								
								src/sounds.lua
									
									
									
									
									
								
							@@ -1,297 +1,8 @@
 | 
			
		||||
local sound_api = {}
 | 
			
		||||
local filename = xcompat.gameid
 | 
			
		||||
 | 
			
		||||
--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
 | 
			
		||||
--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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
return dofile(xcompat.modpath .. "/src/sounds/" .. filename .. ".lua")
 | 
			
		||||
							
								
								
									
										67
									
								
								src/sounds/exile.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								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
									
								
								src/sounds/farlands_reloaded.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								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
									
								
								src/sounds/forgotten_lands.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								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
									
								
								src/sounds/hades_revisited.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								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
									
								
								src/sounds/ksurvive2.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								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
									
								
								src/sounds/mineclonia.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								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
									
								
								src/sounds/minetest.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								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
									
								
								src/sounds/xcompat_agnostic.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								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
									
								
								src/textures.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								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
									
								
								src/textures/farlands_reloaded.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								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
									
								
								src/textures/minetest.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								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
									
								
								src/textures/xcompat_agnostic.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								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
									
								
								src/utilities.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								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
									
								
								test/nodelist/farlands_reloaded.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										356
									
								
								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
									
								
								test/nodelist/hades_revisited.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2966
									
								
								test/nodelist/hades_revisited.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3517
									
								
								test/nodelist/mineclonia.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3517
									
								
								test/nodelist/mineclonia.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1494
									
								
								test/nodelist/minetest.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1494
									
								
								test/nodelist/minetest.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2530
									
								
								test/nodelist/voxelibre.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2530
									
								
								test/nodelist/voxelibre.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user