write something there
5
mods/biomes/CREDITS.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
Credits
|
||||
=======
|
||||
|
||||
- Many textures are derived from [RPG16](https://content.minetest.net/packages/Hugues%20Ross/rpg16/) by Hughes Ross; see license.txt for details
|
||||
- Many textures are derived from [Minetest Game](https://content.minetest.net/packages/Minetest/minetest_game/); see license.txt for details
|
2
mods/biomes/badland/README.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
# badland
|
||||
Adds a Badlands biome with a few more objects.
|
BIN
mods/biomes/badland/badland.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
15
mods/biomes/badland/crafting.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
------------Crafting
|
||||
minetest.register_craft({
|
||||
output = "badland:badland_wood 4",
|
||||
recipe = {
|
||||
{"badland:badland_tree"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "badland:badland_trapdoor 2",
|
||||
recipe = {
|
||||
{"badland:badland_wood", "badland:badland_wood", "badland:badland_wood"},
|
||||
{"badland:badland_wood", "badland:badland_wood", "badland:badland_wood"},
|
||||
}
|
||||
})
|
103
mods/biomes/badland/flowers.lua
Normal file
|
@ -0,0 +1,103 @@
|
|||
badland = {}
|
||||
local mpath = minetest.get_modpath("badland")
|
||||
local pot = minetest.get_modpath("flowerpot")
|
||||
|
||||
|
||||
minetest.register_node("badland:toadstool", {
|
||||
description = "Toadstool",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"toadstool.png"},
|
||||
inventory_image = "toadstool.png",
|
||||
wield_image = "toadstool.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("badland:brown_mushroom_2", {
|
||||
description = "Brown Mushroom",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"brown_mushroom_2.png"},
|
||||
inventory_image = "brown_mushroom_2.png",
|
||||
wield_image = "brown_mushroom_2.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("badland:brown_mushroom_3", {
|
||||
description = "Brown Mushroom",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"brown_mushroom_3.png"},
|
||||
inventory_image = "brown_mushroom_3.png",
|
||||
wield_image = "brown_mushroom_3.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("badland:brown_mushroom_4", {
|
||||
description = "Brown Mushroom",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"brown_mushroom_4.png"},
|
||||
inventory_image = "brown_mushroom_4.png",
|
||||
wield_image = "brown_mushroom_4.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"badland:badland_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.01,
|
||||
biomes = {"badland"},
|
||||
decoration = {
|
||||
"badland:toadstool", "badland:brown_mushroom_4", "badland:brown_mushroom_3", "badland:brown_mushroom_2",
|
||||
}
|
||||
})
|
7
mods/biomes/badland/init.lua
Normal file
|
@ -0,0 +1,7 @@
|
|||
local default_path = minetest.get_modpath("badland")
|
||||
|
||||
dofile(default_path.."/mapgen.lua")
|
||||
dofile(default_path.."/nodes.lua")
|
||||
--dofile(default_path.."/flowers.lua") -- replaced with brown mushrooms in asuna_core/decor.lua
|
||||
dofile(default_path.."/crafting.lua")
|
||||
dofile(default_path.."/moreblocks.lua")
|
18
mods/biomes/badland/license.txt
Normal file
|
@ -0,0 +1,18 @@
|
|||
License
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Copyright (C) 2021-2022: Atlante - AFL-1.1
|
||||
License for code: AFL-1.1
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
ShareAlike — If you remix, transform, or build upon the material, you must distribute
|
||||
your contributions under the same license as the original.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Anyone can fix the mod. My Discord "Atlante#1952" And my Mail Address "AtlanteEtDocteur@gmail.com"
|
||||
|
||||
|
180
mods/biomes/badland/mapgen.lua
Normal file
|
@ -0,0 +1,180 @@
|
|||
-----------------------Trees
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_tree_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.00125,
|
||||
scale = 0.0075,
|
||||
spread = {x = 80, y = 20, z = 80},
|
||||
seed = 777,
|
||||
octaves = 1,
|
||||
},
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_tree_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_tree_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.00025,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_tree_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_tree_3",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.001,
|
||||
scale = 0.0025,
|
||||
spread = {x = 40, y = 40, z = 40},
|
||||
seed = 999,
|
||||
octaves = 1,
|
||||
},
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_tree_3.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_tree_4",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.005,
|
||||
scale = 0.01,
|
||||
spread = {x = 80, y = 20, z = 80},
|
||||
seed = 101010,
|
||||
octaves = 2,
|
||||
persistence = 0.5,
|
||||
lacunarity = 0.9,
|
||||
},
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_tree_4.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
---------------------------------------Bush
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_brush",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.008265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_bush.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
----------------------------------Log 1
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_log_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.008265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_log_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
----------------------------------Log 2
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_log_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.008265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_log_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
---------------------Racine
|
||||
minetest.register_decoration({
|
||||
name = "badland:racine_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.000665,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/racine_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
---------------------------Puit
|
||||
minetest.register_decoration({
|
||||
name = "badland:puit_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.000165,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/puit_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
---------------------------Grass
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"badland:badland_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.35,
|
||||
biomes = {"badland"},
|
||||
decoration = {
|
||||
"badland:badland_grass_1", "badland:badland_grass_2", "badland:badland_grass_3", "badland:badland_grass_4", "badland:badland_grass_5",
|
||||
}
|
||||
})
|
||||
---------------------------Pumpkins
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"badland:badland_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.0025,
|
||||
param2 = 0,
|
||||
param2_max = 3,
|
||||
biomes = {"badland"},
|
||||
decoration = {
|
||||
"badland:pumpkin_block",
|
||||
}
|
||||
})
|
8
mods/biomes/badland/mod.conf
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
author = Atlante
|
||||
name = badland
|
||||
|
||||
description = Adds a Badlands biome with a few more objects.
|
||||
title = Badlands
|
||||
depends = default, doors, japaneseforest, flowerpot, x_farming
|
||||
optional_depends = flowers, moreblocks
|
278
mods/biomes/badland/models/scarecrow.obj
Normal file
|
@ -0,0 +1,278 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib scarecrow.mtl
|
||||
o Cube_Cube.001
|
||||
v -0.561998 1.323839 0.300580
|
||||
v -0.561998 2.981953 0.300579
|
||||
v -0.561998 2.981953 -0.300582
|
||||
v -0.561998 1.323839 -0.300581
|
||||
v 0.563007 2.981953 -0.300580
|
||||
v 0.563007 1.323839 -0.300580
|
||||
v 0.563007 2.981953 0.300581
|
||||
v 0.563007 1.323839 0.300581
|
||||
v -0.561998 2.981304 0.562503
|
||||
v -0.561998 4.106310 0.562503
|
||||
v -0.561998 4.106310 -0.562503
|
||||
v -0.561998 2.981304 -0.562504
|
||||
v 0.563007 4.106310 -0.562503
|
||||
v 0.563007 2.981304 -0.562503
|
||||
v 0.563007 4.106310 0.562503
|
||||
v 0.563007 2.981304 0.562503
|
||||
v 0.139760 -0.287793 0.292342
|
||||
v -0.000793 1.318738 0.292342
|
||||
v -0.000793 1.318738 -0.292342
|
||||
v 0.139761 -0.287793 -0.292342
|
||||
v 0.546074 1.366583 -0.292342
|
||||
v 0.686627 -0.239948 -0.292342
|
||||
v 0.546074 1.366583 0.292342
|
||||
v 0.686627 -0.239948 0.292342
|
||||
v -0.139991 -0.287924 -0.292342
|
||||
v -0.139991 -0.287924 0.292342
|
||||
v -0.686857 -0.240079 0.292342
|
||||
v -0.686857 -0.240079 -0.292342
|
||||
v -0.546304 1.366452 -0.292342
|
||||
v 0.000563 1.318607 -0.292342
|
||||
v 0.000563 1.318607 0.292342
|
||||
v -0.546304 1.366452 0.292342
|
||||
v -0.128807 -1.218078 0.129312
|
||||
v -0.128807 1.378430 0.129312
|
||||
v -0.128807 1.378430 -0.129312
|
||||
v -0.128807 -1.218078 -0.129312
|
||||
v 0.129816 1.378430 -0.129312
|
||||
v 0.129816 -1.218078 -0.129312
|
||||
v 0.129816 1.378430 0.129312
|
||||
v 0.129816 -1.218078 0.129312
|
||||
v -2.627234 2.609297 0.129310
|
||||
v 2.628242 2.609298 0.129312
|
||||
v 2.628242 2.867920 0.129312
|
||||
v -2.627234 2.867920 0.129310
|
||||
v 2.628242 2.867921 -0.129311
|
||||
v -2.627234 2.867921 -0.129313
|
||||
v 2.628242 2.609297 -0.129311
|
||||
v -2.627234 2.609297 -0.129313
|
||||
v -2.219586 2.414515 0.300579
|
||||
v -2.219586 2.414515 -0.300582
|
||||
v -0.561471 2.414515 -0.300581
|
||||
v -0.561471 2.414515 0.300580
|
||||
v -2.219586 2.978941 -0.300582
|
||||
v -0.561471 2.978941 -0.300582
|
||||
v -2.219586 2.978941 0.300579
|
||||
v -0.561471 2.978941 0.300579
|
||||
v 2.219980 2.414515 0.300581
|
||||
v 0.561866 2.414515 0.300581
|
||||
v 0.561866 2.414515 -0.300580
|
||||
v 2.219980 2.414515 -0.300580
|
||||
v 0.561866 2.978941 -0.300580
|
||||
v 2.219980 2.978941 -0.300580
|
||||
v 0.561865 2.978941 0.300581
|
||||
v 2.219980 2.978941 0.300581
|
||||
v -1.668880 2.412450 0.302779
|
||||
v -1.668880 2.412450 -0.302782
|
||||
v -1.668880 2.981006 -0.302782
|
||||
v -1.668880 2.981006 0.302779
|
||||
v 1.669274 2.412450 0.302781
|
||||
v 1.669274 2.412450 -0.302780
|
||||
v 1.669274 2.981006 -0.302779
|
||||
v 1.669274 2.981006 0.302782
|
||||
vt 0.5000 0.5000
|
||||
vt 0.5000 0.6875
|
||||
vt 0.4375 0.6875
|
||||
vt 0.4375 0.5000
|
||||
vt 0.3125 0.6875
|
||||
vt 0.3125 0.5000
|
||||
vt 0.2500 0.6875
|
||||
vt 0.2500 0.5000
|
||||
vt 0.6250 0.5000
|
||||
vt 0.6250 0.6875
|
||||
vt 0.4375 0.6875
|
||||
vt 0.5625 0.6875
|
||||
vt 0.5625 0.7500
|
||||
vt 0.4375 0.7500
|
||||
vt 0.4375 0.7500
|
||||
vt 0.3125 0.7500
|
||||
vt 0.3750 0.7500
|
||||
vt 0.3750 0.8750
|
||||
vt 0.2500 0.8750
|
||||
vt 0.2500 0.7500
|
||||
vt 0.1250 0.8750
|
||||
vt 0.1250 0.7500
|
||||
vt -0.0000 0.8750
|
||||
vt -0.0000 0.7500
|
||||
vt 0.5000 0.7500
|
||||
vt 0.5000 0.8750
|
||||
vt 0.2500 0.8750
|
||||
vt 0.3750 0.8750
|
||||
vt 0.3750 1.0000
|
||||
vt 0.2500 1.0000
|
||||
vt 0.2500 1.0000
|
||||
vt 0.1250 1.0000
|
||||
vt 0.1875 0.5000
|
||||
vt 0.1875 0.6875
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1250 0.5000
|
||||
vt 0.0625 0.6875
|
||||
vt 0.0625 0.5000
|
||||
vt -0.0000 0.6875
|
||||
vt -0.0000 0.5000
|
||||
vt 0.2500 0.5000
|
||||
vt 0.2500 0.6875
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1875 0.6875
|
||||
vt 0.1875 0.7500
|
||||
vt 0.1250 0.7500
|
||||
vt 0.1250 0.7500
|
||||
vt 0.0625 0.7500
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1250 0.7500
|
||||
vt 0.1875 0.7500
|
||||
vt 0.1875 0.6875
|
||||
vt 0.1250 0.5000
|
||||
vt 0.0625 0.5000
|
||||
vt 0.0625 0.6875
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1875 0.5000
|
||||
vt 0.1875 0.6875
|
||||
vt 0.2500 0.5000
|
||||
vt 0.2500 0.6875
|
||||
vt 0.0625 0.7500
|
||||
vt 0.1250 0.7500
|
||||
vt -0.0000 0.5000
|
||||
vt -0.0000 0.6875
|
||||
vt 0.0938 0.1406
|
||||
vt 0.0938 0.4688
|
||||
vt 0.0625 0.4688
|
||||
vt 0.0625 0.1406
|
||||
vt 0.0312 0.4688
|
||||
vt 0.0312 0.1406
|
||||
vt 0.0000 0.4688
|
||||
vt -0.0000 0.1406
|
||||
vt 0.1250 0.1406
|
||||
vt 0.1250 0.4688
|
||||
vt 0.0625 0.4688
|
||||
vt 0.0938 0.4688
|
||||
vt 0.0938 0.5000
|
||||
vt 0.0625 0.5000
|
||||
vt 0.0625 0.5000
|
||||
vt 0.0312 0.5000
|
||||
vt 0.9688 0.0000
|
||||
vt 0.9688 0.5938
|
||||
vt 0.9375 0.5938
|
||||
vt 0.9375 0.0000
|
||||
vt 0.9062 0.5938
|
||||
vt 0.9062 0.0000
|
||||
vt 0.8750 0.5938
|
||||
vt 0.8750 0.0000
|
||||
vt 1.0000 0.0000
|
||||
vt 1.0000 0.5938
|
||||
vt 0.9375 0.5938
|
||||
vt 0.9688 0.5938
|
||||
vt 0.9688 0.6250
|
||||
vt 0.9375 0.6250
|
||||
vt 0.9375 0.6250
|
||||
vt 0.9062 0.6250
|
||||
vt 0.8125 0.5000
|
||||
vt 0.7500 0.5000
|
||||
vt 0.7500 0.6875
|
||||
vt 0.8125 0.6875
|
||||
vt 0.6875 0.5000
|
||||
vt 0.6875 0.6875
|
||||
vt 0.6250 0.5000
|
||||
vt 0.6250 0.6875
|
||||
vt 0.8750 0.5000
|
||||
vt 0.8750 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.7500 0.7500
|
||||
vt 0.8125 0.7500
|
||||
vt 0.8125 0.6875
|
||||
vt 0.6875 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vt 0.8125 0.5000
|
||||
vt 0.8125 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.7500 0.5000
|
||||
vt 0.6875 0.6875
|
||||
vt 0.6875 0.5000
|
||||
vt 0.6250 0.6875
|
||||
vt 0.6250 0.5000
|
||||
vt 0.8750 0.5000
|
||||
vt 0.8750 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.8125 0.6875
|
||||
vt 0.8125 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vt 0.6875 0.7500
|
||||
vt 0.7500 0.6875
|
||||
vt 0.7500 0.7500
|
||||
vt 0.8125 0.7500
|
||||
vt 0.8125 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.8125 0.6875
|
||||
vt 0.8125 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -0.9962 -0.0872 -0.0000
|
||||
vn 0.9962 0.0872 0.0000
|
||||
vn 0.0872 -0.9962 -0.0000
|
||||
vn -0.0872 0.9962 0.0000
|
||||
vn -0.0872 -0.9962 -0.0000
|
||||
vn 0.9962 -0.0872 -0.0000
|
||||
vn 0.0872 0.9962 0.0000
|
||||
vn -0.9962 0.0872 0.0000
|
||||
usemtl None
|
||||
s 1
|
||||
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||
f 4/4/2 3/3/2 5/5/2 6/6/2
|
||||
f 6/6/3 5/5/3 7/7/3 8/8/3
|
||||
f 8/9/4 7/10/4 2/2/4 1/1/4
|
||||
f 4/11/5 6/12/5 8/13/5 1/14/5
|
||||
f 5/5/6 3/3/6 2/15/6 7/16/6
|
||||
f 9/17/1 10/18/1 11/19/1 12/20/1
|
||||
f 12/20/2 11/19/2 13/21/2 14/22/2
|
||||
f 14/22/3 13/21/3 15/23/3 16/24/3
|
||||
f 16/25/4 15/26/4 10/18/4 9/17/4
|
||||
f 12/27/5 14/28/5 16/29/5 9/30/5
|
||||
f 13/21/6 11/19/6 10/31/6 15/32/6
|
||||
f 17/33/7 18/34/7 19/35/7 20/36/7
|
||||
f 20/36/2 19/35/2 21/37/2 22/38/2
|
||||
f 22/38/8 21/37/8 23/39/8 24/40/8
|
||||
f 24/41/4 23/42/4 18/34/4 17/33/4
|
||||
f 20/43/9 22/44/9 24/45/9 17/46/9
|
||||
f 21/37/10 19/35/10 18/47/10 23/48/10
|
||||
f 25/49/11 26/50/11 27/51/11 28/52/11
|
||||
f 25/53/2 28/54/2 29/55/2 30/56/2
|
||||
f 26/57/12 25/53/12 30/56/12 31/58/12
|
||||
f 27/59/4 26/57/4 31/58/4 32/60/4
|
||||
f 29/55/13 32/61/13 31/62/13 30/56/13
|
||||
f 28/54/14 27/63/14 32/64/14 29/55/14
|
||||
f 33/65/1 34/66/1 35/67/1 36/68/1
|
||||
f 36/68/2 35/67/2 37/69/2 38/70/2
|
||||
f 38/70/3 37/69/3 39/71/3 40/72/3
|
||||
f 40/73/4 39/74/4 34/66/4 33/65/4
|
||||
f 36/75/5 38/76/5 40/77/5 33/78/5
|
||||
f 37/69/6 35/67/6 34/79/6 39/80/6
|
||||
f 41/81/4 42/82/4 43/83/4 44/84/4
|
||||
f 44/84/6 43/83/6 45/85/6 46/86/6
|
||||
f 46/86/2 45/85/2 47/87/2 48/88/2
|
||||
f 48/89/5 47/90/5 42/82/5 41/81/5
|
||||
f 44/91/1 46/92/1 48/93/1 41/94/1
|
||||
f 45/85/3 43/83/3 42/95/3 47/96/3
|
||||
f 49/97/5 50/98/5 51/99/5 52/100/5
|
||||
f 50/98/2 53/101/2 54/102/2 51/99/2
|
||||
f 53/101/6 55/103/6 56/104/6 54/102/6
|
||||
f 55/105/4 49/97/4 52/100/4 56/106/4
|
||||
f 50/107/1 49/108/1 55/109/1 53/110/1
|
||||
f 54/102/3 56/111/3 52/112/3 51/99/3
|
||||
f 57/113/5 58/114/5 59/115/5 60/116/5
|
||||
f 60/116/2 59/115/2 61/117/2 62/118/2
|
||||
f 62/118/6 61/117/6 63/119/6 64/120/6
|
||||
f 64/121/4 63/122/4 58/114/4 57/113/4
|
||||
f 60/123/3 62/124/3 64/125/3 57/126/3
|
||||
f 61/117/1 59/115/1 58/127/1 63/128/1
|
||||
f 66/129/1 65/130/1 68/131/1 67/132/1
|
||||
f 70/133/3 71/134/3 72/135/3 69/136/3
|
21
mods/biomes/badland/moreblocks.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
-----------------Moreblock
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
|
||||
stairsplus:register_all("badland_wood", "wood", "badland:badland_wood", {
|
||||
description = "Frost Land Wood",
|
||||
tiles = {"badland_wood.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("badland_tree", "tree", "badland:badland_tree", {
|
||||
description = "Japanese Tree",
|
||||
tiles = {"badland_tree_top.png", "badland_tree_top.png",
|
||||
"badland_tree.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
|
||||
|
||||
end
|
328
mods/biomes/badland/nodes.lua
Normal file
|
@ -0,0 +1,328 @@
|
|||
local modpath = minetest.get_modpath("badland")
|
||||
|
||||
minetest.register_node("badland:badland_grass", {
|
||||
description = "Badland Grass",
|
||||
tiles = {"badland_grass.png", "default_dirt.png",
|
||||
{name = "default_dirt.png^badland_grass_side.png",
|
||||
tileable_vertical = false}},
|
||||
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
|
||||
drop = "default:dirt",
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||
}),
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_leaves", {
|
||||
description = "Spooky Badland Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"badland_leaves.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"badland:badland_sapling_1"}, rarity = 20},
|
||||
{items = {"badland:badland_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = default.after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_leaves_2", {
|
||||
description = "Haunted Badland Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"badland_leaves_2.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"badland:badland_sapling_2"}, rarity = 20},
|
||||
{items = {"badland:badland_leaves_2"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = default.after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_leaves_3", {
|
||||
description = "Dusky Badland Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"badland_leaves_3.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"badland:badland_sapling_3"}, rarity = 20},
|
||||
{items = {"badland:badland_leaves_3"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = default.after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_tree", {
|
||||
description = "Badland Tree",
|
||||
tiles = {"badland_tree_top.png", "badland_tree_top.png",
|
||||
"badland_tree.png"},
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("badland:badland_wood", {
|
||||
description = "Badland Wood",
|
||||
tiles = {"badland_wood.png"},
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"badland_wood",
|
||||
"badland:badland_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
{"badland_wood.png"},
|
||||
"Badland Wood Stair",
|
||||
"Badland Wood Slab",
|
||||
default.node_sound_wood_defaults(),
|
||||
true
|
||||
)
|
||||
|
||||
doors.register_trapdoor("badland:badland_trapdoor", {
|
||||
description = "Badland Trapdoor",
|
||||
inventory_image = "badland_trapdoor.png",
|
||||
wield_image = "badland_trapdoor.png",
|
||||
tile_front = "badland_trapdoor.png",
|
||||
tile_side = "badland_trapdoor_side.png",
|
||||
gain_open = 0.06,
|
||||
gain_close = 0.13,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
|
||||
})
|
||||
|
||||
|
||||
doors.register("badland_door", {
|
||||
tiles = {{ name = "doors_badland_door.png", backface_culling = true }},
|
||||
description = "Badland Door",
|
||||
inventory_image = "doors_item_badland.png",
|
||||
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
gain_open = 0.06,
|
||||
gain_close = 0.13,
|
||||
recipe = {
|
||||
{"badland:badland_wood", "badland:badland_wood"},
|
||||
{"badland:badland_wood", "badland:badland_wood"},
|
||||
{"badland:badland_wood", "badland:badland_wood"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
doors.register_fencegate("badland:gate_badland", {
|
||||
description = "Badland Wood Fence Gate",
|
||||
texture = "badland_wood_fence.png",
|
||||
material = "badland:badland_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
default.register_fence("badland:fence_badland_wood", {
|
||||
description = "Badland Wood Fence",
|
||||
texture = "badland_wood_fence.png",
|
||||
inventory_image = "default_fence_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "badland:badland_wood",
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence_rail("badland:fence_rail_badland_wood", {
|
||||
description = "Badland Wood Fence Rail",
|
||||
texture = "badland_wood_fence.png",
|
||||
inventory_image = "default_fence_rail_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_rail_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
material = "badland:badland_wood",
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("badland:badland_grass_1", {
|
||||
description = "Badland Grass",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {"badland_grass_1.png"},
|
||||
-- Use texture of a taller grass stage in inventory
|
||||
inventory_image = "badland_grass_3.png",
|
||||
wield_image = "badland_grass_3.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, flammable = 1},
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"farming:seed_wheat"}, rarity = 5},
|
||||
{items = {"badland:badland_grass_1"}},
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16, 6 / 16},
|
||||
},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
-- place a random grass node
|
||||
local stack = ItemStack("badland:badland_grass_" .. math.random(1,5))
|
||||
local ret = minetest.item_place(stack, placer, pointed_thing)
|
||||
return ItemStack("badland:badland_grass_1 " ..
|
||||
itemstack:get_count() - (1 - ret:get_count()))
|
||||
end,
|
||||
})
|
||||
|
||||
for i = 2, 5 do
|
||||
minetest.register_node("badland:badland_grass_" .. i, {
|
||||
description = "Badland Grass",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {"badland_grass_" .. i .. ".png"},
|
||||
inventory_image = "badland_grass_" .. i .. ".png",
|
||||
wield_image = "badland_grass_" .. i .. ".png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "badland:badland_grass_1",
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, grass = 1, flammable = 1},
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"farming:seed_wheat"}, rarity = 5},
|
||||
{items = {"badland:badland_grass_1"}},
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
-- Aliases for X Farming nodes
|
||||
minetest.register_alias("badland:scarecrow","x_farming:scarecrow")
|
||||
minetest.register_alias("badland:pumpkin_lantern","x_farming:pumpkin_lantern")
|
||||
minetest.register_alias("badland:pumpkin_block","x_farming:pumpkin_block")
|
||||
|
||||
--[[
|
||||
Trees
|
||||
]]
|
||||
|
||||
local trees = {
|
||||
{
|
||||
name = "Spooky",
|
||||
grow_function = function(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-2, y = pos.y, z = pos.z-2}, modpath.."/schematics/badland_tree_1.mts", "0", nil, false)
|
||||
end,
|
||||
},
|
||||
{
|
||||
name = "Haunted",
|
||||
grow_function = function(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-3, y = pos.y, z = pos.z-2}, modpath.."/schematics/badland_tree_3.mts", "0", nil, false)
|
||||
end,
|
||||
},
|
||||
{
|
||||
name = "Dusky",
|
||||
grow_function = function(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-3, y = pos.y, z = pos.z-2}, modpath.."/schematics/badland_tree_4.mts", "0", nil, false)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
local mod_bonemeal = minetest.get_modpath("bonemeal")
|
||||
|
||||
for index,def in ipairs(trees) do
|
||||
local sapling = "badland:badland_sapling_" .. index
|
||||
local image = "badland_sapling_" .. index .. ".png"
|
||||
local leaves = "badland:badland_leaves_" .. index
|
||||
|
||||
-- Register sapling
|
||||
minetest.register_node(sapling, {
|
||||
description = def.name .. " Badland Sapling",
|
||||
drawtype = "plantlike",
|
||||
tiles = {image},
|
||||
inventory_image = image,
|
||||
wield_image = image,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
on_timer = function(pos)
|
||||
if not default.can_grow(pos) then
|
||||
-- try a bit later again
|
||||
minetest.get_node_timer(pos):start(math.random(240, 600))
|
||||
else
|
||||
def.grow_function(pos)
|
||||
end
|
||||
end,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
|
||||
},
|
||||
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
|
||||
attached_node = 1, sapling = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
on_construct = function(pos)
|
||||
minetest.get_node_timer(pos):start(math.random(300, 1500))
|
||||
end,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
|
||||
sapling,
|
||||
-- minp, maxp to be checked, relative to sapling pos
|
||||
{x = -1, y = 0, z = -1},
|
||||
{x = 1, y = 1, z = 1},
|
||||
-- maximum interval of interior volume check
|
||||
2)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register sapling crafting recipe
|
||||
minetest.register_craft({
|
||||
output = sapling,
|
||||
recipe = {
|
||||
{"", leaves, ""},
|
||||
{leaves, "default:stick", leaves}
|
||||
},
|
||||
})
|
||||
|
||||
-- Add bonemeal integration if supported
|
||||
if mod_bonemeal then
|
||||
bonemeal:add_sapling({
|
||||
{sapling, def.grow_function, "soil"},
|
||||
})
|
||||
end
|
||||
end
|
BIN
mods/biomes/badland/schematics/badland_bush.mts
Normal file
BIN
mods/biomes/badland/schematics/badland_log_1.mts
Normal file
BIN
mods/biomes/badland/schematics/badland_log_2.mts
Normal file
BIN
mods/biomes/badland/schematics/badland_tree_1.mts
Normal file
BIN
mods/biomes/badland/schematics/badland_tree_2.mts
Normal file
BIN
mods/biomes/badland/schematics/badland_tree_3.mts
Normal file
BIN
mods/biomes/badland/schematics/badland_tree_4.mts
Normal file
BIN
mods/biomes/badland/schematics/puit_1.mts
Normal file
BIN
mods/biomes/badland/schematics/racine_1.mts
Normal file
BIN
mods/biomes/badland/textures/badland_bowl.png
Normal file
After Width: | Height: | Size: 192 B |
BIN
mods/biomes/badland/textures/badland_grass.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
mods/biomes/badland/textures/badland_grass_1.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
mods/biomes/badland/textures/badland_grass_2.png
Normal file
After Width: | Height: | Size: 5 KiB |
BIN
mods/biomes/badland/textures/badland_grass_3.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
mods/biomes/badland/textures/badland_grass_4.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
mods/biomes/badland/textures/badland_grass_5.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
mods/biomes/badland/textures/badland_grass_side.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
mods/biomes/badland/textures/badland_leaves.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
mods/biomes/badland/textures/badland_leaves_2.png
Normal file
After Width: | Height: | Size: 274 B |
BIN
mods/biomes/badland/textures/badland_leaves_3.png
Normal file
After Width: | Height: | Size: 451 B |
BIN
mods/biomes/badland/textures/badland_mushroom_bowl.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
mods/biomes/badland/textures/badland_pumpkin_fruit_side.png
Normal file
After Width: | Height: | Size: 203 B |
BIN
mods/biomes/badland/textures/badland_pumpkin_fruit_side_off.png
Normal file
After Width: | Height: | Size: 222 B |
BIN
mods/biomes/badland/textures/badland_pumpkin_fruit_side_on.png
Normal file
After Width: | Height: | Size: 258 B |
BIN
mods/biomes/badland/textures/badland_pumpkin_fruit_top.png
Normal file
After Width: | Height: | Size: 218 B |
BIN
mods/biomes/badland/textures/badland_sapling.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
mods/biomes/badland/textures/badland_sapling_1.png
Normal file
After Width: | Height: | Size: 363 B |
BIN
mods/biomes/badland/textures/badland_sapling_2.png
Normal file
After Width: | Height: | Size: 342 B |
BIN
mods/biomes/badland/textures/badland_sapling_3.png
Normal file
After Width: | Height: | Size: 365 B |
BIN
mods/biomes/badland/textures/badland_scarecrow.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
mods/biomes/badland/textures/badland_scarecrow_item.png
Normal file
After Width: | Height: | Size: 383 B |
BIN
mods/biomes/badland/textures/badland_trapdoor.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
mods/biomes/badland/textures/badland_trapdoor_side.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
mods/biomes/badland/textures/badland_tree.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
mods/biomes/badland/textures/badland_tree_top.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
mods/biomes/badland/textures/badland_wood.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
mods/biomes/badland/textures/badland_wood_fence.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
mods/biomes/badland/textures/brown_mushroom_2.png
Normal file
After Width: | Height: | Size: 169 B |
BIN
mods/biomes/badland/textures/brown_mushroom_3.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
mods/biomes/badland/textures/brown_mushroom_4.png
Normal file
After Width: | Height: | Size: 449 B |
BIN
mods/biomes/badland/textures/doors_badland_door.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
mods/biomes/badland/textures/doors_item_badland.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
mods/biomes/badland/textures/jack_o_lantern_bigeyes.png
Normal file
After Width: | Height: | Size: 542 B |
BIN
mods/biomes/badland/textures/toadstool.png
Normal file
After Width: | Height: | Size: 291 B |
58
mods/biomes/biomes_leafdecay/init.lua
Normal file
|
@ -0,0 +1,58 @@
|
|||
default.register_leafdecay({
|
||||
trunks = {"badland:badland_tree"},
|
||||
leaves = {
|
||||
"badland:badland_leaves",
|
||||
"badland:badland_leaves_2",
|
||||
"badland:badland_leaves_3",
|
||||
},
|
||||
radius = 3,
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {
|
||||
"default:aspen_tree",
|
||||
"default:tree",
|
||||
},
|
||||
leaves = {
|
||||
"default:aspen_leaves",
|
||||
"default:apple",
|
||||
"default:leaves",
|
||||
"ethereal:orange",
|
||||
"ethereal:orange_leaves",
|
||||
"ethereal:lemon",
|
||||
"ethereal:lemon_leaves",
|
||||
"dorwinion:dorwinion_leaves",
|
||||
"dorwinion:dorwinion_glow_leaves",
|
||||
"prairie:prairie_leaves_1",
|
||||
"prairie:prairie_leaves_2",
|
||||
},
|
||||
radius = 3,
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"frost_land:frost_land_tree"},
|
||||
leaves = {
|
||||
"frost_land:frost_land_leaves_1",
|
||||
"frost_land:frost_land_leaves_2",
|
||||
},
|
||||
radius = 3,
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"japaneseforest:japanese_tree"},
|
||||
leaves = {
|
||||
"japaneseforest:japanese_leaves_1",
|
||||
"japaneseforest:japanese_leaves_2",
|
||||
"japaneseforest:japanese_leaves_3",
|
||||
},
|
||||
radius = 3,
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"nightshade:nightshade_tree"},
|
||||
leaves = {
|
||||
"nightshade:nightshade_leaves_1",
|
||||
"nightshade:nightshade_glowin_leaves_1",
|
||||
},
|
||||
radius = 3,
|
||||
})
|
3
mods/biomes/biomes_leafdecay/mod.conf
Normal file
|
@ -0,0 +1,3 @@
|
|||
name = biomes_leafdecay
|
||||
author = EmptyStar
|
||||
depends = default, ethereal, badland, dorwinion, frost_land, japaneseforest, nightshade, prairie
|
1
mods/biomes/description.txt
Normal file
|
@ -0,0 +1 @@
|
|||
Add many biomes,trees and decorative block.
|
116
mods/biomes/dorwinion/cave.lua
Normal file
|
@ -0,0 +1,116 @@
|
|||
local mpath = minetest.get_modpath("dorwinion")
|
||||
|
||||
local dorwinion_surface = {
|
||||
"dorwinion:dorwinion_grass",
|
||||
"dorwinion:dorwinion_brick",
|
||||
"dorwinion:dorwinion_brick_cracked",
|
||||
"dorwinion:dorwinion_brick_with_moss",
|
||||
"dorwinion:dorwinion_brick_with_flowers",
|
||||
}
|
||||
local dorwinion_ceiling = {
|
||||
"dorwinion:dorwinion",
|
||||
"dorwinion:dorwinion_brick",
|
||||
"dorwinion:dorwinion_brick_cracked",
|
||||
"dorwinion:dorwinion_brick_with_moss",
|
||||
"dorwinion:dorwinion_brick_with_flowers",
|
||||
"everness:moss_block",
|
||||
}
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = "default:stone",
|
||||
sidelen = 80,
|
||||
fill_ratio = 10,
|
||||
biomes = asuna.features.cave.dorwinion,
|
||||
y_max = 0,
|
||||
y_min = -31000,
|
||||
place_offset_y = -1,
|
||||
decoration = dorwinion_surface,
|
||||
flags = "all_floors,force_placement",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = dorwinion_surface,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.5125,
|
||||
biomes = asuna.features.cave.dorwinion,
|
||||
y_max = 0,
|
||||
y_min = -31000,
|
||||
place_offset_y = -1,
|
||||
decoration = "dorwinion:dorwinion_grass",
|
||||
flags = "all_floors,force_placement",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = "default:stone",
|
||||
sidelen = 80,
|
||||
fill_ratio = 10,
|
||||
biomes = asuna.features.cave.dorwinion,
|
||||
y_max = 0,
|
||||
y_min = -31000,
|
||||
place_offset_y = -1,
|
||||
decoration = dorwinion_ceiling,
|
||||
flags = "all_ceilings,force_placement",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
sidelen = 80,
|
||||
place_on = dorwinion_surface,
|
||||
fill_ratio = 0.00275,
|
||||
biomes = asuna.features.cave.dorwinion,
|
||||
y_max = 0,
|
||||
y_min = -31000,
|
||||
decoration = {
|
||||
"dorwinion:dorwinion_leaves",
|
||||
"dorwinion:dorwinion_glow_leaves",
|
||||
},
|
||||
flags = "all_floors",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
sidelen = 80,
|
||||
place_on = dorwinion_ceiling,
|
||||
fill_ratio = 0.00275,
|
||||
biomes = asuna.features.cave.dorwinion,
|
||||
y_max = 0,
|
||||
y_min = -31000,
|
||||
decoration = {
|
||||
"dorwinion:dorwinion_leaves",
|
||||
"dorwinion:dorwinion_glow_leaves",
|
||||
},
|
||||
flags = "all_ceilings",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
sidelen = 80,
|
||||
place_on = "dorwinion:dorwinion_brick",
|
||||
fill_ratio = 0.015,
|
||||
biomes = asuna.features.cave.dorwinion,
|
||||
y_max = 0,
|
||||
y_min = -31000,
|
||||
height = 2,
|
||||
height_max = 3,
|
||||
decoration = {
|
||||
"dorwinion:dorwinion_brick",
|
||||
"dorwinion:dorwinion_brick_with_flowers",
|
||||
},
|
||||
flags = "all_floors",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "schematic",
|
||||
sidelen = 80,
|
||||
place_on = dorwinion_surface,
|
||||
fill_ratio = 0.0005,
|
||||
biomes = asuna.features.cave.dorwinion,
|
||||
y_max = 0,
|
||||
y_min = -31000,
|
||||
schematic = mpath .. "/schematics/ruins.mts",
|
||||
rotation = "random",
|
||||
flags = "all_floors,place_center_x,place_center_z",
|
||||
})
|
BIN
mods/biomes/dorwinion/donjon.png
Normal file
After Width: | Height: | Size: 884 KiB |
8
mods/biomes/dorwinion/init.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
local default_path = minetest.get_modpath("dorwinion")
|
||||
|
||||
dofile(default_path.."/nodes.lua")
|
||||
dofile(default_path.."/mapgen.lua")
|
||||
dofile(default_path.."/moreblocks.lua")
|
||||
dofile(default_path.."/stairs.lua")
|
||||
dofile(default_path.."/walls.lua")
|
||||
dofile(default_path.."/cave.lua")
|
26
mods/biomes/dorwinion/license.txt
Normal file
|
@ -0,0 +1,26 @@
|
|||
License
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Copyright (C) 2021-2022: Atlante - AFL-1.1
|
||||
License for code: AFL-1.1
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
ShareAlike — If you remix, transform, or build upon the material, you must distribute
|
||||
your contributions under the same license as the original.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Anyone can fix the mod. My Discord "Atlante#1952" And my Mail Address "AtlanteEtDocteur@gmail.com"
|
||||
|
||||
|
||||
----
|
||||
|
||||
The following textures are made by EmptyStar, licensed [CC0](https://creativecommons.org/publicdomain/zero/1.0/)
|
||||
|
||||
- textures/dorwinion_sapling_1.png
|
||||
- textures/dorwinion_sapling_2.png
|
||||
- textures/dorwinion_sapling_3.png
|
||||
- textures/dorwinion_sapling_4.png
|
275
mods/biomes/dorwinion/mapgen.lua
Normal file
|
@ -0,0 +1,275 @@
|
|||
local mpath = minetest.get_modpath("dorwinion")
|
||||
local dpath = minetest.get_modpath("default")
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:tree_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 3,
|
||||
schematic = mpath.."/schematics/tree_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:tree_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.001225,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 3,
|
||||
schematic = mpath.."/schematics/tree_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:ruins",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.000222,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 2,
|
||||
schematic = mpath.."/schematics/ruins.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:bush_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.015265,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 2,
|
||||
schematic = mpath.."/schematics/bush_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:tree_3",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.001265,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 3,
|
||||
schematic = mpath.."/schematics/tree_3.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:tree_4",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 3,
|
||||
schematic = mpath.."/schematics/tree_4.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
local did_dorwinion = minetest.get_decoration_id('dorwinion:tree_4')
|
||||
minetest.set_gen_notify('decoration',{ did_dorwinion })
|
||||
did_dorwinion = 'decoration#' .. did_dorwinion
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp)
|
||||
if maxp.y > 4 then
|
||||
--
|
||||
-- Large Dorwinion Tree - fix light
|
||||
--
|
||||
local gennotify = minetest.get_mapgen_object('gennotify')
|
||||
for _, pos in ipairs(gennotify[did_dorwinion] or {}) do
|
||||
minetest.after(0.2,function() minetest.fix_light(pos:offset(-16, -1, -16), pos:offset(16, 39, 16)) end)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:tree_5",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 3,
|
||||
schematic = mpath.."/schematics/tree_5.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "dorwinion:aspen_tree",
|
||||
deco_type = "schematic",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"dorwinion"},
|
||||
y_max = 31000,
|
||||
y_min = 3,
|
||||
schematic = dpath.."/schematics/aspen_tree.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.3,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"default:grass_1", "default:grass_2",
|
||||
"default:grass_3", "default:grass_4",
|
||||
"default:grass_5",
|
||||
}
|
||||
})
|
||||
|
||||
--[[minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.05,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"flowers:rose", "flowers:dandelion_yellow",
|
||||
"flowers:dandelion_white", "flowers:chryssanthemum_green",
|
||||
"flowers:mushroom_brown",
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.05,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"flowers:dandelion_yellow",
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.05,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"flowers:dandelion_white",
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.05,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"flowers:chryssanthemum_green",
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.01,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"flowers:mushroom_brown",
|
||||
}
|
||||
})]]
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.08,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"dorwinion:dorwinion_leaves",
|
||||
}
|
||||
})
|
||||
|
||||
--[[minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.05,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"butterflies:butterfly_white", "butterflies:butterfly_red", "butterflies:butterfly_violet",
|
||||
}
|
||||
})]]
|
||||
|
||||
--[[minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.02,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"japaneseforest:red_firefly", "japaneseforest:green_firefly", "fireflies:firefly",
|
||||
}
|
||||
})]]
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"dorwinion:dorwinion_grass", "default:aspen_tree"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.02,
|
||||
biomes = {"dorwinion"},
|
||||
decoration = {
|
||||
"dorwinion:dorwinion_glow_leaves",
|
||||
}
|
||||
})
|
||||
|
||||
-- dorwinion
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = "dorwinion:dorwinion",
|
||||
wherein = {"default:dirt"},
|
||||
clust_scarcity = 16 * 16 * 16,
|
||||
clust_size = 5,
|
||||
y_max = -50,
|
||||
y_min = -31000,
|
||||
noise_threshold = 0.0,
|
||||
noise_params = {
|
||||
offset = 0.5,
|
||||
biomes = {"dorwinion"},
|
||||
scale = 0.2,
|
||||
spread = {x = 5, y = 5, z = 5},
|
||||
seed = 766,
|
||||
octaves = 1,
|
||||
persist = 0.0
|
||||
},
|
||||
})
|
7
mods/biomes/dorwinion/mod.conf
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
author = Atlante
|
||||
name = dorwinion
|
||||
description = Adds a Dorwinion biome with a few more objects.
|
||||
title = Dorwinion
|
||||
depends = default, japaneseforest, prairie
|
||||
optional_depends = stairs
|
50
mods/biomes/dorwinion/moreblocks.lua
Normal file
|
@ -0,0 +1,50 @@
|
|||
-----------------Moreblock
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
|
||||
stairsplus:register_all("dorwinion_brick", "stone", "dorwinion:dorwinion_brick", {
|
||||
description = "Dorwinion Brick",
|
||||
tiles = {"dorwinion_brick.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("dorwinion", "stone", "dorwinion:dorwinion", {
|
||||
description = "Dorwinion",
|
||||
tiles = {"dorwinion.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("dorwinion_carved", "stone", "dorwinion:dorwinion_carved", {
|
||||
description = "Dorwinion Carved",
|
||||
tiles = {"dorwinion_carved.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("dorwinion_brick_cracked", "stone", "dorwinion:dorwinion_brick_cracked", {
|
||||
description = "Dorwinion Brick Cracked",
|
||||
tiles = {"dorwinion_brick_cracked.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("dorwinion_brick_with_flowers", "stone", "dorwinion:dorwinion_brick_with_flowers", {
|
||||
description = "Dorwinion Brick With Flowers",
|
||||
tiles = {"dorwinion_brick_with_flowers.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("dorwinion_brick_with_moss", "stone", "dorwinion:dorwinion_brick_with_moss", {
|
||||
description = "Dorwinion Brick With Moss",
|
||||
tiles = {"dorwinion_brick_with_moss.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
269
mods/biomes/dorwinion/nodes.lua
Normal file
|
@ -0,0 +1,269 @@
|
|||
minetest.register_node("dorwinion:dorwinion_brick", {
|
||||
description = "Dorwninion Brick",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"dorwinion_brick.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "dorwinion:dorwinion_brick 4",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion", "dorwinion:dorwinion"},
|
||||
{"dorwinion:dorwinion", "dorwinion:dorwinion"},
|
||||
}
|
||||
})
|
||||
minetest.register_node("dorwinion:dorwinion_brick_with_flowers", {
|
||||
description = "Dorwninion Brick With Flowers",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"dorwinion_brick_with_flowers.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "dorwinion:dorwinion_brick_with_flowers 2",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion_brick", "flowers:rose"},
|
||||
{"dorwinion:dorwinion_brick", "flowers:rose"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("dorwinion:dorwinion_brick_with_moss", {
|
||||
description = "Dorwninion Brick With Moss",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"dorwinion_brick_with_moss.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "dorwinion:dorwinion_brick_with_moss 3",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion_brick", "bucket:bucket_water"},
|
||||
{"dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("dorwinion:dorwinion_carved", {
|
||||
description = "Dorwninion Carved",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"dorwinion_carved.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "dorwinion:dorwinion_carved 4",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick_cracked"},
|
||||
{"dorwinion:dorwinion_brick_cracked", "dorwinion:dorwinion_brick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("dorwinion:dorwinion_brick_cracked", {
|
||||
description = "Dorwninion Brick Cracked",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"dorwinion_brick_cracked.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "dorwinion:dorwinion_brick_cracked 4",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick"},
|
||||
{"dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("dorwinion:dorwinion", {
|
||||
description = "Dorwninion",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"dorwinion.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("dorwinion:dorwinion_leaves", {
|
||||
description = "Dorwinion Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"dorwinion_leaves.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"dorwinion:dorwinion_sapling_1"}, rarity = 80},
|
||||
{items = {"dorwinion:dorwinion_sapling_2"}, rarity = 80},
|
||||
{items = {"dorwinion:dorwinion_sapling_3"}, rarity = 80},
|
||||
{items = {"dorwinion:dorwinion_sapling_4"}, rarity = 80},
|
||||
{items = {"dorwinion:dorwinion_leaves"}} -- ~95% chance for leaves
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = default.after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("dorwinion:dorwinion_glow_leaves", {
|
||||
description = "Dorwinion Glowing Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"dorwinion_glow_leaves.png"},
|
||||
paramtype = "light",
|
||||
light_source = 10,
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"dorwinion:dorwinion_glow_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = default.after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("dorwinion:dorwinion_grass", {
|
||||
description = "Dorwinion Grass",
|
||||
tiles = {"dorwinion_grass.png", "dorwinion.png",
|
||||
{name = "dorwinion.png^dorwinion_grass_side.png",
|
||||
tileable_vertical = false}},
|
||||
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
|
||||
drop = "dorwinion:dorwinion",
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||
}),
|
||||
})
|
||||
|
||||
local modpath = minetest.get_modpath("dorwinion")
|
||||
local leaves = "dorwinion:dorwinion_leaves"
|
||||
local stick = "default:stick"
|
||||
|
||||
local trees = {
|
||||
{
|
||||
name = "Short Aspen",
|
||||
recipe = {
|
||||
{leaves, leaves, leaves},
|
||||
{leaves, stick, leaves},
|
||||
{"", stick, ""},
|
||||
},
|
||||
grow_function = function(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-4, y = pos.y, z = pos.z-3}, modpath.."/schematics/tree_2.mts", "0", nil, false)
|
||||
end,
|
||||
},
|
||||
{
|
||||
name = "Tall Aspen",
|
||||
recipe = {
|
||||
{leaves, leaves, leaves},
|
||||
{stick, leaves, stick},
|
||||
{"", stick, ""},
|
||||
},
|
||||
grow_function = function(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-12, y = pos.y, z = pos.z-12}, modpath.."/schematics/tree_4.mts", "0", nil, false)
|
||||
end,
|
||||
},
|
||||
{
|
||||
name = "Short Oak",
|
||||
recipe = {
|
||||
{"", leaves, ""},
|
||||
{leaves, leaves, leaves},
|
||||
{"", stick, ""},
|
||||
},
|
||||
grow_function = function(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-5, y = pos.y, z = pos.z-5}, modpath.."/schematics/tree_3.mts", "0", nil, false)
|
||||
end,
|
||||
},
|
||||
{
|
||||
name = "Tall Oak",
|
||||
recipe = {
|
||||
{"", leaves, ""},
|
||||
{leaves, stick, leaves},
|
||||
{"", stick, ""},
|
||||
},
|
||||
grow_function = function(pos)
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-4, y = pos.y, z = pos.z-4}, modpath.."/schematics/tree_5.mts", "0", nil, false)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
local mod_bonemeal = minetest.get_modpath("bonemeal")
|
||||
|
||||
for index,def in ipairs(trees) do
|
||||
local sapling = "dorwinion:dorwinion_sapling_" .. index
|
||||
local image = "dorwinion_sapling_" .. index .. ".png"
|
||||
|
||||
-- Register sapling
|
||||
minetest.register_node(sapling, {
|
||||
description = def.name .. " Dorwinion Sapling",
|
||||
drawtype = "plantlike",
|
||||
tiles = {image},
|
||||
inventory_image = image,
|
||||
wield_image = image,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
on_timer = function(pos)
|
||||
if not default.can_grow(pos) then
|
||||
-- try a bit later again
|
||||
minetest.get_node_timer(pos):start(math.random(240, 600))
|
||||
else
|
||||
minetest.remove_node(pos)
|
||||
def.grow_function(pos)
|
||||
end
|
||||
end,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
|
||||
},
|
||||
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
|
||||
attached_node = 1, sapling = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
on_construct = function(pos)
|
||||
minetest.get_node_timer(pos):start(math.random(300, 1500))
|
||||
end,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
|
||||
sapling,
|
||||
-- minp, maxp to be checked, relative to sapling pos
|
||||
{x = -1, y = 0, z = -1},
|
||||
{x = 1, y = 1, z = 1},
|
||||
-- maximum interval of interior volume check
|
||||
2)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register sapling crafting recipe
|
||||
minetest.register_craft({
|
||||
output = sapling,
|
||||
recipe = def.recipe,
|
||||
})
|
||||
|
||||
-- Add bonemeal integration if supported
|
||||
if mod_bonemeal then
|
||||
bonemeal:add_sapling({
|
||||
{sapling, def.grow_function, "soil"},
|
||||
})
|
||||
end
|
||||
end
|
BIN
mods/biomes/dorwinion/schematics/bush_1.mts
Normal file
BIN
mods/biomes/dorwinion/schematics/dorwinion.mts
Normal file
BIN
mods/biomes/dorwinion/schematics/ruins.mts
Normal file
BIN
mods/biomes/dorwinion/schematics/tree_1.mts
Normal file
BIN
mods/biomes/dorwinion/schematics/tree_2.mts
Normal file
BIN
mods/biomes/dorwinion/schematics/tree_3.mts
Normal file
BIN
mods/biomes/dorwinion/schematics/tree_4.mts
Normal file
BIN
mods/biomes/dorwinion/schematics/tree_5.mts
Normal file
56
mods/biomes/dorwinion/stairs.lua
Normal file
|
@ -0,0 +1,56 @@
|
|||
if minetest.get_modpath("stairs") then
|
||||
stairs.register_stair_and_slab(
|
||||
"dorwinion",
|
||||
"dorwinion:dorwinion",
|
||||
{cracky = 3},
|
||||
{"dorwinion.png"},
|
||||
"Dorwinion Stair",
|
||||
"Dorwinion Slab",
|
||||
default.node_sound_stone_defaults(),
|
||||
true
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"dorwinion_brick",
|
||||
"dorwinion:dorwinion_brick",
|
||||
{cracky = 3},
|
||||
{"dorwinion_brick.png"},
|
||||
"Dorwinion Brick Stair",
|
||||
"Dorwinion Brick Slab",
|
||||
default.node_sound_stone_defaults(),
|
||||
true
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"dorwinion_brick_with_flowers",
|
||||
"dorwinion:dorwinion_brick_with_flowers",
|
||||
{cracky = 3},
|
||||
{"dorwinion_brick_with_flowers.png"},
|
||||
"Dorwinion Brick With Flowers Stair",
|
||||
"Dorwinion Brick With Flowers Slab",
|
||||
default.node_sound_stone_defaults(),
|
||||
true
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"dorwinion_brick_with_moss",
|
||||
"dorwinion:dorwinion_brick_with_moss",
|
||||
{cracky = 3},
|
||||
{"dorwinion_brick_with_moss.png"},
|
||||
"Dorwinion Brick With Moss Stair",
|
||||
"Dorwinion Brick With Moss Slab",
|
||||
default.node_sound_stone_defaults(),
|
||||
true
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"dorwinion_carved",
|
||||
"dorwinion:dorwinion_carved",
|
||||
{cracky = 3},
|
||||
{"dorwinion_carved.png"},
|
||||
"Dorwinion Carved Stair",
|
||||
"Dorwinion Carved Slab",
|
||||
default.node_sound_stone_defaults(),
|
||||
true
|
||||
)
|
||||
end
|
BIN
mods/biomes/dorwinion/textures/dorwinion.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
mods/biomes/dorwinion/textures/dorwinion_brick.png
Normal file
After Width: | Height: | Size: 618 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_brick_cracked.png
Normal file
After Width: | Height: | Size: 839 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_brick_with_flowers.png
Normal file
After Width: | Height: | Size: 777 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_brick_with_moss.png
Normal file
After Width: | Height: | Size: 821 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_carved.png
Normal file
After Width: | Height: | Size: 619 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_glow_leaves.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
mods/biomes/dorwinion/textures/dorwinion_grass.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
mods/biomes/dorwinion/textures/dorwinion_grass_side.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
mods/biomes/dorwinion/textures/dorwinion_leaves.png
Normal file
After Width: | Height: | Size: 6 KiB |
BIN
mods/biomes/dorwinion/textures/dorwinion_sapling_1.png
Normal file
After Width: | Height: | Size: 345 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_sapling_2.png
Normal file
After Width: | Height: | Size: 531 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_sapling_3.png
Normal file
After Width: | Height: | Size: 414 B |
BIN
mods/biomes/dorwinion/textures/dorwinion_sapling_4.png
Normal file
After Width: | Height: | Size: 415 B |
40
mods/biomes/dorwinion/walls.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
if minetest.get_modpath("walls") then
|
||||
|
||||
|
||||
walls.register(":walls:dorwinion_brick", "Dorwinion Brick Wall", "dorwinion_brick.png",
|
||||
"dorwinion:dorwinion_brick", default.node_sound_stone_defaults())
|
||||
|
||||
walls.register(":walls:dorwinion_carved", "Dorwinion Carved Wall", "dorwinion_carved.png",
|
||||
"dorwinion:dorwinion_carved", default.node_sound_stone_defaults())
|
||||
|
||||
walls.register(":walls:dorwinion_brick_with_moss", "Dorwinion Brick With Moss Wall", "dorwinion_brick_with_moss.png",
|
||||
"dorwinion:dorwinion_brick_with_moss", default.node_sound_stone_defaults())
|
||||
|
||||
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "walls:dorwinion_brick 6",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick"},
|
||||
{"dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick", "dorwinion:dorwinion_brick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "walls:dorwinion_carved 6",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion_carved", "dorwinion:dorwinion_carved", "dorwinion:dorwinion_carved"},
|
||||
{"dorwinion:dorwinion_carved", "dorwinion:dorwinion_carved", "dorwinion:dorwinion_carved"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "walls:dorwinion_brick_with_moss 6",
|
||||
recipe = {
|
||||
{"dorwinion:dorwinion_brick_with_moss", "dorwinion:dorwinion_brick_with_moss", "dorwinion:dorwinion_brick_with_moss"},
|
||||
{"dorwinion:dorwinion_brick_with_moss", "dorwinion:dorwinion_brick_with_moss", "dorwinion:dorwinion_brick_with_moss"},
|
||||
}
|
||||
})
|
||||
|
||||
|
2
mods/biomes/frost_land/README.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
# frost_land
|
||||
A simple and pleasant little mod, which adds a Frost Land biome with a few more objects.
|
15
mods/biomes/frost_land/crafting.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
------------Crafting
|
||||
minetest.register_craft({
|
||||
output = "frost_land:frost_land_wood 4",
|
||||
recipe = {
|
||||
{"frost_land:frost_land_tree"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "frost_land:frost_land_trapdoor 2",
|
||||
recipe = {
|
||||
{"nightshade:nightshade_wood", "nightshade:nightshade_wood", "nightshade:nightshade_wood"},
|
||||
{"nightshade:nightshade_wood", "nightshade:nightshade_wood", "nightshade:nightshade_wood"},
|
||||
}
|
||||
})
|
343
mods/biomes/frost_land/fireflies.lua
Normal file
|
@ -0,0 +1,343 @@
|
|||
|
||||
--------------------------------------------------------------------------------------------------------------------------------
|
||||
minetest.register_node("frost_land:blue_firefly", {
|
||||
description = "Blue Firefly",
|
||||
drawtype = "plantlike",
|
||||
tiles = {{
|
||||
name = "frost_land_blue_firefly_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
}},
|
||||
inventory_image = "frost_land_blue_firefly.png",
|
||||
wield_image = "frost_land_blue_firefly.png",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
buildable_to = true,
|
||||
walkable = false,
|
||||
groups = {catchable = 1},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
|
||||
},
|
||||
light_source = 6,
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:blue_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) > 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_blue_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("frost_land:hidden_blue_firefly", {
|
||||
description = "Hidden Blue Firefly",
|
||||
drawtype = "airlike",
|
||||
inventory_image = "frost_land_blue_firefly.png^default_invisible_node_overlay.png",
|
||||
wield_image = "frost_land_blue_firefly.png^default_invisible_node_overlay.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_blue_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) <= 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:blue_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------
|
||||
minetest.register_node("frost_land:pink_firefly", {
|
||||
description = "Pink Firefly",
|
||||
drawtype = "plantlike",
|
||||
tiles = {{
|
||||
name = "frost_land_pink_firefly_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
}},
|
||||
inventory_image = "frost_land_pink_firefly.png",
|
||||
wield_image = "frost_land_pink_firefly.png",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
buildable_to = true,
|
||||
walkable = false,
|
||||
groups = {catchable = 1},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
|
||||
},
|
||||
light_source = 6,
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:pink_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) > 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_pink_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("frost_land:hidden_pink_firefly", {
|
||||
description = "Hidden Pink Firefly",
|
||||
drawtype = "airlike",
|
||||
inventory_image = "frost_land_pink_firefly.png^default_invisible_node_overlay.png",
|
||||
wield_image = "frost_land_pink_firefly.png^default_invisible_node_overlay.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_pink_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) <= 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:pink_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------
|
||||
minetest.register_node("frost_land:cyan_firefly", {
|
||||
description = "Cyan Firefly",
|
||||
drawtype = "plantlike",
|
||||
tiles = {{
|
||||
name = "frost_land_cyan_firefly_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
}},
|
||||
inventory_image = "frost_land_cyan_firefly.png",
|
||||
wield_image = "frost_land_cyan_firefly.png",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
buildable_to = true,
|
||||
walkable = false,
|
||||
groups = {catchable = 1},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
|
||||
},
|
||||
light_source = 6,
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:cyan_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) > 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_cyan_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("frost_land:hidden_cyan_firefly", {
|
||||
description = "Hidden Cyan Firefly",
|
||||
drawtype = "airlike",
|
||||
inventory_image = "frost_land_cyan_firefly.png^default_invisible_node_overlay.png",
|
||||
wield_image = "frost_land_cyan_firefly.png^default_invisible_node_overlay.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_cyan_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) <= 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:cyan_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------
|
||||
minetest.register_node("frost_land:white_firefly", {
|
||||
description = "White Firefly",
|
||||
drawtype = "plantlike",
|
||||
tiles = {{
|
||||
name = "frost_land_white_firefly_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
}},
|
||||
inventory_image = "frost_land_white_firefly.png",
|
||||
wield_image = "frost_land_white_firefly.png",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
buildable_to = true,
|
||||
walkable = false,
|
||||
groups = {catchable = 1},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
|
||||
},
|
||||
light_source = 6,
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:white_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) > 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_white_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("frost_land:hidden_white_firefly", {
|
||||
description = "Hidden White Firefly",
|
||||
drawtype = "airlike",
|
||||
inventory_image = "frost_land_white_firefly.png^default_invisible_node_overlay.png",
|
||||
wield_image = "frost_land_white_firefly.png^default_invisible_node_overlay.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "frost_land:hidden_white_firefly"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) <= 11 then
|
||||
minetest.set_node(pos, {name = "frost_land:white_firefly"})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:snow"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.02,
|
||||
biomes = {"frost_land"},
|
||||
decoration = {
|
||||
"frost_land:white_firefly", "frost_land:cyan_firefly", "frost_land:blue_firefly", "frost_land:pink_firefly",
|
||||
}
|
||||
})
|
BIN
mods/biomes/frost_land/frost_land.png
Normal file
After Width: | Height: | Size: 1 MiB |
7
mods/biomes/frost_land/init.lua
Normal file
|
@ -0,0 +1,7 @@
|
|||
local default_path = minetest.get_modpath("frost_land")
|
||||
|
||||
dofile(default_path.."/nodes.lua")
|
||||
dofile(default_path.."/mapgen.lua")
|
||||
--dofile(default_path.."/fireflies.lua")
|
||||
dofile(default_path.."/moreblocks.lua")
|
||||
dofile(default_path.."/crafting.lua")
|
18
mods/biomes/frost_land/license.txt
Normal file
|
@ -0,0 +1,18 @@
|
|||
License
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Copyright (C) 2021-2022: Atlante - AFL-1.1
|
||||
License for code: AFL-1.1
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
ShareAlike — If you remix, transform, or build upon the material, you must distribute
|
||||
your contributions under the same license as the original.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Anyone can fix the mod. My Discord "Atlante#1952" And my Mail Address "AtlanteEtDocteur@gmail.com"
|
||||
|
||||
|
158
mods/biomes/frost_land/mapgen.lua
Normal file
|
@ -0,0 +1,158 @@
|
|||
-- Frost Land
|
||||
|
||||
minetest.register_biome(asuna.biomes.frost_land.generate_definition())
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:frost_tree_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.001265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/frost_tree_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:frost_tree_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.001265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/frost_tree_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:frost_tree_3",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.001265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/frost_tree_3.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:ice_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/ice_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:ice_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/ice_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:ice_3",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/ice_3.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:tree_4",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/tree_4.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:tree_5",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/tree_5.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:igloo",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = -2,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.000165,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/igloo.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "frost_land:bush",
|
||||
deco_type = "schematic",
|
||||
place_on = {"frost_land:frost_land_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002165,
|
||||
biomes = {"frost_land"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("frost_land").."/schematics/bush.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
|
||||
|
8
mods/biomes/frost_land/mod.conf
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
author = Atlante
|
||||
name = frost_land
|
||||
|
||||
description = Adds a frost_land biome with a few more objects.
|
||||
title = Frost Land
|
||||
depends = default
|
||||
optional_depends = moreblocks, bonemeal
|
21
mods/biomes/frost_land/moreblocks.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
-----------------Moreblock
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
|
||||
stairsplus:register_all("frost_land_wood", "wood", "frost_land:frost_land_wood", {
|
||||
description = "Frost Land Wood",
|
||||
tiles = {"frost_land_wood.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("frost_land_tree", "tree", "frost_land:frost_land_tree", {
|
||||
description = "Japanese Tree",
|
||||
tiles = {"frost_land_tree_top.png", "frost_land_tree_top.png",
|
||||
"frost_land_tree.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
|
||||
|
||||
end
|