everness/vines_wall.lua
2024-02-16 11:23:15 -05:00

114 lines
3.0 KiB
Lua

--[[
Everness. Never ending discovery in Everness mapgen.
Copyright (C) 2024 SaKeL
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
--]]
local S = minetest.get_translator(minetest.get_current_modname())
local function register_vine_wall(name, def, overrides)
local _def = table.copy(def)
local _name = name
_def.short_description = _def.short_description or _def.description
_def.drawtype = 'mesh'
_def.tiles = _def.tiles or {
{ name = 'everness_' .. _name .. '.png' }
}
_def.inventory_image = 'everness_' .. _name .. '_item.png'
_def.wield_image = 'everness_' .. _name .. '_item.png'
_def.mesh = 'everness_vine_wall.obj'
_def.use_texture_alpha = 'clip'
_def.paramtype = 'light'
_def.paramtype2 = 'wallmounted'
_def.sunlight_propagates = true
_def.walkable = false
_def.climbable = true
_def.buildable_to = false
_def.sounds = Everness.node_sound_leaves_defaults()
_def.groups = {
-- MTG
vine = 1,
snappy = 3,
-- Everness
-- falling_vines = 1,
no_silktouch = 1,
-- X Farming
compost = 30,
-- MCL
handy = 1,
axey = 1,
shearsy = 1,
swordy = 1,
deco_block = 1,
dig_by_piston = 1,
destroy_by_lava_flow = 1,
compostability = 30,
fire_encouragement = 15,
fire_flammability = 100,
-- ALL
flammable = 2,
attached_node = 1,
}
_def._mcl_blast_resistance = 0.2
_def._mcl_hardness = 0.2
_def.selection_box = {
type = 'fixed',
fixed = {
-8 / 16,
-8 / 16,
-8 / 16,
8 / 16,
-5 / 16,
8 / 16
}
}
_def.collision_box = {
type = 'fixed',
fixed = {
-8 / 16,
-8 / 16,
-8 / 16,
8 / 16,
-5 / 16,
8 / 16
}
}
_def.waving = 3
_def.light_source = _def.light_source or 4
_def.on_rotate = function()
return false
end
Everness:register_node('everness:' .. _name, _def)
end
-- Cave vine
-- register_vine_wall('wall_vine_cave_green', {
-- description = S('Wall Cave Vine Green'),
-- })
register_vine_wall('wall_vine_cave_blue', {
description = S('Wall Cave Vine Blue'),
})
register_vine_wall('wall_vine_cave_cyan', {
description = S('Wall Cave Vine Cyan'),
})
register_vine_wall('wall_vine_cave_violet', {
description = S('Wall Cave Vine Violet'),
})