From 93716edf1fda33b10895a28fcbfe84778d06616c Mon Sep 17 00:00:00 2001 From: IamPyu Date: Sun, 15 Dec 2024 21:37:46 -0600 Subject: [PATCH] improve world generation --- mods/PLAYER/pyutest_effects/init.lua | 22 +++++ mods/PLAYER/pyutest_effects/mod.conf | 1 + mods/PLAYER/pyutest_player/init.lua | 24 ------ mods/WORLD/pyutest_ambient/wind.lua | 3 +- mods/WORLD/pyutest_mapgen/mapgen.lua | 75 +++++++++++++++++- mods/WORLD/pyutest_overworld/biomes_extra.lua | 26 +++--- textures/pyutest-bottle-overlay.png | Bin 0 -> 138 bytes textures/pyutest-glass-bottle.png | Bin 170 -> 170 bytes 8 files changed, 111 insertions(+), 40 deletions(-) create mode 100644 mods/PLAYER/pyutest_effects/init.lua create mode 100644 mods/PLAYER/pyutest_effects/mod.conf create mode 100644 textures/pyutest-bottle-overlay.png diff --git a/mods/PLAYER/pyutest_effects/init.lua b/mods/PLAYER/pyutest_effects/init.lua new file mode 100644 index 0000000..3addf71 --- /dev/null +++ b/mods/PLAYER/pyutest_effects/init.lua @@ -0,0 +1,22 @@ +core.register_globalstep(function () + for _, v in pairs(core.get_connected_players()) do + local name = v:get_player_name() + + local speed_multiplier = 1 + local sprint_addition = 0.35 + + if v:get_player_control().aux1 and PyuTest.hunger_get(name) > 6 then + speed_multiplier = speed_multiplier + sprint_addition + PyuTest.hunger_multiplier(name, 4) + else + PyuTest.hunger_multiplier(name, 1) + end + + v:set_physics_override({ + speed = 1.15 * speed_multiplier, + }) + + local fovm = (1 + (speed_multiplier) * sprint_addition) + v:set_fov(fovm, true, 0.15) + end +end) diff --git a/mods/PLAYER/pyutest_effects/mod.conf b/mods/PLAYER/pyutest_effects/mod.conf new file mode 100644 index 0000000..755e169 --- /dev/null +++ b/mods/PLAYER/pyutest_effects/mod.conf @@ -0,0 +1 @@ +depends = pyutest_hunger diff --git a/mods/PLAYER/pyutest_player/init.lua b/mods/PLAYER/pyutest_player/init.lua index 3aef2da..716bec2 100644 --- a/mods/PLAYER/pyutest_player/init.lua +++ b/mods/PLAYER/pyutest_player/init.lua @@ -43,30 +43,6 @@ core.register_item(":", { } }) --- player effects (TODO) -core.register_globalstep(function () - for _, v in pairs(core.get_connected_players()) do - local name = v:get_player_name() - - local speed_multiplier = 1 - local sprint_addition = 0.35 - - if v:get_player_control().aux1 and PyuTest.hunger_get(name) > 6 then - speed_multiplier = speed_multiplier + sprint_addition - PyuTest.hunger_multiplier(name, 4) - else - PyuTest.hunger_multiplier(name, 1) - end - - v:set_physics_override({ - speed = 1.15 * speed_multiplier, - }) - - local fovm = (1 + (speed_multiplier - sprint_addition) / 2) - v:set_fov(fovm, true, 0.15) - end -end) - PyuTest.HAND_TOOL_CAPS = PyuTest.tool_caps({ uses = 0, attck_uses = 0, diff --git a/mods/WORLD/pyutest_ambient/wind.lua b/mods/WORLD/pyutest_ambient/wind.lua index b359dcb..4afbd6d 100644 --- a/mods/WORLD/pyutest_ambient/wind.lua +++ b/mods/WORLD/pyutest_ambient/wind.lua @@ -6,7 +6,8 @@ local function do_wind(player) if pl[n] == nil then pl[n] = core.sound_play("pyutest-wind", { player = n, - loop = true + loop = true, + gain = 0.5 }) end end diff --git a/mods/WORLD/pyutest_mapgen/mapgen.lua b/mods/WORLD/pyutest_mapgen/mapgen.lua index d1c285b..6d41063 100644 --- a/mods/WORLD/pyutest_mapgen/mapgen.lua +++ b/mods/WORLD/pyutest_mapgen/mapgen.lua @@ -4,10 +4,13 @@ core.register_alias("mapgen_river_water_source", "pyutest_blocks:water_source") core.register_alias("mapgen_lava_source", "pyutest_blocks:lava_source") core.register_alias("mapgen_singlenode", "air") -local mg_flags = core.settings:get_flags("mg_flags") +local settings = core.settings +local mg_flags = settings:get_flags("mg_flags") local mg_name = core.get_mapgen_setting("mg_name") core.set_mapgen_setting(string.format("mg%s_cavern_threshold", mg_name), "0.20", true) -core.set_mapgen_setting(string.format("mg%s_mount_zero_level", mg_name), "1.4", true) +core.set_mapgen_setting(string.format("mg%s_mount_zero_level", mg_name), "0.42", true) +core.set_mapgen_setting(string.format("mg%s_large_cave_num_min", mg_name), "1", true) +core.set_mapgen_setting(string.format("mg%s_large_cave_num_max", mg_name), "4", true) mg_flags.caverns = true mg_flags.dungeons = false @@ -24,3 +27,71 @@ if string.len(mg_flags_str) > 0 then mg_flags_str = string.sub(mg_flags_str, 1, string.len(mg_flags_str) - 1) end core.set_mapgen_setting("mg_flags", mg_flags_str, true) + +local function change_np_group(key, fn) + local np = settings:get_np_group(key) + + if np then + np = PyuTest.util.tableconcat(fn(np), np) + + settings:set_np_group(key, np) + end +end + +change_np_group(string.format("mg%s_np_cave1", mg_name), function () + return { + spread = { + x = 122, + y = 122, + z = 122 + } + } +end) + +change_np_group(string.format("mg%s_np_cave2", mg_name), function () + return { + spread = { + x = 135, + y = 135, + z = 135 + } + } +end) + +change_np_group(string.format("mg%s_np_mountain", mg_name), function () + return { + spread = { + x = 400, + y = 520, + z = 400, + } + } +end) + +change_np_group(string.format("mg%s_np_mount_height", mg_name), function () + return { + spread = { + x = 1350, + z = 1350, + } + } +end) + +change_np_group(string.format("mg%s_np_terrain_base", mg_name), function () + return { + spread = { + x = 925, + z = 925, + } + } +end) + + +change_np_group(string.format("mg%s_np_terrain_alt", mg_name), function () + return { + spread = { + x = 725, + z = 725, + } + } +end) diff --git a/mods/WORLD/pyutest_overworld/biomes_extra.lua b/mods/WORLD/pyutest_overworld/biomes_extra.lua index f78727c..d266e90 100644 --- a/mods/WORLD/pyutest_overworld/biomes_extra.lua +++ b/mods/WORLD/pyutest_overworld/biomes_extra.lua @@ -1,13 +1,13 @@ -PyuTest.register_overworld_biome("GravelBeach", PyuTest.BIOME_TYPES.CHILLY, { - depth_top = 0, - node_filler = "pyutest_blocks:gravel_block", - depth_filler = 7, - - y_max = PyuTest.OVERWORLD_BIOME_TOPS.extreme_lowland, - y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM, - - heat_point = 20, - humidity_point = 50, - - weight = PyuTest.BIOME_WEIGHTS.tiny -}, true) +-- PyuTest.register_overworld_biome("GravelBeach", PyuTest.BIOME_TYPES.CHILLY, { +-- depth_top = 0, +-- node_filler = "pyutest_blocks:gravel_block", +-- depth_filler = 7, +-- +-- y_max = PyuTest.OVERWORLD_BIOME_TOPS.extreme_lowland, +-- y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM, +-- +-- heat_point = 20, +-- humidity_point = 50, +-- +-- weight = PyuTest.BIOME_WEIGHTS.tiny +-- }, true) diff --git a/textures/pyutest-bottle-overlay.png b/textures/pyutest-bottle-overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..9e9e86e9c6370ecd0c32d2fb2db708e04c2b550f GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`fu1goAr`&K2@ delta 133 zcmV;00DAwb0jdFzEPiCb0d6ix`;W|5PngAsO&t?9!T3~?