write something there
This commit is contained in:
commit
b4b6c08f4f
8546 changed files with 309825 additions and 0 deletions
232
.luacheckrc
Normal file
232
.luacheckrc
Normal file
|
@ -0,0 +1,232 @@
|
|||
-- Global configuration
|
||||
-----------------------
|
||||
|
||||
std = "luajit+minetest+supported_mods"
|
||||
|
||||
max_line_length = false
|
||||
|
||||
-- Ignore warnings that are not necessarily problematic,
|
||||
-- as fixing those will only make it diffifult to update from upstream.
|
||||
-- Ideally this should be fixed upstream and the warnings enabled again.
|
||||
ignore = {
|
||||
"211", -- unused variable
|
||||
"212", -- unused argument
|
||||
"213", -- unused loop variable
|
||||
-- whitespace
|
||||
"611", -- line contains only whitespace
|
||||
"612", -- trailing whitespace
|
||||
"614", -- trailing whitespace in comment
|
||||
"621", -- inconsistent indentation
|
||||
}
|
||||
|
||||
stds.minetest = {
|
||||
read_globals = {
|
||||
-- tables
|
||||
"minetest",
|
||||
"vector",
|
||||
-- utility functions
|
||||
"dump",
|
||||
"dump2",
|
||||
math = { fields = { "hypot", "sign", "factorial", "round" } },
|
||||
string = { fields = { "split", "trim" } },
|
||||
table = { fields = { "copy", "indexof" } },
|
||||
-- constructors
|
||||
"ItemStack",
|
||||
"PcgRandom",
|
||||
"PseudoRandom",
|
||||
"VoxelArea",
|
||||
"VoxelManip",
|
||||
-- legacy
|
||||
"core", -- alias of minetest
|
||||
"nodeupdate",
|
||||
},
|
||||
}
|
||||
|
||||
-- Mods that are potentially supported but not included in Asuna.
|
||||
-- The relevant code must be gated by `if minetest.get_modpath("...")` or similar.
|
||||
-- Could be extracted from optional_depends, but in practice not all mods declare it.
|
||||
-- Could also be extracted from ifs like the one above.
|
||||
-- In practice only a few of these are not covered by other rules, and often mod
|
||||
-- names differ from global names they define, so this list was filled manually.
|
||||
stds.supported_mods = {
|
||||
read_globals = {
|
||||
"abstract_dryplants", -- from dryplants
|
||||
"armor", -- From 3d_armor
|
||||
"df_primordial_items",
|
||||
"df_trees",
|
||||
"geodes_lib",
|
||||
"hb", -- From hudbars
|
||||
"hunger_ng",
|
||||
"lucky_block",
|
||||
"mapgen_helper", -- From dfcaverns
|
||||
"mcl_player",
|
||||
"mcl_sounds",
|
||||
"mobs",
|
||||
"moretrees",
|
||||
"signs_bot",
|
||||
"stairsplus",
|
||||
"techage",
|
||||
"technic",
|
||||
"technic_cnc",
|
||||
"toolranks",
|
||||
},
|
||||
}
|
||||
|
||||
-- Mods included in Asuna.
|
||||
-- List generated with:
|
||||
-- git grep --recurse-submodules -ho "^name =.*" | awk '{ sub("\r",""); print " \"" $3 "\"," }' | sort
|
||||
local mod_names = {
|
||||
"abdecor",
|
||||
"animalia",
|
||||
"asuna_awards",
|
||||
"asuna_core",
|
||||
"asuna_textures",
|
||||
"awards",
|
||||
"badland",
|
||||
"bakedclay",
|
||||
"beautiflowers",
|
||||
"beds",
|
||||
"binoculars",
|
||||
"biomes",
|
||||
"biomes_leafdecay",
|
||||
"boats",
|
||||
"bonemeal",
|
||||
"bones",
|
||||
"bottles",
|
||||
"bucket",
|
||||
"builtin_item",
|
||||
"butterflies",
|
||||
"carts",
|
||||
"caverealms",
|
||||
"colorful_beds",
|
||||
"creative",
|
||||
"creatura",
|
||||
"default",
|
||||
"doors",
|
||||
"dorwinion",
|
||||
"dungeon_loot",
|
||||
"dye",
|
||||
"env_sounds",
|
||||
"ethereal",
|
||||
"everness",
|
||||
"farming",
|
||||
"farming",
|
||||
"ferns",
|
||||
"fire",
|
||||
"fireflies",
|
||||
"flowerpot",
|
||||
"flowers",
|
||||
"frost_land",
|
||||
"game_commands",
|
||||
"geodes",
|
||||
"give_initial_stuff",
|
||||
"herbs",
|
||||
"item_drop",
|
||||
"japaneseforest",
|
||||
"keys",
|
||||
"leafstride",
|
||||
"livingjungle",
|
||||
"livingslimes",
|
||||
"lootchests",
|
||||
"lootchests_default",
|
||||
"map",
|
||||
"marinara",
|
||||
"mtg_craftguide",
|
||||
"music_api",
|
||||
"naturalbiomes",
|
||||
"nightshade",
|
||||
"player_api",
|
||||
"player_monoids",
|
||||
"pl_seaweed",
|
||||
"prairie",
|
||||
"screwdriver",
|
||||
"sethome",
|
||||
"sfinv",
|
||||
"sfinv_buttons",
|
||||
"show_wielded_item",
|
||||
"signs_lib",
|
||||
"skinsdb",
|
||||
"soup",
|
||||
"spawn",
|
||||
"stairs",
|
||||
"stamina",
|
||||
"telemosaic",
|
||||
"tnt",
|
||||
"too_many_stones",
|
||||
"tt",
|
||||
"tt_base",
|
||||
"vessels",
|
||||
"walls",
|
||||
"weather",
|
||||
"wielded_light",
|
||||
"wool",
|
||||
"worldgate",
|
||||
"x_farming",
|
||||
"xpanes",
|
||||
}
|
||||
|
||||
-- Globals defined by Asuna.
|
||||
-- Ideally this should be equal to mod_names + "asuna", but some mods define
|
||||
-- additional globals, so we add them here.
|
||||
globals = {
|
||||
"asuna",
|
||||
"abstract_bushes", -- from bushes
|
||||
"abstract_ferns", -- from ferns
|
||||
"abstract_youngtrees", -- from youngtrees
|
||||
"music", -- from music_api
|
||||
"skins", -- from skinsdb
|
||||
table.unpack(mod_names)
|
||||
}
|
||||
|
||||
exclude_files = {
|
||||
-- Assets
|
||||
"mods/livingjungle/schematics",
|
||||
-- Legacy stuff
|
||||
"mods/animalia/api/legacy_convert.lua",
|
||||
"mods/minetest_game/default/legacy.lua",
|
||||
}
|
||||
|
||||
-- Mod-specific configuration
|
||||
-----------------------------
|
||||
|
||||
-- Import existing .luacheckrc files
|
||||
-- List generated with:
|
||||
-- find mods -name .luacheckrc -exec dirname {} \; | xargs -L1 basename | awk '{ sub("\r",""); print " \"" $1 "\"," }' | sort
|
||||
local mods_with_luacheckrc = {
|
||||
"animalia",
|
||||
"awards",
|
||||
"creatura",
|
||||
"everness",
|
||||
"flowerpot",
|
||||
"item_drop",
|
||||
"plantlife_modpack",
|
||||
"player_monoids",
|
||||
"signs_lib",
|
||||
"skinsdb",
|
||||
"stamina",
|
||||
"telemosaic",
|
||||
"x_farming",
|
||||
}
|
||||
for _,modname in ipairs(mods_with_luacheckrc) do
|
||||
local modpath = "mods/" .. modname
|
||||
files[modpath] = {}
|
||||
-- store globals defined in the mod's .luacheckrc in the corresponding files table
|
||||
assert(pcall(assert(loadfile(modpath.."/.luacheckrc", nil, files[modpath]))))
|
||||
if files[modpath].exclude_files then
|
||||
for i,path in ipairs(files[modpath].exclude_files) do
|
||||
-- exclude_files only works in the global scope, not in files[]
|
||||
table.insert(exclude_files, modpath.."/"..path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Used variable "_foo" with unused hint.
|
||||
-- Creatura and animalia use a _ prefix to avoid shadowing self/this/min/max.
|
||||
files["mods/animalia"] = { ignore = { "214" } }
|
||||
files["mods/creatura"] = { ignore = { "214" } }
|
||||
|
||||
-- We tightly control mods that can override the engine.
|
||||
files["mods/asuna/asuna_core"] = { globals = { minetest = { fields = { "register_biome", "register_decoration" } } } }
|
||||
files["mods/minetest_game/creative"] = { globals = { minetest = { fields = { "creative" } } } }
|
||||
files["mods/minetest_game/player_api"] = { globals = { minetest = { fields = { "calculate_knockback" } } } }
|
||||
files["mods/ethereal/crystal.lua"] = { globals = { minetest = { fields = { "handle_node_drops" } } } }
|
Loading…
Add table
Add a link
Reference in a new issue