diff options
Diffstat (limited to 'display_blocks')
34 files changed, 375 insertions, 0 deletions
diff --git a/display_blocks/README.txt b/display_blocks/README.txt new file mode 100644 index 0000000..9ab17a5 --- /dev/null +++ b/display_blocks/README.txt @@ -0,0 +1,4 @@ +display_blocks +============== +This mod adds blocks that create crystals on top. +Some have different light levels others can be seen through and i hope i can make them do other things too. diff --git a/display_blocks/config.lua b/display_blocks/config.lua new file mode 100644 index 0000000..2f5a2ab --- /dev/null +++ b/display_blocks/config.lua @@ -0,0 +1,6 @@ +-- Disable to make the uranium only be "technic"uranium". Enable to add "display_blocks:uranium" +enable_display_uranium = false +--Enable to make "technic:uranium" spawning like "display_blocks:uranium". +technic_uranium_new_ore_gen = true +--Enable to add a recipe that uses "technic:uranium" +enable_technic_recipe = true diff --git a/display_blocks/depends.txt b/display_blocks/depends.txt new file mode 100644 index 0000000..44e7384 --- /dev/null +++ b/display_blocks/depends.txt @@ -0,0 +1,2 @@ +default +technic?
\ No newline at end of file diff --git a/display_blocks/init.lua b/display_blocks/init.lua new file mode 100644 index 0000000..28b5d60 --- /dev/null +++ b/display_blocks/init.lua @@ -0,0 +1,267 @@ +local PATH = minetest.get_modpath("display_blocks") + +dofile(PATH.."/config.lua") +dofile(PATH.."/technic.lua") + +if enable_display_uranium == true then + dofile(minetest.get_modpath("display_blocks").."/uranium.lua") +end + +local Scale = 0.9 + +function disp(base, name, light, rec, rp) + minetest.register_node( "display_blocks:"..base.."_base", { + description = name.."Display Base", + tiles = { "display_blocks_"..base.."_block.png" }, + is_ground_content = true, + groups = {cracky=3,}, + light_source = light, + sunlight_propagates = true, + paramtype = "light", + drawtype = "glasslike", + }) + + minetest.register_node( "display_blocks:"..base.."_crystal", { + drawtype = "plantlike", + description = name.." Display Crystal", + tiles = { "display_blocks_"..base.."_crystal.png" }, + is_ground_content = true, + paramtype = "light", + visual_scale = Scale, + groups = {immortal=1, not_in_creative_inventory=1}, + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, + walkable = false, + }) + + minetest.register_abm({ + nodenames = {"display_blocks:"..base.."_base"}, + interval = 2.0, + chance = 1.0, + action = function(pos, node, active_object_count, active_object_count_wider) + pos.y = pos.y + 1 + local n = minetest.get_node(pos) + if n and n.name == "air" then + minetest.add_node(pos, {name="display_blocks:"..base.."_crystal"}) + end + end + }) + + function remove_crystal(pos, node, active_object_count, active_object_count_wider) + if node.name == "display_blocks:"..base.."_base" then + pos.y = pos.y + 1 + local n = minetest.get_node(pos) + if n and n.name == "display_blocks:"..base.."_crystal" then + minetest.remove_node(pos) + end + end + end + minetest.register_on_dignode(remove_crystal) + + minetest.register_craft({ + output = 'display_blocks:'..base..'_base 5', + recipe = { + {'', 'default:mese_crystal_fragment', ''}, + {rec, 'display_blocks:empty_display', rec}, + {'', rec, ''}, + }, + replacements = {{rec, rp}, {rec, rp},{rec, rp}}, + }) +end + +-- disp(base, name, rec, rp) +disp("mese", "Mese", 0, "default:mese_block", "") +disp("glass", "Glass", 0, "default:sand", "") +disp("fire", "Fire", 12, "bucket:bucket_lava" ,"bucket:bucket_empty") +disp("air", "Air", 5, "bucket:bucket_empty", "bucket:bucket_empty") +disp("water", "Water", 0, "bucket:bucket_water", "bucket:bucket_empty") +disp("uranium", "Uranium", 10, "display_blocks:uranium_block", "") +disp("earth", "Earth", 0, "display_blocks:compressed_earth", "") +disp("metal", "Metal", 2, "default:steelblock", "") + + +if minetest.get_modpath("titanium") then + disp("titanium", "Titanium", 0, "titanium:block", "") +end + +-- +-- Universia Display +-- + +minetest.register_node( "display_blocks:universia_base", { + description = "Universia Display Base", + tiles = {"display_blocks_universia_block.png"}, + is_ground_content = true, + groups = {cracky=3,}, + light_source = 15, + sunlight_propagates = true, + paramtype = "light", + drawtype = "glasslike", +}) + +minetest.register_node( "display_blocks:universia_crystal", { + description = "Universia Display Crystal", + drawtype = "plantlike", + tiles = {"display_blocks_universia_crystal.png"}, + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, + walkable = false, + is_ground_content = true, + paramtype = "light", + visual_scale = Scale, + groups = {immortal=1, not_in_creative_inventory=1}, +}) + +minetest.register_abm({ + nodenames = {"display_blocks:universia_base"}, + interval = 1.0, + chance = 1.0, + action = function(pos, node, active_object_count, active_object_count_wider) + pos.y = pos.y + 1 + minetest.add_node(pos, {name="display_blocks:universia_crystal"}) + end +}) + +function remove_crystal(pos, node, active_object_count, active_object_count_wider) + if + node.name == "display_blocks:universia_base" + then + pos.y = pos.y + 1 + minetest.remove_node(pos, {name="display_blocks:universia_crystal"}) + end +end +minetest.register_on_dignode(remove_crystal) + +minetest.register_craft({ + output = "display_blocks:universia_base", + recipe = { + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'display_blocks:natura_cube', 'default:mese_block', 'display_blocks:industria_cube'}, + {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + }, +}) + +-- +-- Other Blocks +-- + +minetest.register_node("display_blocks:compressed_earth", { + description = "Compressed Earth", + tiles = {"display_blocks_compressed_earth.png"}, + groups = {crumbly=3,soil=1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.25}, + }), +}) + +minetest.register_node("display_blocks:empty_display", { + description = "Empty Display", + tiles = {"display_blocks_empty_display.png"}, + groups = {cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), + sunlight_propagates = true, + paramtype = "light", + drawtype = "glasslike", + is_ground_content = true, +}) + +minetest.register_node("display_blocks:industria_cube", { + description = "Industria Cube", + tiles = {"display_blocks_industria_cube.png"}, + groups = {cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), + sunlight_propagates = true, + paramtype = "light", + drawtype = "glasslike", + is_ground_content = true, +}) + +minetest.register_node("display_blocks:natura_cube", { + description = "Natura Cube", + tiles = {"display_blocks_natura_cube.png"}, + groups = {cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), + sunlight_propagates = true, + paramtype = "light", + drawtype = "glasslike", + is_ground_content = true, +}) + +minetest.register_craft({ + output= "display_blocks:compressed_earth", + recipe = { + {'default:gravel', 'default:dirt', 'default:gravel'}, + {'default:dirt', 'default:gravel', 'default:dirt'}, + {'default:gravel', 'default:dirt', 'default:gravel'}, + } +}) + +minetest.register_craft({ + output = "display_blocks:empty_display", + recipe = { + {'default:desert_sand', 'default:glass', 'default:sand'}, + {'default:glass', '', 'default:glass'}, + {'default:sand', 'default:glass', 'default:desert_sand'}, + }, +}) + +minetest.register_craft({ + output = "display_blocks:natura_cube", + recipe = { + {'', 'display_blocks:air_base', ''}, + {'display_blocks:fire_base', '', 'display_blocks:water_base'}, + {'', 'display_blocks:earth_base', ''}, + }, +}) + +minetest.register_craft({ + output = "display_blocks:industria_cube", + recipe = { + {'', 'display_blocks:mese_base', ''}, + {'display_blocks:metal_base', '', 'display_blocks:glass_base'}, + {'', 'display_blocks:uranium_base', ''}, + }, +}) + +-- +-- Compressed Earth Ore Gen +-- + +minetest.register_ore({ + ore_type = "scatter", + ore = "display_blocks:compressed_earth", + wherein = "default:dirt", + clust_scarcity = 25*25*25, + clust_num_ores = 20, + clust_size = 5, + y_max = -5, + y_min = -15, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "display_blocks:compressed_earth", + wherein = "default:dirt", + clust_scarcity = 20*20*20, + clust_num_ores = 50, + clust_size = 5, + y_max = -16, + y_min = -29, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "display_blocks:compressed_earth", + wherein = "default:dirt", + clust_scarcity = 15*15*15, + clust_num_ores = 80, + clust_size = 5, + y_max = -30, + y_min = -100, +}) + +print("[Display Blocks] Loaded! by jojoa1997 :-)") diff --git a/display_blocks/technic.lua b/display_blocks/technic.lua new file mode 100644 index 0000000..56adb5d --- /dev/null +++ b/display_blocks/technic.lua @@ -0,0 +1,40 @@ +if enable_display_uranium == false then + minetest.register_alias("display_blocks:uranium_dust", "technic:uranium_block") + minetest.register_alias("display_blocks:uranium_block", "technic:uranium_block") + minetest.register_alias("display_blocks:uranium_ore", "technic:mineral_uranium") +end + +if technic_uranium_new_ore_gen == true then + minetest.register_ore({ + ore_type = "scatter", + ore = "technic:mineral_uranium", + wherein = "default:stone", + clust_scarcity = 20*20*20, + clust_num_ores = 18, + clust_size = 3, + y_min = -3000, + y_max = -2000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "technic:mineral_uranium", + wherein = "default:stone", + clust_scarcity =30*30*30, + clust_num_ores = 40, + clust_size = 4, + y_min = -7000, + y_max = -5000, + }) +end + +if enable_technic_recipe == true then + minetest.register_craft({ + output = 'display_blocks:uranium_base 5', + recipe = { + {'', 'default:mese_crystal_fragment', ''}, + {'technic:uranium_block', 'display_blocks:empty_display', 'technic:uranium_block'}, + {'', 'technic:uranium_block', ''}, + } + }) +end diff --git a/display_blocks/textures/display_blocks_air_block.png b/display_blocks/textures/display_blocks_air_block.png Binary files differnew file mode 100644 index 0000000..24835d3 --- /dev/null +++ b/display_blocks/textures/display_blocks_air_block.png diff --git a/display_blocks/textures/display_blocks_air_crystal.png b/display_blocks/textures/display_blocks_air_crystal.png Binary files differnew file mode 100644 index 0000000..75c97ce --- /dev/null +++ b/display_blocks/textures/display_blocks_air_crystal.png diff --git a/display_blocks/textures/display_blocks_compressed_earth.png b/display_blocks/textures/display_blocks_compressed_earth.png Binary files differnew file mode 100644 index 0000000..50dd061 --- /dev/null +++ b/display_blocks/textures/display_blocks_compressed_earth.png diff --git a/display_blocks/textures/display_blocks_earth_block.png b/display_blocks/textures/display_blocks_earth_block.png Binary files differnew file mode 100644 index 0000000..8d7c693 --- /dev/null +++ b/display_blocks/textures/display_blocks_earth_block.png diff --git a/display_blocks/textures/display_blocks_earth_crystal.png b/display_blocks/textures/display_blocks_earth_crystal.png Binary files differnew file mode 100644 index 0000000..6211f05 --- /dev/null +++ b/display_blocks/textures/display_blocks_earth_crystal.png diff --git a/display_blocks/textures/display_blocks_empty_display.png b/display_blocks/textures/display_blocks_empty_display.png Binary files differnew file mode 100644 index 0000000..3482ad1 --- /dev/null +++ b/display_blocks/textures/display_blocks_empty_display.png diff --git a/display_blocks/textures/display_blocks_fire_block.png b/display_blocks/textures/display_blocks_fire_block.png Binary files differnew file mode 100644 index 0000000..a8f799a --- /dev/null +++ b/display_blocks/textures/display_blocks_fire_block.png diff --git a/display_blocks/textures/display_blocks_fire_crystal.png b/display_blocks/textures/display_blocks_fire_crystal.png Binary files differnew file mode 100644 index 0000000..c70cf57 --- /dev/null +++ b/display_blocks/textures/display_blocks_fire_crystal.png diff --git a/display_blocks/textures/display_blocks_glass_block.png b/display_blocks/textures/display_blocks_glass_block.png Binary files differnew file mode 100644 index 0000000..958c289 --- /dev/null +++ b/display_blocks/textures/display_blocks_glass_block.png diff --git a/display_blocks/textures/display_blocks_glass_crystal.png b/display_blocks/textures/display_blocks_glass_crystal.png Binary files differnew file mode 100644 index 0000000..2f27a20 --- /dev/null +++ b/display_blocks/textures/display_blocks_glass_crystal.png diff --git a/display_blocks/textures/display_blocks_industria_cube.png b/display_blocks/textures/display_blocks_industria_cube.png Binary files differnew file mode 100644 index 0000000..24142d6 --- /dev/null +++ b/display_blocks/textures/display_blocks_industria_cube.png diff --git a/display_blocks/textures/display_blocks_mese_block.png b/display_blocks/textures/display_blocks_mese_block.png Binary files differnew file mode 100644 index 0000000..9b631ea --- /dev/null +++ b/display_blocks/textures/display_blocks_mese_block.png diff --git a/display_blocks/textures/display_blocks_mese_crystal.png b/display_blocks/textures/display_blocks_mese_crystal.png Binary files differnew file mode 100644 index 0000000..afc68b7 --- /dev/null +++ b/display_blocks/textures/display_blocks_mese_crystal.png diff --git a/display_blocks/textures/display_blocks_mese_giver_block.png b/display_blocks/textures/display_blocks_mese_giver_block.png Binary files differnew file mode 100644 index 0000000..f663bb1 --- /dev/null +++ b/display_blocks/textures/display_blocks_mese_giver_block.png diff --git a/display_blocks/textures/display_blocks_metal_block.png b/display_blocks/textures/display_blocks_metal_block.png Binary files differnew file mode 100644 index 0000000..53c112f --- /dev/null +++ b/display_blocks/textures/display_blocks_metal_block.png diff --git a/display_blocks/textures/display_blocks_metal_crystal.png b/display_blocks/textures/display_blocks_metal_crystal.png Binary files differnew file mode 100644 index 0000000..ebb2320 --- /dev/null +++ b/display_blocks/textures/display_blocks_metal_crystal.png diff --git a/display_blocks/textures/display_blocks_natura_cube.png b/display_blocks/textures/display_blocks_natura_cube.png Binary files differnew file mode 100644 index 0000000..23a6e98 --- /dev/null +++ b/display_blocks/textures/display_blocks_natura_cube.png diff --git a/display_blocks/textures/display_blocks_titanium_block.png b/display_blocks/textures/display_blocks_titanium_block.png Binary files differnew file mode 100644 index 0000000..b9cd01c --- /dev/null +++ b/display_blocks/textures/display_blocks_titanium_block.png diff --git a/display_blocks/textures/display_blocks_titanium_crystal.png b/display_blocks/textures/display_blocks_titanium_crystal.png Binary files differnew file mode 100644 index 0000000..aeff651 --- /dev/null +++ b/display_blocks/textures/display_blocks_titanium_crystal.png diff --git a/display_blocks/textures/display_blocks_universia_block.png b/display_blocks/textures/display_blocks_universia_block.png Binary files differnew file mode 100644 index 0000000..313f3c5 --- /dev/null +++ b/display_blocks/textures/display_blocks_universia_block.png diff --git a/display_blocks/textures/display_blocks_universia_crystal.png b/display_blocks/textures/display_blocks_universia_crystal.png Binary files differnew file mode 100644 index 0000000..6529c5d --- /dev/null +++ b/display_blocks/textures/display_blocks_universia_crystal.png diff --git a/display_blocks/textures/display_blocks_uranium_block.png b/display_blocks/textures/display_blocks_uranium_block.png Binary files differnew file mode 100644 index 0000000..1762c5d --- /dev/null +++ b/display_blocks/textures/display_blocks_uranium_block.png diff --git a/display_blocks/textures/display_blocks_uranium_crystal.png b/display_blocks/textures/display_blocks_uranium_crystal.png Binary files differnew file mode 100644 index 0000000..c877349 --- /dev/null +++ b/display_blocks/textures/display_blocks_uranium_crystal.png diff --git a/display_blocks/textures/display_blocks_water_block.png b/display_blocks/textures/display_blocks_water_block.png Binary files differnew file mode 100644 index 0000000..eb40543 --- /dev/null +++ b/display_blocks/textures/display_blocks_water_block.png diff --git a/display_blocks/textures/display_blocks_water_crystal.png b/display_blocks/textures/display_blocks_water_crystal.png Binary files differnew file mode 100644 index 0000000..6925fda --- /dev/null +++ b/display_blocks/textures/display_blocks_water_crystal.png diff --git a/display_blocks/textures/uranium_block.png b/display_blocks/textures/uranium_block.png Binary files differnew file mode 100644 index 0000000..aa97e73 --- /dev/null +++ b/display_blocks/textures/uranium_block.png diff --git a/display_blocks/textures/uranium_dust.png b/display_blocks/textures/uranium_dust.png Binary files differnew file mode 100644 index 0000000..2316ab9 --- /dev/null +++ b/display_blocks/textures/uranium_dust.png diff --git a/display_blocks/textures/uranium_ore.png b/display_blocks/textures/uranium_ore.png Binary files differnew file mode 100644 index 0000000..77e504d --- /dev/null +++ b/display_blocks/textures/uranium_ore.png diff --git a/display_blocks/uranium.lua b/display_blocks/uranium.lua new file mode 100644 index 0000000..10a004b --- /dev/null +++ b/display_blocks/uranium.lua @@ -0,0 +1,56 @@ +minetest.register_node( "display_blocks:uranium_ore", { + description = "Uranium Ore", + tiles = { "default_stone.png^uranium_ore.png" }, + is_ground_content = true, + groups = {cracky=3}, + drop = 'craft "display_blocks:uranium_dust" 3', +}) + +minetest.register_craftitem( "display_blocks:uranium_dust", { + description = "Uranium Dust", + inventory_image = "uranium_dust.png", + on_place_on_ground = minetest.craftitem_place_item, +}) + +minetest.register_node( "display_blocks:uranium_block", { + description = "Uranium Block", + tiles = { "uranium_block.png" }, + light_propagates = true, + paramtype = "light", + sunlight_propagates = true, + light_source = 15, + is_ground_content = true, + groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, +}) + + +minetest.register_craft( { + output = 'node "display_blocks:uranium_block" 1', + recipe = { + { 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' }, + { 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' }, + { 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' }, + } +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "display_blocks:uranium_ore", + wherein = "default:stone", + clust_scarcity = 10*10*10, + clust_num_ores =18, + clust_size = 3, + y_min = -3000, + y_max = -2000, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "display_blocks:uranium_ore", + wherein = "default:stone", + clust_scarcity =20*20*20, + clust_num_ores =40, + clust_size = 4, + y_min = -7000, + y_max = -5000, +}) |