1
0
Fork 0

Compare commits

..

3 Commits

Author SHA1 Message Date
teknomunk 578d970c47 Fix typo 2024-09-24 17:58:15 -05:00
teknomunk 47bb3f940d Add overlay textures 2024-09-25 00:52:56 +02:00
teknomunk ef1853e83e Initial compressed block API and several compressed block series 2024-09-25 00:52:56 +02:00
24 changed files with 194 additions and 332 deletions

View File

@ -388,7 +388,7 @@ end
local function on_step_work(self, dtime, moveresult)
local function on_step_work (self, dtime)
local pos = self.object:get_pos()
if not pos then return end
@ -402,7 +402,7 @@ local function on_step_work(self, dtime, moveresult)
-- Do we abandon out of here now?
end
if self:falling(pos, moveresult) then return end
if self:falling(pos) then return end
if self:step_damage (dtime, pos) then return end
if self.state == "die" then return end
@ -502,11 +502,11 @@ end
-- main mob function
function mob_class:on_step(dtime, moveresult)
function mob_class:on_step(dtime)
if not DEVELOPMENT then
-- Removed as bundled Lua (5.1 doesn't support xpcall)
--local status, retVal = xpcall(on_step_work, on_step_error_handler, self, dtime)
local status, retVal = pcall(on_step_work, self, dtime, moveresult)
local status, retVal = pcall(on_step_work, self, dtime)
if status then
return retVal
else
@ -521,7 +521,7 @@ function mob_class:on_step(dtime, moveresult)
log_error (dump(retVal), dump(pos), dump(self))
end
else
return on_step_work (self, dtime, moveresult)
return on_step_work (self, dtime)
end
end

View File

@ -105,7 +105,7 @@ end
-- Spawn a child
function mcl_mobs.spawn_child(pos, mob_type)
local child = minetest.add_entity(pos, mob_type)
local child = mcl_mobs.spawn(pos, mob_type)
if not child then
return
end

View File

@ -615,7 +615,7 @@ function mcl_mobs.register_egg(mob_id, desc, background_color, overlay_color, ad
pos.y = pos.y - 1
local mob = mcl_mobs.spawn(pos, mob_name)
if not mob then
if not object then
pos.y = pos.y + 1
mob = mcl_mobs.spawn(pos, mob_name)
if not mob then return end

View File

@ -927,8 +927,7 @@ end
-- falling and fall damage
-- returns true if mob died
function mob_class:falling(pos, moveresult)
if moveresult and moveresult.touching_ground then return false end
function mob_class:falling(pos)
if self.fly and self.state ~= "die" then
return

View File

@ -157,7 +157,6 @@ function mcl_weather.rain.clear()
mcl_weather.rain.remove_sound(player)
mcl_weather.rain.remove_player(player)
mcl_weather.remove_spawners_player(player)
player:set_clouds({color="#FFF0EF"})
end
end

View File

@ -2,7 +2,6 @@
local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
local NIGHT_VISION_RATIO = 0.45
local DEBUG = false
-- Settings
local minimum_update_interval = { 250e3 }
@ -191,8 +190,8 @@ end
function skycolor_utils.convert_to_rgb(minval, maxval, current_val, colors)
-- Clamp current_val to valid range
current_val = math.max(minval, current_val)
current_val = math.min(maxval, current_val)
current_val = math.min(minval, current_val)
current_val = math.max(maxval, current_val)
-- Rescale current_val from a number between minval and maxval to a number between 1 and #colors
local scaled_value = (current_val - minval) / (maxval - minval) * (#colors - 1) + 1.0
@ -200,7 +199,7 @@ function skycolor_utils.convert_to_rgb(minval, maxval, current_val, colors)
-- Get the first color's values
local index1 = math.floor(scaled_value)
local color1 = colors[index1]
local frac1 = 1.0 - (scaled_value - index1)
local frac1 = scaled_value - index1
-- Get the second color's values
local index2 = math.min(index1 + 1, #colors) -- clamp to maximum color index (will occur if index1 == #colors)
@ -208,32 +207,11 @@ function skycolor_utils.convert_to_rgb(minval, maxval, current_val, colors)
local color2 = colors[index2]
-- Interpolate between color1 and color2
local res = {
return {
r = math.floor(frac1 * color1.r + frac2 * color2.r),
g = math.floor(frac1 * color1.g + frac2 * color2.g),
b = math.floor(frac1 * color1.b + frac2 * color2.b),
}
if DEBUG then
minetest.log(dump({
minval = minval,
maxval = maxval,
current_val = current_val,
colors = colors,
res = res,
scaled_value = scaled_value,
frac1 = frac1,
index1 = index1,
color1 = color1,
frac2 = frac2,
index2 = index2,
color2 = color2,
}))
end
return res
end
-- Simple getter. Either returns user given players list or get all connected players if none provided

View File

@ -40,21 +40,18 @@ function dimension_handlers.overworld(player, sky_data)
end
-- Use overworld defaults
local day_color = mcl_weather.skycolor.get_sky_layer_color(0.5)
local day_color = mcl_weather.skycolor.get_sky_layer_color(0.15)
local dawn_color = mcl_weather.skycolor.get_sky_layer_color(0.27)
local night_color = mcl_weather.skycolor.get_sky_layer_color(0.1)
sky_data.sky = {
type = "regular",
sky_color = {
day_sky = day_color or "#7BA4FF",
day_horizon = day_color or "#C0D8FF",
dawn_sky = dawn_color or "7BA4FF",
dawn_horizon = dawn_color or "#C0D8FF",
night_sky = night_color or "000000",
night_horizon = night_color or "4A6790",
fog_sun_tint = "#ff5f33",
fog_moon_tint = nil,
fog_tint_type = "custom",
day_sky = day_color,
day_horizon = day_color,
dawn_sky = dawn_color,
dawn_horizon = dawn_color,
night_sky = night_color,
night_horizon = night_color,
},
clouds = true,
}
@ -78,15 +75,18 @@ function dimension_handlers.overworld(player, sky_data)
local day_color = mcl_weather.skycolor.get_sky_layer_color(0.5)
local dawn_color = mcl_weather.skycolor.get_sky_layer_color(0.75)
local night_color = mcl_weather.skycolor.get_sky_layer_color(0)
table.update(sky_data.sky.sky_color,{
day_sky = day_color or "#7BA4FF",
day_horizon = day_color or "#C0D8FF",
dawn_sky = dawn_color or "7BA4FF",
dawn_horizon = dawn_color or "#C0D8FF",
night_sky = night_color or "000000",
night_horizon = night_color or "4A6790",
fog_tint_type = "default",
})
sky_data.sky = {
type = "regular",
sky_color = {
day_sky = day_color,
day_horizon = day_color,
dawn_sky = dawn_color,
dawn_horizon = dawn_color,
night_sky = night_color,
night_horizon = night_color,
},
clouds = true,
}
sky_data.sun = {visible = false, sunrise_visible = false}
sky_data.moon = {visible = false}
sky_data.stars = {visible = false}
@ -164,8 +164,7 @@ function dimension_handlers.nether(player, sky_data)
end
function dimension_handlers.void(player, sky_data)
sky_data.sky = {
type = "plain",
sky_data.sky = { type = "plain",
base_color = "#000000",
clouds = false,
}

View File

@ -75,15 +75,13 @@ function mcl_weather.has_snow(pos)
end
function mcl_weather.snow.set_sky_box()
if mcl_weather.skycolor.current_layer_name() ~= "weather-pack-snow-sky" then
mcl_weather.skycolor.add_layer(
"weather-pack-snow-sky",
{{r=0, g=0, b=0},
{r=85, g=86, b=86},
{r=135, g=135, b=135},
{r=85, g=86, b=86},
{r=0, g=0, b=0}})
end
mcl_weather.skycolor.add_layer(
"weather-pack-snow-sky",
{{r=0, g=0, b=0},
{r=85, g=86, b=86},
{r=135, g=135, b=135},
{r=85, g=86, b=86},
{r=0, g=0, b=0}})
mcl_weather.skycolor.active = true
for _, player in pairs(get_connected_players()) do
player:set_clouds({color="#ADADADE8"})

View File

@ -23,15 +23,13 @@ minetest.register_globalstep(function(dtime)
mcl_weather.rain.make_weather()
if mcl_weather.thunder.init_done == false then
if mcl_weather.skycolor.current_layer_name() ~= "weather-pack-thunder-sky" then
mcl_weather.skycolor.add_layer("weather-pack-thunder-sky", {
{r=0, g=0, b=0},
{r=40, g=40, b=40},
{r=85, g=86, b=86},
{r=40, g=40, b=40},
{r=0, g=0, b=0},
})
end
mcl_weather.skycolor.add_layer("weather-pack-thunder-sky", {
{r=0, g=0, b=0},
{r=40, g=40, b=40},
{r=85, g=86, b=86},
{r=40, g=40, b=40},
{r=0, g=0, b=0},
})
mcl_weather.skycolor.active = true
for _, player in pairs(get_connected_players()) do
player:set_clouds({color="#3D3D3FE8"})

View File

@ -74,7 +74,7 @@ function mcl_bamboo.break_orphaned(pos)
local node_name = node_below.name
-- short circuit checks.
if node_name == "ignore" or mcl_bamboo.is_dirt(node_name) or mcl_bamboo.is_bamboo(node_name) or mcl_bamboo.is_bamboo(minetest.get_node(pos).name) == false then
if mcl_bamboo.is_dirt(node_name) or mcl_bamboo.is_bamboo(node_name) or mcl_bamboo.is_bamboo(minetest.get_node(pos).name) == false then
return
end

View File

@ -79,7 +79,7 @@ minetest.register_lbm({
local node_name = node.name
node.name = node_name .. "_small"
minetest.swap_node(pos, node)
mcl_chests.select_and_spawn_entity(pos, node)
select_and_spawn_entity(pos, node)
if node_name == "mcl_chests:trapped_chest_on" then
minetest.log("action", "[mcl_chests] Disabled active trapped chest on load: " .. minetest.pos_to_string(pos))
mcl_chests.chest_update_after_close(pos)

View File

@ -1,5 +1,146 @@
local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
local S = minetest.get_translator(modname)
local mod = {}
mcl_compressed_block = mod
dofile(modpath.."/nodes.lua")
dofile(modpath.."/recipes.lua")
local LABELS = {
[0] = "@1",
"Compressed @1",
"Double Compressed @1",
"Triple Compressed @1",
"Quadruple Compressed @1",
"Quintuple Compressed @1",
"Sextuple Compressed @1",
"Septuple Compressed @1",
"Octuple Compressed @1",
}
local NODE_NAMES = {
[0] = "",
"compressed_",
"double_compressed_",
"triple_compressed_",
"quadruple_compressed_",
"quintuple_compressed_",
"sextuple_compressed_",
"septuple_compressed_",
"octuple_compressed_",
}
local BLAST_RESISTANCE = {
11, 19, 33, 58, 102, 179, 313, 548,
}
local HARDNESS = {
3, 4, 5, 7, 9, 12, 16, 21,
}
local block_name = "Cobblestone"
function mod.register_block_compression(base_block, block_name, max_levels, final_drops)
local base_nodedef = minetest.registered_nodes[base_block]
assert(base_nodedef)
local prev_name = base_block
for i = 1,(max_levels-1) do
local overlay_level = math.ceil(i/max_levels * 8)
local name = "mcl_compressed_blocks:"..NODE_NAMES[i]..block_name
minetest.register_node(name,{
description = S(LABELS[i], base_nodedef.description),
_doc_items_longdesc = (
"@1 is a decorative block made from 9 @2. It is useful for saving space in your inventories."
):gsub("@1",LABELS[i]:gsub("@1",block_name)):gsub("@2",LABELS[i-1]:gsub("@1",block_name)),
_doc_items_hidden = false,
tiles = {base_nodedef.tiles[1].."^mcl_compressed_blocks_"..tostring(overlay_level).."x_overlay.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = base_nodedef.sounds,
_mcl_blast_resistance = BLAST_RESISTANCE[i],
_mcl_hardness = HARDNESS[i],
})
minetest.register_craft({
output = name,
recipe = {
{ prev_name, prev_name, prev_name },
{ prev_name, prev_name, prev_name },
{ prev_name, prev_name, prev_name },
},
})
minetest.register_craft({
output = prev_name .. " 9",
recipe = {
{ name },
},
})
prev_name = name
end
-- Compression Terminal Block
local name = "mcl_compressed_blocks:"..NODE_NAMES[max_levels]..block_name
minetest.register_node(name,{
description = S(LABELS[max_levels], base_nodedef.description),
_doc_items_longdesc = (
"@1 is a decorative block made from 9 @2. It is useful for saving space in your inventories."
):gsub("@1",LABELS[max_levels]:gsub("@1",block_name)):gsub("@2",LABELS[max_levels-1]:gsub("@1",block_name)),
_doc_items_hidden = false,
tiles = {base_nodedef.tiles[1].."^mcl_compressed_blocks_8x_overlay.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
drop = final_drops,
sounds = base_nodedef.sounds,
_mcl_blast_resistance = BLAST_RESISTANCE[max_levels],
_mcl_hardness = HARDNESS[max_levels],
_mcl_silk_touch_drop = true,
})
minetest.register_craft({
output = name,
recipe = {
{ prev_name, prev_name, prev_name },
{ prev_name, prev_name, prev_name },
{ prev_name, prev_name, prev_name },
},
})
minetest.register_craft({
output = prev_name .. " 9",
recipe = {
{ name },
},
})
end
mod.register_block_compression("mcl_core:cobble", "cobblestone", 8, {
max_items = 2,
items = {
{items = {"mcl_core:diamond 9"}},
{items = {"mcl_nether:netherite_scrap 18"}},
},
})
mod.register_block_compression("mcl_deepslate:deepslate_cobbled", "deepslate_cobbled", 8, {
max_items = 2,
items = {
{items = {"mcl_core:diamond 9"}},
{items = {"mcl_nether:netherite_scrap 18"}},
},
})
mod.register_block_compression("mcl_core:granite", "granite", 5, {
max_items = 2,
items = {
{items = {"mcl_core:diamond 9"}},
{items = {"mcl_nether:netherite_scrap 18"}},
},
})
mod.register_block_compression("mcl_core:diorite", "diorite", 6, {
max_items = 2,
items = {
{items = {"mcl_core:diamond 9"}},
{items = {"mcl_nether:netherite_scrap 18"}},
},
})
mod.register_block_compression("mcl_core:andesite", "andesite", 6, {
max_items = 2,
items = {
{items = {"mcl_core:diamond 9"}},
{items = {"mcl_nether:netherite_scrap 18"}},
},
})

View File

@ -1,3 +1,4 @@
name = mcl_compressed_blocks
depends = mcl_core
depends = mcl_core, mcl_deepslate
description = adds compressed blocks to voxelibre

View File

@ -1,124 +0,0 @@
local modname = minetest.get_current_modname()
local S = minetest.get_translator(modname)
--Compressed Cobblestone
minetest.register_node("mcl_compressed_blocks:compressed_cobblestone", {
description = S("Compressed Cobblestone"),
_doc_items_longdesc = S("Compressed Cobblestone is a decorative block made from 9 Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 11,
_mcl_hardness = 3,
})
--Double Compressed Cobble
minetest.register_node("mcl_compressed_blocks:double_compressed_cobblestone", {
description = S("Double Compressed Cobblestone"),
_doc_items_longdesc = S("Double Compressed Cobblestone is a decorative block made from 9 Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_double_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 19,
_mcl_hardness = 4,
})
--Triple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:triple_compressed_cobblestone", {
description = S("Triple Compressed Cobblestone"),
_doc_items_longdesc = S("Triple Compressed Cobblestone is a decorative block made from 9 Double Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_triple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 33,
_mcl_hardness = 5,
})
--Quadruple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:quadruple_compressed_cobblestone", {
description = S("Quadruple Compressed Cobblestone"),
_doc_items_longdesc = S("Quadruple Compressed Cobblestone is a decorative block made from 9 Triple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_quadruple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 58,
_mcl_hardness = 7,
})
--Quintuple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:quintuple_compressed_cobblestone", {
description = S("Quintuple Compressed Cobblestone"),
_doc_items_longdesc = S("Quintuple Compressed Cobblestone is a decorative block made from 9 Quadruple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_quintuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 102,
_mcl_hardness = 9,
})
--Sextuple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:sextuple_compressed_cobblestone", {
description = S("Sextuple Compressed Cobblestone"),
_doc_items_longdesc = S("Sextuple Compressed Cobblestone is a decorative block made from 9 Quintuple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_sextuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 179,
_mcl_hardness = 12,
})
--Septuple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:septuple_compressed_cobblestone", {
description = S("Septuple Compressed Cobblestone"),
_doc_items_longdesc = S("Septuple Compressed Cobblestone is a decorative block made from 9 Sextuple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_septuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 313,
_mcl_hardness = 16,
})
--Ocutple Compressed Cobble
minetest.register_node("mcl_compressed_blocks:octuple_compressed_cobblestone", {
description = S("Octuple Compressed Cobblestone"),
_doc_items_longdesc = S("Octuple Compressed Cobblestone is a decorative block made from 9 Septuple Compressed Cobblestone. It is useful for saving space in your inventories."),
_doc_items_hidden = false,
tiles = {"mcl_compressed_blocks_octuple_compressed_cobblestone.png"},
is_ground_content = true,
stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1},
drop = {
max_items = 2,
items = {
{items = {"mcl_core:diamond 9"}},
{items = {"mcl_nether:netherite_scrap 18"}},
},
},
sounds = mcl_sounds.node_sound_stone_defaults(),
_mcl_blast_resistance = 548,
_mcl_hardness = 21,
_mcl_silk_touch_drop = true,
})

View File

@ -1,127 +0,0 @@
minetest.register_craft({
output = "mcl_compressed_blocks:compressed_cobblestone",
recipe = {
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
},
})
minetest.register_craft({
output = "mcl_core:cobble 9",
recipe = {
{ "mcl_compressed_blocks:compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:double_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone" },
{ "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone" },
{ "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone", "mcl_compressed_blocks:compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:double_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:triple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone" },
{ "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone" },
{ "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone", "mcl_compressed_blocks:double_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:double_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:triple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quadruple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone" },
{ "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone" },
{ "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone", "mcl_compressed_blocks:triple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:triple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quintuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone", "mcl_compressed_blocks:quadruple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quadruple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:sextuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone", "mcl_compressed_blocks:quintuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:quintuple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:septuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone", "mcl_compressed_blocks:sextuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:sextuple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:septuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:octuple_compressed_cobblestone",
recipe = {
{ "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone" },
{ "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone", "mcl_compressed_blocks:septuple_compressed_cobblestone" },
},
})
minetest.register_craft({
output = "mcl_compressed_blocks:septuple_compressed_cobblestone 9",
recipe = {
{ "mcl_compressed_blocks:octuple_compressed_cobblestone" },
},
})

View File

@ -196,7 +196,7 @@ function kelp.find_unsubmerged(pos, node, height)
for i=1,height do
walk_pos.y = y + i
local walk_node = mt_get_node(walk_pos)
if walk_node.name ~= "ignore" and not kelp.is_submerged(walk_node) then
if not kelp.is_submerged(walk_node) then
return walk_pos, walk_node, height, i
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B