1
0
Fork 0

Compare commits

...

4 Commits

Author SHA1 Message Date
Mikita Wiśniewski f5327375e6 Make sand and dirt world-aligned 2024-04-30 11:07:25 +07:00
Mikita Wiśniewski 7679263aeb Update LEGAL.md 2024-04-30 10:13:42 +07:00
Mikita Wiśniewski f6a0b8f1bb Make more blocks have world-aligned textures 2024-04-30 10:13:42 +07:00
Mikita Wiśniewski 81c4723520 World-aligned grass block top texture 2024-04-30 10:13:42 +07:00
16 changed files with 63 additions and 12 deletions

View File

@ -46,6 +46,12 @@ Armor trim models were created by Aeonix_Aeon
Source: <https://www.curseforge.com/minecraft/texture-packs/ozocraft-remix> Source: <https://www.curseforge.com/minecraft/texture-packs/ozocraft-remix>
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
The world texture for grass block top was made out of grass block top variations
from the PixelPerfection Legacy texture pack, which were made by
[Nova_Wostra](https://www.curseforge.com/members/nova_wostra)
Source: <https://www.curseforge.com/minecraft/texture-packs/pixel-perfection-legacy>
License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)
The main menu images are released under: [CC0](https://creativecommons.org/publicdomain/zero/1.0/) The main menu images are released under: [CC0](https://creativecommons.org/publicdomain/zero/1.0/)
All other files, unless mentioned otherwise, fall under: All other files, unless mentioned otherwise, fall under:

View File

@ -1099,3 +1099,23 @@ function mcl_util.is_it_christmas()
return false return false
end end
end end
-- Get tile (texture) for a block that supports world-alignment
local world_aligned = minetest.settings:get_bool("mcl_world_aligned_textures", false)
function mcl_util.get_texture(name, scale)
local nscale
if scale == nil then
nscale = 5
else
nscale = scale
end
if world_aligned then
return {
name = name.."_world.png",
align_style = "world",
scale = nscale
}
else
return name..".png"
end
end

View File

@ -12,6 +12,8 @@ else
ice_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false ice_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false
end end
local get_texture = mcl_util.get_texture
mcl_core.fortune_drop_ore = { mcl_core.fortune_drop_ore = {
discrete_uniform_distribution = true, discrete_uniform_distribution = true,
min_count = 2, min_count = 2,
@ -24,7 +26,7 @@ minetest.register_node("mcl_core:stone", {
description = S("Stone"), description = S("Stone"),
_doc_items_longdesc = S("One of the most common blocks in the world, almost the entire underground consists of stone. It sometimes contains ores. Stone may be created when water meets lava."), _doc_items_longdesc = S("One of the most common blocks in the world, almost the entire underground consists of stone. It sometimes contains ores. Stone may be created when water meets lava."),
_doc_items_hidden = false, _doc_items_hidden = false,
tiles = {"default_stone.png"}, tiles = {get_texture("default_stone")},
is_ground_content = true, is_ground_content = true,
stack_max = 64, stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
@ -234,7 +236,7 @@ minetest.register_node("mcl_core:stone_with_diamond", {
minetest.register_node("mcl_core:stonebrick", { minetest.register_node("mcl_core:stonebrick", {
description = S("Stone Bricks"), description = S("Stone Bricks"),
_doc_items_longdesc = doc.sub.items.temp.build, _doc_items_longdesc = doc.sub.items.temp.build,
tiles = {"default_stone_brick.png"}, tiles = {get_texture("default_stone_brick")},
stack_max = 64, stack_max = 64,
groups = {pickaxey=1, stone=1, stonebrick=1, building_block=1, material_stone=1}, groups = {pickaxey=1, stone=1, stonebrick=1, building_block=1, material_stone=1},
sounds = mcl_sounds.node_sound_stone_defaults(), sounds = mcl_sounds.node_sound_stone_defaults(),
@ -294,7 +296,7 @@ minetest.register_node("mcl_core:stone_smooth", {
minetest.register_node("mcl_core:granite", { minetest.register_node("mcl_core:granite", {
description = S("Granite"), description = S("Granite"),
_doc_items_longdesc = S("Granite is an igneous rock."), _doc_items_longdesc = S("Granite is an igneous rock."),
tiles = {"mcl_core_granite.png"}, tiles = {get_texture("mcl_core_granite", 3)},
is_ground_content = true, is_ground_content = true,
stack_max = 64, stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
@ -318,7 +320,7 @@ minetest.register_node("mcl_core:granite_smooth", {
minetest.register_node("mcl_core:andesite", { minetest.register_node("mcl_core:andesite", {
description = S("Andesite"), description = S("Andesite"),
_doc_items_longdesc = S("Andesite is an igneous rock."), _doc_items_longdesc = S("Andesite is an igneous rock."),
tiles = {"mcl_core_andesite.png"}, tiles = {get_texture("mcl_core_andesite", 3)},
is_ground_content = true, is_ground_content = true,
stack_max = 64, stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
@ -342,7 +344,7 @@ minetest.register_node("mcl_core:andesite_smooth", {
minetest.register_node("mcl_core:diorite", { minetest.register_node("mcl_core:diorite", {
description = S("Diorite"), description = S("Diorite"),
_doc_items_longdesc = S("Diorite is an igneous rock."), _doc_items_longdesc = S("Diorite is an igneous rock."),
tiles = {"mcl_core_diorite.png"}, tiles = {get_texture("mcl_core_diorite", 3)},
is_ground_content = true, is_ground_content = true,
stack_max = 64, stack_max = 64,
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
@ -369,8 +371,16 @@ minetest.register_node("mcl_core:dirt_with_grass", {
_doc_items_longdesc = S("A grass block is dirt with a grass cover. Grass blocks are resourceful blocks which allow the growth of all sorts of plants. They can be turned into farmland with a hoe and turned into grass paths with a shovel. In light, the grass slowly spreads onto dirt nearby. Under an opaque block or a liquid, a grass block may turn back to dirt."), _doc_items_longdesc = S("A grass block is dirt with a grass cover. Grass blocks are resourceful blocks which allow the growth of all sorts of plants. They can be turned into farmland with a hoe and turned into grass paths with a shovel. In light, the grass slowly spreads onto dirt nearby. Under an opaque block or a liquid, a grass block may turn back to dirt."),
_doc_items_hidden = false, _doc_items_hidden = false,
paramtype2 = "color", paramtype2 = "color",
tiles = {"mcl_core_grass_block_top.png", { name="default_dirt.png", color="white" }, { name="default_dirt.png^mcl_dirt_grass_shadow.png", color="white" }}, tiles = {
overlay_tiles = {"mcl_core_grass_block_top.png", "blank.png", {name="mcl_core_grass_block_side_overlay.png", tileable_vertical=false}}, get_texture("mcl_core_grass_block_top"),
{ name="default_dirt.png", color="white" },
{ name="default_dirt.png^mcl_dirt_grass_shadow.png", color="white" }
},
overlay_tiles = {
"blank.png",
"blank.png",
{name="mcl_core_grass_block_side_overlay.png", tileable_vertical=false}
},
palette = "mcl_core_palette_grass.png", palette = "mcl_core_palette_grass.png",
palette_index = 0, palette_index = 0,
color = "#7CBD6B", color = "#7CBD6B",
@ -507,7 +517,7 @@ minetest.register_node("mcl_core:dirt", {
description = S("Dirt"), description = S("Dirt"),
_doc_items_longdesc = S("Dirt acts as a soil for a few plants. When in light, this block may grow a grass or mycelium cover if such blocks are nearby."), _doc_items_longdesc = S("Dirt acts as a soil for a few plants. When in light, this block may grow a grass or mycelium cover if such blocks are nearby."),
_doc_items_hidden = false, _doc_items_hidden = false,
tiles = {"default_dirt.png"}, tiles = {get_texture("default_dirt")},
is_ground_content = true, is_ground_content = true,
stack_max = 64, stack_max = 64,
groups = {handy=1,shovely=1, dirt=1,soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, enderman_takable=1, building_block=1, path_creation_possible=1}, groups = {handy=1,shovely=1, dirt=1,soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, enderman_takable=1, building_block=1, path_creation_possible=1},
@ -570,7 +580,7 @@ minetest.register_node("mcl_core:sand", {
description = S("Sand"), description = S("Sand"),
_doc_items_longdesc = S("Sand is found in large quantities at beaches and deserts."), _doc_items_longdesc = S("Sand is found in large quantities at beaches and deserts."),
_doc_items_hidden = false, _doc_items_hidden = false,
tiles = {"default_sand.png"}, tiles = {get_texture("default_sand")},
is_ground_content = true, is_ground_content = true,
stack_max = 64, stack_max = 64,
groups = {handy=1,shovely=1, falling_node=1, sand=1, soil_sugarcane=1, enderman_takable=1, building_block=1, material_sand=1}, groups = {handy=1,shovely=1, falling_node=1, sand=1, soil_sugarcane=1, enderman_takable=1, building_block=1, material_sand=1},
@ -634,7 +644,7 @@ minetest.register_node("mcl_core:sandstonesmooth2", {
minetest.register_node("mcl_core:redsand", { minetest.register_node("mcl_core:redsand", {
description = S("Red Sand"), description = S("Red Sand"),
_doc_items_longdesc = S("Red sand is found in large quantities in mesa biomes."), _doc_items_longdesc = S("Red sand is found in large quantities in mesa biomes."),
tiles = {"mcl_core_red_sand.png"}, tiles = {get_texture("mcl_core_red_sand")},
is_ground_content = true, is_ground_content = true,
stack_max = 64, stack_max = 64,
groups = {handy=1,shovely=1, falling_node=1, sand=1, soil_sugarcane=1, enderman_takable=1, building_block=1, material_sand=1}, groups = {handy=1,shovely=1, falling_node=1, sand=1, soil_sugarcane=1, enderman_takable=1, building_block=1, material_sand=1},
@ -712,7 +722,7 @@ minetest.register_node("mcl_core:brick_block", {
-- Original name: “Bricks” -- Original name: “Bricks”
description = S("Brick Block"), description = S("Brick Block"),
_doc_items_longdesc = S("Brick blocks are a good building material for building solid houses and can take quite a punch."), _doc_items_longdesc = S("Brick blocks are a good building material for building solid houses and can take quite a punch."),
tiles = {"default_brick.png"}, tiles = {get_texture("default_brick")},
is_ground_content = false, is_ground_content = false,
stack_max = 64, stack_max = 64,
groups = {pickaxey=1, building_block=1, material_stone=1}, groups = {pickaxey=1, building_block=1, material_stone=1},

View File

@ -603,7 +603,15 @@ function kelp.register_kelp_surface(surface, surface_deftemplate, surface_docs)
sounds.place = kelp.leaf_sounds.place sounds.place = kelp.leaf_sounds.place
surface_deftemplate.tiles = surface_deftemplate.tiles or def_tiles surface_deftemplate.tiles = surface_deftemplate.tiles or def_tiles
surface_deftemplate.inventory_image = surface_deftemplate.inventory_image or "("..def_tiles[1]..")^mcl_ocean_kelp_item.png"
local texturename
if type(def_tiles[1]) == "string" then
texturename = def_tiles[1]
else
texturename = def_tiles[1].name
end
surface_deftemplate.inventory_image = surface_deftemplate.inventory_image or "("..texturename..")^mcl_ocean_kelp_item.png"
surface_deftemplate.sounds = surface_deftemplate.sound or sounds surface_deftemplate.sounds = surface_deftemplate.sound or sounds
local falling_node = mt_get_item_group(nodename, "falling_node") local falling_node = mt_get_item_group(nodename, "falling_node")
surface_deftemplate.node_dig_prediction = surface_deftemplate.node_dig_prediction or nodename surface_deftemplate.node_dig_prediction = surface_deftemplate.node_dig_prediction or nodename

View File

@ -256,6 +256,13 @@ mcl_buckets_use_select_box (Buckets use select box) bool false
# See also: https://github.com/minetest/minetest/issues/95 # See also: https://github.com/minetest/minetest/issues/95
mcl_translucent_ice (Translucent ice) bool false mcl_translucent_ice (Translucent ice) bool false
# Whether the textures should be world-aligned for variations. If enabled,
# some textures will be using sheets of 5x5 varied tiles with pre-defined
# "random" displacement and rotation, spanning across 5 blocks.
#
# This might put some load on the GPU by making it work with bigger textures.
mcl_world_aligned_textures (World-aligned textures) bool false
# Whether to generate fallen logs in some biomes. # Whether to generate fallen logs in some biomes.
# They might not always look pretty and have strange overhangs. # They might not always look pretty and have strange overhangs.
mcl_generate_fallen_logs (Generate fallen logs) bool false mcl_generate_fallen_logs (Generate fallen logs) bool false

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 B