red_glazed_terracotta/mods/rgt_world/init.lua

309 lines
No EOL
8.5 KiB
Lua

rgt_world = {}
local ns = rgt_world
local function rep(tx, size)
local out = "[combine:"..(size *16).."x"..(size *16)
for x = 0, size -1 do
for y = 0, size -1 do
out = out..":"..(x *16)..","..(y *16).."="..tx
end
end
return out
end
include "variants.lua"
rgt.register_node("stone", {
tiles = {{name = "rgt_stone.png", align_style = "world"}},
_variants = "all",
groups = {stone = 1}
})
rgt.register_node("stone_brick", {
tiles = {{name = "rgt_stone_brick.png", align_style = "world"}},
_variants = "all",
groups = {stone = 1}
})
rgt.register_node("stone_brick_large", {
tiles = {{name = "rgt_stone_brick_large.png", align_style = "world"}},
_variants = "all",
groups = {stone = 1}
})
rgt.register_node("stone_tile", {
tiles = {{name = "rgt_stone_tile.png", align_style = "world"}},
_variants = "all",
groups = {stone = 1}
})
rgt.register_node("cobble", {
tiles = {"rgt_cobble.png"},
_variants = "all",
groups = {dig_immediate = 3}
})
rgt.register_node("dirt", {
tiles = {"rgt_dirt.png"},
groups = {dig_immediate = 3}
})
rgt.register_node("dirt_mossy", {
tiles = {{name = rep("rgt_dirt.png", 4).."^rgt_path_grass.png", scale = 4, align_style = "world"}, "rgt_dirt.png"},
groups = {dig_immediate = 3}
})
rgt.register_node("dirt_grass", {
tiles = {"rgt_grass_top.png", "rgt_dirt.png", "rgt_dirt.png^rgt_grass_side.png"},
-- tiles = {"[fill:16x16:0,0:#3e7e7b^[fill:14x14:1,1:#326764"},
groups = {dig_immediate = 3}
})
rgt.register_node("path_grass", {
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
-0.5, -0.5, -0.5,
0.5, 7/16, 0.5
}
},
tiles = {"rgt_path_grass_top.png", "rgt_dirt.png", "rgt_dirt.png^rgt_path_grass_side.png"},
-- tiles = {"[fill:16x16:0,0:#3e7e7b^[fill:14x14:1,1:#326764"},
paramtype = "light",
sunlight_propagates = false,
groups = {dig_immediate = 3}
})
rgt.register_node("sand", {
tiles = {"rgt_sand.png"},
groups = {dig_immediate = 3}
})
rgt.register_node("oak_log", {
tiles = {"rgt_oak_log_top.png", "rgt_oak_log_top.png", "rgt_oak_log_side.png"},
groups = {dig_immediate = 3}
})
rgt.register_node("oak_leaves", {
drawtype = "allfaces",
tiles = {"rgt_oak_leaves.png"},
use_texture_alpha = "clip",
groups = {dig_immediate = 3}
})
rgt.register_node("oak_planks", {
tiles = {{name = "rgt_oak_planks.png", align_style = "world"}},
_variants = "all",
groups = {dig_immediate = 3}
})
rgt.register_node("dark_planks", {
tiles = {{name = "rgt_dark_planks.png", align_style = "world"}},
_variants = "all",
groups = {dig_immediate = 3}
})
rgt.register_node("spruce_planks", {
tiles = {{name = "rgt_spruce_planks.png", align_style = "world"}},
_variants = "all",
groups = {dig_immediate = 3}
})
rgt.register_node("acacia_planks", {
tiles = {{name = "rgt_acacia_planks.png", align_style = "world"}},
_variants = "all",
groups = {dig_immediate = 3}
})
rgt.register_node("redwood_planks", {
tiles = {{name = "rgt_redwood_planks.png", align_style = "world"}},
_variants = "all",
groups = {dig_immediate = 3}
})
rgt.register_node("birch_planks", {
tiles = {{name = "rgt_birch_planks.png", align_style = "world"}},
_variants = "all",
groups = {dig_immediate = 3}
})
rgt.register_node("glass", {
drawtype = "glasslike",
paramtype = "light",
tiles = {{name = "rgt_glass.png", align_style = "world"}},
_variants = "all",
groups = {dig_immediate = 3}
})
--minetest.register_decoration {
-- deco_type = "simple",
-- place_on = "dirt_grass",
-- fill_ratio = 0.5,
-- decoration = {"red_glazed_terracotta:oak_planks", "red_glazed_terracotta:spruce_planks", "red_glazed_terracotta:dark_planks", "red_glazed_terracotta:redwood_planks", "red_glazed_terracotta:acacia_planks", "red_glazed_terracotta:birch_planks"}
--}
rgt.register_node("water", {
tiles = {"[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33"},
groups = {dig_immediate = 3},
drawtype = "liquid",
use_texture_alpha = "blend",
paramtype = "light",
walkable = false,
climbable = true,
post_effect_color = "#2d5a7c55",
liquidtype = "source",
-- Minetest pro tip: Do not try to use aliases for these.
liquid_alternative_source = "red_glazed_terracotta:water",
liquid_alternative_flowing = "red_glazed_terracotta:water_flowing",
liquid_viscosity = 1,
liquid_range = 5,
})
rgt.register_node("water_flowing", {
tiles = {{name = "[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33", backface_culling = true}},
special_tiles = {{name = "[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33", backface_culling = true}, {name = "[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33", backface_culling = true}},
groups = {dig_immediate = 3},
drawtype = "flowingliquid",
use_texture_alpha = "blend",
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
climbable = true,
post_effect_color = "#2d5a7c55",
liquidtype = "flowing",
liquid_alternative_source = "red_glazed_terracotta:water",
liquid_alternative_flowing = "red_glazed_terracotta:water_flowing",
liquid_viscosity = 1,
liquid_range = 5,
})
rgt.register_node("river_water", {
tiles = {"[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33"},
groups = {dig_immediate = 3},
drawtype = "liquid",
use_texture_alpha = "blend",
paramtype = "light",
walkable = false,
climbable = true,
post_effect_color = "#2d5a7c55",
liquidtype = "source",
-- Minetest pro tip: Do not try to use aliases for these.
liquid_alternative_source = "red_glazed_terracotta:river_water",
liquid_alternative_flowing = "red_glazed_terracotta:river_water_flowing",
liquid_viscosity = 1,
liquid_range = 2,
liquid_renewable = false
})
rgt.register_node("river_water_flowing", {
tiles = {{name = "[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33", backface_culling = true}},
special_tiles = {{name = "[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33", backface_culling = true}, {name = "[fill:16x16:0,0:#2d5a7c77^[fill:14x14:1,1:#2d5a7c33", backface_culling = true}},
groups = {dig_immediate = 3},
drawtype = "flowingliquid",
use_texture_alpha = "blend",
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
climbable = true,
post_effect_color = "#2d5a7c55",
liquidtype = "flowing",
liquid_alternative_source = "red_glazed_terracotta:river_water",
liquid_alternative_flowing = "red_glazed_terracotta:river_water_flowing",
liquid_viscosity = 1,
liquid_range = 2,
liquid_renewable = false
})
minetest.register_alias("mapgen_stone", "red_glazed_terracotta:stone")
minetest.register_alias("mapgen_water_source", "red_glazed_terracotta:water")
minetest.register_alias("mapgen_river_water_source", "red_glazed_terracotta:river_water")
-- Remove
minetest.register_alias("adrift:stone", "red_glazed_terracotta:stone")
minetest.register_alias("adrift:dirt", "red_glazed_terracotta:dirt")
minetest.register_alias("adrift:dirt_grass", "red_glazed_terracotta:dirt_grass")
minetest.register_alias("adrift:water", "red_glazed_terracotta:water")
--minetest.register_decoration {
-- deco_type = "schematic",
-- place_on = "dirt_grass",
-- y_min = 1,
-- fill_ratio = 0.01,
-- schematic = minetest.get_modpath(minetest.get_current_modname()).."/schems/tree.mts",
-- flags = "place_center_x, place_center_z",
-- place_offset_y = 1,
--}
rgt.register_node("light", {
tiles = {"[fill:1x1:0,0:#fed"},
light_source = 14,
paramtype = "light"
})
minetest.register_ore {
ore_type = "scatter",
ore = "light",
wherein = "stone",
clust_scarcity = 3 * 3 * 3,
clust_num_ores = 5,
clust_size = 1
}
minetest.register_biome{
name = "plains",
node_top = "dirt_grass",
depth_top = 1,
node_filler = "dirt",
depth_filler = 5,
node_riverbed = "dirt",
depth_riverbed = 3,
node_dungeon = "cobble",
node_dungeon_alt = "stone",
y_max = 3000,
y_min = 2,
vertical_blend = 2,
heat_point = 50,
humidity_point = 50,
}
minetest.register_biome{
name = "beach",
node_top = "sand",
depth_top = 1,
node_filler = "sand",
depth_filler = 2,
node_riverbed = "sand",
depth_riverbed = 3,
node_dungeon = "cobble",
node_dungeon_alt = "stone",
y_max = 1,
y_min = -3,
vertical_blend = 1,
heat_point = 50,
humidity_point = 50,
}