mirror of
				https://github.com/mt-mods/moretrees.git
				synced 2025-11-03 23:25:25 +01:00 
			
		
		
		
	Compare commits
	
		
			22 Commits
		
	
	
		
			2019-06-18
			...
			7383549476
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7383549476 | |||
| ac9dd5503c | |||
| 5ee036f0f4 | |||
| fab2944277 | |||
| 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()
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								mod.conf
									
									
									
									
									
								
							@@ -1 +1,3 @@
 | 
			
		||||
name = moretrees
 | 
			
		||||
depends = default, biome_lib, vessels
 | 
			
		||||
optional_depends = doors, stairs, moreblocks, intllib, farming
 | 
			
		||||
 
 | 
			
		||||
@@ -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