Add setting to customize spawning nodes

This commit is contained in:
Jordan Irwin 2021-07-20 11:05:24 -07:00
parent 4b8452538e
commit 12e6bd79db
4 changed files with 26 additions and 13 deletions

@ -4,6 +4,7 @@ v1.1
- added sound when hit - added sound when hit
- fixed entity vertical positioning - fixed entity vertical positioning
- fixed tnt:boom node left after explosion - fixed tnt:boom node left after explosion
- added setting to customize spawn nodes
v1.0 v1.0
---- ----

@ -106,3 +106,11 @@ sneeker.spawn_maxheight = tonumber(core.settings:get("sneeker.spawn_maxheight")
-- @settype int -- @settype int
-- @default 1 -- @default 1
sneeker.spawn_mapblock_limit = tonumber(core.settings:get("sneeker.spawn_mapblock_limit") or 1) sneeker.spawn_mapblock_limit = tonumber(core.settings:get("sneeker.spawn_mapblock_limit") or 1)
--- Comma-separated list of nodes on which sneeker can spawn.
--
-- @setting sneeker.spawn_nodes
-- @settype string
-- @default default:dirt_with_dry_grass,default:dry_dirt,default:dry_dirt_with_dry_grass,default:desert_sand,nether:rack
sneeker.spawn_nodes = core.settings:get("sneeker.spawn_nodes") or "default:dirt_with_dry_grass,default:dry_dirt,default:dry_dirt_with_dry_grass,default:desert_sand,nether:rack"
sneeker.spawn_nodes = sneeker.spawn_nodes:trim()

@ -50,3 +50,6 @@ sneeker.spawn_maxheight (Sneeker max spawn height) int 31000
# Limits the number of entities that can spawn per mapblock (16x16x16). # Limits the number of entities that can spawn per mapblock (16x16x16).
sneeker.spawn_mapblock_limit (Sneeker spawn limit) int 1 sneeker.spawn_mapblock_limit (Sneeker spawn limit) int 1
# Comma-separated list of nodes on which sneeker can spawn.
sneeker.spawn_nodes (Sneeker spawn nodes) string default:dirt_with_dry_grass,default:dry_dirt,default:dry_dirt_with_dry_grass,default:desert_sand,nether:rack

@ -1,19 +1,20 @@
local spawn_nodes = { local spawn_nodes = {}
"default:dirt_with_dry_grass", if sneeker.spawn_nodes ~= "" then
"default:dry_dirt", if not sneeker.spawn_nodes:find(",") then
"default:dry_dirt_with_dry_grass", table.insert(spawn_nodes, sneeker.spawn_nodes)
"default:desert_sand", else
} for _, node in ipairs(sneeker.spawn_nodes:split(",")) do
local node = node:trim()
if core.global_exists("nether") then if node ~= "" then
table.insert(spawn_nodes, "nether:rack") table.insert(spawn_nodes, node)
end
end
end
end end
for _, node_name in ipairs(spawn_nodes) do if #spawn_nodes == 0 then
if not core.registered_nodes[node_name] then sneeker.log("warning", "no spawning nodes set, cannot spawn")
sneeker.log("warning", "Invalid node for spawn: " .. node_name)
end
end end