mirror of
https://github.com/mt-mods/moretrees.git
synced 2025-06-28 22:26:45 +02:00
Compare commits
24 Commits
2019-06-18
...
nalc-1.2.0
Author | SHA1 | Date | |
---|---|---|---|
b2a94399ec | |||
7383549476 | |||
ac9dd5503c | |||
5ee036f0f4 | |||
fab2944277 | |||
e72c539cdc | |||
c8aaaf20ed | |||
93553670d2 | |||
66fd6724c5 | |||
fa83e1b262 | |||
f94f1bea26 | |||
09f08b50bc | |||
f3108af2e3 | |||
d335eceecc | |||
89bffdecaf | |||
114e47966b | |||
6fd3729669 | |||
25250e6eea | |||
9bc0bc1b68 | |||
d097fd6044 | |||
216acdc6b1 | |||
157f53def0 | |||
26f1ec49d2 | |||
aebc7a41b0 |
@ -125,7 +125,10 @@ moretrees.willow_biome = {
|
||||
}
|
||||
|
||||
moretrees.rubber_tree_biome = {
|
||||
surface = "default:dirt_with_grass",
|
||||
surface = {
|
||||
"default:dirt_with_grass",
|
||||
"default:sand",
|
||||
},
|
||||
avoid_nodes = moretrees.avoidnodes,
|
||||
avoid_radius = 10,
|
||||
seed_diff = 338,
|
||||
|
31
crafts.lua
31
crafts.lua
@ -117,10 +117,39 @@ for i in ipairs(moretrees.cutting_tools) do
|
||||
},
|
||||
replacements = {
|
||||
{ "moretrees:coconut", "moretrees:raw_coconut" },
|
||||
{ tool, tool }
|
||||
}
|
||||
})
|
||||
end
|
||||
-- give tool back with wear preserved
|
||||
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
|
||||
if (itemstack:get_name() == "moretrees:coconut_milk") then
|
||||
for i, j in pairs(old_craft_grid) do
|
||||
-- find tool used to do the craft
|
||||
local ocg_name = j:get_name()
|
||||
if ((ocg_name ~= "") and (ocg_name ~= "moretrees:coconut") and (ocg_name ~= "vessels:drinking_glass")) then
|
||||
-- create a new tool and set wear
|
||||
local t = ItemStack(ocg_name)
|
||||
local w = j:get_wear()
|
||||
-- works if tool used is an axe
|
||||
local uses = j:get_tool_capabilities().groupcaps.choppy.uses or 0
|
||||
if (w == 0 and uses ~= 0) then
|
||||
-- tool has never been used
|
||||
-- use tool once
|
||||
t:set_wear(65535/(9*(uses - 1)))
|
||||
else
|
||||
-- set wear back
|
||||
t:set_wear(w)
|
||||
-- use tool once
|
||||
if (uses ~= 0) then
|
||||
t:add_wear(65535/(9*(uses - 1)))
|
||||
end
|
||||
end
|
||||
-- add to craft inventory
|
||||
craft_inv:add_item("craft", t)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
|
@ -25,12 +25,16 @@ moretrees.enable_beech = false
|
||||
moretrees.spawn_saplings = true
|
||||
|
||||
-- Set this to true to allow defining stairs/slabs/etc. If Moreblocks is
|
||||
-- installed, this will use that mod's Stairs Plus component. Otherwise, it
|
||||
-- installed, this will use that mod's Stairs Plus component. Otherwise, it
|
||||
-- will use the default stairs mod in minetest_game, if present
|
||||
|
||||
moretrees.enable_stairs = true
|
||||
|
||||
-- Set this to true if you want the plantlike drawtype for leaves, which
|
||||
-- If this variable is set to true, register fences for moretrees wood
|
||||
|
||||
moretrees.enable_fences = false
|
||||
|
||||
-- Set this to true if you want the plantlike drawtype for leaves, which
|
||||
-- improves some peoples' framerates without resorting to making leaf nodes opaque.
|
||||
-- Affects default leaves and default jungle leaves also.
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
default
|
||||
biome_lib
|
||||
vessels
|
||||
doors?
|
||||
stairs?
|
||||
moreblocks?
|
||||
intllib?
|
||||
|
35
init.lua
35
init.lua
@ -15,6 +15,41 @@
|
||||
|
||||
moretrees = {}
|
||||
|
||||
minetest.override_item("default:sapling", {
|
||||
description = "Sapling"
|
||||
})
|
||||
|
||||
minetest.override_item("default:tree", {
|
||||
description = "Tree"
|
||||
})
|
||||
|
||||
minetest.override_item("default:wood", {
|
||||
description = "Wooden Planks"
|
||||
})
|
||||
|
||||
minetest.override_item("default:leaves", {
|
||||
description = "Leaves"
|
||||
})
|
||||
|
||||
minetest.override_item("default:fence_wood", {
|
||||
description = "Wooden Fence"
|
||||
})
|
||||
|
||||
minetest.override_item("default:fence_rail_wood", {
|
||||
description = "Wooden Fence Rail"
|
||||
})
|
||||
|
||||
if minetest.get_modpath("doors") then
|
||||
minetest.override_item("doors:gate_wood_closed", {
|
||||
description = "Wooden Fence Gate"
|
||||
})
|
||||
|
||||
minetest.override_item("doors:gate_wood_open", {
|
||||
description = "Wooden Fence Gate"
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- Read the default config file (and if necessary, copy it to the world folder).
|
||||
|
||||
local worldpath=minetest.get_worldpath()
|
||||
|
3
mod.conf
3
mod.conf
@ -1 +1,4 @@
|
||||
name = moretrees
|
||||
depends = default, biome_lib, vessels
|
||||
optional_depends = doors, stairs, moreblocks, intllib, farming
|
||||
min_minetest_version = 5.2.0
|
||||
|
@ -26,6 +26,7 @@ local dirs3 = { 14, 11, 16, 5, 14 }
|
||||
|
||||
local moretrees_new_leaves_drawtype = "allfaces_optional"
|
||||
local moretrees_plantlike_leaves_visual_scale = 1
|
||||
local moretrees_new_leaves_waving = 1
|
||||
|
||||
if moretrees.plantlike_leaves then
|
||||
moretrees_new_leaves_drawtype = "plantlike"
|
||||
@ -119,15 +120,24 @@ for i in ipairs(moretrees.treelist) do
|
||||
},
|
||||
groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1},
|
||||
sounds = default.node_sound_defaults(),
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
|
||||
"moretrees:" ..treename.. "_sapling",
|
||||
-- minp, maxp to be checked, relative to sapling pos
|
||||
-- minp_relative.y = 1 because sapling pos has been checked
|
||||
{x = -3, y = 1, z = -3},
|
||||
{x = 3, y = 6, z = 3},
|
||||
-- maximum interval of interior volume check
|
||||
4)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
local moretrees_leaves_inventory_image = nil
|
||||
local moretrees_new_leaves_waving = nil
|
||||
|
||||
if moretrees.plantlike_leaves then
|
||||
moretrees_leaves_inventory_image = minetest.inventorycube("moretrees_"..treename.."_leaves.png")
|
||||
else
|
||||
moretrees_new_leaves_waving = 1
|
||||
end
|
||||
|
||||
minetest.register_node("moretrees:"..treename.."_leaves", {
|
||||
@ -209,6 +219,41 @@ for i in ipairs(moretrees.treelist) do
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
if moretrees.enable_fences then
|
||||
local planks_name = "moretrees:" .. treename .. "_planks"
|
||||
local planks_tile = "moretrees_" .. treename .. "_wood.png"
|
||||
default.register_fence("moretrees:" .. treename .. "_fence", {
|
||||
description = S(treedesc.." Fence"),
|
||||
texture = planks_tile,
|
||||
inventory_image = "default_fence_overlay.png^" .. planks_tile ..
|
||||
"^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^" .. planks_tile ..
|
||||
"^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = planks_name,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
default.register_fence_rail("moretrees:" .. treename .. "_fence_rail", {
|
||||
description = S(treedesc.." Fence Rail"),
|
||||
texture = planks_tile,
|
||||
inventory_image = "default_fence_rail_overlay.png^" .. planks_tile ..
|
||||
"^default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_rail_overlay.png^" .. planks_tile ..
|
||||
"^default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
material = planks_name,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
if minetest.global_exists("doors") then
|
||||
doors.register_fencegate("moretrees:" .. treename .. "_gate", {
|
||||
description = S(treedesc .. " Fence Gate"),
|
||||
texture = planks_tile,
|
||||
material = planks_name,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node("moretrees:"..treename.."_sapling_ongen", {
|
||||
@ -226,7 +271,19 @@ for i in ipairs(moretrees.treelist) do
|
||||
},
|
||||
groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1},
|
||||
sounds = default.node_sound_defaults(),
|
||||
drop = "moretrees:"..treename.."_sapling"
|
||||
drop = "moretrees:"..treename.."_sapling",
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
|
||||
"moretrees:" ..treename.. "_sapling_ongen",
|
||||
-- minp, maxp to be checked, relative to sapling pos
|
||||
-- minp_relative.y = 1 because sapling pos has been checked
|
||||
{x = -3, y = 1, z = -3},
|
||||
{x = 3, y = 6, z = 3},
|
||||
-- maximum interval of interior volume check
|
||||
4)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
local fruitname = nil
|
||||
@ -331,8 +388,6 @@ for color = 1, #jungleleaves do
|
||||
|
||||
if moretrees.plantlike_leaves then
|
||||
moretrees_leaves_inventory_image = minetest.inventorycube("moretrees_jungletree_leaves_"..jungleleaves[color]..".png")
|
||||
else
|
||||
moretrees_new_leaves_waving = 1
|
||||
end
|
||||
|
||||
minetest.register_node(leave_name, {
|
||||
@ -360,6 +415,8 @@ end
|
||||
-- we need our own copy of that node, which moretrees will match against.
|
||||
|
||||
local jungle_tree = table.copy(minetest.registered_nodes["default:jungletree"])
|
||||
jungle_tree.drop = jungle_tree.drop or { items = {} }
|
||||
table.insert(jungle_tree.drop.items, { items = {"default:jungletree"}})
|
||||
minetest.register_node("moretrees:jungletree_trunk", jungle_tree)
|
||||
|
||||
default.register_leafdecay({
|
||||
|
10
saplings.lua
10
saplings.lua
@ -6,6 +6,9 @@
|
||||
local dirt_surfaces = {
|
||||
set = true,
|
||||
["default:dirt"] = true,
|
||||
["default:dirt_with_snow"] = true,
|
||||
["default:dry_dirt"] = true,
|
||||
["default:dry_dirt_with_dry_grass"] = true,
|
||||
["default:dirt_with_grass"] = true,
|
||||
["default:dirt_with_dry_grass"] = true,
|
||||
["default:dirt_with_coniferous_litter"] = true,
|
||||
@ -13,7 +16,8 @@ local dirt_surfaces = {
|
||||
["woodsoils:dirt_with_leaves_1"] = true,
|
||||
["woodsoils:dirt_with_leaves_2"] = true,
|
||||
["woodsoils:grass_with_leaves_1"] = true,
|
||||
["woodsoils:grass_with_leaves_2"] = true
|
||||
["woodsoils:grass_with_leaves_2"] = true,
|
||||
["meditteranean_biome:dirt_with_mediterranean_grass"] = true
|
||||
}
|
||||
|
||||
local conifer_surfaces = {
|
||||
@ -27,7 +31,8 @@ local conifer_surfaces = {
|
||||
["woodsoils:dirt_with_leaves_2"] = true,
|
||||
["woodsoils:grass_with_leaves_1"] = true,
|
||||
["woodsoils:grass_with_leaves_2"] = true,
|
||||
["default:dirt_with_snow"] = true
|
||||
["default:dirt_with_snow"] = true,
|
||||
["meditteranean_biome:dirt_with_mediterranean_grass"] = true
|
||||
}
|
||||
|
||||
local sand_surfaces = {
|
||||
@ -35,6 +40,7 @@ local sand_surfaces = {
|
||||
["default:sand"] = true,
|
||||
["default:desert_sand"] = true,
|
||||
["cottages:loam"] = true,
|
||||
["darkage:mud"] = true,
|
||||
-- note, no silver sand here.
|
||||
-- too cold for a palm, too... well... sandy for anything else.
|
||||
}
|
||||
|
Reference in New Issue
Block a user