Initial commit.

master
David G 2020-03-06 15:07:08 -07:00
commit 6354cff779
13 changed files with 698 additions and 0 deletions

55
README.md Normal file
View File

@ -0,0 +1,55 @@
Quarry Mechanics [quarry]
=========================
By David G [kestral246@gmail.com]
This mod adds quarry mechanics to stone blocks.
![Quarry Screenshot](screenshot.png "Quarry")
What do I mean by that?
-----------------------
- Stone can now either be broken with a pickaxe (into cobble), or cut with a Quarry Hammer (into cut\_stone).
- The resulting cobble or cut\_stone nodes remain in place after digging, but since they're now falling nodes, they will fall if not supported. They can then be dug by hand to pick them up into ones inventory.
- For building, a Trowel and Mortar tool is provided. It can mortar placed cobble nodes into stonebrick nodes, and mortar placed cut\_stone nodes back into stone nodes.
Additional notes
----------------
- Cobble cannot be converted back into stone by melting it in a furnace.
- A Quarry Hammer is only able to cut out a stone if it has at least two faces open to the air (to be able to cut all its sides with the implied chisel).
- Stone, Desert Stone, Sandstone, Desert Sandstone, and Silver Sandstone are supported. Sandstone_rubble nodes are added, which correspond to cobble nodes for stone.
- Cut\_stone\_blocks can be crafted from cut\_stone.
- Stairs and slabs are supported for all stone types. However, they have to be crafted from cut or cobble versions, and then mortared into the solid versions.
- When digging stone\_with\_ore nodes, the ore lump will enter inventory, while cobble will be left behind.
- A scaffold node is provided to support the cobble and cut\_stone nodes while digging and mortaring them.
- Finally, for consistency, dirt nodes are also made falling, and the wooden pickaxe has optionally been removed and replaced with a flint pickaxe.
Dependencies
------------
default, bucket, stairs
Licenses
--------
Source code
> The MIT License (MIT)
Media (textures)
> Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)

39
falling_nodes.lua Normal file
View File

@ -0,0 +1,39 @@
minetest.override_item("default:dirt", {
groups = {crumbly = 3, soil = 1, falling_node = 1},
})
minetest.override_item("default:dirt_with_grass", {
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, falling_node = 1},
})
minetest.override_item("default:dirt_with_grass_footsteps", {
groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1, falling_node = 1},
})
minetest.override_item("default:dirt_with_dry_grass", {
groups = {crumbly = 3, soil = 1, falling_node = 1},
})
minetest.override_item("default:dirt_with_snow", {
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1, falling_node = 1},
})
minetest.override_item("default:dirt_with_rainforest_litter", {
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, falling_node = 1},
})
minetest.override_item("default:dirt_with_coniferous_litter", {
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, falling_node = 1},
})
minetest.override_item("default:dry_dirt", {
groups = {crumbly = 3, soil = 1, falling_node = 1},
})
minetest.override_item("default:dry_dirt_with_dry_grass", {
groups = {crumbly = 3, soil = 1, falling_node = 1},
})
minetest.override_item("default:permafrost", {
groups = {cracky = 3, falling_node = 1},
})
minetest.override_item("default:permafrost_with_stones", {
groups = {cracky = 3, falling_node = 1},
})
minetest.override_item("default:permafrost_with_moss", {
groups = {cracky = 3, falling_node = 1},
})
minetest.override_item("default:snowblock", {
groups = {crumbly = 3, cools_lava = 1, snowy = 1, falling_node = 1},
})

601
init.lua Normal file
View File

@ -0,0 +1,601 @@
-- Quarry Mechanics [quarry]
-- by David_G [kestral246@gmail.com]
-- 2020-03-06
-- Optionally replace wooden pickaxe with flint one.
local replace_wooden_pickaxe = true
-- Other overrides.
dofile(minetest.get_modpath("quarry").."/falling_nodes.lua")
-- Utility functions.
-- Override stone_with_* nodes to leave cobble in ground.
local override_with = function(node_name)
minetest.override_item(node_name, {
after_dig_node = function(pos, oldnode, oldmetadata, digger)
minetest.set_node(pos, {name="default:cobble"})
minetest.check_single_for_falling(pos)
end
})
end
-- Add wear to tool, based on builtin/game/item.lua.
local add_wear = function(pos, digger, caps)
local wielded = digger:get_wielded_item()
local wdef = wielded:get_definition()
local tp = wielded:get_tool_capabilities()
local dp = minetest.get_dig_params(caps, tp)
if not minetest.settings:get_bool("creative_mode") then
wielded:add_wear(dp.wear)
if wielded:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = pos, gain = 0.5})
end
end
digger:set_wielded_item(wielded)
end
-- Node needs two faces to air to be able to quarry.
local valid_quarry_config = function(pos)
local sum = 0
if minetest.get_node(vector.add(pos, {x=1,y=0,z=0})).name == "air" then sum = sum + 1 end
if minetest.get_node(vector.add(pos, {x=0,y=1,z=0})).name == "air" then sum = sum + 1 end
if minetest.get_node(vector.add(pos, {x=0,y=0,z=1})).name == "air" then sum = sum + 1 end
if minetest.get_node(vector.add(pos, {x=-1,y=0,z=0})).name == "air" then sum = sum + 1 end
if minetest.get_node(vector.add(pos, {x=0,y=-1,z=0})).name == "air" then sum = sum + 1 end
if minetest.get_node(vector.add(pos, {x=0,y=0,z=-1})).name == "air" then sum = sum + 1 end
return sum >= 2
end
-- For nodes that can be mortared (e.g., cobble, cut_stone, cut_stone_block).
local mortar_on_dig = function(dest_name, group_wear)
return function(pos, node, digger)
if not minetest.is_protected(pos, digger) then
local tool = digger:get_wielded_item():get_name()
if tool == "quarry:trowel_and_mortar" then
local oldnode = minetest.get_node(pos)
minetest.swap_node(pos, {name = dest_name, param2 = oldnode.param2})
add_wear(pos, digger, group_wear)
else
minetest.node_dig(pos, node, digger)
end
end
end
end
local override_mortar = function(init_name, dest_name, group_over, group_wear)
minetest.override_item(init_name, {
groups = group_over,
on_dig = mortar_on_dig(dest_name, group_wear)
})
end
-- For nodes that can only be pickaxed (e.g., stonebrick)
local pick_on_dig = function(dest_name, group_wear)
return function(pos, node, digger)
if not minetest.is_protected(pos, digger) then
local oldnode = minetest.get_node(pos)
minetest.swap_node(pos, {name = dest_name, param2 = oldnode.param2})
add_wear(pos, digger, group_wear)
minetest.check_single_for_falling(pos)
end
end
end
local override_pick = function(init_name, dest_name, group_wear)
minetest.override_item(init_name, {
on_dig = pick_on_dig(dest_name, group_wear)
})
end
-- For nodes that can be quarry hammered or pickaxed (e.g., stone, stone_block)
local hammer_on_dig = function(dest_name, break_name, group_wear)
return function(pos, node, digger)
if not minetest.is_protected(pos, digger) then
local tool = digger:get_wielded_item():get_name()
local oldnode = minetest.get_node(pos)
if tool == "quarry:stone_quarry_hammer" and valid_quarry_config(pos) then
minetest.swap_node(pos, {name = dest_name, param2 = oldnode.param2})
else -- pickaxe node
minetest.swap_node(pos, {name = break_name, param2 = oldnode.param2})
end
add_wear(pos, digger, group_wear)
minetest.check_single_for_falling(pos)
end
end
end
local override_hammer = function(init_name, dest_name, break_name, group_wear)
minetest.override_item(init_name, {
on_dig = hammer_on_dig(dest_name, break_name, group_wear)
})
end
-- Node overrides
-- Stone (h)
override_hammer("default:stone", "quarry:cut_stone", "default:cobble", {cracky = 3})
override_hammer("stairs:slab_stone", "stairs:slab_cut_stone", "stairs:slab_cobble", {cracky = 3})
override_hammer("stairs:stair_stone", "stairs:stair_cut_stone", "stairs:stair_cobble", {cracky = 3})
override_hammer("stairs:stair_inner_stone", "stairs:stair_inner_cut_stone", "stairs:stair_inner_cobble", {cracky = 3})
override_hammer("stairs:stair_outer_stone", "stairs:stair_outer_cut_stone", "stairs:stair_outer_cobble", {cracky = 3})
-- Cut Stone (m)
minetest.register_node("quarry:cut_stone", {
description = "Cut Stone",
tiles = {"default_stone.png^quarry_cut_stone.png"},
groups = {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_stone",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:stone", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_stone","quarry:cut_stone",{cracky = 3},{"default_stone.png^quarry_cut_stone.png"},"Cut Stone Stair","Cut Stone Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_stone", "stairs:slab_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_stone", "stairs:stair_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_stone", "stairs:stair_inner_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_stone", "stairs:stair_outer_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Stone Block (h)
override_hammer("default:stone_block", "quarry:cut_stone_block", "default:cobble", {cracky = 2})
override_hammer("stairs:slab_stone_block", "stairs:slab_cut_stone_block", "stairs:slab_cobble", {cracky = 2})
override_hammer("stairs:stair_stone_block", "stairs:stair_cut_stone_block", "stairs:stair_cobble", {cracky = 2})
override_hammer("stairs:stair_inner_stone_block", "stairs:stair_inner_cut_stone_block", "stairs:stair_inner_cobble", {cracky = 2})
override_hammer("stairs:stair_outer_stone_block", "stairs:stair_outer_cut_stone_block", "stairs:stair_outer_cobble", {cracky = 2})
-- Cut Stone Block (m)
minetest.register_node("quarry:cut_stone_block", {
description = "Cut Stone Block",
tiles = {"default_stone_block.png^quarry_cut_stone_block.png"},
groups = {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_stone_block",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:stone_block", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_stone_block","quarry:cut_stone_block",{cracky = 2},{"default_stone_block.png^quarry_cut_stone_block.png"},"Cut Stone Block Stair","Cut Stone Block Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_stone_block", "stairs:slab_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_stone_block", "stairs:stair_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_stone_block", "stairs:stair_inner_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_stone_block", "stairs:stair_outer_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Cobble (m)
override_mortar("default:cobble", "default:stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:slab_cobble", "stairs:slab_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_cobble", "stairs:stair_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_inner_cobble", "stairs:stair_inner_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_outer_cobble", "stairs:stair_outer_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
-- Mossy Cobble (m)
override_mortar("default:mossycobble", "default:stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:slab_mossycobble", "stairs:slab_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_mossycobble", "stairs:stair_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_inner_mossycobble", "stairs:stair_inner_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_outer_mossycobble", "stairs:stair_outer_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
-- Stone Brick (p)
override_pick("default:stonebrick", "default:cobble", {cracky = 2})
override_pick("stairs:slab_stonebrick", "stairs:slab_cobble", {cracky = 2})
override_pick("stairs:stair_stonebrick", "stairs:stair_cobble", {cracky = 2})
override_pick("stairs:stair_inner_stonebrick", "stairs:stair_inner_cobble", {cracky = 2})
override_pick("stairs:stair_outer_stonebrick", "stairs:stair_outer_cobble", {cracky = 2})
-- Desert Stone (h)
override_hammer("default:desert_stone", "quarry:cut_desert_stone", "default:desert_cobble", {cracky = 3})
override_hammer("stairs:slab_desert_stone", "stairs:slab_cut_desert_stone", "stairs:slab_desert_cobble", {cracky = 3})
override_hammer("stairs:stair_desert_stone", "stairs:stair_cut_desert_stone", "stairs:stair_desert_cobble", {cracky = 3})
override_hammer("stairs:stair_inner_desert_stone", "stairs:stair_inner_cut_desert_stone", "stairs:stair_inner_desert_cobble", {cracky = 3})
override_hammer("stairs:stair_outer_desert_stone", "stairs:stair_outer_cut_desert_stone", "stairs:stair_outer_desert_cobble", {cracky = 3})
-- Cut Desert Stone (m)
minetest.register_node("quarry:cut_desert_stone", {
description = "Cut Stone",
tiles = {"default_desert_stone.png^quarry_cut_stone.png"},
groups = {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_desert_stone",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:desert_stone", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_desert_stone","quarry:cut_desert_stone",{cracky = 3},{"default_desert_stone.png^quarry_cut_stone.png"},"Cut Stone Stair","Cut Stone Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_desert_stone", "stairs:slab_desert_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_desert_stone", "stairs:stair_desert_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_desert_stone", "stairs:stair_inner_desert_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_desert_stone", "stairs:stair_outer_desert_stone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Desert Stone Block (h)
override_hammer("default:desert_stone_block", "quarry:cut_desert_stone_block", "default:desert_cobble", {cracky = 2})
override_hammer("stairs:slab_desert_stone_block", "stairs:slab_cut_desert_stone_block", "stairs:slab_desert_cobble", {cracky = 2})
override_hammer("stairs:stair_desert_stone_block", "stairs:stair_cut_desert_stone_block", "stairs:stair_desert_cobble", {cracky = 2})
override_hammer("stairs:stair_inner_desert_stone_block", "stairs:stair_inner_cut_desert_stone_block", "stairs:stair_inner_desert_cobble", {cracky = 2})
override_hammer("stairs:stair_outer_desert_stone_block", "stairs:stair_outer_cut_desert_stone_block", "stairs:stair_outer_desert_cobble", {cracky = 2})
-- Cut Desert Stone Block (m)
minetest.register_node("quarry:cut_desert_stone_block", {
description = "Cut Stone Block",
tiles = {"default_desert_stone_block.png^quarry_cut_stone_block.png"},
groups = {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_desert_stone_block",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:desert_stone_block", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_desert_stone_block","quarry:cut_stone_block",{cracky = 2},{"default_desert_stone_block.png^quarry_cut_stone_block.png"},"Cut Stone Block Stair","Cut Stone Block Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_desert_stone_block", "stairs:slab_desert_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_desert_stone_block", "stairs:stair_desert_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_desert_stone_block", "stairs:stair_inner_desert_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_desert_stone_block", "stairs:stair_outer_desert_stone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Desert Cobble (m)
override_mortar("default:desert_cobble", "default:desert_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:slab_desert_cobble", "stairs:slab_desert_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_desert_cobble", "stairs:stair_desert_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_inner_desert_cobble", "stairs:stair_inner_desert_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_outer_desert_cobble", "stairs:stair_outer_desert_stonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
-- Desert Stone Brick (p)
override_pick("default:desert_stonebrick", "default:desert_cobble", {cracky = 2})
override_pick("stairs:slab_desert_stonebrick", "stairs:slab_desert_cobble", {cracky = 2})
override_pick("stairs:stair_desert_stonebrick", "stairs:stair_desert_cobble", {cracky = 2})
override_pick("stairs:stair_inner_desert_stonebrick", "stairs:stair_inner_desert_cobble", {cracky = 2})
override_pick("stairs:stair_outer_desert_stonebrick", "stairs:stair_outer_desert_cobble", {cracky = 2})
-- Sandstone (h)
override_hammer("default:sandstone", "quarry:cut_sandstone", "quarry:sandstone_rubble", {cracky = 3})
override_hammer("stairs:slab_sandstone", "stairs:slab_cut_sandstone", "stairs:slab_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_sandstone", "stairs:stair_cut_sandstone", "stairs:stair_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_inner_sandstone", "stairs:stair_inner_cut_sandstone", "stairs:stair_inner_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_outer_sandstone", "stairs:stair_outer_cut_sandstone", "stairs:stair_outer_sandstone_rubble", {cracky = 3})
-- Cut Sandstone (m)
minetest.register_node("quarry:cut_sandstone", {
description = "Cut Sandstone",
tiles = {"default_sandstone.png^quarry_cut_stone.png"},
groups = {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_sandstone",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:sandstone", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_sandstone","quarry:cut_sandstone",{cracky = 3},{"default_sandstone.png^quarry_cut_stone.png"},"Cut Sandstone Stair","Cut Sandstone Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_sandstone", "stairs:slab_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_sandstone", "stairs:stair_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_sandstone", "stairs:stair_inner_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_sandstone", "stairs:stair_outer_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Sandstone Block (h)
override_hammer("default:sandstone_block", "quarry:cut_sandstone_block", "quarry:sandstone_rubble", {cracky = 2})
override_hammer("stairs:slab_sandstone_block", "stairs:slab_cut_sandstone_block", "stairs:slab_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_sandstone_block", "stairs:stair_cut_sandstone_block", "stairs:stair_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_inner_sandstone_block", "stairs:stair_inner_cut_sandstone_block", "stairs:stair_inner_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_outer_sandstone_block", "stairs:stair_outer_cut_sandstone_block", "stairs:stair_outer_sandstone_rubble", {cracky = 2})
-- Cut Sandstone Block (m)
minetest.register_node("quarry:cut_sandstone_block", {
description = "Cut Sandstone Block",
tiles = {"default_sandstone_block.png^quarry_cut_stone_block.png"},
groups = {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_sandstone_block",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:sandstone_block", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_sandstone_block","quarry:cut_sandstone_block",{cracky = 2},{"default_sandstone_block.png^quarry_cut_stone_block.png"},"Cut Sandstone Block Stair","Cut Sandstone Block Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_sandstone_block", "stairs:slab_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_sandstone_block", "stairs:stair_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_sandstone_block", "stairs:stair_inner_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_sandstone_block", "stairs:stair_outer_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Sandstone Rubble (m)
minetest.register_node("quarry:sandstone_rubble", {
description = "Sandstone Rubble",
tiles = {"default_sandstone.png^quarry_rubble_overlay.png"},
is_ground_content = false,
groups = {crumbly = 3, stone = 2, falling_node = 1},
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:sandstonebrick", {sticky = 3}),
})
stairs.register_stair_and_slab("sandstone_rubble","quarry:sandstone_rubble",{cracky = 2},{"default_sandstone.png^quarry_rubble_overlay.png^quarry_cut_stone.png"},"Sandstone Rubble Stair","Sandstone Rubble Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_sandstone_rubble", "stairs:slab_sandstonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_sandstone_rubble", "stairs:stair_sandstonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_inner_sandstone_rubble", "stairs:stair_inner_sandstonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_outer_sandstone_rubble", "stairs:stair_outer_sandstonebrick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
-- Sandstone Brick (p)
override_pick("default:sandstonebrick", "quarry:sandstone_rubble", {cracky = 2})
override_pick("stairs:slab_sandstonebrick", "stairs:slab_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_sandstonebrick", "stairs:stair_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_inner_sandstonebrick", "stairs:stair_inner_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_outer_sandstonebrick", "stairs:stair_outer_sandstone_rubble", {cracky = 2})
-- Desert Sandstone (h)
override_hammer("default:desert_sandstone", "quarry:cut_desert_sandstone", "quarry:desert_sandstone_rubble", {cracky = 3})
override_hammer("stairs:slab_desert_sandstone", "stairs:slab_cut_desert_sandstone", "stairs:slab_desert_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_desert_sandstone", "stairs:stair_cut_desert_sandstone", "stairs:stair_desert_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_inner_desert_sandstone", "stairs:stair_inner_cut_desert_sandstone", "stairs:stair_inner_desert_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_outer_desert_sandstone", "stairs:stair_outer_cut_desert_sandstone", "stairs:stair_outer_desert_sandstone_rubble", {cracky = 3})
-- Cut Desert Sandstone (m)
minetest.register_node("quarry:cut_desert_sandstone", {
description = "Cut Desert Sandstone",
tiles = {"default_desert_sandstone.png^quarry_cut_stone.png"},
groups = {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_desert_sandstone",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:desert_sandstone", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_desert_sandstone","quarry:cut_desert_sandstone",{cracky = 3},{"default_desert_sandstone.png^quarry_cut_stone.png"},"Cut Desert Sandstone Stair","Cut Desert Sandstone Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_desert_sandstone", "stairs:slab_desert_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_desert_sandstone", "stairs:stair_desert_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_desert_sandstone", "stairs:stair_inner_desert_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_desert_sandstone", "stairs:stair_outer_desert_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Desert Sandstone Block (h)
override_hammer("default:desert_sandstone_block", "quarry:cut_desert_sandstone_block", "quarry:desert_sandstone_rubble", {cracky = 2})
override_hammer("stairs:slab_desert_sandstone_block", "stairs:slab_cut_desert_sandstone_block", "stairs:slab_desert_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_desert_sandstone_block", "stairs:stair_cut_desert_sandstone_block", "stairs:stair_desert_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_inner_desert_sandstone_block", "stairs:stair_inner_cut_desert_sandstone_block", "stairs:stair_inner_desert_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_outer_desert_sandstone_block", "stairs:stair_outer_cut_desert_sandstone_block", "stairs:stair_outer_desert_sandstone_rubble", {cracky = 2})
-- Cut Desert Sandstone Block (m)
minetest.register_node("quarry:cut_desert_sandstone_block", {
description = "Cut Desert Sandstone Block",
tiles = {"default_desert_sandstone_block.png^quarry_cut_stone_block.png"},
groups = {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_desert_sandstone_block",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:desert_sandstone_block", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_desert_sandstone_block","quarry:cut_desert_sandstone_block",{cracky = 2},{"default_desert_sandstone_block.png^quarry_cut_stone_block.png"},"Cut Desert Sandstone Block Stair","Cut Desert Sandstone Block Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_desert_sandstone_block", "stairs:slab_desert_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_desert_sandstone_block", "stairs:stair_desert_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_desert_sandstone_block", "stairs:stair_inner_desert_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_desert_sandstone_block", "stairs:stair_outer_desert_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Desert Sandstone Rubble (m)
minetest.register_node("quarry:desert_sandstone_rubble", {
description = "Desert Sandstone Rubble",
tiles = {"default_desert_sandstone.png^quarry_rubble_overlay.png"},
is_ground_content = false,
groups = {crumbly = 3, stone = 2, falling_node = 1},
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:desert_sandstone_brick", {sticky = 3}),
})
stairs.register_stair_and_slab("desert_sandstone_rubble","quarry:desert_sandstone_rubble",{cracky = 2},{"default_desert_sandstone.png^quarry_rubble_overlay.png^quarry_cut_stone.png"},"Desert Sandstone Rubble Stair","Desert Sandstone Rubble Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_desert_sandstone_rubble", "stairs:slab_desert_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_desert_sandstone_rubble", "stairs:stair_desert_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_inner_desert_sandstone_rubble", "stairs:stair_inner_desert_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_outer_desert_sandstone_rubble", "stairs:stair_outer_desert_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
-- Desert Sandstone Brick (p)
override_pick("default:desert_sandstone_brick", "quarry:desert_sandstone_rubble", {cracky = 2})
override_pick("stairs:slab_desert_sandstone_brick", "stairs:slab_desert_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_desert_sandstone_brick", "stairs:stair_desert_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_inner_desert_sandstone_brick", "stairs:stair_inner_desert_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_outer_desert_sandstone_brick", "stairs:stair_outer_desert_sandstone_rubble", {cracky = 2})
-- Silver Sandstone (h)
override_hammer("default:silver_sandstone", "quarry:cut_silver_sandstone", "quarry:silver_sandstone_rubble", {cracky = 3})
override_hammer("stairs:slab_silver_sandstone", "stairs:slab_cut_silver_sandstone", "stairs:slab_silver_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_silver_sandstone", "stairs:stair_cut_silver_sandstone", "stairs:stair_silver_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_inner_silver_sandstone", "stairs:stair_inner_cut_silver_sandstone", "stairs:stair_inner_silver_sandstone_rubble", {cracky = 3})
override_hammer("stairs:stair_outer_silver_sandstone", "stairs:stair_outer_cut_silver_sandstone", "stairs:stair_outer_silver_sandstone_rubble", {cracky = 3})
-- Cut Silver Sandstone (m)
minetest.register_node("quarry:cut_silver_sandstone", {
description = "Cut Silver Sandstone",
tiles = {"default_silver_sandstone.png^quarry_cut_stone.png"},
groups = {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_silver_sandstone",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:silver_sandstone", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_silver_sandstone","quarry:cut_silver_sandstone",{cracky = 3},{"default_silver_sandstone.png^quarry_cut_stone.png"},"Cut Silver Sandstone Stair","Cut Silver Sandstone Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_silver_sandstone", "stairs:slab_silver_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_silver_sandstone", "stairs:stair_silver_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_silver_sandstone", "stairs:stair_inner_silver_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_silver_sandstone", "stairs:stair_outer_silver_sandstone", {cracky = 3, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Silver Sandstone Block (h)
override_hammer("default:silver_sandstone_block", "quarry:cut_silver_sandstone_block", "quarry:silver_sandstone_rubble", {cracky = 2})
override_hammer("stairs:slab_silver_sandstone_block", "stairs:slab_cut_silver_sandstone_block", "stairs:slab_silver_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_silver_sandstone_block", "stairs:stair_cut_silver_sandstone_block", "stairs:stair_silver_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_inner_silver_sandstone_block", "stairs:stair_inner_cut_silver_sandstone_block", "stairs:stair_inner_silver_sandstone_rubble", {cracky = 2})
override_hammer("stairs:stair_outer_silver_sandstone_block", "stairs:stair_outer_cut_silver_sandstone_block", "stairs:stair_outer_silver_sandstone_rubble", {cracky = 2})
-- Cut Silver Sandstone Block (m)
minetest.register_node("quarry:cut_silver_sandstone_block", {
description = "Cut Silver Sandstone Block",
tiles = {"default_silver_sandstone_block.png^quarry_cut_stone_block.png"},
groups = {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2},
drop = "quarry:cut_silver_sandstone_block",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:silver_sandstone_block", {sticky = 2}),
})
stairs.register_stair_and_slab("cut_silver_sandstone_block","quarry:cut_silver_sandstone_block",{cracky = 2},{"default_silver_sandstone_block.png^quarry_cut_stone_block.png"},"Cut Silver Sandstone Block Stair","Cut Silver Sandstone Block Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_cut_silver_sandstone_block", "stairs:slab_silver_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_cut_silver_sandstone_block", "stairs:stair_silver_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_inner_cut_silver_sandstone_block", "stairs:stair_inner_silver_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
override_mortar("stairs:stair_outer_cut_silver_sandstone_block", "stairs:stair_outer_silver_sandstone_block", {cracky = 2, stone = 1, falling_node = 1, dig_immediate = 2}, {sticky = 2})
-- Silver Sandstone Rubble (m)
minetest.register_node("quarry:silver_sandstone_rubble", {
description = "Silver Sandstone Rubble",
tiles = {"default_silver_sandstone.png^quarry_rubble_overlay.png"},
is_ground_content = false,
groups = {crumbly = 3, stone = 2, falling_node = 1},
sounds = default.node_sound_stone_defaults(),
on_dig = mortar_on_dig("default:silver_sandstone_brick", {sticky = 3}),
})
stairs.register_stair_and_slab("silver_sandstone_rubble","quarry:silver_sandstone_rubble",{cracky = 2},{"default_silver_sandstone.png^quarry_rubble_overlay.png^quarry_cut_stone.png"},"Silver Sandstone Rubble Stair","Silver Sandstone Rubble Slab",default.node_sound_stone_defaults(),true)
override_mortar("stairs:slab_silver_sandstone_rubble", "stairs:slab_silver_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_silver_sandstone_rubble", "stairs:stair_silver_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_inner_silver_sandstone_rubble", "stairs:stair_inner_silver_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
override_mortar("stairs:stair_outer_silver_sandstone_rubble", "stairs:stair_outer_silver_sandstone_brick", {crumbly = 3, stone = 1, falling_node = 1}, {sticky = 3})
-- Silver Sandstone Brick (p)
override_pick("default:silver_sandstone_brick", "quarry:silver_sandstone_rubble", {cracky = 2})
override_pick("stairs:slab_silver_sandstone_brick", "stairs:slab_silver_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_silver_sandstone_brick", "stairs:stair_silver_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_inner_silver_sandstone_brick", "stairs:stair_inner_silver_sandstone_rubble", {cracky = 2})
override_pick("stairs:stair_outer_silver_sandstone_brick", "stairs:stair_outer_silver_sandstone_rubble", {cracky = 2})
-- Override stone_with_* nodes to leave cobble in ground.
-- Lumps still go into player's inventory.
override_with("default:stone_with_coal")
override_with("default:stone_with_iron")
override_with("default:stone_with_copper")
override_with("default:stone_with_tin")
override_with("default:stone_with_gold")
override_with("default:stone_with_mese")
override_with("default:stone_with_diamond")
-- Scaffolding to support falling stone nodes.
minetest.register_node("quarry:scaffold", {
description = "Scaffold",
tiles = {"quarry_scaffold_frame.png"},
drawtype = "glasslike",
groups = {dig_immediate = 2},
paramtype = "light",
sunlight_propagates = true,
})
-- Tools.
minetest.register_tool("quarry:stone_quarry_hammer", {
description = "Stone Quarry Hammer",
inventory_image = "quarry_stone_hammer.png",
tool_capabilities = {
full_punch_interval = 1.3,
max_drop_level=0,
groupcaps={
cracky = {times={[2]=2.0, [3]=1.00}, uses=30, maxlevel=1},
},
damage_groups = {fleshy=3},
},
sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1}
})
minetest.register_tool("quarry:trowel_and_mortar", {
description = "Trowel and Mortar",
inventory_image = "quarry_trowel_mortar.png",
wield_image = "quarry_trowel_mortar_wield.png",
tool_capabilities = {
full_punch_interval = 1.4,
max_drop_level=0,
groupcaps={
sticky = {times={[1]=1.80, [2]=1.20, [3]=0.50}, uses=30, maxlevel=1}
},
damage_groups = {fleshy=2},
},
sound = {breaks = "default_tool_breaks"},
})
-- Optional flint pickaxe.
if replace_wooden_pickaxe then
minetest.register_tool("quarry:pick_flint", {
description = "Flint Pickaxe",
inventory_image = "quarry_flint_pick.png",
tool_capabilities = {
full_punch_interval = 1.2,
max_drop_level=0,
groupcaps={
cracky = {times={[3]=1.6}, uses=4, maxlevel=1},
},
damage_groups = {fleshy=2},
},
sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1}
})
-- Get rid of wood pickaxe.
minetest.unregister_item("default:pick_wood")
minetest.clear_craft({output = "default:pick_wood"})
end
-- These stone nodes can no longer be crafted directly.
for _,nodename in pairs({
"default:stone", "stairs:slab_stone", "stairs:stair_stone", "stairs:stair_inner_stone", "stairs:stair_outer_stone",
"default:stonebrick", "stairs:slab_stonebrick", "stairs:stair_stonebrick", "stairs:stair_inner_stonebrick", "stairs:stair_outer_stonebrick",
"default:stone_block", "stairs:slab_stone_block", "stairs:stair_stone_block", "stairs:stair_inner_stone_block", "stairs:stair_outer_stone_block",
"default:desert_stone", "stairs:slab_desert_stone", "stairs:stair_desert_stone", "stairs:stair_inner_desert_stone", "stairs:stair_outer_desert_stone",
"default:desert_stonebrick", "stairs:slab_desert_stonebrick", "stairs:stair_desert_stonebrick", "stairs:stair_inner_desert_stonebrick", "stairs:stair_outer_desert_stonebrick",
"default:desert_stone_block", "stairs:slab_desert_stone_block", "stairs:stair_desert_stone_block", "stairs:stair_inner_desert_stone_block", "stairs:stair_outer_desert_stone_block",
"default:sandstone", "stairs:slab_sandstone", "stairs:stair_sandstone", "stairs:stair_inner_sandstone", "stairs:stair_outer_sandstone",
"default:sandstonebrick", "stairs:slab_sandstonebrick", "stairs:stair_sandstonebrick", "stairs:stair_inner_sandstonebrick", "stairs:stair_outer_sandstonebrick",
"default:sandstone_block", "stairs:slab_sandstone_block", "stairs:stair_sandstone_block", "stairs:stair_inner_sandstone_block", "stairs:stair_outer_sandstone_block",
"default:desert_sandstone", "stairs:slab_desert_sandstone", "stairs:stair_desert_sandstone", "stairs:stair_inner_desert_sandstone", "stairs:stair_outer_desert_sandstone",
"default:desert_sandstone_brick", "stairs:slab_desert_sandstone_brick", "stairs:stair_desert_sandstone_brick", "stairs:stair_inner_desert_sandstone_brick", "stairs:stair_outer_desert_sandstone_brick",
"default:desert_sandstone_block", "stairs:slab_desert_sandstone_block", "stairs:stair_desert_sandstone_block", "stairs:stair_inner_desert_sandstone_block", "stairs:stair_outer_desert_sandstone_block",
"default:silver_sandstone", "stairs:slab_silver_sandstone", "stairs:stair_silver_sandstone", "stairs:stair_inner_silver_sandstone", "stairs:stair_outer_silver_sandstone",
"default:silver_sandstone_brick", "stairs:slab_silver_sandstone_brick", "stairs:stair_silver_sandstone_brick", "stairs:stair_inner_silver_sandstone_brick", "stairs:stair_outer_silver_sandstone_brick",
"default:silver_sandstone_block", "stairs:slab_silver_sandstone_block", "stairs:stair_silver_sandstone_block", "stairs:stair_inner_silver_sandstone_block", "stairs:stair_outer_silver_sandstone_block"
}) do
minetest.clear_craft({output = nodename})
end
-- New craft recipes.
-- For cut_stone_block nodes.
for _,nodename in pairs({"quarry:cut_stone", "quarry:cut_desert_stone", "quarry:cut_sandstone", "quarry:cut_desert_sandstone", "quarry:cut_silver_sandstone"}) do
minetest.register_craft({
output = nodename.."_block 9",
recipe = {
{nodename, nodename, nodename},
{nodename, nodename, nodename},
{nodename, nodename, nodename}
}
})
end
minetest.register_craft({
output = "quarry:scaffold 4",
recipe = {
{"group:stick", "group:stick", "group:stick"},
{"group:stick", "", "group:stick"},
{"group:stick", "group:stick", "group:stick"}
}
})
minetest.register_craft({
output = "quarry:stone_quarry_hammer",
recipe = {
{"group:stone", "default:steel_ingot", "group:stone"},
{"group:stone", "group:stick", "group:stone"},
{"", "group:stick", ""}
}
})
minetest.register_craft({
output = "quarry:trowel_and_mortar",
type = "shapeless",
recipe = {
"default:clay", "default:clay", "default:clay",
"group:sand", "group:sand", "group:sand",
"default:steel_ingot", "bucket:bucket_water"
},
replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}},
})
if replace_wooden_pickaxe then
minetest.register_craft({
output = "quarry:pick_flint",
recipe = {
{"default:flint", "default:flint", "default:flint"},
{"", "group:stick", ""},
{"", "group:stick", ""}
}
})
end

3
mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = quarry
description = Adds experimental quarry mechanics to some stone nodes.
depends = default, bucket, stairs

BIN
screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB