Many changes

This commit is contained in:
IamPyu 2024-11-19 18:49:21 -06:00
parent 7201736c40
commit dc0234da4c
26 changed files with 533 additions and 412 deletions

View File

@ -28,6 +28,12 @@ I should just start giving updates a version number to avoid naming updates.
- Fixed biomes in seperate worlds not generating
- Sky World now has normal looking sky
- Added Cacti
- Removed the ability to sprint, it makes survival too easy.
- Increased player speed
- Added Darkstone caves
- Improved death messages more
- Make Apple texture look more like other food textures
- Add a light fog to snowy biomes
## [Oct 20th - Nov 2nd] Update: The Something Update

View File

@ -15,9 +15,50 @@ PyuTest.DAMAGE_TYPES = {
range = range
}
}
end,
burning = function ()
return {
type = "set_hp",
_pyutest = {
type = "burning"
}
}
end
}
PyuTest.mt_damage_to_pyutest_damage = function(reason)
return reason._pyutest or reason
end
minetest.register_on_dieplayer(function(player, reason)
local playername = player:get_player_name()
local message = string.format("%s died", playername)
if reason.type == "fall" then
message = string.format("%s fell from a high place", playername)
elseif reason.type == "drown" then
message = string.format("%s drowned", playername)
elseif reason.type == "respawn" then
return
elseif reason.type == "punch" then
local entity = reason.object:get_luaentity()
if entity ~= nil then
local name = reason.object:get_properties().nametag or entity.name or "an unnamed monster!"
message = string.format("%s was slain by %s", playername, name)
else
local name = reason.object:get_player_name()
local itemname = reason.object:get_wielded_item():get_short_description()
message = string.format("%s was slain by %s using %s", playername, name, itemname)
end
elseif reason.type == "set_hp" then
local newreason = PyuTest.mt_damage_to_pyutest_damage(reason)
if newreason.type == "explosion" then
message = string.format("%s blew up", playername)
elseif newreason.type == "burning" then
message = string.format("%s burned to death", playername)
end
end
minetest.chat_send_all(message)
end)

View File

@ -10,15 +10,16 @@ PyuTest.BLOCK_SLOW = 1
PyuTest.OVERWORLD_SURFACE_BOTTOM = 1
PyuTest.OVERWORLD_TOP = 4096
PyuTest.OVERWORLD_BOTTOM = -200
PyuTest.WORLD_TOP = 31000
PyuTest.WORLD_BOTTOM = -31000
-- these values are yoinked from VoxeLibre
-- (https://git.minetest.land/VoxeLibre/VoxeLibre/src/branch/master/mods/MAPGEN/mcl_biomes/init.lua)
PyuTest.OVERWORLD_OCEAN_MIN = -15
PyuTest.OVERWORLD_DEEP_OCEAN_MAX = PyuTest.OVERWORLD_OCEAN_MIN - 1
PyuTest.OVERWORLD_DEEP_OCEAN_MIN = -31
PyuTest.CAVE_TOP = PyuTest.OVERWORLD_DEEP_OCEAN_MIN - 1
PyuTest.CAVE_BOTTOM = -50
PyuTest.WORLD_TOP = 31000
PyuTest.WORLD_BOTTOM = -31000
PyuTest.NODEBOX_DEFAULT = {
type = "fixed",

View File

@ -92,28 +92,37 @@ PyuTest.node_beside_group = function(pos, group)
return false
end
PyuTest.create_explosion = function(pos, range, rm_pos, dmg, damage_whitelist)
PyuTest.create_explosion = function(pos, range, rm_pos, dmg, damage_whitelist, max_blast_resistance)
local max_resist = max_blast_resistance or 3
if rm_pos then
minetest.remove_node(pos)
end
PyuTest.dorange(pos, range, function(p)
if minetest.get_node(p).name == "pyutest_blocks:tnt" then
minetest.after(0.8, function()
minetest.remove_node(p)
PyuTest.create_explosion(p, range, rm_pos, dmg)
end)
else
minetest.dig_node(p)
end
local node = minetest.get_node(p)
local def = minetest.registered_nodes[node.name]
local resist = def._pyutest_blast_resistance or 1
if resist > max_resist then
return
end
if minetest.get_node(p).name == "pyutest_blocks:tnt" then
minetest.after(0.8, function()
minetest.remove_node(p)
PyuTest.create_explosion(p, range, rm_pos, dmg, damage_whitelist, max_blast_resistance)
end)
else
minetest.dig_node(p)
end
end)
for _, v in pairs(minetest.get_objects_inside_radius(pos, range)) do
local function damage()
v:punch(v, nil, {
damage_groups = { fleshy = dmg }
}, nil)
PyuTest.deal_damage(v, dmg, PyuTest.DAMAGE_TYPES.explosion(range))
if v:is_valid() then
PyuTest.deal_damage(v, dmg, PyuTest.DAMAGE_TYPES.explosion(range))
end
end
if damage_whitelist ~= nil then

View File

@ -0,0 +1 @@
local get_connected_players = minetest.get_connected_players()

View File

@ -85,10 +85,10 @@ minetest.register_entity("pyutest_fireworks:firework", {
minetest.sound_play({
name = "pyutest-firework",
gain = 3,
}, {
pos = pos
})
gain = 1.2,
pos = pos,
max_hear_distance = 30
}, true)
end
})

View File

@ -27,12 +27,12 @@ if not PyuTest.is_flat() then
name = "pyutest_mobs:monster",
nodes = { "group:ground" },
interval = 2,
chance = 2,
chance = 1,
active_object_count = 7,
min_light = 0,
max_light = minetest.LIGHT_MAX,
min_height = PyuTest.OVERWORLD_SURFACE_BOTTOM - 1,
max_height = PyuTest.OVERWORLD_BOTTOM
max_height = PyuTest.OVERWORLD_SURFACE_BOTTOM - 1,
min_height = PyuTest.OVERWORLD_BOTTOM
})
mobs:spawn({
@ -66,7 +66,7 @@ if not PyuTest.is_flat() then
active_object_count = 4,
min_light = 0,
max_light = 9,
day_toggle = false,
day_toggle = nil,
min_height = PyuTest.OVERWORLD_SURFACE_BOTTOM
})
end

View File

@ -229,7 +229,8 @@ PyuTest.make_liquid = function(name, desc, groups, texture, speed, extra_conf)
name = texture,
backface_culling = true
}
} or nil
} or nil,
_pyutest_blast_resistance = 1000
}, PyuTest.util.tableconcat(extra_conf or {}, extra_conf2 or {}))
return t
end

View File

@ -2,14 +2,14 @@ PyuTest.make_building_blocks("pyutest_blocks:dirt", "Dirt", { "pyutest-dirt.png"
ground = 1,
dirt = 1,
acid_vulnerable = 1,
crumbly = PyuTest.BLOCK_FAST
crumbly = PyuTest.BLOCK_FAST,
})
PyuTest.make_building_blocks("pyutest_blocks:podzol", "Podzol", { "pyutest-dirt.png" }, nil, {
ground = 1,
dirt = 1,
acid_vulnerable = 1,
crumbly = PyuTest.BLOCK_FAST
crumbly = PyuTest.BLOCK_FAST,
}, {
overlay_tiles = { { name = "pyutest-ore-overlay.png", color = "#54623c" } }
})
@ -17,7 +17,7 @@ PyuTest.make_building_blocks("pyutest_blocks:podzol", "Podzol", { "pyutest-dirt.
PyuTest.make_building_blocks("pyutest_blocks:snow", "Snow", { "pyutest-snow.png" }, nil, {
ground = 1,
acid_vulnerable = 1,
crumbly = PyuTest.BLOCK_FAST
crumbly = PyuTest.BLOCK_FAST,
})
PyuTest.make_building_blocks("pyutest_blocks:sand", "Sand", { "pyutest-sand.png" }, nil, {
@ -26,7 +26,7 @@ PyuTest.make_building_blocks("pyutest_blocks:sand", "Sand", { "pyutest-sand.png"
falling_node = 1,
sugarcane_spawn_on = 1,
sand = 1,
crumbly = PyuTest.BLOCK_FAST
crumbly = PyuTest.BLOCK_FAST,
})
PyuTest.make_building_blocks("pyutest_blocks:mycelium", "Mycelium", {
@ -41,13 +41,13 @@ PyuTest.make_building_blocks("pyutest_blocks:mycelium", "Mycelium", {
PyuTest.make_building_blocks("pyutest_blocks:clay", "Clay", { "pyutest-clay-block.png" }, nil, {
acid_vulnerable = 1,
crumbly = PyuTest.BLOCK_FAST
crumbly = PyuTest.BLOCK_FAST,
})
PyuTest.make_building_blocks("pyutest_blocks:gravel", "Gravel", { "pyutest-gravel.png" }, nil, {
falling_node = 1,
acid_vulnerable = 1,
crumbly = PyuTest.BLOCK_FAST
crumbly = PyuTest.BLOCK_FAST,
})
-- Cracky
@ -55,42 +55,58 @@ PyuTest.make_building_blocks("pyutest_blocks:stone", "Stone", { "pyutest-stone.p
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, { is_ground_content = true })
}, {
is_ground_content = true,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:darkstone", "Darkstone", { "pyutest-darkstone.png" }, nil, {
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, { is_ground_content = true })
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = true,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:granite", "Granite", { "pyutest-granite.png" }, nil, {
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:andesite", "Andesite", { "pyutest-andesite.png" }, nil, {
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:diorite", "Diorite", { "pyutest-diorite.png" }, nil, {
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:tuff", "Tuff", { "pyutest-tuff.png" }, nil, {
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:calcite", "Calcite", { "pyutest-calcite.png" }, nil, {
ground = 1,
stone = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:stone_bricks", "Stone Bricks", {
@ -99,7 +115,8 @@ PyuTest.make_building_blocks("pyutest_blocks:stone_bricks", "Stone Bricks", {
bricks = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = false
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:darkstone_bricks", "Darkstone Bricks", {
@ -108,7 +125,8 @@ PyuTest.make_building_blocks("pyutest_blocks:darkstone_bricks", "Darkstone Brick
bricks = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = false
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:granite_bricks", "Granite Bricks", {
@ -117,7 +135,8 @@ PyuTest.make_building_blocks("pyutest_blocks:granite_bricks", "Granite Bricks",
bricks = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = false
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:andesite_bricks", "Andesite Bricks", {
@ -126,7 +145,8 @@ PyuTest.make_building_blocks("pyutest_blocks:andesite_bricks", "Andesite Bricks"
bricks = 1,
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = false
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:diorite_bricks", "Diorite Bricks", {
@ -136,6 +156,7 @@ PyuTest.make_building_blocks("pyutest_blocks:diorite_bricks", "Diorite Bricks",
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:tuff_bricks", "Tuff Bricks", {
@ -145,13 +166,17 @@ PyuTest.make_building_blocks("pyutest_blocks:tuff_bricks", "Tuff Bricks", {
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:sandstone", "Sandstone", { "pyutest-sandstone.png" }, nil, {
ground = 1,
acid_vulnerable = 1,
cracky = PyuTest.BLOCK_FAST,
}, { is_ground_content = false })
}, {
is_ground_content = false,
_pyutest_blast_resistance = 2
})
PyuTest.make_building_blocks("pyutest_blocks:ice", "Ice", { "pyutest-ice.png" }, nil, {
ground = 1,
@ -165,20 +190,29 @@ PyuTest.make_building_blocks("pyutest_blocks:molten_rock", "Molten Rock", { "pyu
ground = 1,
cracky = PyuTest.BLOCK_FAST,
fire_persist = 1,
}, { is_ground_content = false })
}, {
is_ground_content = false,
_pyutest_blast_resistance = 2
})
PyuTest.make_building_blocks("pyutest_blocks:basalt", "Basalt", { "pyutest-basalt.png" }, nil, {
ground = 1,
cracky = PyuTest.BLOCK_FAST,
}, { is_ground_content = false })
}, {
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:obsidian", "Obsidian", { "pyutest-obsidian.png" }, nil, {
cracky = PyuTest.BLOCK_NORMAL,
}, { is_ground_content = false })
}, {
is_ground_content = false,
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks("pyutest_blocks:crystal_lantern", "Crystal Lantern", { "pyutest-crystal-lantern.png" }, nil,
{
cracky = PyuTest.BLOCK_FAST
cracky = PyuTest.BLOCK_FAST,
}, {
light_source = minetest.LIGHT_MAX,
paramtype = "light"
@ -189,31 +223,32 @@ PyuTest.make_building_blocks("pyutest_blocks:bone", "Bone", {
"pyutest-bone-block-top-bottom.png",
"pyutest-bone-block.png"
}, nil, {
cracky = PyuTest.BLOCK_FAST
cracky = PyuTest.BLOCK_FAST,
})
PyuTest.make_building_blocks("pyutest_blocks:brick", "Bricks", { "pyutest-bricks.png" }, nil, {
cracky = PyuTest.BLOCK_NORMAL
cracky = PyuTest.BLOCK_NORMAL,
}, {
is_ground_content = false
is_ground_content = false,
_pyutest_blast_resistance = 3
})
-- Choppy
PyuTest.make_building_blocks("pyutest_blocks:mushroom", "Mushroom", { "pyutest-mushroom.png" }, nil, {
flammable = 1,
choppy = PyuTest.BLOCK_FAST
choppy = PyuTest.BLOCK_FAST,
}, { is_ground_content = false })
PyuTest.make_building_blocks("pyutest_blocks:mushroom_stem", "Mushroom Stem", { "pyutest-mushroom-stem.png" }, nil, {
flammable = 1,
choppy = PyuTest.BLOCK_FAST
choppy = PyuTest.BLOCK_FAST,
}, { is_ground_content = false })
PyuTest.make_building_blocks("pyutest_blocks:glowshroom", "Glowshroom", {
"pyutest-glowshroom.png"
}, nil, {
flammable = 1,
choppy = PyuTest.BLOCK_FAST
choppy = PyuTest.BLOCK_FAST,
}, {
is_ground_content = false,
paramtype = "light",

View File

@ -27,5 +27,6 @@ PyuTest.make_node("pyutest_blocks:crate", "Crate", {
minetest.show_formspec(clicker:get_player_name(), string.format("pyutest_blocks:crate_%d_%d_%d", pos.x, pos.y, pos.z),
formspec)
minetest.sound_play({ name = "crate_open", gain = 1 }, { pos = pos })
end
end,
_pyutest_blast_resistance = 2
})

View File

@ -22,7 +22,8 @@ PyuTest.make_node("pyutest_blocks:fire", "Fire", {
sunlight_propagates = true,
damage_per_second = 2,
light_source = 8,
drop = "pyutest_tools:ash 2"
drop = "pyutest_tools:ash 2",
_pyutest_blast_resistance = 0,
})
minetest.register_abm({

View File

@ -2,7 +2,7 @@ PyuTest.make_liquid("pyutest_blocks:water", "Water", {
water = 1,
freezable = 1,
heatable = 1
}, "pyutest-water.png", 0, {
}, "pyutest-water.png", 1, {
post_effect_color = { a = 60, r = 24.7, g = 46.3, b = 89.4 },
paramtype2 = "color",
})

View File

@ -1,6 +1,8 @@
PyuTest.make_node("pyutest_blocks:sponge", "Sponge", {
oddly_breakable_by_hand = PyuTest.BLOCK_FAST
}, { "pyutest-sponge.png" })
}, { "pyutest-sponge.png" }, {
_pyutest_blast_resistance = 0
})
PyuTest.make_node("pyutest_blocks:light", "Light", {
light = 1,
@ -14,7 +16,8 @@ PyuTest.make_node("pyutest_blocks:light", "Light", {
paramtype = "light",
sunlight_propagates = true,
light_source = minetest.LIGHT_MAX,
floodable = true
floodable = true,
_pyutest_blast_resistance = 0
})
PyuTest.make_node("pyutest_blocks:torch", "Torch", {
@ -34,7 +37,8 @@ PyuTest.make_node("pyutest_blocks:torch", "Torch", {
paramtype = "light",
inventory_image = "pyutest-torch.png",
paramtype2 = "wallmounted",
floodable = true
floodable = true,
_pyutest_blast_resistance = 0
})
PyuTest.make_node("pyutest_blocks:glass", "Glass", {
@ -42,7 +46,7 @@ PyuTest.make_node("pyutest_blocks:glass", "Glass", {
}, { "pyutest-glass.png", "pyutest-glass-overlay.png" }, {
drawtype = "glasslike_framed",
paramtype = "light",
sunlight_propagates = true
sunlight_propagates = true,
})
-- FIXME: This has been in the game for months, implement it already!
@ -56,13 +60,16 @@ PyuTest.make_node("pyutest_blocks:trapdoor", "Trapdoor", {
node_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, -0.15, 0.5 }
}
},
_pyutest_blast_resistance = 2
})
PyuTest.make_node("pyutest_blocks:contagious_acid", "Contagious Acid", {
crumbly = PyuTest.BLOCK_NORMAL,
solid_node = 1
}, { "pyutest-acid.png" }, {})
}, { "pyutest-acid.png" }, {
_pyutest_blast_resistance = 0
})
PyuTest.make_node("pyutest_blocks:tnt", "TNT", {
dig_immediate = 1,
@ -89,6 +96,7 @@ PyuTest.make_node("pyutest_blocks:tnt", "TNT", {
PyuTest.create_explosion(pos, 3, true, 12)
end)
end,
_pyutest_blast_resistance = 0
})
PyuTest.make_node("pyutest_blocks:workbench", "Workbench", {
@ -105,7 +113,8 @@ PyuTest.make_node("pyutest_blocks:workbench", "Workbench", {
"list[current_player;craftpreview;6.5,1;1,1;]",
"list[current_player;main;0,3.5;8,4;]"
}))
end
end,
_pyutest_blast_resistance = 2
})
PyuTest.make_node("pyutest_blocks:ladder", "Ladder", {
@ -125,7 +134,8 @@ PyuTest.make_node("pyutest_blocks:ladder", "Ladder", {
collision_box = {
type = "wallmounted"
},
inventory_image = "pyutest-ladder.png"
inventory_image = "pyutest-ladder.png",
_pyutest_blast_resistance = 0
})
PyuTest.make_node("pyutest_blocks:magma", "Magma", {
@ -139,9 +149,10 @@ PyuTest.make_node("pyutest_blocks:magma", "Magma", {
},
on_walk_over = function(pos, node, player)
if player then
PyuTest.deal_damage(player, 3)
PyuTest.deal_damage(player, 3, PyuTest.DAMAGE_TYPES.burning())
end
end
end,
_pyutest_blast_resistance = 2
})
PyuTest.make_node("pyutest_blocks:basalt_magma", "Basalt Magma", {
@ -155,16 +166,18 @@ PyuTest.make_node("pyutest_blocks:basalt_magma", "Basalt Magma", {
},
on_walk_over = function(pos, node, player)
if player then
PyuTest.deal_damage(player, 3)
PyuTest.deal_damage(player, 3, PyuTest.DAMAGE_TYPES.burning())
end
end
end,
_pyutest_blast_resistance = 3
})
PyuTest.make_node("pyutest_blocks:bedrock", "Bedrock", {
}, { "pyutest-bedrock.png" }, {
diggable = false,
pointable = "blocking",
is_ground_content = false
is_ground_content = false,
_pyutest_blast_resistance = 1000
})
PyuTest.make_node("pyutest_blocks:weak_ice", "Weak Ice", {
@ -172,7 +185,7 @@ PyuTest.make_node("pyutest_blocks:weak_ice", "Weak Ice", {
}, { "pyutest-ice.png" }, {
on_walk_over = function(pos)
minetest.set_node(pos, { name = "pyutest_blocks:water_source" })
end
end,
})
minetest.register_abm({

View File

@ -1,321 +1,343 @@
minetest.register_craft({
output = "pyutest_tools:wooden_pickaxe 1",
recipe = {
{ "group:wooden_planks", "group:wooden_planks", "group:wooden_planks" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:wooden_pickaxe 1",
recipe = {
{ "group:wooden_planks", "group:wooden_planks", "group:wooden_planks" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:wooden_axe 1",
recipe = {
{ "group:wooden_planks", "group:wooden_planks", "" },
{ "group:wooden_planks", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:wooden_axe 1",
recipe = {
{ "group:wooden_planks", "group:wooden_planks", "" },
{ "group:wooden_planks", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:wooden_sword 1",
recipe = {
{ "", "group:wooden_planks", "" },
{ "", "group:wooden_planks", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:wooden_sword 1",
recipe = {
{ "", "group:wooden_planks", "" },
{ "", "group:wooden_planks", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:stone_pickaxe",
recipe = {
{ "group:stone", "group:stone", "group:stone" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:stone_pickaxe",
recipe = {
{ "group:stone", "group:stone", "group:stone" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:stone_axe",
recipe = {
{ "group:stone", "group:stone", "" },
{ "group:stone", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:stone_axe",
recipe = {
{ "group:stone", "group:stone", "" },
{ "group:stone", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:stone_sword",
recipe = {
{ "", "group:stone", "" },
{ "", "group:stone", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:stone_sword",
recipe = {
{ "", "group:stone", "" },
{ "", "group:stone", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:iron_pickaxe",
recipe = {
{ "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:iron_pickaxe",
recipe = {
{ "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:iron_axe",
recipe = {
{ "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot", "" },
{ "pyutest_ores:iron_ingot", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:iron_axe",
recipe = {
{ "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot", "" },
{ "pyutest_ores:iron_ingot", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:iron_sword",
recipe = {
{ "pyutest_ores:iron_ingot" },
{ "pyutest_ores:iron_ingot" },
{ "pyutest_tools:stick" }
}
output = "pyutest_tools:iron_sword",
recipe = {
{ "pyutest_ores:iron_ingot" },
{ "pyutest_ores:iron_ingot" },
{ "pyutest_tools:stick" }
}
})
minetest.register_craft({
output = "pyutest_farming:hoe",
recipe = {
{ "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot", "" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_farming:hoe",
recipe = {
{ "pyutest_ores:iron_ingot", "pyutest_ores:iron_ingot", "" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:shears",
recipe = {
"pyutest_ores:iron_ingot",
"pyutest_ores:iron_ingot"
},
type = "shapeless"
output = "pyutest_tools:shears",
recipe = {
"pyutest_ores:iron_ingot",
"pyutest_ores:iron_ingot"
},
type = "shapeless"
})
minetest.register_craft({
output = "pyutest_tools:diamond_pickaxe",
recipe = {
{ "pyutest_ores:diamond_shard", "pyutest_ores:diamond_shard", "pyutest_ores:diamond_shard" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:diamond_pickaxe",
recipe = {
{ "pyutest_ores:diamond_shard", "pyutest_ores:diamond_shard", "pyutest_ores:diamond_shard" },
{ "", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:diamond_axe",
recipe = {
{ "pyutest_ores:diamond_shard", "pyutest_ores:diamond_shard", "" },
{ "pyutest_ores:diamond_shard", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
output = "pyutest_tools:diamond_axe",
recipe = {
{ "pyutest_ores:diamond_shard", "pyutest_ores:diamond_shard", "" },
{ "pyutest_ores:diamond_shard", "pyutest_tools:stick", "" },
{ "", "pyutest_tools:stick", "" }
}
})
minetest.register_craft({
output = "pyutest_tools:diamond_sword",
recipe = {
{ "pyutest_ores:diamond_shard" },
{ "pyutest_ores:diamond_shard" },
{ "pyutest_tools:stick" }
}
output = "pyutest_tools:diamond_sword",
recipe = {
{ "pyutest_ores:diamond_shard" },
{ "pyutest_ores:diamond_shard" },
{ "pyutest_tools:stick" }
}
})
minetest.register_craft({
output = "pyutest_tools:flint_and_steel",
recipe = {
"pyutest_tools:flint", "pyutest_ores:iron_ingot"
},
type = "shapeless"
output = "pyutest_tools:flint_and_steel",
recipe = {
"pyutest_tools:flint", "pyutest_ores:iron_ingot"
},
type = "shapeless"
})
-- not tools
minetest.register_craft({
output = "pyutest_blocks:crate",
recipe = {
{ "group:wooden_planks", "group:wooden_planks", "group:wooden_planks" },
{ "group:wooden_planks", "", "group:wooden_planks" },
{ "group:wooden_planks", "group:wooden_planks", "group:wooden_planks" }
}
output = "pyutest_blocks:crate",
recipe = {
{ "group:wooden_planks", "group:wooden_planks", "group:wooden_planks" },
{ "group:wooden_planks", "", "group:wooden_planks" },
{ "group:wooden_planks", "group:wooden_planks", "group:wooden_planks" }
}
})
minetest.register_craft({
output = "pyutest_blocks:brick_block 4",
recipe = {
{ "pyutest_tools:brick", "pyutest_tools:brick" },
{ "pyutest_tools:brick", "pyutest_tools:brick" }
}
output = "pyutest_blocks:brick_block 4",
recipe = {
{ "pyutest_tools:brick", "pyutest_tools:brick" },
{ "pyutest_tools:brick", "pyutest_tools:brick" }
}
})
minetest.register_craft({
output = "pyutest_furnace:furnace",
recipe = {
{ "group:stone", "group:stone", "group:stone" },
{ "group:stone", "", "group:stone" },
{ "group:stone", "group:stone", "group:stone" }
}
output = "pyutest_furnace:furnace",
recipe = {
{ "group:stone", "group:stone", "group:stone" },
{ "group:stone", "", "group:stone" },
{ "group:stone", "group:stone", "group:stone" }
}
})
minetest.register_craft({
output = "pyutest_blocks:workbench",
recipe = {
{ "group:wooden_planks", "group:wooden_planks" },
{ "group:wooden_planks", "group:wooden_planks" },
}
output = "pyutest_blocks:workbench",
recipe = {
{ "group:wooden_planks", "group:wooden_planks" },
{ "group:wooden_planks", "group:wooden_planks" },
}
})
minetest.register_craft({
output = "pyutest_blocks:slime_block",
type = "shapeless",
recipe = {
"pyutest_blocks:clay_block",
"pyutest_blocks:swampy_grass_block"
}
output = "pyutest_blocks:slime_block",
type = "shapeless",
recipe = {
"pyutest_blocks:clay_block",
"pyutest_blocks:swampy_grass_block"
}
})
minetest.register_craft({
output = "pyutest_tools:sugar 3",
type = "shapeless",
recipe = {
"pyutest_flowers:sugarcane"
}
output = "pyutest_tools:sugar 3",
type = "shapeless",
recipe = {
"pyutest_flowers:sugarcane"
}
})
minetest.register_craft({
output = "pyutest_blocks:clay_block 4",
recipe = {
{ "pyutest_tools:clay", "pyutest_tools:clay" },
{ "pyutest_tools:clay", "pyutest_tools:clay" }
}
output = "pyutest_blocks:clay_block 4",
recipe = {
{ "pyutest_tools:clay", "pyutest_tools:clay" },
{ "pyutest_tools:clay", "pyutest_tools:clay" }
}
})
minetest.register_craft({
output = "pyutest_blocks:bone_block 4",
recipe = {
{ "pyutest_tools:bone", "pyutest_tools:bone" },
{ "pyutest_tools:bone", "pyutest_tools:bone" }
}
output = "pyutest_blocks:bone_block 4",
recipe = {
{ "pyutest_tools:bone", "pyutest_tools:bone" },
{ "pyutest_tools:bone", "pyutest_tools:bone" }
}
})
minetest.register_craft({
output = "pyutest_tools:stick 4",
recipe = {
{ "group:wooden_planks" },
{ "group:wooden_planks" }
}
output = "pyutest_tools:stick 4",
recipe = {
{ "group:wooden_planks" },
{ "group:wooden_planks" }
}
})
minetest.register_craft({
output = "pyutest_tools:coin",
recipe = {
{ "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot" },
{ "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot" },
{ "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot" }
}
output = "pyutest_tools:coin",
recipe = {
{ "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot" },
{ "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot" },
{ "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot", "pyutest_ores:gold_ingot" }
}
})
minetest.register_craft({
output = "pyutest_ores:gold_ingot 9",
recipe = {
{ "pyutest_tools:coin" }
}
output = "pyutest_ores:gold_ingot 9",
recipe = {
{ "pyutest_tools:coin" }
}
})
-- this recipe makes no sense, but who cares?
minetest.register_craft({
output = "pyutest_blocks:contagious_acid 3",
recipe = {
"pyutest_blocks:mushroom_block",
"pyutest_blocks:mushroom_stem_block",
"pyutest_blocks:dirt_block",
"pyutest_blocks:swampy_grass_block"
},
type = "shapeless"
output = "pyutest_blocks:contagious_acid 3",
recipe = {
"pyutest_blocks:mushroom_block",
"pyutest_blocks:mushroom_stem_block",
"pyutest_blocks:dirt_block",
"pyutest_blocks:swampy_grass_block"
},
type = "shapeless"
})
minetest.register_craft({
output = "pyutest_blocks:light 4",
recipe = {
{ "pyutest_blocks:torch", "pyutest_blocks:torch" },
{ "pyutest_blocks:torch", "pyutest_blocks:torch" }
}
output = "pyutest_blocks:light 4",
recipe = {
{ "pyutest_blocks:torch", "pyutest_blocks:torch" },
{ "pyutest_blocks:torch", "pyutest_blocks:torch" }
}
})
minetest.register_craft({
output = "pyutest_blocks:tnt 4",
recipe = {
{ "pyutest_blocks:sand_block", "pyutest_tools:gunpowder" },
{ "pyutest_tools:gunpowder", "pyutest_blocks:sand_block" }
}
output = "pyutest_blocks:tnt 4",
recipe = {
{ "pyutest_blocks:sand_block", "pyutest_tools:gunpowder" },
{ "pyutest_tools:gunpowder", "pyutest_blocks:sand_block" }
}
})
minetest.register_craft({
output = "pyutest_blocks:tnt 4",
recipe = {
{ "pyutest_tools:gunpowder", "pyutest_blocks:sand_block" },
{ "pyutest_blocks:sand_block", "pyutest_tools:gunpowder" }
}
output = "pyutest_blocks:tnt 4",
recipe = {
{ "pyutest_tools:gunpowder", "pyutest_blocks:sand_block" },
{ "pyutest_blocks:sand_block", "pyutest_tools:gunpowder" }
}
})
minetest.register_craft({
output = "pyutest_blocks:torch 4",
recipe = {
{ "pyutest_ores:coal_lump" },
{ "pyutest_tools:stick" }
}
output = "pyutest_blocks:torch 4",
recipe = {
{ "pyutest_ores:coal_lump" },
{ "pyutest_tools:stick" }
}
})
minetest.register_craft({
output = "pyutest_blocks:ladder 16",
recipe = {
{ "pyutest_tools:stick", "", "pyutest_tools:stick" },
{ "pyutest_tools:stick", "pyutest_tools:stick", "pyutest_tools:stick" },
{ "pyutest_tools:stick", "", "pyutest_tools:stick" }
}
output = "pyutest_blocks:ladder 16",
recipe = {
{ "pyutest_tools:stick", "", "pyutest_tools:stick" },
{ "pyutest_tools:stick", "pyutest_tools:stick", "pyutest_tools:stick" },
{ "pyutest_tools:stick", "", "pyutest_tools:stick" }
}
})
minetest.register_craft({
output = "pyutest_tools:wheat 4",
recipe = {
"pyutest_blocks:haybale_block"
},
type = "shapeless"
output = "pyutest_tools:wheat 4",
recipe = {
"pyutest_blocks:haybale_block"
},
type = "shapeless"
})
minetest.register_craft({
output = "pyutest_blocks:haybale_block",
recipe = {
{ "pyutest_tools:wheat", "pyutest_tools:wheat" },
{ "pyutest_tools:wheat", "pyutest_tools:wheat" }
}
output = "pyutest_blocks:haybale_block",
recipe = {
{ "pyutest_tools:wheat", "pyutest_tools:wheat" },
{ "pyutest_tools:wheat", "pyutest_tools:wheat" }
}
})
minetest.register_craft({
output = "pyutest_tools:bread 3",
recipe = {
{ "pyutest_tools:wheat", "pyutest_tools:wheat", "pyutest_tools:wheat" }
}
output = "pyutest_tools:bread 3",
recipe = {
"pyutest_tools:wheat",
"pyutest_tools:wheat",
"pyutest_tools:wheat"
},
type = "shapeless"
})
minetest.register_craft({
output = "pyutest_tools:sliced_potato 2",
recipe = {
"pyutest_tools:potato"
},
type = "shapeless"
output = "pyutest_tools:paper 3",
recipe = {
"pyutest_flowers:sugarcane",
"pyutest_flowers:sugarcane",
"pyutest_flowers:sugarcane",
},
type = "shapeless",
})
minetest.register_craft({
type = "cooking",
output = "pyutest_blocks:glass",
recipe = "pyutest_blocks:sand_block"
output = "pyutest_fireworks:firework 3",
recipe = {
"pyutest_tools:gunpowder",
"pyutest_tools:paper",
},
type = "shapeless"
})
minetest.register_craft({
type = "cooking",
output = "pyutest_blocks:brick",
recipe = "pyutest_tools:clay",
output = "pyutest_tools:sliced_potato 2",
recipe = {
"pyutest_tools:potato"
},
type = "shapeless"
})
minetest.register_craft({
type = "cooking",
output = "pyutest_blocks:glass",
recipe = "pyutest_blocks:sand_block"
})
minetest.register_craft({
type = "cooking",
output = "pyutest_blocks:brick",
recipe = "pyutest_tools:clay",
})

View File

@ -53,7 +53,8 @@ PyuTest.make_crop = function(name, desc, output, growtime, water_multiplier, tex
end,
on_timer = function(pos)
minetest.set_node(pos, { name = grow_into or name .. "_grown" })
end
end,
_pyutest_blast_resistance = 0
})
if not grow_into then
@ -78,6 +79,7 @@ PyuTest.make_crop = function(name, desc, output, growtime, water_multiplier, tex
}
}
},
_pyutest_blast_resistance = 0
})
end

View File

@ -15,7 +15,8 @@ PyuTest.make_flower = function(name, desc, texture, dye, add_to_registry, drawty
paramtype = "light",
sunlight_propagates = true,
inventory_image = texture,
floodable = true
floodable = true,
_pyutest_blast_resistance = 0
}, econf or {}))
if dye ~= nil then
@ -59,7 +60,8 @@ PyuTest.make_node("pyutest_flowers:vines", "Vines", {
selection_box = {
type = "wallmounted"
},
inventory_image = "pyutest-vines.png"
inventory_image = "pyutest-vines.png",
_pyutest_blast_resistance = 0
})
@ -81,10 +83,9 @@ PyuTest.make_node("pyutest_flowers:lilypad", "Lily Pad", {
fixed = { -0.5, -31 / 64, -0.5, 0.5, -15 / 32, 0.5 }
},
floodable = true,
_pyutest_blast_resistance = 0
})
PyuTest.make_flower("pyutest_flowers:sugarcane", "Sugarcane", "pyutest-sugarcane.png", "pyutest_flowers:green_dye", false,
nil)
PyuTest.make_node("pyutest_flowers:sugarcane", "Sugarcane", {
oddly_breakable_by_hand = PyuTest.BLOCK_FAST,
dig_immediate = 1,
@ -138,4 +139,6 @@ PyuTest.make_node("pyutest_flowers:cactus", "Cactus", {
"pyutest-cactus-top-bottom.png",
"pyutest-cactus-top-bottom.png",
"pyutest-cactus-sides.png",
}, {
_pyutest_blast_resistance = 0
})

View File

@ -92,4 +92,5 @@ PyuTest.make_node("pyutest_furnace:furnace", "Furnace", {
end
end
end,
_pyutest_blast_resistance = 3
})

View File

@ -11,6 +11,7 @@ PyuTest.make_leaves = function(id, desc, color, overlay, special_drops, drops)
sunlight_propagates = true,
is_ground_content = false,
overlay_tiles = { overlay },
_pyutest_blast_resistance = 0
})
if special_drops == nil or special_drops == true then
minetest.override_item(leaves_id, {

View File

@ -4,6 +4,7 @@ PyuTest.make_wood = function(id, desc, ltiles, btiles)
choppy = PyuTest.BLOCK_NORMAL,
acid_vulnerable = 1,
flammable = 1,
_pyutest_blast_resistance = 2
}, {
is_ground_content = false
})
@ -12,6 +13,7 @@ PyuTest.make_wood = function(id, desc, ltiles, btiles)
choppy = PyuTest.BLOCK_NORMAL,
acid_vulnerable = 1,
flammable = 1,
_pyutest_blast_resistance = 2
}, {
is_ground_content = false
})

View File

@ -4,21 +4,25 @@ PyuTest.make_colored_blocks = function(name, desc, color)
"pyutest-wool.png"
}, color, {
wooly = PyuTest.BLOCK_NORMAL,
colored = 1
colored = 1,
})
PyuTest.make_building_blocks(name .. "_terracotta", desc .. " Terracotta", {
"pyutest-terracotta.png"
}, color, {
cracky = PyuTest.BLOCK_NORMAL,
colored = 1
colored = 1,
}, {
_pyutest_blast_resistance = 3
})
PyuTest.make_building_blocks(name .. "_concrete", desc .. " Concrete", {
"pyutest-concrete.png"
}, color, {
cracky = PyuTest.BLOCK_NORMAL,
colored = 1
colored = 1,
}, {
_pyutest_blast_resistance = 2
})
PyuTest.make_item(name .. "_dye", desc .. " Dye", {

View File

@ -33,25 +33,6 @@ minetest.register_on_joinplayer(function(player)
end
end)
-- player physics
local function set_player_speed(player, speed)
player:set_physics_override({
speed = speed,
})
end
minetest.register_globalstep(function(dtime)
local players = minetest.get_connected_players()
for p = 1, #players do
local ctrl = players[p]:get_player_control()
if ctrl.aux1 then
set_player_speed(players[p], 1.60)
else
set_player_speed(players[p], 1)
end
end
end)
-- player hand
minetest.register_item(":", {
type = "none",
@ -62,114 +43,92 @@ minetest.register_item(":", {
}
})
-- player effects
minetest.register_globalstep(function ()
end)
if minetest.is_creative_enabled("") then
minetest.override_item("", {
range = 9,
tool_capabilities = PyuTest.tool_caps({
uses = 0,
time = 0.25,
range = 9,
tool_capabilities = PyuTest.tool_caps({
uses = 0,
time = 0.25,
groupcaps = {
crumbly = {},
choppy = {},
cracky = {},
snappy = {},
wooly = {},
oddly_breakable_by_hand = {}
},
groupcaps = {
crumbly = {},
choppy = {},
cracky = {},
snappy = {},
wooly = {},
oddly_breakable_by_hand = {}
},
attack_uses = 0,
damage_groups = { fleshy = 10000 }
})
attack_uses = 0,
damage_groups = { fleshy = 10000 }
})
})
else
minetest.override_item("", {
range = 5,
tool_capabilities = PyuTest.tool_caps({
uses = 0,
attck_uses = 0,
damage_groups = { fleshy = 2 },
range = 5,
tool_capabilities = PyuTest.tool_caps({
uses = 0,
attck_uses = 0,
damage_groups = { fleshy = 2 },
groupcaps = {
oddly_breakable_by_hand = {
times = {
[PyuTest.BLOCK_FAST] = 0.35,
[PyuTest.BLOCK_NORMAL] = 0.50,
[PyuTest.BLOCK_SLOW] = 0.65,
groupcaps = {
oddly_breakable_by_hand = {
times = {
[PyuTest.BLOCK_FAST] = 0.35,
[PyuTest.BLOCK_NORMAL] = 0.50,
[PyuTest.BLOCK_SLOW] = 0.65,
}
},
snappy = {
times = {
[PyuTest.BLOCK_FAST] = 0.55,
[PyuTest.BLOCK_NORMAL] = 0.70,
[PyuTest.BLOCK_SLOW] = 0.70
}
},
crumbly = {
times = {
[PyuTest.BLOCK_FAST] = 0.75,
[PyuTest.BLOCK_NORMAL] = 0.80,
[PyuTest.BLOCK_SLOW] = 0.90
}
},
choppy = {
times = {
[PyuTest.BLOCK_FAST] = 1.2,
[PyuTest.BLOCK_NORMAL] = 2.3,
[PyuTest.BLOCK_SLOW] = 2.9,
}
},
cracky = {
times = {
[PyuTest.BLOCK_FAST] = 6,
[PyuTest.BLOCK_NORMAL] = 10,
[PyuTest.BLOCK_SLOW] = 45,
}
},
wooly = {
times = {
[PyuTest.BLOCK_FAST] = 0.55,
[PyuTest.BLOCK_NORMAL] = 0.70,
[PyuTest.BLOCK_SLOW] = 0.70
}
},
}
},
snappy = {
times = {
[PyuTest.BLOCK_FAST] = 0.55,
[PyuTest.BLOCK_NORMAL] = 0.70,
[PyuTest.BLOCK_SLOW] = 0.70
}
},
crumbly = {
times = {
[PyuTest.BLOCK_FAST] = 0.75,
[PyuTest.BLOCK_NORMAL] = 0.80,
[PyuTest.BLOCK_SLOW] = 0.90
}
},
choppy = {
times = {
[PyuTest.BLOCK_FAST] = 1.2,
[PyuTest.BLOCK_NORMAL] = 2.3,
[PyuTest.BLOCK_SLOW] = 2.9,
}
},
cracky = {
times = {
[PyuTest.BLOCK_FAST] = 6,
[PyuTest.BLOCK_NORMAL] = 10,
[PyuTest.BLOCK_SLOW] = 45,
}
},
wooly = {
times = {
[PyuTest.BLOCK_FAST] = 0.55,
[PyuTest.BLOCK_NORMAL] = 0.70,
[PyuTest.BLOCK_SLOW] = 0.70
}
},
}
})
})
})
end
-- unlimited blocks in creative mode
minetest.register_on_placenode(function(_, _, placer)
if placer and placer:is_player() then
return minetest.is_creative_enabled(placer:get_player_name())
end
end)
-- player death message
minetest.register_on_dieplayer(function(player, reason)
local playername = player:get_player_name()
local message = string.format("%s died", playername)
if reason.type == "fall" then
message = string.format("%s fell from a high place", playername)
elseif reason.type == "drown" then
message = string.format("%s drowned", playername)
elseif reason.type == "respawn" then
return
elseif reason.type == "punch" then
local entity = reason.object:get_luaentity()
if entity ~= nil then
local name = reason.object:get_properties().nametag or entity.name or "an unnamed monster!"
message = string.format("%s was slain by %s", playername, name)
else
local name = reason.object:get_player_name()
local itemname = reason.object:get_wielded_item():get_short_description()
message = string.format("%s was slain by %s using %s", playername, name, itemname)
if placer and placer:is_player() then
return minetest.is_creative_enabled(placer:get_player_name())
end
end
minetest.chat_send_all(message)
end)
-- player lighting, and sky effects for different biomes

View File

@ -238,8 +238,20 @@ PyuTest.register_overworld_biome = function(name, type, opts, only_base)
name = name .. "_cave",
heat_point = nopts["heat_point"],
humidity_point = nopts["humidity_point"],
y_max = PyuTest.OVERWORLD_DEEP_OCEAN_MIN - 1,
y_max = PyuTest.CAVE_TOP,
y_min = PyuTest.CAVE_BOTTOM,
}, {
_pyutest_biome_type = PyuTest.BIOME_TYPES.CAVE,
_pyutest_cave_type = type
}))
minetest.register_biome(PyuTest.util.tableconcat({
name = name .. "_deep_cave",
heat_point = nopts["heat_point"],
humidity_point = nopts["humidity_point"],
y_max = PyuTest.CAVE_BOTTOM,
y_min = PyuTest.OVERWORLD_BOTTOM,
node_stone = "pyutest_blocks:darkstone_block"
}, {
_pyutest_biome_type = PyuTest.BIOME_TYPES.CAVE,
_pyutest_cave_type = type

View File

@ -13,6 +13,7 @@ PyuTest.make_ore = function(id, desc, options)
ore_sounds = nil,
ore_stone = { "pyutest-stone.png" },
ore_color = nil,
ore_blast_resistance = 3
}
local conf = {}
@ -36,7 +37,8 @@ PyuTest.make_ore = function(id, desc, options)
drop = conf.ore_drop .. " " .. tostring(conf.ore_drop_count or 1),
sounds = PyuTest.make_node_sounds(conf.ore_sounds),
tiles = conf.ore_stone,
overlay_tiles = { { name = "pyutest-ore-overlay.png", color = conf.ore_color } }
overlay_tiles = { { name = "pyutest-ore-overlay.png", color = conf.ore_color } },
_pyutest_blast_resistance = conf.ore_blast_resistance
}, conf.ore_conf))
minetest.register_ore({

View File

@ -67,7 +67,8 @@ PyuTest.ORE_STONES = {
"pyutest_blocks:andesite_block",
"pyutest_blocks:diorite_block",
"pyutest_blocks:tuff_block",
"pyutest_blocks:calcite_block"
"pyutest_blocks:calcite_block",
"pyutest_blocks:darkstone_block"
}
minetest.register_ore({

View File

@ -53,7 +53,8 @@ PyuTest.register_overworld_biome("FrozenPlains", PyuTest.BIOME_TYPES.COLD, {
depth_water_top = 1,
heat_point = 5,
humidity_point = 60
humidity_point = 60,
_pyutest_fog_distance = 80,
})
PyuTest.register_overworld_biome("Savanna", PyuTest.BIOME_TYPES.WARM, {
@ -88,7 +89,7 @@ PyuTest.register_overworld_biome("MushroomFields", PyuTest.BIOME_TYPES.NORMAL, {
y_max = PyuTest.BIOME_TOPS.normal,
y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM,
heat_point = 50,
heat_point = 30,
humidity_point = 90,
enable_beaches = false,
@ -102,7 +103,7 @@ PyuTest.register_overworld_biome("LargeMushroomForest", PyuTest.BIOME_TYPES.NORM
y_max = PyuTest.BIOME_TOPS.normal,
y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM,
heat_point = 50,
heat_point = 30,
humidity_point = 90,
enable_beaches = false,
@ -121,7 +122,8 @@ PyuTest.register_overworld_biome("SnowyForest", PyuTest.BIOME_TYPES.COLD, {
depth_water_top = 5,
heat_point = 5,
humidity_point = 60
humidity_point = 60,
_pyutest_fog_distance = 80,
})
PyuTest.register_overworld_biome("Taiga", PyuTest.BIOME_TYPES.CHILLY, {
@ -131,7 +133,7 @@ PyuTest.register_overworld_biome("Taiga", PyuTest.BIOME_TYPES.CHILLY, {
y_max = PyuTest.BIOME_TOPS.normal,
y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM,
heat_point = 15,
heat_point = 20,
humidity_point = 60,
_pyutest_biome_flowering = true
@ -186,7 +188,7 @@ PyuTest.register_overworld_biome("AspenForest", PyuTest.BIOME_TYPES.CHILLY, {
y_max = PyuTest.BIOME_TOPS.normal,
y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM,
heat_point = 30,
heat_point = 20,
humidity_point = 50,
_pyutest_biome_flowering = true,
@ -195,12 +197,12 @@ PyuTest.register_overworld_biome("AspenForest", PyuTest.BIOME_TYPES.CHILLY, {
PyuTest.register_overworld_biome("RedwoodForest", PyuTest.BIOME_TYPES.CHILLY, {
node_top = "pyutest_blocks:podzol_block",
node_filler = "pyutest_blocks:podzol_block",
node_filler = "pyutest_blocks:dirt_block",
y_max = PyuTest.BIOME_TOPS.normal,
y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM,
heat_point = 30,
heat_point = 20,
humidity_point = 50,
_pyutest_biome_flowering = true,
@ -215,7 +217,7 @@ PyuTest.register_overworld_biome("Swamp", PyuTest.BIOME_TYPES.WETLAND, {
y_max = PyuTest.BIOME_TOPS.lowland,
y_min = PyuTest.OVERWORLD_SURFACE_BOTTOM,
heat_point = 50,
heat_point = 30,
humidity_point = 80,
enable_beaches = false,
@ -244,7 +246,8 @@ PyuTest.register_overworld_biome("SnowyMountains", PyuTest.BIOME_TYPES.COLD, {
y_min = PyuTest.BIOME_TOPS.normal,
heat_point = 5,
humidity_point = 60
humidity_point = 60,
_pyutest_fog_distance = 80,
}, true)
PyuTest.register_overworld_biome("IceSpikes", PyuTest.BIOME_TYPES.COLD, {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 4.2 KiB