illuna_aestival: properly introduce astroportal, closes #12
parent
e972c15ce0
commit
695f64f86d
|
@ -1,4 +1,5 @@
|
||||||
local path = minetest.get_modpath("illuna_aestival") .. "/src"
|
local path = minetest.get_modpath("illuna_aestival") .. "/src"
|
||||||
|
illuna = {}
|
||||||
|
|
||||||
-- stuff
|
-- stuff
|
||||||
dofile(path .. "/nodes.lua")
|
dofile(path .. "/nodes.lua")
|
||||||
|
@ -14,4 +15,4 @@ dofile(path .. "/signs.lua")
|
||||||
dofile(path .. "/replacer.lua")
|
dofile(path .. "/replacer.lua")
|
||||||
dofile(path .. "/mobs.lua")
|
dofile(path .. "/mobs.lua")
|
||||||
dofile(path .. "/portal.lua")
|
dofile(path .. "/portal.lua")
|
||||||
dofile(path .. "/moreblocks.lua")
|
dofile(path .. "/moreblocks.lua")
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
local ai = {name = "air", param1 = 000}
|
||||||
|
local ap = {name = "illuna:astroportal_block", param = 100}
|
||||||
|
|
||||||
|
illuna.astroportal = {
|
||||||
|
size = {x = 5, y = 2, z = 5},
|
||||||
|
data = {
|
||||||
|
|
||||||
|
ai, ai, ai, ai, ai,
|
||||||
|
ai, ap, ap, ap, ai,
|
||||||
|
|
||||||
|
ai, ap, ap, ap, ai,
|
||||||
|
ap, ai, ai, ai, ap,
|
||||||
|
|
||||||
|
ai, ap, ap, ap, ai,
|
||||||
|
ap, ai, ai, ai, ap,
|
||||||
|
|
||||||
|
ai, ap, ap, ap, ai,
|
||||||
|
ap, ai, ai, ai, ap,
|
||||||
|
|
||||||
|
ai, ai, ai, ai, ai,
|
||||||
|
ai, ap, ap, ap, ai,
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
|
@ -3,27 +3,24 @@ local path = minetest.get_modpath("illuna_aestival")
|
||||||
local dpath = minetest.get_modpath("default") .. "/schematics/"
|
local dpath = minetest.get_modpath("default") .. "/schematics/"
|
||||||
path = path .. "/schematics/"
|
path = path .. "/schematics/"
|
||||||
|
|
||||||
|
|
||||||
local add_node = function(a, b, c, d, e, f, g, h, i, j)
|
local add_node = function(a, b, c, d, e, f, g, h, i, j)
|
||||||
|
|
||||||
|
if j ~= 1 then return end
|
||||||
if j ~= 1 then return end
|
minetest.register_decoration({
|
||||||
|
deco_type = "simple",
|
||||||
minetest.register_decoration({
|
place_on = a,
|
||||||
deco_type = "simple",
|
sidelen = 80,
|
||||||
place_on = a,
|
fill_ratio = b,
|
||||||
sidelen = 80,
|
biomes = c,
|
||||||
fill_ratio = b,
|
y_min = d,
|
||||||
biomes = c,
|
y_max = e,
|
||||||
y_min = d,
|
decoration = f,
|
||||||
y_max = e,
|
height_max = g,
|
||||||
decoration = f,
|
spawn_by = h,
|
||||||
height_max = g,
|
num_spawn_by = i,
|
||||||
spawn_by = h,
|
rotation = "random",
|
||||||
num_spawn_by = i,
|
})
|
||||||
rotation = "random",
|
end
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -114,3 +111,22 @@ local add_schem = function(a, b, c, d, e, f, g, h)
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
add_schem({"ethereal:mesa_dirt"}, 0.04, {"mesa"}, 1, 100, path .. "douglasie.mts")
|
add_schem({"ethereal:mesa_dirt"}, 0.04, {"mesa"}, 1, 100, path .. "douglasie.mts")
|
||||||
|
|
||||||
|
dofile(path .. "astroportal.lua")
|
||||||
|
|
||||||
|
minetest.register_decoration({
|
||||||
|
name = "Ancient broken astro portal",
|
||||||
|
deco_type = "schematic",
|
||||||
|
place_on = "default:sand",
|
||||||
|
sidelen = 80,
|
||||||
|
fill_ratio = 0.00018,
|
||||||
|
biomes = "desert",
|
||||||
|
y_max = 2300,
|
||||||
|
y_min = 1250,
|
||||||
|
schematic = illuna.astroportal,
|
||||||
|
place_offset_y = 0,
|
||||||
|
rotation = "random",
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -323,3 +323,11 @@ minetest.register_entity(":illuna:wikitop", {
|
||||||
minetest.register_craftitem(":illuna:wikitop", {
|
minetest.register_craftitem(":illuna:wikitop", {
|
||||||
inventory_image = "illuna_wikitop.png",
|
inventory_image = "illuna_wikitop.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node(":illuna:astroportal_block", {
|
||||||
|
description = "Ancient Astro Portal Block",
|
||||||
|
tiles = {"illuna_astroportal_block.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
})
|
||||||
|
|
|
@ -5,7 +5,7 @@ nether.register_portal(
|
||||||
"asteroid_portal",
|
"asteroid_portal",
|
||||||
{
|
{
|
||||||
shape = nether.PortalShape_Platform,
|
shape = nether.PortalShape_Platform,
|
||||||
frame_node_name = "default:goldblock",
|
frame_node_name = "illuna:astroportal_block",
|
||||||
wormhole_node_color = 5,
|
wormhole_node_color = 5,
|
||||||
particle_texture = {
|
particle_texture = {
|
||||||
name = "nether_particle_anim1.png",
|
name = "nether_particle_anim1.png",
|
||||||
|
@ -18,7 +18,7 @@ nether.register_portal(
|
||||||
scale = 1.5
|
scale = 1.5
|
||||||
},
|
},
|
||||||
title = "Asteroid Portal",
|
title = "Asteroid Portal",
|
||||||
book_of_portals_pagetext = [[Requiring 21 blocks of gold, and constructed in the shape of a 3 × 3 platform with walls, or like a bowl. A finished platform is 2 blocks high, and 5 blocks wide at the widest in both directions.
|
book_of_portals_pagetext = [[Requiring 21 blocks of ancient astro-portal blocks, and constructed in the shape of a 3 × 3 platform with walls, or like a bowl. A finished platform is 2 blocks high, and 5 blocks wide at the widest in both directions.
|
||||||
This portal is different to the others, rather than acting akin to a doorway it appears to the eye more like a small pool of water which can be stepped into. Upon setting foot in the portal we found ourselves at a tremendous altitude.]],
|
This portal is different to the others, rather than acting akin to a doorway it appears to the eye more like a small pool of water which can be stepped into. Upon setting foot in the portal we found ourselves at a tremendous altitude.]],
|
||||||
is_within_realm = function(pos) -- return true if pos is inside the Nether
|
is_within_realm = function(pos) -- return true if pos is inside the Nether
|
||||||
return pos.y > OTHER_WORLDS_LEVEL - 200
|
return pos.y > OTHER_WORLDS_LEVEL - 200
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 143 B |
Loading…
Reference in New Issue