mirror of
https://github.com/mt-mods/xcompat.git
synced 2025-07-20 09:20:32 +02:00
Compare commits
1 Commits
technic_mo
...
groupsuppo
Author | SHA1 | Date | |
---|---|---|---|
81802d90ed |
23
.github/workflows/farlands_reloaded.yml
vendored
23
.github/workflows/farlands_reloaded.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: farlands_reloaded
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://github.com/TerraQuest-Studios/farlands_reloaded
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = farlands_reloaded.txt
|
23
.github/workflows/hades_revisited.yml
vendored
23
.github/workflows/hades_revisited.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: hades_revisited
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://codeberg.org/Wuzzy/Hades_Revisited
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = hades_revisited.txt
|
23
.github/workflows/mineclonia.yml
vendored
23
.github/workflows/mineclonia.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: mineclonia
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://codeberg.org/mineclonia/mineclonia
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = mineclonia.txt
|
23
.github/workflows/minetest_game.yml
vendored
23
.github/workflows/minetest_game.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: minetest_game
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://github.com/minetest/minetest_game
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = minetest.txt
|
23
.github/workflows/voxelibre.yml
vendored
23
.github/workflows/voxelibre.yml
vendored
@ -1,23 +0,0 @@
|
||||
name: voxelibre
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
- uses: buckaroobanzay/mtt@main
|
||||
with:
|
||||
modname: xcompat
|
||||
git_game_repo: https://git.minetest.land/VoxeLibre/VoxeLibre/
|
||||
git_dependencies: |
|
||||
https://github.com/mt-mods/unifieddyes
|
||||
https://github.com/mt-mods/basic_materials
|
||||
https://github.com/OgelGames/fakelib
|
||||
https://github.com/mt-mods/pipeworks
|
||||
https://github.com/mt-mods/steel
|
||||
https://github.com/mt-mods/display_modpack
|
||||
https://github.com/mt-mods/homedecor_modpack
|
||||
additional_config: |
|
||||
mtt_nodelist = voxelibre.txt
|
@ -4,6 +4,9 @@ globals = {
|
||||
}
|
||||
|
||||
read_globals = {
|
||||
string = {fields = {"split"}},
|
||||
table = {fields = {"copy", "getn"}},
|
||||
|
||||
"default",
|
||||
"mcl_sounds",
|
||||
"ks_sounds",
|
||||
@ -13,9 +16,5 @@ read_globals = {
|
||||
"fl_trees",
|
||||
"hades_sounds",
|
||||
"rp_sounds",
|
||||
"mtt",
|
||||
"sounds",
|
||||
"player_api",
|
||||
"mcl_player",
|
||||
"fl_player",
|
||||
}
|
||||
|
22
README.md
22
README.md
@ -1,6 +1,6 @@
|
||||
# XCompat
|
||||
|
||||
[](https://github.com/mt-mods/xcompat/actions/workflows/luacheck.yml)
|
||||
[](https://github.com/mt-mods/xcompat/actions)
|
||||
[](https://content.minetest.net/packages/mt-mods/xcompat/)
|
||||
|
||||
Provides cross compatibility between games and mods for sounds and crafting materials.
|
||||
@ -15,16 +15,16 @@ See the respective sub apis doc file in /doc for detailed documentation.
|
||||
|
||||
## Directly supported games and mods
|
||||
|
||||
| Games | Sounds | Materials | Textures | Player |
|
||||
| ----------------- | --------- | --------- | --------- | ------ |
|
||||
| Minetest Game | x | x | x | x |
|
||||
| MineClone2 | x | x | | x |
|
||||
| Mineclonia | x | x | | x |
|
||||
| Hades Revisited | x | x | | |
|
||||
| Farlands Reloaded | x | x | x | x |
|
||||
| Exile | x | | | |
|
||||
| KSurvive 2 | x | | | |
|
||||
| Forgotten Lands | x | | | |
|
||||
| Games | Sounds | Materials | Textures |
|
||||
| ----------------- | --------- | --------- | --------- |
|
||||
| Minetest Game | x | x | x |
|
||||
| MineClone2 | x | x | |
|
||||
| Mineclonia | x | x | |
|
||||
| Hades Revisited | x | x | |
|
||||
| Farlands Reloaded | x | x | x |
|
||||
| Exile | x | | |
|
||||
| KSurvive 2 | x | | |
|
||||
| Forgotten Lands | x | | |
|
||||
|
||||
For functions see /doc/functions.md for the specifics relating to the function
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
# Player API
|
||||
|
||||
mimic mtg player_api
|
||||
|
||||
## NOTE
|
||||
|
||||
`xcompat.player.player_attached`
|
||||
|
||||
read/write from it is fine, looping over it is not as it is a proxy table. this
|
||||
would need lua5.2 __pairs/__ipairs metamethods support which i could polyfill
|
||||
for using https://stackoverflow.com/a/77354254 but didnt feel like doing at
|
||||
this time. (luajit supports this via 5.2 extensions). additionally see issue:
|
||||
https://github.com/minetest/minetest/issues/15133
|
@ -1,2 +0,0 @@
|
||||
test export-ignore
|
||||
.github export-ignore
|
8
init.lua
8
init.lua
@ -11,7 +11,8 @@ 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")
|
||||
|
||||
dofile(modpath .. "/src/groups.lua")
|
||||
|
||||
local function validate_sound(key)
|
||||
if key and xcompat.sounds[key] then
|
||||
@ -44,8 +45,3 @@ minetest.register_on_mods_loaded(function()
|
||||
end)
|
||||
|
||||
dofile(modpath .. "/src/commands.lua")
|
||||
|
||||
if minetest.get_modpath("mtt") and mtt.enabled then
|
||||
-- register tests
|
||||
dofile(modpath .. "/mtt.lua")
|
||||
end
|
||||
|
2
mod.conf
2
mod.conf
@ -1,3 +1,3 @@
|
||||
name = xcompat
|
||||
description = Provides cross compatibility between mods and games for sounds and crafting materials.
|
||||
optional_depends = default, fl_stone, fl_trees, mcl_sounds, hades_sounds, ks_sounds, nodes_nature, fl_topsoil, fl_trees, mcl_core, farming, x_farming, sounds, mtt, player_api, mcl_player, fl_player
|
||||
optional_depends = default, fl_stone, fl_trees, mcl_sounds, hades_sounds, ks_sounds, nodes_nature, fl_topsoil, fl_trees, mcl_core, farming, x_farming, sounds
|
||||
|
10
mtt.lua
10
mtt.lua
@ -1,10 +0,0 @@
|
||||
|
||||
-- emerge a part of the world (basic smoketest)
|
||||
mtt.emerge_area({ x=0, y=0, z=0 }, { x=10, y=10, z=10 })
|
||||
|
||||
-- check nodelist
|
||||
local mtt_nodelist = minetest.settings:get("mtt_nodelist")
|
||||
if mtt_nodelist then
|
||||
-- nodelist specified, check if all the required nodes are present
|
||||
mtt.validate_nodenames(minetest.get_modpath("xcompat") .. "/test/nodelist/" .. mtt_nodelist)
|
||||
end
|
@ -66,7 +66,7 @@ minetest.register_chatcommand("xcompat_test_sounds", {
|
||||
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)
|
||||
minetest.chat_send_player(name, "Missing material: "..sound.." in game: "..gameid)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -16,40 +16,4 @@ function functions.can_interact_with_node(player, pos)
|
||||
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
|
26
src/groups.lua
Normal file
26
src/groups.lua
Normal file
@ -0,0 +1,26 @@
|
||||
local function on_mods_loaded()
|
||||
for name, def in pairs(minetest.registered_nodes) do
|
||||
if def.groups and def.groups.xcompat_autohandle_groups and def.groups.xcompat_autohandle_groups==1 then
|
||||
local groups = table.copy(def.groups)
|
||||
|
||||
groups.xcompat_autohandle_groups = nil
|
||||
groups.xcompat_was_handled = 1
|
||||
|
||||
minetest.override_item(name, {
|
||||
groups = groups
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
--todo: override minetest.register_node to handle groups registered after this point
|
||||
end
|
||||
|
||||
--sticking it at the front so that our overrides are applied first
|
||||
table.insert(minetest.registered_on_mods_loaded, 1, on_mods_loaded)
|
||||
|
||||
--test node, delete before merge
|
||||
minetest.register_node("xcompat:groups_test", {
|
||||
description = "xCompat Groups test",
|
||||
groups = {xcompat_autohandle_groups=1},
|
||||
tiles = {xcompat.textures.gravel},
|
||||
})
|
@ -39,7 +39,6 @@ local materials = {
|
||||
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",
|
||||
@ -77,7 +76,6 @@ local materials = {
|
||||
birch_planks = "fl_trees:aspen_plank",
|
||||
jungle_leaves = "fl_trees:jungletree_leaves",
|
||||
bowl = "",
|
||||
stick = "fl_trees:stick",
|
||||
}
|
||||
|
||||
if minetest.get_modpath("basic_materials") then
|
||||
|
@ -46,7 +46,6 @@ local materials = {
|
||||
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",
|
||||
@ -84,7 +83,6 @@ local materials = {
|
||||
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
|
||||
|
@ -25,7 +25,7 @@ local materials = {
|
||||
torch = "mcl_torches:torch",
|
||||
diamond = "mcl_core:diamond",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "mcl_buckets:bucket_water",
|
||||
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",
|
||||
@ -41,7 +41,6 @@ local materials = {
|
||||
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",
|
||||
@ -78,19 +77,6 @@ local materials = {
|
||||
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
|
@ -7,7 +7,6 @@ local materials = {
|
||||
steel_ingot = "default:steel_ingot",
|
||||
gold_ingot = "default:gold_ingot",
|
||||
tin_ingot = "default:tin_ingot",
|
||||
bronze_ingot = "default:bronze_ingot",
|
||||
copper_block = "default:copperblock",
|
||||
steel_block = "default:steelblock",
|
||||
gold_block = "default:goldblock",
|
||||
@ -18,17 +17,13 @@ local materials = {
|
||||
axe_stone = "default:axe_stone",
|
||||
axe_wood = "default:axe_wood",
|
||||
pick_steel = "default:pick_steel",
|
||||
pick_silver = "default:pick_silver",
|
||||
mese = "default:mese",
|
||||
mese_crystal = "default:mese_crystal",
|
||||
mese_crystal_fragment = "default:mese_crystal_fragment",
|
||||
torch = "default:torch",
|
||||
diamond = "default:diamond",
|
||||
clay = "default:clay",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "bucket:bucket_water",
|
||||
lava_bucket = "bucket:bucket_lava",
|
||||
river_water_bucket = "bucket:bucket_river_water",
|
||||
empty_bucket = "bucket:bucket_empty",
|
||||
dye_dark_grey = "dye:dark_grey",
|
||||
dye_black = "dye:black",
|
||||
@ -44,15 +39,11 @@ local materials = {
|
||||
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",
|
||||
gold_lump = "default:gold_lump",
|
||||
copper_lump = "default:copper_lump",
|
||||
tin_lump = "default:tin_lump",
|
||||
wool_grey = "wool:grey",
|
||||
wool_green = "wool:green",
|
||||
wool_dark_green = "wool:dark_green",
|
||||
@ -68,41 +59,22 @@ local materials = {
|
||||
stone = "default:stone",
|
||||
desert_stone = "default:desert_stone",
|
||||
desert_sand = "default:desert_sand",
|
||||
desert_sandstone = "default:desert_sandstone",
|
||||
silver_sand = "default:silver_sand",
|
||||
silver_sandstone = "default:silver_sandstone",
|
||||
chest = "default:chest",
|
||||
cobble = "default:cobble",
|
||||
mossycobble = "default:mossycobble",
|
||||
brick = "default:brick",
|
||||
obsidian = "default:obsidian",
|
||||
obsidian_glass = "default:obsidian_glass",
|
||||
water_source = "default:water_source",
|
||||
water_flowing = "default:water_flowing",
|
||||
river_water_source = "default:river_water_source",
|
||||
river_water_flowing = "default:river_water_flowing",
|
||||
lava_source = "default:lava_source",
|
||||
lava_flowing = "default:lava_flowing",
|
||||
dirt = "default:dirt",
|
||||
dirt_with_grass = "default:dirt_with_grass",
|
||||
dirt_with_snow = "default:dirt_with_snow",
|
||||
snowblock = "default:snowblock",
|
||||
ice = "default:ice",
|
||||
apple_leaves = "default:leaves",
|
||||
apple_log = "default:tree",
|
||||
apple_planks = "default:wood",
|
||||
acacia_planks = "default:acacia_wood",
|
||||
birch_leaves = "default:aspen_leaves",
|
||||
birch_log = "default:aspen_tree",
|
||||
birch_planks = "default:aspen_wood",
|
||||
jungle_leaves = "default:jungleleaves",
|
||||
bowl = "",
|
||||
stick = "default:stick",
|
||||
wheat = "farming:wheat",
|
||||
wheat_seed = "farming:seed_wheat",
|
||||
dry_shrub = "default:dry_shrub",
|
||||
insulation = "mesecons_materials:fiber",
|
||||
furnace = "default:furnace",
|
||||
}
|
||||
|
||||
if minetest.registered_items["farming:bowl"] then
|
||||
@ -113,15 +85,12 @@ end
|
||||
|
||||
if minetest.get_modpath("moreores") then
|
||||
materials.silver_ingot = "moreores:silver_ingot"
|
||||
materials.mithril_block = "moreores:mithril_block"
|
||||
materials.mithril_ingot = "moreores:mithril_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"
|
||||
materials.insulation = "technic:rubber"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("aloz") then
|
||||
|
@ -1,8 +0,0 @@
|
||||
local filename = xcompat.gameid
|
||||
|
||||
--if we dont have a player file for the game, use minetest
|
||||
if not xcompat.utilities.file_exists(xcompat.modpath .. "/src/player/" .. filename .. ".lua") then
|
||||
filename = "xcompat_agnostic"
|
||||
end
|
||||
|
||||
return dofile(xcompat.modpath .. "/src/player/" .. filename .. ".lua")
|
@ -1,51 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
local models = {}
|
||||
function papi.register_model(name, def)
|
||||
models[name] = def
|
||||
end
|
||||
|
||||
function papi.set_model(player, model_name)
|
||||
local model = models[model_name]
|
||||
|
||||
if not model then return end
|
||||
|
||||
player:set_properties({
|
||||
mesh = model_name,
|
||||
textures = model.textures,
|
||||
visual = "mesh",
|
||||
visual_size = model.visual_size,
|
||||
stepheight = model.stepheight
|
||||
})
|
||||
end
|
||||
|
||||
function papi.get_animation(_)
|
||||
--stub to keep from crashing
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player:get_properties().textures
|
||||
end
|
||||
|
||||
function papi.set_textures(player, textures)
|
||||
player:set_properties({textures = textures})
|
||||
end
|
||||
|
||||
function papi.set_animation(player, anim_name, speed, loop)
|
||||
player:set_animation(fl_player.animations[anim_name], speed, 0, loop)
|
||||
end
|
||||
|
||||
local metatable = {
|
||||
__index = function (_, key)
|
||||
return fl_player.ignore[key]
|
||||
end,
|
||||
__newindex = function (_, key, value)
|
||||
rawset(fl_player.ignore, key, value)
|
||||
end
|
||||
}
|
||||
|
||||
papi.player_attached = {}
|
||||
|
||||
setmetatable(papi.player_attached, metatable)
|
||||
|
||||
return papi
|
@ -1,40 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
function papi.register_model(name, def)
|
||||
return mcl_player.player_register_model(name, def)
|
||||
end
|
||||
|
||||
function papi.set_model(player, model)
|
||||
return mcl_player.player_set_model(player, model)
|
||||
end
|
||||
|
||||
function papi.get_animation(player)
|
||||
return mcl_player.player_get_animation(player)
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player:get_properties().textures
|
||||
end
|
||||
|
||||
function papi.set_textures(player, textures)
|
||||
player:set_properties({textures = textures})
|
||||
end
|
||||
|
||||
function papi.set_animation(player, anim_name, speed, _)
|
||||
return mcl_player.player_set_animation(player, anim_name, speed)
|
||||
end
|
||||
|
||||
local metatable = {
|
||||
__index = function (_, key)
|
||||
return mcl_player.player_attached[key]
|
||||
end,
|
||||
__newindex = function (_, key, value)
|
||||
rawset(mcl_player.player_attached, key, value)
|
||||
end
|
||||
}
|
||||
|
||||
papi.player_attached = {}
|
||||
|
||||
setmetatable(papi.player_attached, metatable)
|
||||
|
||||
return papi
|
@ -1,41 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
function papi.register_model(name, def)
|
||||
return player_api.register_model(name, def)
|
||||
end
|
||||
|
||||
function papi.set_model(player, model)
|
||||
return player_api.set_model(player, model)
|
||||
end
|
||||
|
||||
function papi.get_animation(player)
|
||||
return player_api.get_animation(player)
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player_api.get_textures(player)
|
||||
end
|
||||
|
||||
function papi.set_textures(player, texture)
|
||||
return player_api.set_textures(player, texture)
|
||||
end
|
||||
|
||||
function papi.set_animation(player, anim_name, speed, loop)
|
||||
return player_api.set_animation(player, anim_name, speed, loop)
|
||||
end
|
||||
|
||||
|
||||
local metatable = {
|
||||
__index = function (_, key)
|
||||
return player_api.player_attached[key]
|
||||
end,
|
||||
__newindex = function (_, key, value)
|
||||
rawset(player_api.player_attached, key, value)
|
||||
end
|
||||
}
|
||||
|
||||
papi.player_attached = {}
|
||||
|
||||
setmetatable(papi.player_attached, metatable)
|
||||
|
||||
return papi
|
@ -1,41 +0,0 @@
|
||||
local papi = {}
|
||||
|
||||
local models = {}
|
||||
function papi.register_model(name, def)
|
||||
models[name] = def
|
||||
end
|
||||
|
||||
function papi.set_model(player, model_name)
|
||||
local model = models[model_name]
|
||||
|
||||
if not model then return end
|
||||
|
||||
player:set_properties({
|
||||
mesh = model_name,
|
||||
textures = model.textures,
|
||||
visual = "mesh",
|
||||
visual_size = model.visual_size,
|
||||
stepheight = model.stepheight
|
||||
})
|
||||
end
|
||||
|
||||
function papi.get_animation(_)
|
||||
--stub to keep from crashing
|
||||
end
|
||||
|
||||
function papi.get_textures(player)
|
||||
return player:get_properties().textures
|
||||
end
|
||||
|
||||
function papi.set_textures(player, textures)
|
||||
player:set_properties({textures = textures})
|
||||
end
|
||||
|
||||
function papi.set_animation(_, _, _, _)
|
||||
--stub to keep from crashing
|
||||
end
|
||||
|
||||
--nothing to do here as we have no globalstep .....that we know about anyways
|
||||
papi.player_attached = {}
|
||||
|
||||
return papi
|
@ -1,356 +0,0 @@
|
||||
fl_furniture:yellow_ipe_table
|
||||
fl_trees:palm_trunk
|
||||
fl_stone:mossy_stone
|
||||
fl_trees:acacia_sapling
|
||||
fl_doors:copper_door_a
|
||||
fl_trees:jungletree_plank
|
||||
fl_workshop:furnace_active
|
||||
fl_topsoil:wet_farmland
|
||||
fl_trees:spruce_leaves
|
||||
fl_stone:stone_brick
|
||||
fl_light_sources:lantern
|
||||
fl_plantlife:red_mushroom_leaves
|
||||
fl_stone:basalt
|
||||
fl_topsoil:condensed_ice
|
||||
fl_doors:apple_door_b
|
||||
fl_beds:bed_pink
|
||||
fl_plantlife:petunia_blue
|
||||
fl_trees:acacia_leaves
|
||||
fl_stone:basalt_block
|
||||
fl_ores:coal_in_tuff
|
||||
fl_topsoil:sea_grass_3
|
||||
fl_agriculture:carrot_2
|
||||
fl_beds:bed_violet
|
||||
fl_stone:basalt_rubble
|
||||
fl_furniture:spruce_bench
|
||||
fl_ores:copper_in_tuff
|
||||
fl_trees:willow_plank
|
||||
fl_trees:yellow_ipe_plank_fence
|
||||
fl_storage:spruce_vessel_shelf
|
||||
fl_beds:bed_blue
|
||||
fl_stone:stone_block
|
||||
fl_stone:tuff_rubble
|
||||
fl_ores:mithite_in_stone
|
||||
fl_topsoil:savannah_dirt_with_grass
|
||||
fl_furniture:pine_table
|
||||
fl_trees:pine_plank_fence
|
||||
fl_furniture:baobab_chair
|
||||
fl_plantlife:grass_2
|
||||
fl_trees:pine_sapling
|
||||
fl_beds:bed_dark_green
|
||||
fl_plantlife:cactus
|
||||
fl_storage:spruce_book_shelf
|
||||
fl_signs:sign_wood
|
||||
fl_plantlife:pink_ground_flower
|
||||
fl_doors:steel_door_b
|
||||
fl_topsoil:sea_grass_1
|
||||
fl_trees:aspen_leaves
|
||||
fl_stone:ors_brick
|
||||
fl_doors:jungletree_door_a
|
||||
fl_paintings:forest
|
||||
fl_storage:spruce_multi_shelf
|
||||
fl_beds:bed_red
|
||||
fl_tnt:tnt
|
||||
fl_beds:bed_brown
|
||||
fl_storage:pine_multi_shelf
|
||||
fl_ores:mithite_block
|
||||
fl_beds:bed_orange
|
||||
fl_ores:coal_in_desert_stone
|
||||
fl_plantlife:red_ground_flower
|
||||
fl_ores:gold_in_desert_stone
|
||||
fl_stone:silver_sandstone_block
|
||||
fl_storage:wood_chest
|
||||
fl_furniture:aspen_table
|
||||
fl_doors:aspen_door_a
|
||||
fl_stone:ors
|
||||
fl_stone:sandstone_brick
|
||||
fl_doors:pine_door_b
|
||||
fl_furniture:acacia_table
|
||||
fl_trees:acacia_trunk
|
||||
fl_stone:mossy_stone_block
|
||||
fl_doors:baobab_door_b
|
||||
fl_plantlife:pansy_purple
|
||||
fl_industrial:conveyor_funnel
|
||||
fl_stone:savannah_rubble
|
||||
fl_trains:straight_rise_track
|
||||
fl_storage:baobab_book_shelf
|
||||
fl_plantlife:purple_allium
|
||||
fl_ores:diamond_block
|
||||
fl_topsoil:dirt_with_grass
|
||||
fl_plantlife:ground_waterlily
|
||||
fl_plantlife:flowerpot
|
||||
fl_plantlife:grass_4
|
||||
fl_storage:pine_book_shelf
|
||||
fl_doors:palm_door_a
|
||||
fl_furniture:willow_table
|
||||
fl_trains:straight_45_track
|
||||
fl_trees:palm_leaves
|
||||
fl_glass:framed_glass_panes
|
||||
fl_storage:yellow_ipe_vessel_shelf
|
||||
fl_ores:coal_block
|
||||
fl_plantlife:dandelion_yellow
|
||||
fl_beds:bed_cyan
|
||||
fl_topsoil:gravel
|
||||
fl_storage:acacia_book_shelf
|
||||
fl_furniture:baobab_bench
|
||||
fl_furniture:willow_bench
|
||||
fl_plantlife:savannah_grass_1
|
||||
fl_industrial:conveyor
|
||||
fl_storage:acacia_vessel_shelf
|
||||
fl_light_sources:chain
|
||||
fl_trees:spruce_plank
|
||||
fl_trees:apple_leaves
|
||||
fl_trees:baobab_leaves
|
||||
fl_stone:silver_sand
|
||||
fl_stone:desert_stone
|
||||
fl_furniture:spruce_chair
|
||||
fl_ores:copper_in_desert_stone
|
||||
fl_topsoil:snow_block
|
||||
fl_ores:mithite_in_savannah
|
||||
fl_trees:acacia_plank
|
||||
fl_topsoil:dirt
|
||||
fl_fire:fire
|
||||
fl_stone:gneiss_rubble
|
||||
fl_furniture:acacia_bench
|
||||
fl_storage:willow_vessel_shelf
|
||||
fl_plantlife:lantana
|
||||
fl_stone:sandstone
|
||||
fl_furniture:jungletree_chair
|
||||
fl_workshop:furnace
|
||||
fl_stone:gneiss
|
||||
fl_agriculture:potato_4
|
||||
fl_topsoil:permafrost_with_stones
|
||||
fl_topsoil:snow
|
||||
fl_trees:baobab_plank
|
||||
fl_stone:tuff_brick
|
||||
fl_stone:desert_sandstone_block
|
||||
fl_bones:bone_block
|
||||
fl_stone:basalt_brick
|
||||
fl_doors:steel_door_a
|
||||
fl_furniture:aspen_bench
|
||||
fl_ores:tin_in_savannah
|
||||
fl_trees:palm_plank_fence
|
||||
fl_doors:apple_door_a
|
||||
fl_wool:wool
|
||||
fl_furniture:spruce_table
|
||||
fl_agriculture:carrot_1
|
||||
fl_ores:iron_in_stone
|
||||
fl_stone:desert_sandstone_brick
|
||||
fl_storage:apple_empty_shelf
|
||||
fl_stone:gneiss_block
|
||||
fl_stone:mossy_stone_rubble
|
||||
fl_agriculture:carrot_3
|
||||
fl_trees:willow_trunk
|
||||
fl_trees:pine_leaves
|
||||
fl_trains:curve_right_track
|
||||
fl_doors:copper_door_b
|
||||
fl_doors:jungletree_door_b
|
||||
fl_furniture:jungletree_bench
|
||||
fl_doors:willow_door_b
|
||||
fl_topsoil:sea_grass_2
|
||||
fl_ores:gold_in_ors
|
||||
fl_doors:willow_door_a
|
||||
fl_trains:switch_right_track
|
||||
fl_doors:aspen_door_b
|
||||
fl_doors:palm_door_b
|
||||
fl_stone:stone
|
||||
fl_plantlife:rose
|
||||
fl_doors:yellow_ipe_door_b
|
||||
fl_doors:yellow_ipe_door_a
|
||||
fl_plantlife:grass_3
|
||||
fl_storage:apple_vessel_shelf
|
||||
fl_plantlife:tulip
|
||||
fl_light_sources:torch
|
||||
fl_trees:palm_sapling
|
||||
fl_doors:blocker_top
|
||||
fl_bricks:terracotta
|
||||
fl_bricks:clay_block
|
||||
fl_bricks:brick
|
||||
fl_agriculture:carrot_4
|
||||
fl_paintings:cthulhu
|
||||
fl_trees:aspen_trunk
|
||||
fl_furniture:willow_chair
|
||||
fl_glass:tinted_framed_glass_panes
|
||||
fl_stone:sandstone_block
|
||||
fl_glass:tinted_framed_glass
|
||||
fl_ores:gold_block
|
||||
fl_furniture:apple_chair
|
||||
fl_glass:framed_glass
|
||||
fl_storage:pine_vessel_shelf
|
||||
fl_beds:bed_yellow
|
||||
fl_beds:bed_black
|
||||
fl_stone:silver_sandstone
|
||||
fl_beds:bed_dark_grey
|
||||
fl_beds:bed_green
|
||||
fl_ores:tin_in_tuff
|
||||
fl_beds:bed_grey
|
||||
fl_beds:bed_magenta
|
||||
fl_beds:bed_white
|
||||
fl_wildlife:spawner
|
||||
fl_wool:wool_carpet
|
||||
fl_paintings:dragon
|
||||
fl_topsoil:dirt_with_snow
|
||||
fl_ores:tin_block
|
||||
fl_furniture:baobab_table
|
||||
fl_dyes:demo_node
|
||||
fl_plantlife:viola
|
||||
fl_ores:diamond_in_ors
|
||||
fl_plantlife:savannah_grass_4
|
||||
fl_plantlife:oxeye_daisy
|
||||
fl_plantlife:geranium
|
||||
fl_plantlife:mushroom_trunk
|
||||
fl_stone:ors_rubble
|
||||
fl_doors:baobab_door_a
|
||||
fl_light_sources:lantern_c
|
||||
fl_doors:acacia_door_b
|
||||
fl_plantlife:petunia_white
|
||||
fl_storage:spruce_empty_shelf
|
||||
fl_plantlife:petunia_pink
|
||||
fl_ores:tin_in_stone
|
||||
fl_ores:mithite_in_desert_stone
|
||||
fl_stone:desert_sand
|
||||
fl_plantlife:pansy_blue
|
||||
fl_plantlife:frozen_rose
|
||||
fl_ores:gold_in_tuff
|
||||
fl_stone:savannah_brick
|
||||
fl_ores:coal_in_savannah
|
||||
fl_plantlife:blue_ground_flower
|
||||
fl_ores:iron_in_desert_stone
|
||||
fl_industrial:injector
|
||||
fl_trees:aspen_plank_fence
|
||||
fl_plantlife:savannah_grass_2
|
||||
fl_plantlife:dandelion_white
|
||||
fl_plantlife:flame_lily
|
||||
fl_plantlife:brown_mushroom
|
||||
fl_plantlife:red_mushroom
|
||||
fl_trees:jungletree_plank_fence
|
||||
fl_plantlife:brown_mushroom_leaves
|
||||
fl_plantlife:raw_mushroom_leaves
|
||||
fl_plantlife:savannah_grass_5
|
||||
fl_stone:tuff_block
|
||||
fl_plantlife:savannah_grass_3
|
||||
fl_trees:acacia_plank_fence
|
||||
fl_trees:jungletree_sapling
|
||||
fl_furniture:pine_bench
|
||||
fl_plantlife:grass_1
|
||||
fl_plantlife:lavender_flower
|
||||
fl_ores:coal_in_stone
|
||||
fl_plantlife:grass_5
|
||||
fl_ores:bronze_block
|
||||
fl_trees:yellow_ipe_plank
|
||||
fl_stone:gneiss_brick
|
||||
fl_ores:diamond_in_savannah
|
||||
fl_trees:pine_plank
|
||||
fl_ores:diamond_in_desert_stone
|
||||
fl_ores:diamond_in_tuff
|
||||
fl_storage:baobab_empty_shelf
|
||||
fl_storage:yellow_ipe_empty_shelf
|
||||
fl_paintings:landscape
|
||||
fl_stairs:tablesaw
|
||||
fl_furniture:yellow_ipe_chair
|
||||
fl_ores:copper_in_ors
|
||||
fl_trees:apple_trunk
|
||||
fl_trees:yellow_ipe_leaves
|
||||
fl_trees:dead_aspen_leaves
|
||||
fl_liquids:water_flowing
|
||||
fl_furniture:aspen_chair
|
||||
fl_plantlife:lobelia
|
||||
fl_topsoil:dry_farmland
|
||||
fl_trees:apple_plank
|
||||
ignore
|
||||
fl_trains:switch_left_track
|
||||
fl_storage:willow_empty_shelf
|
||||
fl_trees:spruce_plank_fence
|
||||
fl_ores:copper_in_savannah
|
||||
fl_stone:sand
|
||||
fl_furniture:pine_chair
|
||||
fl_storage:aspen_empty_shelf
|
||||
fl_topsoil:coarse_dirt
|
||||
fl_storage:acacia_multi_shelf
|
||||
fl_ores:mithite_in_ors
|
||||
fl_paintings:waterlilie
|
||||
fl_stone:tuff
|
||||
fl_stone:savannah_block
|
||||
fl_trees:willow_plank_fence
|
||||
fl_storage:baobab_vessel_shelf
|
||||
fl_furniture:apple_table
|
||||
fl_paintings:rose
|
||||
fl_liquids:river_water_source
|
||||
fl_trees:pine_trunk
|
||||
fl_storage:aspen_vessel_shelf
|
||||
fl_topsoil:ice
|
||||
fl_storage:aspen_book_shelf
|
||||
fl_liquids:lava_source
|
||||
fl_agriculture:potato_2
|
||||
fl_storage:aspen_multi_shelf
|
||||
fl_storage:willow_book_shelf
|
||||
fl_furniture:acacia_chair
|
||||
fl_trains:crossing_track
|
||||
fl_trees:apple_plank_fence
|
||||
fl_liquids:river_water_flowing
|
||||
fl_trees:baobab_sapling
|
||||
fl_ores:gold_in_stone
|
||||
fl_trains:curve_left_track
|
||||
fl_trains:straight_track
|
||||
fl_doors:acacia_door_a
|
||||
fl_storage:apple_multi_shelf
|
||||
fl_trees:aspen_plank
|
||||
fl_trees:spruce_trunk
|
||||
fl_stone:desert_stone_rubble
|
||||
fl_trees:baobab_trunk
|
||||
fl_ores:copper_in_stone
|
||||
fl_industrial:conveyor_left
|
||||
fl_storage:acacia_empty_shelf
|
||||
fl_trees:palm_plank
|
||||
fl_agriculture:potato_1
|
||||
fl_trees:apple_sapling
|
||||
fl_trees:baobab_plank_fence
|
||||
fl_furniture:yellow_ipe_bench
|
||||
fl_ores:tin_in_desert_stone
|
||||
fl_furniture:palm_bench
|
||||
fl_storage:yellow_ipe_book_shelf
|
||||
fl_stone:savannah
|
||||
fl_furniture:apple_bench
|
||||
fl_ores:iron_block
|
||||
fl_furniture:palm_chair
|
||||
fl_glass:tinted_connected_glass
|
||||
fl_agriculture:potato_3
|
||||
fl_trees:aspen_sapling
|
||||
fl_storage:baobab_multi_shelf
|
||||
fl_storage:willow_multi_shelf
|
||||
fl_furniture:palm_table
|
||||
fl_furniture:jungletree_table
|
||||
fl_trees:jungletree_trunk
|
||||
fl_stone:stone_rubble
|
||||
fl_doors:pine_door_a
|
||||
fl_storage:pine_empty_shelf
|
||||
fl_stone:mossy_stone_brick
|
||||
fl_stone:ors_block
|
||||
fl_paintings:possessedwoman
|
||||
fl_storage:apple_book_shelf
|
||||
fl_storage:yellow_ipe_multi_shelf
|
||||
fl_stone:desert_stone_block
|
||||
fl_stone:desert_stone_brick
|
||||
fl_trees:jungletree_leaves
|
||||
fl_liquids:water_source
|
||||
fl_stone:desert_sandstone
|
||||
fl_trees:willow_leaves
|
||||
fl_workshop:anvil
|
||||
fl_paintings:mistiriusgirl
|
||||
fl_trees:yellow_ipe_trunk
|
||||
fl_topsoil:savannah_dirt
|
||||
fl_ores:coal_in_ors
|
||||
fl_topsoil:permafrost
|
||||
fl_liquids:lava_flowing
|
||||
fl_ores:iron_in_ors
|
||||
fl_industrial:conveyor_right
|
||||
fl_ores:iron_in_tuff
|
||||
fl_ores:iron_in_savannah
|
||||
fl_ores:copper_block
|
||||
fl_stone:silver_sandstone_brick
|
||||
air
|
||||
fl_ores:gold_in_savannah
|
||||
fl_ores:tin_in_ors
|
||||
fl_ores:mithite_in_tuff
|
||||
fl_stone:bedrock
|
||||
fl_ores:diamond_in_stone
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user