Floral Update
This commit is contained in:
parent
fbaf264732
commit
f12c3aafc7
@ -1,5 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
## [Jun 12th 2024] Update: Floral Update
|
||||
|
||||
- Add a bunch of flora to finish dyes
|
||||
- Added `colored` group
|
||||
- Black blocks no longer give players heart attacks (They were just too dark.)
|
||||
- Rename grassy hills to meadow
|
||||
- Flowers now spawn in meadows
|
||||
|
||||
## [Jul 11th - Jul 12th 2024] Update: Smithing Update
|
||||
|
||||
- Updated Unified Inventory and Mobs Redo
|
||||
|
@ -405,84 +405,6 @@ PyuTestCore.make_node("pyutest_core:glass", "Glass", {
|
||||
sunlight_propagates = true
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:flower", "Rose", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {"flower.png"}, {
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
buildable_to = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = "flower.png"
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:flower2", "Dandelion", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {"flower2.png"}, {
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
buildable_to = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = "flower2.png"
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:flower3", "Blue Daisy", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {"flower3.png"}, {
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
buildable_to = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = "flower3.png"
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:flower4", "Lavender", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {"flower4.png"}, {
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
buildable_to = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = "flower4.png"
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:deadbush", "Deadbush", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {"deadbush.png"}, {
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
buildable_to = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = "deadbush.png"
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:grass_plant", "Grass", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {"grass-plant.png"}, {
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
buildable_to = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = "grass-plant.png"
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:tree_sapling", "Tree Sapling", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
@ -522,18 +444,6 @@ PyuTestCore.make_node("pyutest_core:tree_sapling", "Tree Sapling", {
|
||||
end
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:sugarcane", "Sugarcane", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {"sugarcane.png"}, {
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = "sugarcane.png"
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:trapdoor", "Trapdoor", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_CHOPPY,
|
||||
flammable = 1
|
||||
@ -655,20 +565,6 @@ PyuTestCore.make_node("pyutest_core:ladder", "Ladder", {
|
||||
}
|
||||
})
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:lilypad", "Lily Pad", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT
|
||||
}, {"lilypad.png"}, {
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -31/64, -0.5, 0.5, -15/32, 0.5}
|
||||
},
|
||||
})
|
||||
|
||||
PyuTestCore.make_liquid = function (name, desc, groups, texture, speed, extra_conf)
|
||||
local function make_liquid_flags(liquidtype)
|
||||
local drawtype = ""
|
||||
|
@ -144,38 +144,6 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "pyutest_core:red_dye",
|
||||
recipe = {
|
||||
"pyutest_core:flower"
|
||||
},
|
||||
type = "shapeless"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "pyutest_core:yellow_dye",
|
||||
recipe = {
|
||||
"pyutest_core:flower2"
|
||||
},
|
||||
type = "shapeless"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "pyutest_core:blue_dye",
|
||||
recipe = {
|
||||
"pyutest_core:flower3"
|
||||
},
|
||||
type = "shapeless"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "pyutest_core:purple_dye",
|
||||
recipe = {
|
||||
"pyutest_core:flower4"
|
||||
},
|
||||
type = "shapeless"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "pyutest_core:wooden_block 4",
|
||||
recipe = {
|
||||
|
62
mods/pyutest_core/flowers.lua
Normal file
62
mods/pyutest_core/flowers.lua
Normal file
@ -0,0 +1,62 @@
|
||||
PyuTestCore.registered_flowers = {}
|
||||
PyuTestCore.make_flower = function (name, desc, texture, dye, add_to_registry, drawtype, econf)
|
||||
PyuTestCore.make_node(name, desc, {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT,
|
||||
flammable = 1
|
||||
}, {texture}, PyuTestCore.util.tableconcat({
|
||||
drawtype = drawtype or "plantlike",
|
||||
walkable = false,
|
||||
waving = 1,
|
||||
buildable_to = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
inventory_image = texture
|
||||
}, econf or {}))
|
||||
|
||||
if dye ~= nil then
|
||||
minetest.register_craft({
|
||||
output = dye .. " 2",
|
||||
recipe = {name},
|
||||
type = "shapeless"
|
||||
})
|
||||
end
|
||||
|
||||
-- This is for plants like deadbushes which I do not want spawning in for say, Forests.
|
||||
if add_to_registry then
|
||||
table.insert(PyuTestCore.registered_flowers, name)
|
||||
end
|
||||
end
|
||||
|
||||
-- Plants from before the floral update
|
||||
PyuTestCore.make_flower("pyutest_core:rose", "Rose", "flower.png", "pyutest_core:red_dye", true)
|
||||
PyuTestCore.make_flower("pyutest_core:dandelion", "Dandelion", "flower2.png", "pyutest_core:yellow_dye", true)
|
||||
PyuTestCore.make_flower("pyutest_core:blue_daisy", "Blue Daisy", "flower3.png", "pyutest_core:blue_dye", true)
|
||||
PyuTestCore.make_flower("pyutest_core:lavender", "Lavender", "flower4.png", "pyutest_core:purple_dye", true)
|
||||
|
||||
minetest.register_alias("pyutest_core:flower", "pyutest_core:rose")
|
||||
minetest.register_alias("pyutest_core:flower2", "pyutest_core:dandelion")
|
||||
minetest.register_alias("pyutest_core:flower3", "pyutest_core:blue_daisy")
|
||||
minetest.register_alias("pyutest_core:flower4", "pyutest_core:lavender")
|
||||
|
||||
PyuTestCore.make_flower("pyutest_core:deadbush", "Deadbush", "deadbush.png", "pyutest_core:brown_dye")
|
||||
PyuTestCore.make_flower("pyutest_core:grass_plant", "Grass", "grass-plant.png", "pyutest_core:green_dye")
|
||||
PyuTestCore.make_flower("pyutest_core:sugarcane", "Sugarcane", "sugarcane.png", "pyutest_core:green_dye")
|
||||
|
||||
PyuTestCore.make_node("pyutest_core:lilypad", "Lily Pad", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_INSTANT
|
||||
}, {"lilypad.png"}, {
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -31/64, -0.5, 0.5, -15/32, 0.5}
|
||||
},
|
||||
})
|
||||
|
||||
-- Plants after the floral update
|
||||
|
||||
PyuTestCore.make_flower("pyutest_core:maybell", "Maybell", "maybell.png", "pyutest_core:white_dye", true)
|
||||
PyuTestCore.make_flower("pyutest_core:orange_tulip", "Orange Tulip", "orange-tulip.png", "pyutest_core:orange_dye", true)
|
@ -8,6 +8,8 @@ PyuTestCore = {
|
||||
BLOCK_BREAKABLE_VERYLONG = 2, -- Obsidian, etc.
|
||||
BLOCK_BREAKABLE_FOREVER = 1, -- Barriers.
|
||||
}
|
||||
PyuTestCore_SurfaceBottom = 1
|
||||
PyuTestCore_WorldBottom = -31000
|
||||
|
||||
PyuTestCore.get_schem_path = function (name)
|
||||
return minetest.get_modpath("pyutest_core") .. "/schematics/"..name..".mts"
|
||||
@ -20,10 +22,10 @@ dofile(PyuTestCore_Path.."/utils.lua") -- Utilities
|
||||
dofile(PyuTestCore_Path.."/blocks.lua")
|
||||
minetest.register_alias("mapgen_dirt", "pyutest_core:dirt_block")
|
||||
|
||||
dofile(PyuTestCore_Path.."/mapgen.lua")
|
||||
dofile(PyuTestCore_Path.."/items.lua")
|
||||
dofile(PyuTestCore_Path.."/tools.lua")
|
||||
dofile(PyuTestCore_Path.."/wool.lua")
|
||||
dofile(PyuTestCore_Path.."/flowers.lua")
|
||||
dofile(PyuTestCore_Path.."/player.lua")
|
||||
dofile(PyuTestCore_Path.."/lootboxes.lua")
|
||||
dofile(PyuTestCore_Path.."/ores.lua")
|
||||
@ -35,3 +37,4 @@ dofile(PyuTestCore_Path.."/crafts.lua")
|
||||
dofile(PyuTestCore_Path.."/furniture.lua")
|
||||
dofile(PyuTestCore_Path.."/furnace.lua")
|
||||
dofile(PyuTestCore_Path.."/overrides.lua")
|
||||
dofile(PyuTestCore_Path.."/mapgen.lua")
|
||||
|
@ -12,10 +12,6 @@ PyuTestCore_OceanMin = -15
|
||||
PyuTestCore_DeepOceanMax = PyuTestCore_OceanMin - 1
|
||||
PyuTestCore_DeepOceanMin = -31
|
||||
|
||||
|
||||
PyuTestCore_SurfaceBottom = 1
|
||||
PyuTestCore_WorldBottom = -31000
|
||||
|
||||
PyuTestCore_BiomeTops = {
|
||||
grassland = 40,
|
||||
forest = 45,
|
||||
@ -28,42 +24,55 @@ PyuTestCore_BiomeTops = {
|
||||
ice_spikes = 250
|
||||
}
|
||||
|
||||
PyuTestCore.register_ocean = function(name, heat_point, top_node, water_node, ground_node)
|
||||
minetest.register_biome({
|
||||
name = name.."_ocean",
|
||||
node_water = water_node or "pyutest_core:water_source",
|
||||
node_river_water = water_node or "pyutest_core:water_source",
|
||||
node_riverbed = ground_node or "pyutest_core:gravel_block",
|
||||
node_top = ground_node or "pyutest_core:gravel_block",
|
||||
node_stone = ground_node or "pyutest_core:gravel_block",
|
||||
depth_top = 3,
|
||||
node_water_top = top_node or nil,
|
||||
depth_water_top = top_node ~= nil and 5 or nil,
|
||||
y_max = 0,
|
||||
y_min = PyuTestCore_OceanMin,
|
||||
heat_point = heat_point or 50,
|
||||
humidity_point = 100
|
||||
})
|
||||
PyuTestCore.BIOME_TYPES = {
|
||||
-- Normal biomes (Forests for example)
|
||||
NORMAL = 1,
|
||||
|
||||
minetest.register_biome({
|
||||
name = name.."_deep_ocean",
|
||||
node_water = water_node or "pyutest_core:water_source",
|
||||
node_river_water = water_node or "pyutest_core:water_source",
|
||||
node_riverbed = ground_node or "pyutest_core:gravel_block",
|
||||
node_top = ground_node or "pyutest_core:gravel_block",
|
||||
node_stone = ground_node or "pyutest_core:gravel_block",
|
||||
depth_top = 3,
|
||||
node_water_top = top_node or nil,
|
||||
depth_water_top = top_node ~= nil and 5 or nil,
|
||||
y_max = PyuTestCore_DeepOceanMax,
|
||||
y_min = PyuTestCore_DeepOceanMin,
|
||||
heat_point = heat_point or 50,
|
||||
humidity_point = 100
|
||||
})
|
||||
-- Chilly biomes, but not snowy (Mushroom Fields for example)
|
||||
CHILLY = 2,
|
||||
|
||||
-- Snowy biomes (Frozen Plains for example)
|
||||
COLD = 3,
|
||||
|
||||
-- Warm biomes (Savannas for example)
|
||||
WARM = 4,
|
||||
|
||||
-- Hot biomes (Deserts for example)
|
||||
DESERT = 5,
|
||||
|
||||
-- Wasteland biomes (Wastelands and Volcano for example)
|
||||
WASTELAND = 6,
|
||||
|
||||
-- Wetland biomes (Oceans and Swamps for example)
|
||||
WETLAND = 7
|
||||
}
|
||||
|
||||
PyuTestCore.get_biomes_from_type = function(type)
|
||||
local biomes = {}
|
||||
|
||||
for k, v in pairs(minetest.registered_biomes) do
|
||||
if v._pyutest_biome_type == type then
|
||||
biomes[k] = v
|
||||
end
|
||||
end
|
||||
|
||||
return biomes
|
||||
end
|
||||
|
||||
PyuTestCore.get_flowering_biomes = function ()
|
||||
local biomes = {}
|
||||
|
||||
for k, v in pairs(minetest.registered_biomes) do
|
||||
if v._pyutest_biome_flowering == true then
|
||||
table.insert(biomes, k)
|
||||
end
|
||||
end
|
||||
|
||||
return biomes
|
||||
end
|
||||
|
||||
-- wrapper around minetest.register_biome but with defaults and caves
|
||||
PyuTestCore.register_biome = function(name, opts)
|
||||
PyuTestCore.register_biome = function(name, type, opts)
|
||||
local nopts = PyuTestCore.util.tablecopy(opts) or {}
|
||||
nopts["name"] = name
|
||||
nopts["depth_top"] = nopts["depth_top"] or 1
|
||||
@ -75,16 +84,18 @@ PyuTestCore.register_biome = function(name, opts)
|
||||
nopts["node_river_water"] = nopts["node_river_water"] or "pyutest_core:water_source"
|
||||
nopts["node_riverbed"] = nopts["node_riverbed"] or "pyutest_core:gravel_block"
|
||||
|
||||
minetest.register_biome(nopts)
|
||||
minetest.register_biome(PyuTestCore.util.tableconcat(nopts, {
|
||||
_pyutest_biome_type = type,
|
||||
}))
|
||||
|
||||
minetest.register_biome({
|
||||
minetest.register_biome(PyuTestCore.util.tableconcat({
|
||||
name = name.."_ocean",
|
||||
node_top = nopts["node_riverbed"],
|
||||
depth_top = 2,
|
||||
node_filler = nopts["node_riverbed"],
|
||||
depth_filler = 3,
|
||||
depth_riverbed = 2,
|
||||
|
||||
|
||||
node_water = nopts["node_water"],
|
||||
node_river_water = nopts["node_river_water"],
|
||||
|
||||
@ -93,17 +104,19 @@ PyuTestCore.register_biome = function(name, opts)
|
||||
|
||||
y_max = 0,
|
||||
y_min = PyuTestCore_OceanMin
|
||||
})
|
||||
}, {
|
||||
_pyutest_biome_type = PyuTestCore.BIOME_TYPES.WETLAND
|
||||
}))
|
||||
|
||||
minetest.register_biome({
|
||||
minetest.register_biome(PyuTestCore.util.tableconcat({
|
||||
name = name.."_deep_ocean",
|
||||
|
||||
|
||||
node_top = nopts["node_riverbed"],
|
||||
depth_top = 2,
|
||||
node_filler = nopts["node_riverbed"],
|
||||
depth_filler = 3,
|
||||
depth_riverbed = 2,
|
||||
|
||||
|
||||
node_water = nopts["node_water"],
|
||||
node_river_water = nopts["node_river_water"],
|
||||
|
||||
@ -114,7 +127,9 @@ PyuTestCore.register_biome = function(name, opts)
|
||||
y_min = PyuTestCore_DeepOceanMin,
|
||||
|
||||
vertical_blend = 5
|
||||
})
|
||||
}, {
|
||||
_pyutest_biome_type = PyuTestCore.BIOME_TYPES.WETLAND
|
||||
}))
|
||||
|
||||
minetest.register_biome({
|
||||
name = name.."_cave",
|
||||
@ -125,7 +140,7 @@ PyuTestCore.register_biome = function(name, opts)
|
||||
})
|
||||
end
|
||||
|
||||
PyuTestCore.register_biome("grassland", {
|
||||
PyuTestCore.register_biome("grassland", PyuTestCore.BIOME_TYPES.NORMAL, {
|
||||
node_top = "pyutest_core:grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -133,10 +148,12 @@ PyuTestCore.register_biome("grassland", {
|
||||
y_min = PyuTestCore_SurfaceBottom,
|
||||
|
||||
heat_point = 53,
|
||||
humidity_point = 38,
|
||||
humidity_point = 46,
|
||||
|
||||
_pyutest_biome_flowering = true
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("forest", {
|
||||
PyuTestCore.register_biome("forest", PyuTestCore.BIOME_TYPES.NORMAL, {
|
||||
node_top = "pyutest_core:dark_grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -144,10 +161,11 @@ PyuTestCore.register_biome("forest", {
|
||||
y_min = PyuTestCore_SurfaceBottom,
|
||||
|
||||
heat_point = 50,
|
||||
humidity_point = 63
|
||||
humidity_point = 63,
|
||||
_pyutest_biome_flowering = true
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("stony_mountains", {
|
||||
PyuTestCore.register_biome("stony_mountains", PyuTestCore.BIOME_TYPES.CHILLY, {
|
||||
node_top = "pyutest_core:stone_block",
|
||||
node_filler = "pyutest_core:stone_block",
|
||||
|
||||
@ -158,7 +176,7 @@ PyuTestCore.register_biome("stony_mountains", {
|
||||
humidity_point = 34
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("desert", {
|
||||
PyuTestCore.register_biome("desert", PyuTestCore.BIOME_TYPES.DESERT, {
|
||||
node_top = "pyutest_core:sand_block",
|
||||
node_filler = "pyutest_core:sandstone_block",
|
||||
node_riverbed = "pyutest_core:sand_block",
|
||||
@ -170,7 +188,7 @@ PyuTestCore.register_biome("desert", {
|
||||
humidity_point = 4
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("desert_mountains", {
|
||||
PyuTestCore.register_biome("desert_mountains", PyuTestCore.BIOME_TYPES.DESERT, {
|
||||
node_top = "pyutest_core:sand_block",
|
||||
node_filler = "pyutest_core:sandstone_block",
|
||||
|
||||
@ -181,7 +199,7 @@ PyuTestCore.register_biome("desert_mountains", {
|
||||
humidity_point = 8
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("snowy_mountains", {
|
||||
PyuTestCore.register_biome("snowy_mountains", PyuTestCore.BIOME_TYPES.COLD, {
|
||||
node_top = "pyutest_core:snow_block",
|
||||
node_filler = "pyutest_core:snow_block",
|
||||
|
||||
@ -192,7 +210,7 @@ PyuTestCore.register_biome("snowy_mountains", {
|
||||
humidity_point = 23
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("frozen_plains", {
|
||||
PyuTestCore.register_biome("frozen_plains", PyuTestCore.BIOME_TYPES.COLD, {
|
||||
node_dust = "pyutest_core:snow_carpet",
|
||||
|
||||
node_top = "pyutest_core:snow_block",
|
||||
@ -205,7 +223,7 @@ PyuTestCore.register_biome("frozen_plains", {
|
||||
humidity_point = 32
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("wasteland", {
|
||||
PyuTestCore.register_biome("wasteland", PyuTestCore.BIOME_TYPES.WASTELAND, {
|
||||
node_top = "pyutest_core:dirt_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -215,7 +233,7 @@ PyuTestCore.register_biome("wasteland", {
|
||||
humidity_point = 9
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("mushroom_fields", {
|
||||
PyuTestCore.register_biome("mushroom_fields", PyuTestCore.BIOME_TYPES.CHILLY, {
|
||||
node_top = "pyutest_core:mycelium_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -226,7 +244,7 @@ PyuTestCore.register_biome("mushroom_fields", {
|
||||
humidity_point = 76
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("volcano", {
|
||||
PyuTestCore.register_biome("volcano", PyuTestCore.BIOME_TYPES.WASTELAND, {
|
||||
node_top = "pyutest_core:molten_rock_block",
|
||||
node_filler = "pyutest_core:basalt_block",
|
||||
depth_filler = 9,
|
||||
@ -238,7 +256,7 @@ PyuTestCore.register_biome("volcano", {
|
||||
humidity_point = 3
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("ice_spikes", {
|
||||
PyuTestCore.register_biome("ice_spikes", PyuTestCore.BIOME_TYPES.COLD, {
|
||||
node_top = "pyutest_core:ice_block",
|
||||
node_filler = "pyutest_core:ice_block",
|
||||
|
||||
@ -248,7 +266,7 @@ PyuTestCore.register_biome("ice_spikes", {
|
||||
humidity_point = 28
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("grassy_hills", {
|
||||
PyuTestCore.register_biome("meadow", PyuTestCore.BIOME_TYPES.NORMAL, {
|
||||
node_top = "pyutest_core:dark_grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
depth_filler = 4,
|
||||
@ -257,10 +275,12 @@ PyuTestCore.register_biome("grassy_hills", {
|
||||
y_min = PyuTestCore_BiomeTops.grassland,
|
||||
|
||||
heat_point = 36,
|
||||
humidity_point = 54
|
||||
humidity_point = 54,
|
||||
|
||||
_pyutest_biome_flowering = true
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("old_growth_forest", {
|
||||
PyuTestCore.register_biome("old_growth_forest", PyuTestCore.BIOME_TYPES.NORMAL, {
|
||||
node_top = "pyutest_core:dark_grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -268,10 +288,12 @@ PyuTestCore.register_biome("old_growth_forest", {
|
||||
y_min = PyuTestCore_SurfaceBottom,
|
||||
|
||||
heat_point = 38,
|
||||
humidity_point = 66
|
||||
humidity_point = 66,
|
||||
|
||||
_pyutest_biome_flowering = true
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("snowy_forest", {
|
||||
PyuTestCore.register_biome("snowy_forest", PyuTestCore.BIOME_TYPES.COLD, {
|
||||
node_top = "pyutest_core:snow_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -282,7 +304,7 @@ PyuTestCore.register_biome("snowy_forest", {
|
||||
humidity_point = 28
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("savanna", {
|
||||
PyuTestCore.register_biome("savanna", PyuTestCore.BIOME_TYPES.WARM, {
|
||||
node_top = "pyutest_core:savanna_grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -293,7 +315,7 @@ PyuTestCore.register_biome("savanna", {
|
||||
humidity_point = 38
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("taiga", {
|
||||
PyuTestCore.register_biome("taiga", PyuTestCore.BIOME_TYPES.CHILLY, {
|
||||
node_top = "pyutest_core:dark_grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -301,10 +323,12 @@ PyuTestCore.register_biome("taiga", {
|
||||
y_min = PyuTestCore_SurfaceBottom,
|
||||
|
||||
heat_point = 28,
|
||||
humidity_point = 53
|
||||
humidity_point = 53,
|
||||
|
||||
_pyutest_biome_flowering = true
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("birch_forest", {
|
||||
PyuTestCore.register_biome("birch_forest", PyuTestCore.BIOME_TYPES.NORMAL, {
|
||||
node_top = "pyutest_core:grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -312,10 +336,12 @@ PyuTestCore.register_biome("birch_forest", {
|
||||
y_min = PyuTestCore_SurfaceBottom,
|
||||
|
||||
heat_point = 40,
|
||||
humidity_point = 70
|
||||
humidity_point = 70,
|
||||
|
||||
_pyutest_biome_flowering = true
|
||||
})
|
||||
|
||||
PyuTestCore.register_biome("cherry_grove", {
|
||||
PyuTestCore.register_biome("cherry_grove", PyuTestCore.BIOME_TYPES.NORMAL, {
|
||||
node_top = "pyutest_core:grass_block",
|
||||
node_filler = "pyutest_core:dirt_block",
|
||||
|
||||
@ -323,11 +349,10 @@ PyuTestCore.register_biome("cherry_grove", {
|
||||
y_min = PyuTestCore_SurfaceBottom,
|
||||
|
||||
heat_point = 36,
|
||||
humidity_point = 64
|
||||
})
|
||||
humidity_point = 64,
|
||||
|
||||
-- PyuTestCore.register_ocean("normal")
|
||||
-- PyuTestCore.register_ocean("volcanic", 160, nil, "pyutest_core:lava_source", "pyutest_core:basalt_block")
|
||||
_pyutest_biome_flowering = true
|
||||
})
|
||||
|
||||
PyuTestCore.BIOMES = {}
|
||||
for k, _ in pairs(minetest.registered_biomes) do
|
||||
|
BIN
mods/pyutest_core/textures/maybell.png
Normal file
BIN
mods/pyutest_core/textures/maybell.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 230 B |
BIN
mods/pyutest_core/textures/orange-tulip.png
Normal file
BIN
mods/pyutest_core/textures/orange-tulip.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 182 B |
@ -4,10 +4,10 @@ minetest.register_decoration({
|
||||
place_on = {"pyutest_core:grass_block", "pyutest_core:dark_grass_block"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.009,
|
||||
biomes = {"forest", "grassland", "old_growth_forest"},
|
||||
y_max = PyuTestCore_BiomeTops.grassland,
|
||||
biomes = PyuTestCore.get_flowering_biomes(),
|
||||
y_max = PyuTestCore_BiomeTops.mountains,
|
||||
y_min = 1,
|
||||
decoration = {"pyutest_core:flower", "pyutest_core:flower2", "pyutest_core:flower3", "pyutest_core:flower4"}
|
||||
decoration = PyuTestCore.registered_flowers
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
|
@ -2,22 +2,6 @@ PyuTestCore.util = {
|
||||
toint = function (float)
|
||||
return tonumber(string.format("%d", float))
|
||||
end,
|
||||
|
||||
tableconcat = function (t1, t2)
|
||||
local nt = t1
|
||||
for k, v in pairs(t2) do
|
||||
nt[k] = v
|
||||
end
|
||||
return nt
|
||||
end,
|
||||
|
||||
tableconcat2 = function(t1, t2)
|
||||
local nt = t1
|
||||
for i = i, #t2 do
|
||||
nt[#nt+i] = t2[i]
|
||||
end
|
||||
return nt
|
||||
end,
|
||||
|
||||
tablecopy = function(t)
|
||||
if t == nil then return nil end
|
||||
@ -26,7 +10,23 @@ PyuTestCore.util = {
|
||||
t2[k] = v
|
||||
end
|
||||
return t2
|
||||
end
|
||||
end,
|
||||
|
||||
tableconcat = function (t1, t2)
|
||||
local nt = PyuTestCore.util.tablecopy(t1)
|
||||
for k, v in pairs(t2) do
|
||||
nt[k] = v
|
||||
end
|
||||
return nt
|
||||
end,
|
||||
|
||||
tableconcat2 = function(t1, t2)
|
||||
local nt = PyuTestCore.util.tablecopy(t1)
|
||||
for i = 1, #t2 do
|
||||
nt[#nt+i] = t2[i]
|
||||
end
|
||||
return nt
|
||||
end,
|
||||
}
|
||||
|
||||
PyuTestCore.dorange = function(origin, range, action)
|
||||
|
@ -1,9 +1,15 @@
|
||||
PyuTestCore.make_colored_blocks = function(name, desc, color)
|
||||
PyuTestCore.make_building_blocks(name.."_wool", desc.." Wool", {"wool.png"}, color or "white")
|
||||
PyuTestCore.make_building_blocks(name.."_wool", desc.." Wool", {
|
||||
"wool.png"
|
||||
}, color or "white", {
|
||||
colored = 1
|
||||
})
|
||||
|
||||
PyuTestCore.make_building_blocks(name.."_terracotta", desc .. " Terracotta", {
|
||||
"terracotta.png"
|
||||
}, color or "white", {
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_MIDDLE
|
||||
block = PyuTestCore.BLOCK_BREAKABLE_MIDDLE,
|
||||
colored = 1
|
||||
})
|
||||
|
||||
PyuTestCore.make_item(name.."_dye", desc.." Dye", {}, "dye.png", {
|
||||
@ -47,7 +53,7 @@ minetest.register_craft({
|
||||
|
||||
local colors = {
|
||||
white = {"White", nil},
|
||||
black = {"Black", "black"},
|
||||
black = {"Black", {r = 32, g = 32, b = 32}},
|
||||
brown = {"Brown", "saddlebrown"},
|
||||
red = {"Red", "indianred"},
|
||||
orange = {"Orange", "coral"},
|
||||
@ -62,13 +68,18 @@ for k, v in pairs(colors) do
|
||||
PyuTestCore.make_colored_blocks("pyutest_core:"..k, v[1], v[2])
|
||||
end
|
||||
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:black", "Black", "black")
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:brown", "Brown", "saddlebrown")
|
||||
--
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:red", "Red", "red")
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:orange", "Orange", "orange")
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:yellow", "Yellow", "yellow")
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:green", "Green", "green")
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:blue", "Blue", "blue")
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:purple", "Purple", "purple")
|
||||
-- PyuTestCore.make_colored_blocks("pyutest_core:pink", "Pink", "pink")
|
||||
PyuTestCore.make_dye_mixing_recipe = function(c1, c2, out)
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = out .. " 2",
|
||||
recipe = {
|
||||
c1, c2
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
PyuTestCore.make_dye_mixing_recipe("pyutest_core:red_dye", "pyutest_core:blue_dye", "pyutest_core:purple_dye")
|
||||
PyuTestCore.make_dye_mixing_recipe("pyutest_core:red_dye", "pyutest_core:yellow_dye", "pyutest_core:orange_dye")
|
||||
PyuTestCore.make_dye_mixing_recipe("pyutest_core:yellow_dye", "pyutest_core:blue_dye", "pyutest_core:green_dye")
|
||||
PyuTestCore.make_dye_mixing_recipe("pyutest_core:red_dye", "pyutest_core:white_dye", "pyutest_core:pink_dye")
|
||||
PyuTestCore.make_dye_mixing_recipe("pyutest_core:red_dye", "pyutest_core:green_dye", "pyutest_core:brown_dye")
|
||||
|
@ -38,5 +38,12 @@ unified_inventory.register_category("pyutest_inventory:minerals", {
|
||||
symbol = "pyutest_core:diamond_ore",
|
||||
label = "Minerals",
|
||||
index = 6,
|
||||
items = get_items_from_group("mineral")
|
||||
items = get_items_from_group("mineral")
|
||||
})
|
||||
|
||||
unified_inventory.register_category("pyutest_inventory:colored", {
|
||||
symbol = "pyutest_core:yellow_wool_block",
|
||||
label = "Colored Blocks",
|
||||
index = 7,
|
||||
items = get_items_from_group("colored")
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user