diff --git a/CHANGELOG.md b/CHANGELOG.md index f5842ff..b729657 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ So I had to go through the tedious process and fix them all. - Added Ice World - Added Slime World - Added Lava World + - Added Mushroom World - Added Darkstone - Added Glowslime - Added Magma @@ -24,6 +25,7 @@ So I had to go through the tedious process and fix them all. 2 = 0.2 seconds 3 = 0.4 seconds 4 = 0.8 seconds +- Replaced Purple Mushrooms with Glowshrooms # [Sep 29th 2024] Unnamed Minor Update diff --git a/mods/CORE/pyutest/schematics/HangingMushroom.mts b/mods/CORE/pyutest/schematics/HangingMushroom.mts new file mode 100644 index 0000000..606e50c Binary files /dev/null and b/mods/CORE/pyutest/schematics/HangingMushroom.mts differ diff --git a/mods/ITEMS/pyutest_blocks/basic.lua b/mods/ITEMS/pyutest_blocks/basic.lua index f886619..1b9a020 100644 --- a/mods/ITEMS/pyutest_blocks/basic.lua +++ b/mods/ITEMS/pyutest_blocks/basic.lua @@ -201,12 +201,16 @@ PyuTest.make_building_blocks("pyutest_blocks:mushroom_stem", "Mushroom Stem", { choppy = PyuTest.BLOCK_FAST }, { is_ground_content = false }) -PyuTest.make_building_blocks("pyutest_blocks:purple_mushroom", "Purple Mushroom", { +PyuTest.make_building_blocks("pyutest_blocks:glowshroom", "Glowshroom", { "pyutest-purple-mushroom.png" }, nil, { flammable = 1, choppy = PyuTest.BLOCK_FAST -}, { is_ground_content = false }) +}, { + is_ground_content = false, + paramtype = "light", + light_source = minetest.LIGHT_MAX +}) -- Breakable by hand PyuTest.make_building_blocks("pyutest_blocks:haybale", "Haybale", { diff --git a/mods/ITEMS/pyutest_blocks/special.lua b/mods/ITEMS/pyutest_blocks/special.lua index 723dc4b..b2fa260 100644 --- a/mods/ITEMS/pyutest_blocks/special.lua +++ b/mods/ITEMS/pyutest_blocks/special.lua @@ -44,7 +44,7 @@ PyuTest.make_node("pyutest_blocks:glass", "Glass", { sunlight_propagates = true }) --- FIXME: This has been in the game for a month, implement it already! +-- FIXME: This has been in the game for months, implement it already! PyuTest.make_node("pyutest_blocks:trapdoor", "Trapdoor", { choppy = PyuTest.BLOCK_NORMAL, flammable = 1 diff --git a/mods/MAPGEN/pyutest_mapgen/init.lua b/mods/MAPGEN/pyutest_mapgen/init.lua index 926d8ac..12528c0 100644 --- a/mods/MAPGEN/pyutest_mapgen/init.lua +++ b/mods/MAPGEN/pyutest_mapgen/init.lua @@ -2,7 +2,6 @@ local modpath = minetest.get_modpath("pyutest_mapgen") dofile(modpath.."/api.lua") dofile(modpath.."/mapgen.lua") -dofile(modpath.."/worlds.lua") if not PyuTest.is_flat() then dofile(modpath.."/structures.lua") diff --git a/mods/MAPGEN/pyutest_mapgen/mod.conf b/mods/MAPGEN/pyutest_mapgen/mod.conf index 8b40125..742c6a8 100644 --- a/mods/MAPGEN/pyutest_mapgen/mod.conf +++ b/mods/MAPGEN/pyutest_mapgen/mod.conf @@ -1 +1 @@ -depends = pyutest_blocks,pyutest_flowers +depends = pyutest_blocks,pyutest_flowers,pyutest_worlds diff --git a/mods/MAPGEN/pyutest_mapgen/trees.lua b/mods/MAPGEN/pyutest_mapgen/trees.lua index 82fc98a..a8ea135 100644 --- a/mods/MAPGEN/pyutest_mapgen/trees.lua +++ b/mods/MAPGEN/pyutest_mapgen/trees.lua @@ -113,7 +113,7 @@ minetest.register_decoration({ place_on = {"pyutest_blocks:mycelium_block"}, sidelen = 16, fill_ratio = 0.003, - biomes = {"mushroom_fields", "large_mushroom_forest"}, + biomes = PyuTest.util.tableconcat2({"mushroom_fields", "large_mushroom_forest"}, PyuTest.MushroomWorld.biome_names), schematic = PyuTest.get_schem_path("Mushroom"), rotation = "random", flags = "place_center_x, place_center_z", @@ -261,7 +261,7 @@ minetest.register_decoration({ place_on = {"pyutest_blocks:mycelium_block"}, sidelen = 16, fill_ratio = 0.006, - biomes = {"large_mushroom_forest"}, + biomes = PyuTest.util.tableconcat2({"large_mushroom_forest"}, PyuTest.MushroomWorld.biome_names), schematic = PyuTest.get_schem_path("TallMushroom"), rotation = "random", flags = "place_center_x, place_center_z", @@ -273,7 +273,7 @@ minetest.register_decoration({ place_on = {"pyutest_blocks:mycelium_block"}, sidelen = 16, fill_ratio = 0.002, - biomes = {"large_mushroom_forest"}, + biomes = PyuTest.util.tableconcat2({"large_mushroom_forest"}, PyuTest.MushroomWorld.biome_names), schematic = PyuTest.get_schem_path("SmallMushroom"), rotation = "random", flags = "place_center_x, place_center_z", diff --git a/mods/MAPGEN/pyutest_mapgen/worlds.lua b/mods/MAPGEN/pyutest_worlds/api.lua similarity index 52% rename from mods/MAPGEN/pyutest_mapgen/worlds.lua rename to mods/MAPGEN/pyutest_worlds/api.lua index 0240e0a..7475d88 100644 --- a/mods/MAPGEN/pyutest_mapgen/worlds.lua +++ b/mods/MAPGEN/pyutest_worlds/api.lua @@ -98,6 +98,8 @@ PyuTest.register_world = function (options) minetest.set_node(upos + vector.new(0, -1, 0), { name = "pyutest_blocks:light" }) + + user:set_pos(upos) end) end }) @@ -106,98 +108,3 @@ PyuTest.register_world = function (options) return World end -PyuTest.IceWorld = PyuTest.register_world({ - name = "ice_world", - y_max = -1000, - y_min = -2000 -}) -PyuTest.IceWorld:create_token("pyutest_mapgen:ice_world_token", "Ice World", "#cbdbfc") - -local icy_cavern = PyuTest.IceWorld:register_biome({ - name = "icy_cavern", - node_stone = "pyutest_blocks:ice_block", - heat_point = 0, - humidity_point = 0 -}) - -PyuTest.IceWorld:register_ore({ - ore_type = "blob", - ore = "pyutest_blocks:snow_block", - wherein = "pyutest_blocks:ice_block", - clust_scarcity = 3 * 3 * 3, - clust_num_ores = 35, - clust_size = 5, - biomes = {icy_cavern}, - noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS -}) - -PyuTest.IceWorld:register_ore({ - ore_type = "blob", - ore = "pyutest_blocks:crystal_lantern_block", - wherein = "pyutest_blocks:ice_block", - clust_scarcity = 4.5 * 4.5 * 4.5, - clust_num_ores = 6, - clust_size = 5, - biomes = {icy_cavern}, - noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS -}) - -PyuTest.SlimeWorld = PyuTest.register_world({ - name = "slime_world", - y_max = -2001, - y_min = -3001 -}) -PyuTest.SlimeWorld:create_token("pyutest_mapgen:slime_world_token", "Slime World", "#7dbd3f") - -local slimey_cavern = PyuTest.SlimeWorld:register_biome({ - name = "slimey_cavern", - node_stone = "pyutest_blocks:slime_block", - heat_point = 45, - humidity_point = 0 -}) - -PyuTest.SlimeWorld:register_ore({ - ore_type = "blob", - ore = "pyutest_blocks:glowslime_block", - wherein = "pyutest_blocks:slime_block", - clust_scarcity = 4.5 * 4.5 * 4.5, - clust_num_ores = 6, - clust_size = 5, - biomes = {slimey_cavern}, - noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS -}) - -PyuTest.LavaWorld = PyuTest.register_world({ - name = "lava_world", - y_max = -3002, - y_min = -4002 -}) -PyuTest.LavaWorld:create_token("pyutest_mapgen:lava_world_token", "Lava World", "#511e1e") - -local lava_cavern = PyuTest.LavaWorld:register_biome({ - name = "lava_cavern", - node_stone = "pyutest_blocks:molten_rock_block", - heat_point = 100, - humidity_point = 0, -}) - -PyuTest.LavaWorld:register_ore({ - ore_type = "blob", - ore = "pyutest_blocks:magma", - wherein = "pyutest_blocks:molten_rock_block", - clust_scarcity = 4.5 * 4.5 * 4.5, - clust_num_ores = 6, - clust_size = 5, - biomes = {lava_cavern}, - noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS -}) - -PyuTest.LavaWorld:register_decoration({ - deco_type = "simple", - sidelen = 16, - fill_ratio = 0.00063, - decoration = {"pyutest_blocks:lava_source"}, - place_on = {"pyutest_blocks:molten_rock_block", "pyutest_blocks:magma"}, - biomes = {lava_cavern}, - flags = "all_ceilings" -}) diff --git a/mods/MAPGEN/pyutest_worlds/ice.lua b/mods/MAPGEN/pyutest_worlds/ice.lua new file mode 100644 index 0000000..b883e61 --- /dev/null +++ b/mods/MAPGEN/pyutest_worlds/ice.lua @@ -0,0 +1,35 @@ +PyuTest.IceWorld = PyuTest.register_world({ + name = "ice_world", + y_max = -1000, + y_min = -2000 +}) +PyuTest.IceWorld:create_token("pyutest_worlds:ice_world_token", "Ice World", "#cbdbfc") + +local icy_cavern = PyuTest.IceWorld:register_biome({ + name = "icy_cavern", + node_stone = "pyutest_blocks:ice_block", + heat_point = 0, + humidity_point = 0 +}) + +PyuTest.IceWorld:register_ore({ + ore_type = "blob", + ore = "pyutest_blocks:snow_block", + wherein = "pyutest_blocks:ice_block", + clust_scarcity = 3 * 3 * 3, + clust_num_ores = 35, + clust_size = 5, + biomes = {icy_cavern}, + noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS +}) + +PyuTest.IceWorld:register_ore({ + ore_type = "blob", + ore = "pyutest_blocks:crystal_lantern_block", + wherein = "pyutest_blocks:ice_block", + clust_scarcity = 4.5 * 4.5 * 4.5, + clust_num_ores = 6, + clust_size = 5, + biomes = {icy_cavern}, + noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS +}) diff --git a/mods/MAPGEN/pyutest_worlds/init.lua b/mods/MAPGEN/pyutest_worlds/init.lua new file mode 100644 index 0000000..78b44ce --- /dev/null +++ b/mods/MAPGEN/pyutest_worlds/init.lua @@ -0,0 +1,8 @@ +local modpath = minetest.get_modpath("pyutest_worlds") + +dofile(modpath.."/api.lua") + +dofile(modpath.."/ice.lua") +dofile(modpath.."/slime.lua") +dofile(modpath.."/lava.lua") +dofile(modpath.."/mushroom.lua") diff --git a/mods/MAPGEN/pyutest_worlds/lava.lua b/mods/MAPGEN/pyutest_worlds/lava.lua new file mode 100644 index 0000000..8ebe25f --- /dev/null +++ b/mods/MAPGEN/pyutest_worlds/lava.lua @@ -0,0 +1,34 @@ +PyuTest.LavaWorld = PyuTest.register_world({ + name = "lava_world", + y_max = -3002, + y_min = -4002 +}) +PyuTest.LavaWorld:create_token("pyutest_worlds:lava_world_token", "Lava World", "#511e1e") + +local lava_cavern = PyuTest.LavaWorld:register_biome({ + name = "lava_cavern", + node_stone = "pyutest_blocks:molten_rock_block", + heat_point = 100, + humidity_point = 0, +}) + +PyuTest.LavaWorld:register_ore({ + ore_type = "blob", + ore = "pyutest_blocks:magma", + wherein = "pyutest_blocks:molten_rock_block", + clust_scarcity = 4.5 * 4.5 * 4.5, + clust_num_ores = 6, + clust_size = 5, + biomes = {lava_cavern}, + noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS +}) + +PyuTest.LavaWorld:register_decoration({ + deco_type = "simple", + sidelen = 16, + fill_ratio = 0.00063, + decoration = {"pyutest_blocks:lava_source"}, + place_on = {"pyutest_blocks:molten_rock_block", "pyutest_blocks:magma"}, + biomes = {lava_cavern}, + flags = "all_ceilings" +}) diff --git a/mods/MAPGEN/pyutest_worlds/mod.conf b/mods/MAPGEN/pyutest_worlds/mod.conf new file mode 100644 index 0000000..864c53b --- /dev/null +++ b/mods/MAPGEN/pyutest_worlds/mod.conf @@ -0,0 +1 @@ +depends = pyutest_tools,pyutest_blocks diff --git a/mods/MAPGEN/pyutest_worlds/mushroom.lua b/mods/MAPGEN/pyutest_worlds/mushroom.lua new file mode 100644 index 0000000..ab7ec48 --- /dev/null +++ b/mods/MAPGEN/pyutest_worlds/mushroom.lua @@ -0,0 +1,59 @@ +PyuTest.MushroomWorld = PyuTest.register_world({ + name = "mushroom_world", + y_max = -4003, + y_min = -5003 +}) +PyuTest.MushroomWorld:create_token("pyutest_worlds:mushroom_world_token", "Mushroom World", "#ac324c") + +local mushroom_forest = PyuTest.MushroomWorld:register_biome({ + name = "mushroom_forest", + node_stone = "pyutest_blocks:mycelium_block", + heat_point = 36, + humidity_point = 0 +}) + +PyuTest.MushroomWorld:register_ore({ + ore_type = "blob", + ore = "pyutest_blocks:mushroom_block", + wherein = "pyutest_blocks:mycelium_block", + clust_scarcity = 4.5 * 4.5 * 4.5, + clust_num_ores = 6, + clust_size = 5, + biomes = {mushroom_forest}, + noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS +}) + +PyuTest.MushroomWorld:register_ore({ + ore_type = "blob", + ore = "pyutest_blocks:mushroom_stem_block", + wherein = "pyutest_blocks:mycelium_block", + clust_scarcity = 9.5 * 9.5 * 9.5, + clust_num_ores = 6, + clust_size = 5, + biomes = {mushroom_forest}, + noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS +}) + +PyuTest.MushroomWorld:register_ore({ + ore_type = "blob", + ore = "pyutest_blocks:glowshroom_block", + wherein = "pyutest_blocks:mycelium_block", + clust_scarcity = 4.5 * 4.5 * 4.5, + clust_num_ores = 6, + clust_size = 5, + biomes = {mushroom_forest}, + noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS +}) + +PyuTest.MushroomWorld:register_decoration({ + deco_type = "schematic", + place_on = {"pyutest_blocks:mycelium_block"}, + sidelen = 16, + fill_ratio = 0.006, + biomes = PyuTest.MushroomWorld.biome_names, + schematic = PyuTest.get_schem_path("HangingMushroom"), + rotation = "random", + flags = "place_center_x, place_center_z, all_ceilings", + force_placement = true, + place_offset_y = 1 +}) diff --git a/mods/MAPGEN/pyutest_worlds/slime.lua b/mods/MAPGEN/pyutest_worlds/slime.lua new file mode 100644 index 0000000..7932b9a --- /dev/null +++ b/mods/MAPGEN/pyutest_worlds/slime.lua @@ -0,0 +1,24 @@ +PyuTest.SlimeWorld = PyuTest.register_world({ + name = "slime_world", + y_max = -2001, + y_min = -3001 +}) +PyuTest.SlimeWorld:create_token("pyutest_worlds:slime_world_token", "Slime World", "#7dbd3f") + +local slimey_cavern = PyuTest.SlimeWorld:register_biome({ + name = "slimey_cavern", + node_stone = "pyutest_blocks:slime_block", + heat_point = 45, + humidity_point = 0 +}) + +PyuTest.SlimeWorld:register_ore({ + ore_type = "blob", + ore = "pyutest_blocks:glowslime_block", + wherein = "pyutest_blocks:slime_block", + clust_scarcity = 4.5 * 4.5 * 4.5, + clust_num_ores = 6, + clust_size = 5, + biomes = {slimey_cavern}, + noise_params = PyuTest.SPECIALSTONE_NOISE_PARAMS +})