From a5a95d1f1f8c6957e39ab8691f88a58dc32872a2 Mon Sep 17 00:00:00 2001 From: Juraj Vajda Date: Thu, 4 May 2023 23:18:46 -0400 Subject: [PATCH] Add crystal forest stone and variations --- LICENSE.txt | 3 + mapgen_crystal_forest.lua | 74 +++++++++++++++++++- mapgen_crystal_forest_dunes.lua | 58 +++++++++++++++- mapgen_crystal_forest_ocean.lua | 80 +++++++++++++++++++++- mapgen_crystal_forest_shore.lua | 74 +++++++++++++++++++- mapgen_crystal_forest_under.lua | 6 +- mod_support_mcl.lua | 28 ++++++++ nodes.lua | 72 +++++++++++++++++++ stairs.lua | 23 +++++++ textures/everness_crystal_cobble.png | Bin 0 -> 219 bytes textures/everness_crystal_stone.png | Bin 0 -> 272 bytes textures/everness_crystal_stone_brick.png | Bin 0 -> 663 bytes 12 files changed, 403 insertions(+), 15 deletions(-) create mode 100644 textures/everness_crystal_cobble.png create mode 100644 textures/everness_crystal_stone.png create mode 100644 textures/everness_crystal_stone_brick.png diff --git a/LICENSE.txt b/LICENSE.txt index f3042a7..40a2012 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -872,6 +872,9 @@ GNU Lesser General Public License v2.1 or later - everness_grass_extras_2.png - everness_dirt.png - everness_dry_dirt.png +- everness_crystal_stone_brick.png +- everness_crystal_stone.png +- everness_crystal_cobble.png **CC-BY-SA-4.0, Pixel Perfection by XSSheep**, https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated diff --git a/mapgen_crystal_forest.lua b/mapgen_crystal_forest.lua index 2c4647e..1b11a0e 100644 --- a/mapgen_crystal_forest.lua +++ b/mapgen_crystal_forest.lua @@ -33,15 +33,83 @@ minetest.register_biome({ depth_filler = 1, node_riverbed = 'everness:crystal_dirt', depth_riverbed = 2, - node_dungeon = 'default:cobble', - node_dungeon_alt = 'default:mossycobble', - node_dungeon_stair = 'stairs:stair_cobble', + node_stone = 'everness:crystal_stone', + node_dungeon = 'everness:crystal_cobble', + node_dungeon_alt = 'everness:crystal_stone_brick', + node_dungeon_stair = 'stairs:stair_crystal_cobble', y_max = y_max, y_min = y_min, heat_point = 35, humidity_point = 50, }) +-- +-- Register ores +-- + +-- Blob ore. +-- These before scatter ores to avoid other ores in blobs. + +-- Crystal sand + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_sand', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 2316, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest' } +}) + +-- Dirt + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_dirt', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 17676, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest' } +}) + +-- Scatter ores + +-- Coal + +minetest.register_ore({ + ore_type = 'scatter', + ore = 'everness:crystal_stone_with_coal', + wherein = 'everness:crystal_stone', + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 9, + clust_size = 3, + y_max = y_max, + y_min = y_min, + biomes = { 'everness_crystal_forest' } +}) + -- -- Register decorations -- diff --git a/mapgen_crystal_forest_dunes.lua b/mapgen_crystal_forest_dunes.lua index df2bcf8..7f67801 100644 --- a/mapgen_crystal_forest_dunes.lua +++ b/mapgen_crystal_forest_dunes.lua @@ -33,9 +33,10 @@ minetest.register_biome({ depth_filler = 3, node_riverbed = 'everness:crystal_sand', depth_riverbed = 2, - node_dungeon = 'default:cobble', - node_dungeon_alt = 'default:mossycobble', - node_dungeon_stair = 'stairs:stair_cobble', + node_stone = 'everness:crystal_stone', + node_dungeon = 'everness:crystal_cobble', + node_dungeon_alt = 'everness:crystal_stone_brick', + node_dungeon_stair = 'stairs:stair_crystal_cobble', vertical_blend = 1, y_max = y_max, y_min = y_min, @@ -43,6 +44,57 @@ minetest.register_biome({ humidity_point = 50, }) +-- +-- Register ores +-- + +-- Blob ore. +-- These before scatter ores to avoid other ores in blobs. + +-- Crystal sand + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_sand', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 2316, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest_dunes' } +}) + +-- Dirt + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_dirt', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 17676, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest_dunes' } +}) + -- -- Register decorations -- diff --git a/mapgen_crystal_forest_ocean.lua b/mapgen_crystal_forest_ocean.lua index 913d08a..1867eae 100644 --- a/mapgen_crystal_forest_ocean.lua +++ b/mapgen_crystal_forest_ocean.lua @@ -33,16 +33,90 @@ minetest.register_biome({ depth_filler = 3, node_riverbed = 'everness:crystal_sand', depth_riverbed = 2, + node_stone = 'everness:crystal_stone', node_cave_liquid = 'default:water_source', - node_dungeon = 'default:cobble', - node_dungeon_alt = 'default:mossycobble', - node_dungeon_stair = 'stairs:stair_cobble', + node_dungeon = 'everness:crystal_cobble', + node_dungeon_alt = 'everness:crystal_stone_brick', + node_dungeon_stair = 'stairs:stair_crystal_cobble', y_max = y_max, y_min = y_min, heat_point = 35, humidity_point = 50, }) +-- +-- Register ores +-- + +-- Blob ore. +-- These before scatter ores to avoid other ores in blobs. + +-- Clay + +minetest.register_ore({ + ore_type = 'blob', + ore = 'default:clay', + wherein = { 'everness:crystal_sand' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = -316, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest_ocean' } +}) + +-- Crystal sand + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_sand', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 2316, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest_ocean' } +}) + +-- Dirt + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_dirt', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 17676, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest_ocean' } +}) + -- -- Register decorations -- diff --git a/mapgen_crystal_forest_shore.lua b/mapgen_crystal_forest_shore.lua index 2beb6e9..811a50d 100644 --- a/mapgen_crystal_forest_shore.lua +++ b/mapgen_crystal_forest_shore.lua @@ -33,16 +33,84 @@ minetest.register_biome({ depth_filler = 3, node_riverbed = 'everness:crystal_sand', depth_riverbed = 2, + node_stone = 'everness:crystal_stone', node_cave_liquid = 'default:water_source', - node_dungeon = 'default:cobble', - node_dungeon_alt = 'default:mossycobble', - node_dungeon_stair = 'stairs:stair_cobble', + node_dungeon = 'everness:crystal_cobble', + node_dungeon_alt = 'everness:crystal_stone_brick', + node_dungeon_stair = 'stairs:stair_crystal_cobble', y_max = y_max, y_min = y_min, heat_point = 35, humidity_point = 50, }) +-- +-- Register ores +-- + +-- Blob ore. +-- These before scatter ores to avoid other ores in blobs. + +-- Crystal sand + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_sand', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 2316, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest_shore' } +}) + +-- Dirt + +minetest.register_ore({ + ore_type = 'blob', + ore = 'everness:crystal_dirt', + wherein = { 'everness:crystal_stone' }, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_max = y_max, + y_min = y_min, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = { x = 5, y = 5, z = 5 }, + seed = 17676, + octaves = 1, + persist = 0.0 + }, + biomes = { 'everness_crystal_forest_shore' } +}) + +-- Scatter ores + +-- Coal + +minetest.register_ore({ + ore_type = 'scatter', + ore = 'everness:crystal_stone_with_coal', + wherein = 'everness:crystal_stone', + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 9, + clust_size = 3, + y_max = y_max, + y_min = y_min, + biomes = { 'everness_crystal_forest_shore' } +}) + -- -- Register decorations -- diff --git a/mapgen_crystal_forest_under.lua b/mapgen_crystal_forest_under.lua index 884a07c..6e00889 100644 --- a/mapgen_crystal_forest_under.lua +++ b/mapgen_crystal_forest_under.lua @@ -28,9 +28,9 @@ local y_min = Everness.settings.biomes.everness_crystal_forest_under.y_min minetest.register_biome({ name = 'everness_crystal_forest_under', node_cave_liquid = { 'default:water_source', 'default:lava_source' }, - node_dungeon = 'default:cobble', - node_dungeon_alt = 'default:mossycobble', - node_dungeon_stair = 'stairs:stair_cobble', + node_dungeon = 'everness:crystal_cobble', + node_dungeon_alt = 'everness:crystal_stone_brick', + node_dungeon_stair = 'stairs:stair_crystal_cobble', y_max = y_max, y_min = y_min, heat_point = 35, diff --git a/mod_support_mcl.lua b/mod_support_mcl.lua index 898bc29..a526afa 100644 --- a/mod_support_mcl.lua +++ b/mod_support_mcl.lua @@ -831,6 +831,34 @@ mcl_stairs.register_stair_and_slab( nil ) +mcl_stairs.register_stair_and_slab( + 'crystal_cobble', + 'everness:crystal_cobble', + { pickaxey = 2 }, + { 'everness_crystal_cobble.png' }, + S('Crystal Cobblestone Stair'), + S('Crystal Cobblestone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Crystal Cobblestone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'crystal_stone_brick', + 'everness:crystal_stone_brick', + { pickaxey = 2 }, + { 'everness_crystal_stone_brick.png' }, + S('Crystal Stone Brick Stair'), + S('Crystal Stone Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Crystal Stone Brick Slab'), + nil +) + -- Crystal Wood mcl_stairs.register_stair_and_slab( diff --git a/nodes.lua b/nodes.lua index 5ce7091..483e88c 100644 --- a/nodes.lua +++ b/nodes.lua @@ -32,6 +32,14 @@ minetest.register_node('everness:coral_desert_stone_with_coal', { sounds = Everness.node_sound_stone_defaults(), }) +minetest.register_node('everness:crystal_stone_with_coal', { + description = S('Coal Ore'), + tiles = { 'everness_crystal_stone.png^everness_mineral_coal.png' }, + groups = { cracky = 3 }, + drop = 'default:coal_lump', + sounds = Everness.node_sound_stone_defaults(), +}) + Everness:register_node('everness:stone_with_pyrite', { description = S('Pyrite Ore'), tiles = { 'everness_stone.png^everness_mineral_pyrite.png' }, @@ -274,6 +282,26 @@ Everness:register_node('everness:coral_desert_stone', { sounds = Everness.node_sound_stone_defaults(), }) +Everness:register_node('everness:crystal_stone', { + description = S('Crystal Stone'), + tiles = { 'everness_crystal_stone.png' }, + drop = 'everness:crystal_cobble', + groups = { + -- MTG + cracky = 3, + -- MCL + pickaxey = 1, + building_block = 1, + material_stone = 1, + -- ALL + stone = 1, + }, + _mcl_blast_resistance = 6, + _mcl_hardness = 1.5, + _mcl_silk_touch_drop = true, + sounds = Everness.node_sound_stone_defaults(), +}) + Everness:register_node('everness:coral_sandstone', { description = S('Coral Sandstone'), tiles = { 'everness_coral_sandstone.png' }, @@ -524,6 +552,50 @@ Everness:register_node('everness:coral_bones_brick', { sounds = Everness.node_sound_stone_defaults(), }) +Everness:register_node('everness:crystal_cobble', { + description = S('Crystal Cobblestone'), + tiles = { 'everness_crystal_cobble.png' }, + is_ground_content = false, + groups = { + -- MTG + cracky = 3, + stone = 2, + -- MCL + pickaxey = 1, + building_block = 1, + material_stone = 1, + cobble = 1 + }, + _mcl_blast_resistance = 6, + _mcl_hardness = 2, + sounds = Everness.node_sound_stone_defaults(), +}) + +Everness:register_node('everness:crystal_stone_brick', { + description = S('Crystal Stone Brick'), + paramtype2 = 'facedir', + drawtype = 'allfaces', + place_param2 = 0, + tiles = { 'everness_crystal_stone_brick.png' }, + use_texture_alpha = 'blend', + is_ground_content = false, + groups = { + -- MTG + cracky = 2, + -- MCL + pickaxey = 1, + sandstone = 1, + normal_sandstone = 1, + building_block = 1, + material_stone = 1, + -- ALL + stone = 1 + }, + _mcl_blast_resistance = 0.8, + _mcl_hardness = 0.8, + sounds = Everness.node_sound_stone_defaults(), +}) + Everness:register_node('everness:coral_desert_cobble', { description = S('Coral Desert Cobblestone'), tiles = { 'everness_coral_desert_cobble.png' }, diff --git a/stairs.lua b/stairs.lua index 5481dfb..ceceee7 100644 --- a/stairs.lua +++ b/stairs.lua @@ -506,6 +506,7 @@ stairs.register_stair_and_slab( true ) +-- Crystal stairs.register_stair_and_slab( 'crystal_forest_deep_ocean_sandstone_block', 'everness:crystal_forest_deep_ocean_sandstone_block', @@ -528,6 +529,28 @@ stairs.register_stair_and_slab( true ) +stairs.register_stair_and_slab( + 'crystal_cobble', + 'everness:crystal_cobble', + { cracky = 2 }, + { 'everness_crystal_cobble.png' }, + S('Crystal Cobblestone Stair'), + S('Crystal Cobblestone Slab'), + Everness.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + 'crystal_stone_brick', + 'everness:crystal_stone_brick', + { cracky = 2 }, + { 'everness_crystal_stone_brick.png' }, + S('Crystal Stone Brick Stair'), + S('Crystal Stone Brick Slab'), + Everness.node_sound_stone_defaults(), + true +) + stairs.register_stair_and_slab( 'everness_glass', 'everness:glass', diff --git a/textures/everness_crystal_cobble.png b/textures/everness_crystal_cobble.png new file mode 100644 index 0000000000000000000000000000000000000000..957d8cf9d13d9649accc786d3ae671528106719e GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Vt`MGYk6j^o`$ivi=T~&Q+ruo zdQ4VkT%n`2i?Oa{RA5|)clhd~`Ak5?rJgR1Ar-e`dpY?IJ8&@9ZV3PP|ACWdlxEbz zqs<2=LJ0fZEyrZP?BdeldL)VFU5h{zSG!^HpKf@Wew)H{u9YQ+Cn7z#Wm~Kz3};R=D=Uq=G8i~S=F8@cUC^#YWbYKyq{@_yUeZ! QKnE~*y85}Sb4q9e0KiC3C;$Ke literal 0 HcmV?d00001 diff --git a/textures/everness_crystal_stone.png b/textures/everness_crystal_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..068fc9d95c2eedbf388c2a4d86264fb7f46eaf50 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUjgN|t4vo%8%1n+;wl;DM z@e9sR%k9ryps#6~?O$FK+vnr%J*Q@=w@FNteOhU5X>Pro8c^?SPZ!4!j%daS4Eg^V zSo)X)7>s>3Gk8@w2^nP^ab{R3aM9Q((!7L0L1Kzqw7XFhL!hVD3WJ(DOaq3CtkE+Jl@FUROi5DCj1M#RWcV8z z>?yD@bP0l+XkKxRF!o literal 0 HcmV?d00001 diff --git a/textures/everness_crystal_stone_brick.png b/textures/everness_crystal_stone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..aa19ecf789fafcbade64650df546bb9d11a08016 GIT binary patch literal 663 zcmV;I0%-k-P)e-8PdB>+bPxGBEZ0pWNaqVXJ15sdUq*9*t` zX7R4@hS9C84Y(@R6cs31tm3h(01BlVJE#MAjNlj{7XuxWcu#<2EMo%>b_*&P&nwGZ zQeMNa94Lgy0gZu&0E3;AcuN5Kt^*zluQuQ$TvD6fJ(Z27RKV~m2MR$a0zoOli~tg} zYk&K=6#ERH4cIor%J^m~-ygSH)@^_ThL@{nASeuXPvf0!TY3=R$}|AYdOd$qnT?d) z$n-6wcj7=$m>irJ+o@<8hq|Uj9LseSDgtZuZ%`Wba`ve5;iLd=@^?V4U`g`;@A_DH z!KbSi^wZAl=$YKPC_Auzf7D=VXraZ;-Tu7*0{=V$r#MJ)MDovoEng7+e9}a`%UQIH zn|cV@a&#$f1O9plzKCy^&zOrOaj6-w;}614AP9dy>jap?i+C9?6W4rHyr`a+zo|D! z{lFy>U#!3KhSB_PB17*F?vYLcUrrzSgfLAmc%0%uK9U5N_SFEL#P__Ax~UgiKTPCE_lGv% znE<(90+%$eIH&`-*!X71P22NC>&5P$mMna50GYiw(rFODBjfJ`V2F#0=@!Ch?+i~+ x_ZN`e@F}oWj>hl)_6doxM39Mrd2Xm&u>YNE8fB+%DX0Jd002ovPDHLkV1hHnEGhs1 literal 0 HcmV?d00001