updated cool_trees, basic_materials, bonemeal, castles, cblocks,

currency, facade, farming redo, item_drop, mesecons, pipeworks, technic,
titanium, and worldedit.

Switched to cheapie's display_blocks redo mod (replaces jojo1997's old
version).
This commit is contained in:
VanessaE 2020-05-31 16:20:11 -04:00
parent 07fb475648
commit 1c90cbb3e7
104 changed files with 2643 additions and 559 deletions

200
baldcypress/init.lua Normal file
View File

@ -0,0 +1,200 @@
--
-- Bald Cypress
--
local modname = "baldcypress"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
-- internationalization boilerplate
local S = minetest.get_translator(minetest.get_current_modname())
-- Bald Cypress
local function grow_new_baldcypress_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x-4, y = pos.y, z = pos.z-4}, modpath.."/schematics/baldcypress.mts", "0", nil, false)
end
--
-- Decoration
--
if mg_name ~= "v6" and mg_name ~= "singlenode" then
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = 0.0005,
scale = 0.0005,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"coniferous_forest_ocean"},
height = 2,
y_min = 0,
y_max = 0,
schematic = modpath.."/schematics/baldcypress.mts",
flags = "place_center_x, place_center_z, force_placement",
rotation = "random",
})
end
--
-- Nodes
--
minetest.register_node("baldcypress:sapling", {
description = S("Bald Cypress Tree Sapling"),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {"baldcypress_sapling.png"},
inventory_image = "baldcypress_sapling.png",
wield_image = "baldcypress_sapling.png",
paramtype = "light",
--sunlight_propagates = true,
walkable = false,
on_timer = grow_new_baldcypress_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(2400,4800))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"baldcypress:sapling",
-- minp, maxp to be checked, relative to sapling pos
-- minp_relative.y = 1 because sapling pos has been checked
{x = -2, y = 1, z = -2},
{x = 2, y = 6, z = 2},
-- maximum interval of interior volume check
4)
return itemstack
end,
})
minetest.register_node("baldcypress:trunk", {
description = S("Bald Cypress Trunk"),
tiles = {
"baldcypress_trunk_top.png",
"baldcypress_trunk_top.png",
"baldcypress_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
is_ground_content = false,
on_place = minetest.rotate_node,
})
-- baldcypress wood
minetest.register_node("baldcypress:wood", {
description = S("Bald Cypress Wood"),
tiles = {"baldcypress_wood.png"},
paramtype2 = "facedir",
place_param2 = 0,
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
-- baldcypress tree leaves
minetest.register_node("baldcypress:leaves", {
description = S("Bald Cypress Leaves"),
drawtype = "allfaces_optional",
visual_scale = 1.2,
tiles = {"baldcypress_leaves.png"},
inventory_image = "baldcypress_leaves.png",
wield_image = "baldcypress_leaves.png",
paramtype = "light",
walkable = true,
waving = 1,
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
drop = {
max_items = 1,
items = {
{items = {"baldcypress:sapling"}, rarity = 20},
{items = {"baldcypress:leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
--
-- Craftitems
--
--
-- Recipes
--
minetest.register_craft({
output = "baldcypress:wood 4",
recipe = {{"baldcypress:trunk"}}
})
minetest.register_craft({
type = "fuel",
recipe = "baldcypress:trunk",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "baldcypress:wood",
burntime = 7,
})
minetest.register_lbm({
name = "baldcypress:convert_baldcypress_saplings_to_node_timer",
nodenames = {"baldcypress:sapling"},
action = function(pos)
minetest.get_node_timer(pos):start(math.random(1200, 2400))
end
})
default.register_leafdecay({
trunks = {"baldcypress:trunk"},
leaves = {"baldcypress:leaves"},
radius = 3,
})
--Stairs
if minetest.get_modpath("stairs") ~= nil then
stairs.register_stair_and_slab(
"baldcypress_trunk",
"baldcypress:trunk",
{choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
{"baldcypress_wood.png"},
S("Bald Cypress Stair"),
S("Bald Cypress Slab"),
default.node_sound_wood_defaults()
)
end
--Support for bonemeal
if minetest.get_modpath("bonemeal") ~= nil then
bonemeal:add_sapling({
{"baldcypress:sapling", grow_new_baldcypress_tree, "soil"},
})
end

View File

@ -0,0 +1,10 @@
# textdomain: baldcypress
Bald Cypress Trunk=Madera de criprés calvo
Bald Cypress Wood=Tablas de criprés calvo
Bald Cypress Leaves=Hojas de criprés calvo
Bald Cypress Tree Sapling=Retoño de criprés calvo
Bald Cypress Tree Stair=Escaleras de criprés calvo
Bald Cypress Slab=Losa de de criprés calvo
Inner Bald Cypress Stair=Escaleras de de criprés calvo interior
Outer Bald Cypress Stair=Escaleras de criprés calvo exterior
Bald Cypress Slab=Losa de criprés calvo

4
baldcypress/mod.conf Normal file
View File

@ -0,0 +1,4 @@
name = baldcypress
description = Blad Cypress for Swamps
depends = default
optional_depends = stairs, bonemeal

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,33 @@
# textdomain: basic_materials
Silicon lump=Кусок Кремния
Simple Integrated Circuit=Микросхема
Simple Motor=Мотор
Heating element=Нить Накала
Simple energy crystal=Энергетический Кристалл
Spool of steel wire=Катушка Стальной Проволоки
Spool of copper wire=Катушка Медной Проволоки
Spool of silver wire=Катушка Серебрянной Проволоки
Spool of gold wire=Катушка Золотой Проволоки
Steel Strip=Стальная Полоса
Copper Strip=Медная Полоса
Steel Bar=Стальной Прут
Chainlinks (brass)=Латунные Звенья
Chainlinks (steel)=Стальные Звенья
Brass Ingot=Латунный Брусок
Steel gear=Стальная Шестерня
Padlock=Навесной Замок
Chain (steel, hanging)=Стальная Цепь
Chain (brass, hanging)=Латунная Цепь
Brass Block=Латунный Блок
Oil extract=Масляный Экстракт
Unprocessed paraffin=Необработанный Парафин
Uncooked Terracotta Base=Ком Мокрого Терракота
Wet Cement=Ком Мокрого Цемента
Cement=Цемент
Concrete Block=Железобетон
Plastic sheet=Пластиковый Лист
Plastic strips=Пластиковая Полоса
Empty wire spool=Пустая Катушка

View File

@ -646,7 +646,7 @@ minetest.override_item("default:dirt", {
items = {
{
items = {"bonemeal:bone"},
rarity = 30
rarity = 40
},
{
items = {"default:dirt"}

View File

@ -38,7 +38,8 @@ if farming and farming.mod and farming.mod == "redo" then
{"farming:beetroot_", 5},
{"farming:rye_", 8},
{"farming:oat_", 8},
{"farming:rice_", 8}
{"farming:rice_", 8},
{"farming:mint_", 4}
})
end

View File

@ -67,7 +67,7 @@ if minetest.get_modpath("xpanes") then
tiles = {"castle_jailbars.png"},
drawtype = "airlike",
paramtype = "light",
textures = {"castle_jailbars.png", "castle_jailbars.png", "xpanes_space.png"},
textures = {"castle_jailbars.png", "castle_jailbars.png", "castle_jailbars.png"},
inventory_image = "castle_jailbars.png",
wield_image = "castle_jailbars.png",
sounds = default.node_sound_metal_defaults(),

View File

@ -10,5 +10,6 @@ Change log:
- 0.1 - Initial release
- 0.2 - Added coloured glass and fixed violet
- 0.3 - Added stairsplus and stairs mod support
- 0.4 - Glass stairs created with transparency if stairs redo active
Lucky Blocks: 4

View File

@ -1,4 +1,9 @@
local stairs_mod = minetest.get_modpath("stairs")
local stairsplus_mod = minetest.global_exists("stairsplus")
local ethereal_mod = minetest.get_modpath("ethereal")
local colours = {
{"black", "Black", "#000000b0"},
{"blue", "Blue", "#015dbb70"},
@ -17,9 +22,6 @@ local colours = {
{"yellow", "Yellow", "#e3ff0070"},
}
local stairs_mod = minetest.get_modpath("stairs")
local stairsplus_mod = minetest.get_modpath("moreblocks")
and minetest.global_exists("stairsplus")
local function cblocks_stairs(nodename, def)
@ -48,17 +50,17 @@ local function cblocks_stairs(nodename, def)
groups = def.groups,
sounds = def.sounds,
})
--[[
elseif stairs_mod and stairs.mod then
elseif stairs_mod and stairs
and stairs.mod and stairs.mod == "redo" then
stairs.register_all(name, nodename,
def.groups,
def.tiles,
def.description,
def.sounds,
def.alpha
def.sounds
)
]]
elseif stairs_mod and not stairs.mod then
stairs.register_stair_and_slab(name, nodename,
@ -72,26 +74,28 @@ local function cblocks_stairs(nodename, def)
end
end
local function set_alias(col, name)
minetest.register_alias("stairs:stair_" .. col .. "_" .. name,
"stairs:stair_" .. name .. "_" .. col)
minetest.register_alias("stairs:slab_" .. col .. "_" .. name,
"stairs:slab_" .. name .. "_" .. col)
minetest.register_alias("stairs:stair_inner_" .. col .. "_" .. name,
"stairs:stair_inner_" .. name .. "_" .. col)
minetest.register_alias("stairs:stair_outer_" .. col .. "_" .. name,
"stairs:stair_outer_" .. name .. "_" .. col)
minetest.register_alias("stairs:slope_" .. col .. "_" .. name,
"stairs:slope_" .. name .. "_" .. col)
end
for i = 1, #colours, 1 do
-- wood
cblocks_stairs("cblocks:wood_" .. colours[i][1], {
description = colours[i][2] .. " Wooden Planks",
tiles = {"default_wood.png^[colorize:" .. colours[i][3]},
paramtype = "light",
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "cblocks:wood_".. colours[i][1] .. " 2",
recipe = {
{"group:wood","group:wood", "dye:" .. colours[i][1]},
}
})
-- stone brick
cblocks_stairs("cblocks:stonebrick_" .. colours[i][1], {
@ -110,19 +114,37 @@ minetest.register_craft({
}
})
-- glass (no stairs because they dont support transparant nodes)
-- glass (no stairs unless stairs redo active because default stairs mod
-- does not support transparent stairs)
minetest.register_node("cblocks:glass_" .. colours[i][1], {
description = colours[i][2] .. " Glass",
tiles = {"cblocks.png^[colorize:" .. colours[i][3]},
drawtype = "glasslike",
paramtype = "light",
sunlight_propagates = true,
use_texture_alpha = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
if stairs_mod and stairs and stairs.mod and stairs.mod == "redo" then
cblocks_stairs("cblocks:glass_" .. colours[i][1], {
description = colours[i][2] .. " Glass",
tiles = {"cblocks.png^[colorize:" .. colours[i][3]},
drawtype = "glasslike",
paramtype = "light",
sunlight_propagates = true,
use_texture_alpha = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
set_alias(colours[i][1], "glass")
else
minetest.register_node("cblocks:glass_" .. colours[i][1], {
description = colours[i][2] .. " Glass",
tiles = {"cblocks.png^[colorize:" .. colours[i][3]},
drawtype = "glasslike",
paramtype = "light",
sunlight_propagates = true,
use_texture_alpha = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
end
minetest.register_craft({
output = "cblocks:glass_".. colours[i][1] .. " 2",
@ -131,8 +153,36 @@ minetest.register_craft({
}
})
-- wood
local col = colours[i][1]
-- ethereal already has yellow wood so rename to yellow2
if ethereal_mod and col == "yellow" then
col = "yellow2"
end
cblocks_stairs("cblocks:wood_" .. col, {
description = colours[i][2] .. " Wooden Planks",
tiles = {"default_wood.png^[colorize:" .. colours[i][3]},
paramtype = "light",
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
set_alias(colours[i][1], "wood")
minetest.register_craft({
output = "cblocks:wood_".. col .. " 2",
recipe = {
{"group:wood","group:wood", "dye:" .. colours[i][1]},
}
})
end
-- add lucky blocks
if minetest.get_modpath("lucky_block") then
lucky_block:add_blocks({
@ -143,4 +193,5 @@ lucky_block:add_blocks({
})
end
print ("[MOD] Cblocks loaded")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -161,3 +161,4 @@ schematic = {
{name="air", prob=0, param2=0},
},
}

View File

@ -9,8 +9,7 @@ if minetest.get_modpath("hopper") and hopper ~= nil and hopper.add_container ~=
end
local crafting_rate = minetest.settings:get("crafting_bench_crafting_rate")
if crafting_rate == nil then crafting_rate = 5 end
local crafting_rate = tonumber(minetest.settings:get("crafting_bench_crafting_rate")) or 5
minetest.register_node("crafting_bench:workbench",{

View File

@ -67,7 +67,11 @@ barter.chest.give_inventory = function(inv,list,playername)
player = minetest.get_player_by_name(playername)
if player then
for k,v in ipairs(inv:get_list(list)) do
player:get_inventory():add_item("main",v)
if player:get_inventory():room_for_item("main",v) then
player:get_inventory():add_item("main",v)
else
minetest.add_item(player:get_pos(),v)
end
inv:remove_item(list,v)
end
end

View File

@ -1,23 +1,41 @@
local players_income = {}
local income_enabled = minetest.settings:get_bool("currency.income_enabled", true)
local creative_income_enabled = minetest.settings:get_bool("currency.creative_income_enabled", true)
local income_item = minetest.settings:get("currency.income_item") or "currency:minegeld_10"
local income_count = tonumber(minetest.settings:get("currency.income_count")) or 1
local income_period = tonumber(minetest.settings:get("currency.income_period")) or 720
if income_enabled then
local timer = 0
minetest.register_globalstep(function(dtime)
timer = timer + dtime;
if timer >= income_period then
timer = 0
for _, player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
players_income[name] = income_count
minetest.log("info", "[Currency] basic income for "..name)
if creative_income_enabled then
minetest.register_globalstep(function(dtime)
timer = timer + dtime;
if timer >= income_period then
timer = 0
for _, player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
players_income[name] = income_count
minetest.log("info", "[Currency] basic income for "..name)
end
end
end
end)
end)
else
minetest.register_globalstep(function(dtime)
timer = timer + dtime;
if timer >= income_period then
timer = 0
for _, player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
local privs = minetest.get_player_privs(name)
if not (privs.creative or privs.give) then
players_income[name] = income_count
minetest.log("info", "[Currency] basic income for "..name)
end
end
end
end)
end
local function earn_income(player)
if not player or player.is_fake_player then return end

View File

@ -1,6 +1,9 @@
# Is income enabled?
currency.income_enabled (Is currency income enabled?) bool true
# Is income enabled for creative players?
currency.creative_income_enabled (Is income enabled for creative players?) bool true
# Item that is given as income by the currency mod
currency.income_item (Currency income item) string currency:minegeld_10

View File

@ -1,29 +0,0 @@
License:
Copyright (C) 2016 - VanessaE, cheapie, jojoa1997
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject
to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the authors shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from the authors.

View File

@ -1,4 +0,0 @@
display_blocks
==============
This mod adds blocks that create crystals on top.
Some have different light levels others can be seen through and i hope i can make them do other things too.

View File

@ -1,6 +0,0 @@
-- Disable to make the uranium only be "technic"uranium". Enable to add "display_blocks:uranium"
enable_display_uranium = false
--Enable to make "technic:uranium" spawning like "display_blocks:uranium".
technic_uranium_new_ore_gen = true
--Enable to add a recipe that uses "technic:uranium"
enable_technic_recipe = true

View File

@ -1,2 +0,0 @@
default
technic?

View File

@ -1 +0,0 @@
This mod adds blocks that create crystals on top. Some have different light levels others can be seen through and i hope i can make them do other things too.

View File

@ -1,267 +0,0 @@
local PATH = minetest.get_modpath("display_blocks")
dofile(PATH.."/config.lua")
dofile(PATH.."/technic.lua")
if enable_display_uranium == true then
dofile(minetest.get_modpath("display_blocks").."/uranium.lua")
end
local Scale = 0.9
function disp(base, name, light, rec, rp)
minetest.register_node( "display_blocks:"..base.."_base", {
description = name.."Display Base",
tiles = { "display_blocks_"..base.."_block.png" },
is_ground_content = true,
groups = {cracky=3,},
light_source = light,
sunlight_propagates = true,
paramtype = "light",
drawtype = "glasslike",
})
minetest.register_node( "display_blocks:"..base.."_crystal", {
drawtype = "plantlike",
description = name.." Display Crystal",
tiles = { "display_blocks_"..base.."_crystal.png" },
is_ground_content = true,
paramtype = "light",
visual_scale = Scale,
groups = {immortal=1, not_in_creative_inventory=1},
selection_box = {
type = "fixed",
fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 },
},
walkable = false,
})
minetest.register_abm({
nodenames = {"display_blocks:"..base.."_base"},
interval = 2.0,
chance = 1.0,
action = function(pos, node, active_object_count, active_object_count_wider)
pos.y = pos.y + 1
local n = minetest.get_node(pos)
if n and n.name == "air" then
minetest.add_node(pos, {name="display_blocks:"..base.."_crystal"})
end
end
})
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
if node.name == "display_blocks:"..base.."_base" then
pos.y = pos.y + 1
local n = minetest.get_node(pos)
if n and n.name == "display_blocks:"..base.."_crystal" then
minetest.remove_node(pos)
end
end
end
minetest.register_on_dignode(remove_crystal)
minetest.register_craft({
output = 'display_blocks:'..base..'_base 5',
recipe = {
{'', 'default:mese_crystal_fragment', ''},
{rec, 'display_blocks:empty_display', rec},
{'', rec, ''},
},
replacements = {{rec, rp}, {rec, rp},{rec, rp}},
})
end
-- disp(base, name, rec, rp)
disp("mese", "Mese", 0, "default:mese_block", "")
disp("glass", "Glass", 0, "default:sand", "")
disp("fire", "Fire", 12, "bucket:bucket_lava" ,"bucket:bucket_empty")
disp("air", "Air", 5, "bucket:bucket_empty", "bucket:bucket_empty")
disp("water", "Water", 0, "bucket:bucket_water", "bucket:bucket_empty")
disp("uranium", "Uranium", 10, "display_blocks:uranium_block", "")
disp("earth", "Earth", 0, "display_blocks:compressed_earth", "")
disp("metal", "Metal", 2, "default:steelblock", "")
if minetest.get_modpath("titanium") then
disp("titanium", "Titanium", 0, "titanium:block", "")
end
--
-- Universia Display
--
minetest.register_node( "display_blocks:universia_base", {
description = "Universia Display Base",
tiles = {"display_blocks_universia_block.png"},
is_ground_content = true,
groups = {cracky=3,},
light_source = 15,
sunlight_propagates = true,
paramtype = "light",
drawtype = "glasslike",
})
minetest.register_node( "display_blocks:universia_crystal", {
description = "Universia Display Crystal",
drawtype = "plantlike",
tiles = {"display_blocks_universia_crystal.png"},
selection_box = {
type = "fixed",
fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 },
},
walkable = false,
is_ground_content = true,
paramtype = "light",
visual_scale = Scale,
groups = {immortal=1, not_in_creative_inventory=1},
})
minetest.register_abm({
nodenames = {"display_blocks:universia_base"},
interval = 1.0,
chance = 1.0,
action = function(pos, node, active_object_count, active_object_count_wider)
pos.y = pos.y + 1
minetest.add_node(pos, {name="display_blocks:universia_crystal"})
end
})
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
if
node.name == "display_blocks:universia_base"
then
pos.y = pos.y + 1
minetest.remove_node(pos, {name="display_blocks:universia_crystal"})
end
end
minetest.register_on_dignode(remove_crystal)
minetest.register_craft({
output = "display_blocks:universia_base",
recipe = {
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
{'display_blocks:natura_cube', 'default:mese_block', 'display_blocks:industria_cube'},
{'default:obsidian', 'default:obsidian', 'default:obsidian'},
},
})
--
-- Other Blocks
--
minetest.register_node("display_blocks:compressed_earth", {
description = "Compressed Earth",
tiles = {"display_blocks_compressed_earth.png"},
groups = {crumbly=3,soil=1},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain=0.25},
}),
})
minetest.register_node("display_blocks:empty_display", {
description = "Empty Display",
tiles = {"display_blocks_empty_display.png"},
groups = {cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
sunlight_propagates = true,
paramtype = "light",
drawtype = "glasslike",
is_ground_content = true,
})
minetest.register_node("display_blocks:industria_cube", {
description = "Industria Cube",
tiles = {"display_blocks_industria_cube.png"},
groups = {cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
sunlight_propagates = true,
paramtype = "light",
drawtype = "glasslike",
is_ground_content = true,
})
minetest.register_node("display_blocks:natura_cube", {
description = "Natura Cube",
tiles = {"display_blocks_natura_cube.png"},
groups = {cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
sunlight_propagates = true,
paramtype = "light",
drawtype = "glasslike",
is_ground_content = true,
})
minetest.register_craft({
output= "display_blocks:compressed_earth",
recipe = {
{'default:gravel', 'default:dirt', 'default:gravel'},
{'default:dirt', 'default:gravel', 'default:dirt'},
{'default:gravel', 'default:dirt', 'default:gravel'},
}
})
minetest.register_craft({
output = "display_blocks:empty_display",
recipe = {
{'default:desert_sand', 'default:glass', 'default:sand'},
{'default:glass', '', 'default:glass'},
{'default:sand', 'default:glass', 'default:desert_sand'},
},
})
minetest.register_craft({
output = "display_blocks:natura_cube",
recipe = {
{'', 'display_blocks:air_base', ''},
{'display_blocks:fire_base', '', 'display_blocks:water_base'},
{'', 'display_blocks:earth_base', ''},
},
})
minetest.register_craft({
output = "display_blocks:industria_cube",
recipe = {
{'', 'display_blocks:mese_base', ''},
{'display_blocks:metal_base', '', 'display_blocks:glass_base'},
{'', 'display_blocks:uranium_base', ''},
},
})
--
-- Compressed Earth Ore Gen
--
minetest.register_ore({
ore_type = "scatter",
ore = "display_blocks:compressed_earth",
wherein = "default:dirt",
clust_scarcity = 25*25*25,
clust_num_ores = 20,
clust_size = 5,
y_max = -5,
y_min = -15,
})
minetest.register_ore({
ore_type = "scatter",
ore = "display_blocks:compressed_earth",
wherein = "default:dirt",
clust_scarcity = 20*20*20,
clust_num_ores = 50,
clust_size = 5,
y_max = -16,
y_min = -29,
})
minetest.register_ore({
ore_type = "scatter",
ore = "display_blocks:compressed_earth",
wherein = "default:dirt",
clust_scarcity = 15*15*15,
clust_num_ores = 80,
clust_size = 5,
y_max = -30,
y_min = -100,
})
print("[Display Blocks] Loaded! by jojoa1997 :-)")

View File

@ -1 +0,0 @@
name = display_blocks

View File

@ -1,40 +0,0 @@
if enable_display_uranium == false then
minetest.register_alias("display_blocks:uranium_dust", "technic:uranium_block")
minetest.register_alias("display_blocks:uranium_block", "technic:uranium_block")
minetest.register_alias("display_blocks:uranium_ore", "technic:mineral_uranium")
end
if technic_uranium_new_ore_gen == true then
minetest.register_ore({
ore_type = "scatter",
ore = "technic:mineral_uranium",
wherein = "default:stone",
clust_scarcity = 20*20*20,
clust_num_ores = 18,
clust_size = 3,
y_min = -3000,
y_max = -2000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "technic:mineral_uranium",
wherein = "default:stone",
clust_scarcity =30*30*30,
clust_num_ores = 40,
clust_size = 4,
y_min = -7000,
y_max = -5000,
})
end
if enable_technic_recipe == true then
minetest.register_craft({
output = 'display_blocks:uranium_base 5',
recipe = {
{'', 'default:mese_crystal_fragment', ''},
{'technic:uranium_block', 'display_blocks:empty_display', 'technic:uranium_block'},
{'', 'technic:uranium_block', ''},
}
})
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 B

View File

@ -1,56 +0,0 @@
minetest.register_node( "display_blocks:uranium_ore", {
description = "Uranium Ore",
tiles = { "default_stone.png^uranium_ore.png" },
is_ground_content = true,
groups = {cracky=3},
drop = 'craft "display_blocks:uranium_dust" 3',
})
minetest.register_craftitem( "display_blocks:uranium_dust", {
description = "Uranium Dust",
inventory_image = "uranium_dust.png",
on_place_on_ground = minetest.craftitem_place_item,
})
minetest.register_node( "display_blocks:uranium_block", {
description = "Uranium Block",
tiles = { "uranium_block.png" },
light_propagates = true,
paramtype = "light",
sunlight_propagates = true,
light_source = 15,
is_ground_content = true,
groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2},
})
minetest.register_craft( {
output = 'node "display_blocks:uranium_block" 1',
recipe = {
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
}
})
minetest.register_ore({
ore_type = "scatter",
ore = "display_blocks:uranium_ore",
wherein = "default:stone",
clust_scarcity = 10*10*10,
clust_num_ores =18,
clust_size = 3,
y_min = -3000,
y_max = -2000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "display_blocks:uranium_ore",
wherein = "default:stone",
clust_scarcity =20*20*20,
clust_num_ores =40,
clust_size = 4,
y_min = -7000,
y_max = -5000,
})

View File

@ -0,0 +1,63 @@
The code in this mod is licensed under the following terms:
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
------------------------------------------------------------------------
The textures in this mod are from the original display_blocks mod and are licensed under the same terms as the original.
The contents of the original LICENSE.txt file are as follows:
License:
Copyright (C) 2016 - VanessaE, cheapie, jojoa1997
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject
to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the authors shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from the authors.

View File

@ -0,0 +1,302 @@
local disptypes = {
{
name = "Mese",
light_source = 0,
craft_type = "normal",
craft_item = "default:mese",
},
{
name = "Glass",
light_source = 0,
craft_type = "normal",
craft_item = "default:glass",
},
{
name = "Fire",
light_source = 12,
craft_type = "normal",
craft_item = "bucket:bucket_lava",
},
{
name = "Air",
light_source = 5,
craft_type = "normal",
craft_item = "bucket:bucket_empty",
},
{
name = "Water",
light_source = 0,
craft_type = "normal",
craft_item = "bucket:bucket_water",
},
{
name = "Uranium",
light_source = 10,
craft_type = "normal",
craft_item = "group:uranium_block",
},
{
name = "Earth",
light_source = 0,
craft_type = "normal",
craft_item = "default:dirt",
},
{
name = "Metal",
light_source = 2,
craft_type = "normal",
craft_item = "default:steelblock",
},
{
name = "Empty",
light_source = 0,
suppress_crystal = true,
craft_type = "special",
craft_recipe = {
{"default:desert_sand","default:glass","default:sand",},
{"default:glass","","default:glass",},
{"default:sand","default:glass","default:desert_sand",},
},
},
{
name = "Universia",
light_source = 14,
craft_type = "special",
craft_recipe = {
{"default:mese_crystal","default:mese_crystal","default:mese_crystal",},
{"display_blocks_redo:natura_cube","default:mese","display_blocks_redo:industria_cube",},
{"default:obsidian","default:obsidian","default:obsidian",},
},
},
}
if minetest.get_modpath("titanium") then
table.insert(disptypes,{
name = "Titanium",
light_source = 0,
craft_type = "normal",
craft_item = "titanium:block",
})
end
local function regcraft(def)
local lname = string.lower(def.name)
if def.craft_type == "normal" then
local craft = {}
craft.output = string.format("display_blocks_redo:%s_base",lname)
craft.recipe = {
{"","default:mese_crystal_fragment","",},
{def.craft_item,"display_blocks_redo:empty_base",def.craft_item,},
{"",def.craft_item,"",},
}
if string.sub(def.craft_item,1,7) == "bucket:" then
craft.replacements = {}
for i=1,3,1 do
table.insert(craft.replacements,{def.craft_item,"bucket:bucket_empty",})
end
end
minetest.register_craft(craft)
elseif def.craft_type == "special" then
local craft = {}
craft.output = string.format("display_blocks_redo:%s_base",lname)
craft.recipe = def.craft_recipe
minetest.register_craft(craft)
end
end
for _,def in ipairs(disptypes) do
local lname = string.lower(def.name)
if not def.suppress_crystal then
minetest.register_node(string.format("display_blocks_redo:%s_crystal",lname),{
description = string.format("%s Display Crystal (you hacker you!)",def.name),
drawtype = "plantlike",
drop = "",
groups = {
not_in_creative_inventory = 1,
},
paramtype = "light",
tiles = {
string.format("display_blocks_redo_%s_crystal.png",lname),
},
light_source = def.light_source,
visual_scale = 0.9,
selection_box = {
type = "fixed",
fixed = {-0.15,-0.5,-0.15,0.15,0.2,0.15},
},
walkable = false,
})
minetest.register_alias(string.format("display_blocks:%s_crystal",lname),string.format("display_blocks_redo:%s_crystal",lname))
end
minetest.register_node(string.format("display_blocks_redo:%s_base",lname),{
description = string.format("%s Display Base",def.name),
groups = {
cracky = 3,
},
sounds = minetest.global_exists("default") and default.node_sound_glass_defaults(),
paramtype = "light",
light_source = def.light_source,
tiles = {
string.format("display_blocks_redo_%s_base.png",lname),
},
drawtype = "glasslike",
after_place_node = function(pos,_,stack)
if def.suppress_crystal then return end
local crystalpos = vector.add(pos,vector.new(0,1,0))
if minetest.get_node(crystalpos).name == "air" then
local node = {}
node.name = string.format("display_blocks_redo:%s_crystal",lname)
minetest.set_node(crystalpos,node)
stack:take_item(1)
return stack
else
minetest.set_node(pos,{name = "air"})
return stack
end
end,
after_destruct = function(pos)
if def.suppress_crystal then return end
local crystalpos = vector.add(pos,vector.new(0,1,0))
if minetest.get_node(crystalpos).name == string.format("display_blocks_redo:%s_crystal",lname) then
minetest.set_node(crystalpos,{name = "air"})
end
end,
})
regcraft(def)
minetest.register_alias(string.format("display_blocks:%s_base",lname),string.format("display_blocks_redo:%s_base",lname))
end
minetest.register_alias("display_blocks:empty_display","display_blocks_redo:empty_base")
minetest.register_alias("display_blocks:compressed_earth","default:dirt")
minetest.register_node("display_blocks_redo:natura_cube",{
description = "Natura Cube",
tiles = {
"display_blocks_redo_natura_cube.png",
},
groups = {
cracky = 3,
oddly_breakable_by_hand = 3,
},
paramtype = "light",
drawtype = "glasslike",
sounds = minetest.global_exists("default") and default.node_sound_glass_defaults(),
})
minetest.register_alias("display_blocks:natura_cube","display_blocks_redo:natura_cube")
minetest.register_node("display_blocks_redo:industria_cube",{
description = "Industria Cube",
tiles = {
"display_blocks_redo_industria_cube.png",
},
groups = {
cracky = 3,
oddly_breakable_by_hand = 3,
},
paramtype = "light",
drawtype = "glasslike",
sounds = minetest.global_exists("default") and default.node_sound_glass_defaults(),
})
minetest.register_alias("display_blocks:industria_cube","display_blocks_redo:industria_cube")
minetest.register_craft({
output = "display_blocks_redo:natura_cube",
recipe = {
{"","display_blocks:air_base","",},
{"display_blocks:fire_base","","display_blocks:water_base",},
{"","display_blocks:earth_base","",},
},
})
minetest.register_craft({
output = "display_blocks_redo:industria_cube",
recipe = {
{"","display_blocks:mese_base","",},
{"display_blocks:metal_base","","display_blocks:glass_base",},
{"","display_blocks:uranium_base","",},
},
})
if minetest.get_modpath("technic_worldgen") then
minetest.register_alias("display_blocks:uranium_ore","technic:mineral_uranium")
minetest.register_alias("display_blocks:uranium_dust","technic:uranium_dust")
minetest.register_alias("display_blocks:uranium_block","technic:uranium_block")
minetest.register_alias("display_blocks_redo:uranium_ore","technic:mineral_uranium")
minetest.register_alias("display_blocks_redo:uranium_dust","technic:uranium_dust")
minetest.register_alias("display_blocks_redo:uranium_block","technic:uranium_block")
else
minetest.register_node("display_blocks_redo:uranium_ore",{
description = "Uranium Ore",
drop = "display_blocks_redo:uranium_dust 3",
paramtype = "light",
light_source = 2,
groups = {
cracky = 3,
},
tiles = {
"default_stone.png^display_blocks_redo_uranium_ore.png",
},
is_ground_content = true,
})
minetest.register_node("display_blocks_redo:uranium_block",{
description = "Uranium Block",
paramtype = "light",
light_source = 7,
groups = {
snappy = 1,
},
tiles = {
"display_blocks_redo_uranium_block.png",
},
})
minetest.register_craftitem("display_blocks_redo:uranium_dust",{
description = "Uranium Dust",
inventory_image = "display_blocks_redo_uranium_dust.png",
})
minetest.register_craft({
type = "shapeless",
output = "display_blocks_redo:uranium_block",
recipe = {
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
"display_blocks_redo:uranium_dust",
},
})
minetest.register_ore({
ore_type = "scatter",
ore = "display_blocks_redo:uranium_ore",
wherein = "default:stone",
clust_scarcity = 10*10*10,
clust_num_ores = 18,
clust_size = 3,
y_min = -3000,
y_max = -2000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "display_blocks_redo:uranium_ore",
wherein = "default:stone",
clust_scarcity = 20*20*20,
clust_num_ores = 40,
clust_size = 4,
y_min = -31000,
y_max = -5000,
})
minetest.register_alias("display_blocks:uranium_ore","display_blocks_redo:uranium_ore")
minetest.register_alias("display_blocks:uranium_dust","display_blocks_redo:uranium_dust")
minetest.register_alias("display_blocks:uranium_block","display_blocks_redo:uranium_block")
end

View File

@ -0,0 +1,3 @@
name = display_blocks_redo
description = Rewrite of the old display_blocks mod for Minetest
optional_depends = default

View File

Before

Width:  |  Height:  |  Size: 211 B

After

Width:  |  Height:  |  Size: 211 B

View File

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 238 B

View File

Before

Width:  |  Height:  |  Size: 888 B

After

Width:  |  Height:  |  Size: 888 B

View File

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 351 B

View File

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 185 B

View File

Before

Width:  |  Height:  |  Size: 228 B

After

Width:  |  Height:  |  Size: 228 B

View File

Before

Width:  |  Height:  |  Size: 157 B

After

Width:  |  Height:  |  Size: 157 B

View File

Before

Width:  |  Height:  |  Size: 164 B

After

Width:  |  Height:  |  Size: 164 B

View File

Before

Width:  |  Height:  |  Size: 315 B

After

Width:  |  Height:  |  Size: 315 B

View File

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View File

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 406 B

View File

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 359 B

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 289 B

After

Width:  |  Height:  |  Size: 289 B

View File

Before

Width:  |  Height:  |  Size: 268 B

After

Width:  |  Height:  |  Size: 268 B

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 325 B

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 228 B

After

Width:  |  Height:  |  Size: 228 B

View File

Before

Width:  |  Height:  |  Size: 254 B

After

Width:  |  Height:  |  Size: 254 B

View File

Before

Width:  |  Height:  |  Size: 209 B

After

Width:  |  Height:  |  Size: 209 B

View File

@ -16,8 +16,10 @@ if [ ! -d "$upstream_mods_path" ] ; then
fi
modpack_path=$upstream_mods_path"/my_mods/dreambuilder_modpack"
gitrefs_path=$upstream_mods_path"/my_mods/dreambuilder_git_refs"
rm -rf $modpack_path/*
rm -rf $modpack_path
mkdir $modpack_path
touch $modpack_path/modpack.txt
echo -e "\nBring all mods up-to-date from "$upstream_mods_path
@ -62,6 +64,7 @@ cheapies_mods/rgblightstone \
cheapies_mods/solidcolor \
cheapies_mods/arrowboards \
cheapies_mods/digidisplay \
cheapies_mods/display_blocks_redo \
Jeijas_mods/digilines \
Jeijas_mods/jumping \
TenPlus1s_mods/farming \
@ -75,7 +78,6 @@ DonBatmans_mods/mymillwork \
quartz \
stained_glass \
titanium \
display_blocks \
gardening \
caverealms_lite \
deezls_mods/extra_stairsplus \
@ -183,6 +185,8 @@ done <<< "$LIST"
ln -s $upstream_mods_path"/my_mods/dreambuilder_mp_extras/readme.md" $modpack_path
cp -a $gitrefs_path/.git* $modpack_path
echo -e "\nCustomization completed. Here's what will be included in the modpack:\n"
ls $modpack_path
ls -a $modpack_path

View File

@ -7,18 +7,29 @@ echo -e "=================================================================\n"
timestamp=`date +%Y%m%d-%H%M`
echo -e "\nCopy the Dreambuilder to /home/vanessa/.minetest/mods..."
echo -e "\nCopy Dreambuilder to /home/vanessa/.minetest/mods..."
echo -e "=================================================================\n"
rsync -a --exclude=".git/" \
/home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack \
/home/vanessa/.minetest/mods/
rm -rf /home/vanessa/.minetest/mods/dreambuilder_modpack
cp -a /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack \
/home/vanessa/.minetest/mods/
echo -e "\nUpdate git repos..."
echo -e "=================================================================\n"
rm -rf /run/shm/dreambuilder_modpack
rsync -aL /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack /run/shm/
rm -rf /run/shm/dreambuilder_modpack*
rsync -aL \
/home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack/* \
/run/shm/dreambuilder_modpack_raw
rsync -a --exclude ".git*" \
/run/shm/dreambuilder_modpack_raw/* \
/run/shm/dreambuilder_modpack
cp -a /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_git_refs/.git* \
/run/shm/dreambuilder_modpack
cd /run/shm/dreambuilder_modpack
git add .
@ -28,24 +39,24 @@ git tag $timestamp
git push --tags
cd ~
rsync -aL --delete /run/shm/dreambuilder_modpack/.git /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack
rm -rf /run/shm/dreambuilder_modpack
echo -e "\nRecreate secondary game archive ..."
echo -e "=================================================================\n"
echo "Build timestamp: $timestamp" > \
/home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack/build-date.txt
/run/shm/dreambuilder_modpack/build-date.txt
rm -f /home/vanessa/Minetest-related/Dreambuilder_Modpack.tar.bz2
cd /home/vanessa/Minetest-related/mods/my_mods/
cd /run/shm
tar -jcf /home/vanessa/Digital-Audio-Concepts-Website/vanessa/hobbies/minetest/Dreambuilder_Modpack.tar.bz2 \
--exclude=".git/*" \
dreambuilder_modpack
rm /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack/build-date.txt
/home/vanessa/Scripts/sync-website.sh
rm -rf /run/shm/dreambuilder_modpack*
echo -e "\nDone. Build timestamp: $timestamp \n"

View File

@ -265,7 +265,7 @@ default.register_leafdecay({
--Stairs
if minetest.get_modpath("stairs") ~= nil then
if minetest.get_modpath("stairs") ~= nil then
stairs.register_stair_and_slab(
"ebony_trunk",
"ebony:trunk",
@ -277,7 +277,7 @@ if minetest.get_modpath("stairs") ~= nil then
)
end
if minetest.get_modpath("bonemeal") ~= nil then
if minetest.get_modpath("bonemeal") ~= nil then
bonemeal:add_sapling({
{"ebony:sapling", grow_new_ebony_tree, "soil"},
})

View File

@ -1,11 +0,0 @@
on: [push, pull_request]
name: Check & Release
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: lint
uses: Roang-zero1/factorio-mod-luacheck@master
with:
luacheckrc_url: https://raw.githubusercontent.com/TumeniNodes/facade/master/.luacheckrc

View File

@ -13,7 +13,7 @@ This mod works by adding your new plant to the {growing=1} group and numbering t
### Changelog:
- 1.45 - Dirt and Hoes are more in line with default by using dry/wet/base options
- 1.45 - Dirt and Hoes are more in line with default by using dry/wet/base options, onion soup added (thanks edcrypt)
- 1.44 - Added 'farming_stage_length' in mod settings for speed of crop growth, also thanks to TheDarkTiger for translation updates
- 1.43 - Scythe works on use instead of right-click, added seed=1 groups to actual seeds and seed=2 group for plantable food items.
- 1.42 - Soil needs water to be present within 3 blocks horizontally and 1 below to make wet soil, Jack 'o Lanterns now check protection, add chocolate block.

91
farming/crops/mint.lua Normal file
View File

@ -0,0 +1,91 @@
local S = farming.intllib
-- mint seed
minetest.register_craftitem("farming:seed_mint", {
description = S("Mint Seeds"),
inventory_image = "farming_mint_seeds.png",
groups = {seed = 2, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(
itemstack, placer, pointed_thing, "farming:mint_1")
end
})
-- mint leaf
minetest.register_craftitem("farming:mint_leaf", {
description = S("Mint Leaf"),
inventory_image = "farming_mint_leaf.png",
groups = {food_mint = 1, flammable = 4},
})
-- mint tea
minetest.register_craftitem("farming:mint_tea", {
description = S("Mint Tea"),
inventory_image = "farming_mint_tea.png",
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
groups = {flammable = 4},
})
minetest.register_craft({
output = "farming:mint_tea",
type = "shapeless",
recipe = {
"vessels:drinking_glass", "group:food_mint",
"group:food_mint", "group:food_mint",
"farming:juicer", "bucket:bucket_water"
},
replacements = {
{"group:food_juicer", "farming:juicer"},
{"bucket:bucket_water", "bucket:bucket_empty"},
},
})
-- mint definition
local crop_def = {
drawtype = "plantlike",
tiles = {"farming_mint_1.png"},
paramtype = "light",
walkable = false,
buildable_to = true,
drop = "",
selection_box = farming.select,
groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
sounds = default.node_sound_leaves_defaults()
}
-- stage 1
minetest.register_node("farming:mint_1", table.copy(crop_def))
-- stage 2
crop_def.tiles = {"farming_mint_2.png"}
minetest.register_node("farming:mint_2", table.copy(crop_def))
-- stage 3
crop_def.tiles = {"farming_mint_3.png"}
minetest.register_node("farming:mint_3", table.copy(crop_def))
-- stage 4 (final)
crop_def.tiles = {"farming_mint_4.png"}
crop_def.groups.growing = 0
crop_def.drop = {
items = {
{items = {"farming:mint_leaf 2"}, rarity = 1},
{items = {"farming:mint_leaf 2"}, rarity = 2},
{items = {"farming:seed_mint 1"}, rarity = 1},
{items = {"farming:seed_mint 2"}, rarity = 2},
}
}
minetest.register_node("farming:mint_4", table.copy(crop_def))
-- add to registered_plants
farming.registered_plants["farming:mint"] = {
crop = "farming:mint",
seed = "farming:seed_mint",
minlight = 13,
maxlight = 15,
steps = 4
}

View File

@ -7,7 +7,7 @@
local S = farming.intllib
-- potato
-- onion
minetest.register_craftitem("farming:onion", {
description = S("Onion"),
inventory_image = "crops_onion.png",
@ -18,6 +18,25 @@ minetest.register_craftitem("farming:onion", {
on_use = minetest.item_eat(1),
})
-- onion soup
minetest.register_craftitem("farming:onion_soup", {
description = S("Onion Soup"),
inventory_image = "farming_onion_soup.png",
groups = {flammable = 2},
on_use = minetest.item_eat(6, "farming:bowl"),
})
minetest.register_craft({
type = "shapeless",
output = "farming:onion_soup",
recipe = {
"group:food_onion", "group:food_onion", "group:food_pot",
"group:food_onion", "group:food_onion",
"group:food_onion", "group:food_onion", "group:food_bowl"
},
replacements = {{"farming:pot", "farming:pot"}}
})
-- crop definition
local crop_def = {
drawtype = "plantlike",

View File

@ -29,6 +29,7 @@ farming.pepper = 0.002
farming.pineapple = 0.001
farming.peas = 0.001
farming.beetroot = 0.001
farming.mint = 0.005
farming.grains = true -- true or false only
-- default rarety of crops on map (higher number = more crops)

View File

@ -7,7 +7,7 @@
farming = {
mod = "redo",
version = "20200430",
version = "20200527",
path = minetest.get_modpath("farming"),
select = {
type = "fixed",
@ -624,6 +624,7 @@ farming.pepper = 0.002
farming.pineapple = 0.001
farming.peas = 0.001
farming.beetroot = 0.001
farming.mint = 0.005
farming.grains = true
farming.rarety = 0.002
@ -688,6 +689,7 @@ ddoo("peas.lua", farming.peas)
ddoo("beetroot.lua", farming.beetroot)
ddoo("chili.lua", farming.chili)
ddoo("ryeoatrice.lua", farming.grains)
ddoo("mint.lua", farming.mint)
dofile(farming.path.."/food.lua")
dofile(farming.path.."/mapgen.lua")

View File

@ -47,6 +47,8 @@ register_plant("onion_5", 5, 22, nil, "", -1, farming.onion)
register_plant("garlic_5", 3, 30, nil, "group:tree", 1, farming.garlic)
register_plant("pea_5", 25, 50, nil, "", -1, farming.peas)
register_plant("beetroot_5", 1, 15, nil, "", -1, farming.beetroot)
register_plant("mint_4", 1, 75, {"default:dirt_with_grass",
"default:dirt_with_coniferous_litter"}, "group:water", 1, farming.mint)
if minetest.get_mapgen_setting("mg_name") == "v6" then

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

19
item_drop/.luacheckrc Normal file
View File

@ -0,0 +1,19 @@
unused_args = false
allow_defined_top = true
max_line_length = 999
ignore = {
"name", "drops", "i",
}
globals = {
"minetest",
}
read_globals = {
string = {fields = {"split", "trim"}},
table = {fields = {"copy", "getn"}},
"vector", "ItemStack",
"dump",
}

View File

@ -1,15 +1,14 @@
# item_drop
# Item Drop [![](https://github.com/minetest-mods/item_drop/workflows/build/badge.svg)](https://github.com/minetest-mods/item_drop/actions) [![License](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)
A highly configurable mod providing item magnet and in-world node drops\
By [PilzAdam](https://github.com/PilzAdam),
[texmex](https://github.com/tacotexmex/), [hybriddog](https://github.com/hybriddog/).
## Description
A highly configurable mod providing item magnet and in-world node drops
## Licensing
LGPLv2.1/CC BY-SA 3.0. Particle code from WCILA mod by Aurailus, originally licensed MIT.
## Notes
item_drop can be played with Minetest 0.4.16 or above. It was originally
`item_drop` can be played with Minetest 0.4.16 or above. It was originally
developed by [PilzAdam](https://github.com/PilzAdam/item_drop).
## List of features

View File

@ -103,7 +103,7 @@ if legacy_setting_getbool("item_drop.enable_item_pickup",
if pickup_particle then
local item = minetest.registered_nodes[
ent.itemstring:gsub("(.*)%s.*$", "%1")]
local image = ""
local image
if item and item.tiles and item.tiles[1] then
if inventorycube_drawtypes[item.drawtype] then
local tiles = item.tiles
@ -201,9 +201,9 @@ if legacy_setting_getbool("item_drop.enable_item_pickup",
local itemdef = minetest.registered_entities["__builtin:item"]
local old_on_step = itemdef.on_step
local function do_nothing() end
function itemdef.on_step(self, dtime)
function itemdef.on_step(self, ...)
if not self.is_magnet_item then
return old_on_step(self, dtime)
return old_on_step(self, ...)
end
ObjectRef = ObjectRef or getmetatable(self.object)
local old_funcs = {}
@ -212,7 +212,7 @@ if legacy_setting_getbool("item_drop.enable_item_pickup",
old_funcs[method] = ObjectRef[method]
ObjectRef[method] = do_nothing
end
old_on_step(self, dtime)
old_on_step(self, ...)
for i = 1, #blocked_methods do
local method = blocked_methods[i]
ObjectRef[method] = old_funcs[method]
@ -252,6 +252,13 @@ if legacy_setting_getbool("item_drop.enable_item_pickup",
return keys_pressed ~= key_invert
end
local function is_inside_map(pos)
local bound = 31000
return -bound < pos.x and pos.x < bound
and -bound < pos.y and pos.y < bound
and -bound < pos.z and pos.z < bound
end
-- called for each player to possibly collect an item, returns true if so
local function pickupfunc(player)
if not has_keys_pressed(player)
@ -261,6 +268,10 @@ if legacy_setting_getbool("item_drop.enable_item_pickup",
end
local pos = player:get_pos()
if not is_inside_map(pos) then
-- get_objects_inside_radius crashes for too far positions
return
end
pos.y = pos.y+0.5
local inv = player:get_inventory()

View File

@ -1,6 +1,14 @@
local selection_box = {
type = "fixed",
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }
}
local nodebox = {
type = "fixed",
fixed = {{-8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }},
fixed = {
{ -8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }, -- bottom slab
{ -6/16, -7/16, -6/16, 6/16, -6/16, 6/16 }
},
}
local function gate_rotate_rules(node, rules)
@ -68,7 +76,7 @@ local function register_gate(name, inputnumber, assess, recipe, description)
is_ground_content = false,
drawtype = "nodebox",
drop = basename.."_off",
selection_box = nodebox,
selection_box = selection_box,
node_box = nodebox,
walkable = true,
sounds = default.node_sound_stone_defaults(),
@ -78,8 +86,16 @@ local function register_gate(name, inputnumber, assess, recipe, description)
inputnumber = inputnumber,
after_dig_node = mesecon.do_cooldown,
},{
tiles = {"jeija_microcontroller_bottom.png^".."jeija_gate_off.png^"..
"jeija_gate_"..name..".png"},
tiles = {
"jeija_microcontroller_bottom.png^".."jeija_gate_off.png^"..
"jeija_gate_output_off.png^".."jeija_gate_"..name..".png",
"jeija_microcontroller_bottom.png^".."jeija_gate_output_off.png^"..
"[transformFY",
"jeija_gate_side.png^".."jeija_gate_side_output_off.png",
"jeija_gate_side.png",
"jeija_gate_side.png",
"jeija_gate_side.png"
},
groups = {dig_immediate = 2, overheat = 1},
mesecons = { receptor = {
state = "off",
@ -89,8 +105,16 @@ local function register_gate(name, inputnumber, assess, recipe, description)
action_change = update_gate
}}
},{
tiles = {"jeija_microcontroller_bottom.png^".."jeija_gate_on.png^"..
"jeija_gate_"..name..".png"},
tiles = {
"jeija_microcontroller_bottom.png^".."jeija_gate_on.png^"..
"jeija_gate_output_on.png^".."jeija_gate_"..name..".png",
"jeija_microcontroller_bottom.png^".."jeija_gate_output_on.png^"..
"[transformFY",
"jeija_gate_side.png^".."jeija_gate_side_output_on.png",
"jeija_gate_side.png",
"jeija_gate_side.png",
"jeija_gate_side.png"
},
groups = {dig_immediate = 2, not_in_creative_inventory = 1, overheat = 1},
mesecons = { receptor = {
state = "on",

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

View File

@ -40,7 +40,7 @@ local can_tool_dig_node = function(nodename, toolcaps, toolname)
-- but a player holding one can - the game seems to fall back to the hand.
-- fall back to checking the hand's properties if the tool isn't the correct one.
local hand_caps = minetest.registered_items[""].tool_capabilities
diggable = minetest.get_dig_params(nodegroups, hand_caps)
diggable = minetest.get_dig_params(nodegroups, hand_caps).diggable
end
return diggable
end

View File

@ -162,7 +162,7 @@ minetest.register_node("pomegranate:leaves", {
minetest.register_craftitem("pomegranate:section", {
description = S("Pomegranate Section"),
inventory_image = "pomegranate_section.png",
inventory_image = "pomegranate_section.png",
on_use = minetest.item_eat(3),
groups = {flammable = 2, food = 2},
})
@ -221,7 +221,7 @@ if minetest.get_modpath("stairs") ~= nil then
)
end
if minetest.get_modpath("bonemeal") ~= nil then
if minetest.get_modpath("bonemeal") ~= nil then
bonemeal:add_sapling({
{"pomegranate:sapling", grow_new_pomegranate_tree, "soil"},
})

View File

@ -16,7 +16,7 @@ local function inject_items (pos)
if stack then
local item0=stack:to_table()
if item0 then
item0["count"] = "1"
item0["count"] = 1
technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0)
stack:take_item(1)
inv:set_stack("main", i, stack)

View File

@ -12,14 +12,14 @@ function technic.register_alloy_recipe(data)
end
local recipes = {
{"technic:copper_dust 3", "technic:tin_dust", "technic:bronze_dust 4"},
{"default:copper_ingot 3", "default:tin_ingot", "default:bronze_ingot 4"},
{"technic:wrought_iron_dust", "technic:coal_dust", "technic:carbon_steel_dust", 3},
{"technic:wrought_iron_ingot", "technic:coal_dust", "technic:carbon_steel_ingot", 3},
{"technic:carbon_steel_dust", "technic:coal_dust", "technic:cast_iron_dust", 3},
{"technic:carbon_steel_ingot", "technic:coal_dust", "technic:cast_iron_ingot", 3},
{"technic:carbon_steel_dust 3", "technic:chromium_dust", "technic:stainless_steel_dust 4"},
{"technic:carbon_steel_ingot 3", "technic:chromium_ingot", "technic:stainless_steel_ingot 4"},
{"technic:copper_dust 7", "technic:tin_dust", "technic:bronze_dust 8", 12},
{"default:copper_ingot 7", "default:tin_ingot", "default:bronze_ingot 8", 12},
{"technic:wrought_iron_dust 2", "technic:coal_dust", "technic:carbon_steel_dust 2", 6},
{"technic:wrought_iron_ingot 2", "technic:coal_dust", "technic:carbon_steel_ingot 2", 6},
{"technic:carbon_steel_dust 2", "technic:coal_dust", "technic:cast_iron_dust 2", 6},
{"technic:carbon_steel_ingot 2", "technic:coal_dust", "technic:cast_iron_ingot 2", 6},
{"technic:carbon_steel_dust 4", "technic:chromium_dust", "technic:stainless_steel_dust 5", 7.5},
{"technic:carbon_steel_ingot 4", "technic:chromium_ingot", "technic:stainless_steel_ingot 5", 7.5},
{"technic:copper_dust 2", "technic:zinc_dust", "technic:brass_dust 3"},
{"default:copper_ingot 2", "technic:zinc_ingot", "basic_materials:brass_ingot 3"},
{"default:sand 2", "technic:coal_dust 2", "technic:silicon_wafer"},

View File

@ -11,8 +11,8 @@ function technic.register_separating_recipe(data)
end
local recipes = {
{ "technic:bronze_dust 4", "technic:copper_dust 3", "technic:tin_dust" },
{ "technic:stainless_steel_dust 4", "technic:wrought_iron_dust 3", "technic:chromium_dust" },
{ "technic:bronze_dust 8", "technic:copper_dust 7", "technic:tin_dust" },
{ "technic:stainless_steel_dust 5", "technic:wrought_iron_dust 4", "technic:chromium_dust" },
{ "technic:brass_dust 3", "technic:copper_dust 2", "technic:zinc_dust" },
{ "technic:chernobylite_dust", "default:sand", "technic:uranium3_dust" },
{ "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 2" },

View File

@ -74,7 +74,7 @@ function technic.send_items(pos, x_velocity, z_velocity, output_name)
if stack then
local item0 = stack:to_table()
if item0 then
item0["count"] = "1"
item0["count"] = 1
technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0)
stack:take_item(1)
inv:set_stack(output_name, i, stack)

View File

@ -24,48 +24,81 @@ local nodes = {
{"default:jungleleaves", false},
{"default:pine_needles", false},
-- The default bushes
{"default:acacia_bush_stem", true},
{"default:bush_stem", true},
{"default:pine_bush_stem", true},
{"default:acacia_bush_leaves", false},
{"default:blueberry_bush_leaves", false},
{"default:blueberry_bush_leaves_with_berries", false},
{"default:bush_leaves", false},
{"default:pine_bush_needles", false},
-- Rubber trees from moretrees or technic_worldgen if moretrees isn't installed
{"moretrees:rubber_tree_trunk_empty", true},
{"moretrees:rubber_tree_trunk", true},
{"moretrees:rubber_tree_leaves", false},
-- Support moretrees
-- Support moretrees (trunk)
{"moretrees:acacia_trunk", true},
{"moretrees:apple_tree_trunk", true},
{"moretrees:beech_trunk", true},
{"moretrees:birch_trunk", true},
{"moretrees:cedar_trunk", true},
{"moretrees:date_palm_ffruit_trunk", true},
{"moretrees:date_palm_fruit_trunk", true},
{"moretrees:date_palm_mfruit_trunk", true},
{"moretrees:date_palm_trunk", true},
{"moretrees:fir_trunk", true},
{"moretrees:jungletree_trunk", true},
{"moretrees:oak_trunk", true},
{"moretrees:palm_trunk", true},
{"moretrees:palm_fruit_trunk", true},
{"moretrees:palm_fruit_trunk_gen", true},
{"moretrees:pine_trunk", true},
{"moretrees:poplar_trunk", true},
{"moretrees:sequoia_trunk", true},
{"moretrees:spruce_trunk", true},
{"moretrees:willow_trunk", true},
{"moretrees:jungletree_trunk", true},
{"moretrees:poplar_trunk", true},
-- Support moretrees (leaves)
{"moretrees:acacia_leaves", false},
{"moretrees:apple_tree_leaves", false},
{"moretrees:oak_leaves", false},
{"moretrees:beech_leaves", false},
{"moretrees:birch_leaves", false},
{"moretrees:cedar_leaves", false},
{"moretrees:date_palm_leaves", false},
{"moretrees:fir_leaves", false},
{"moretrees:fir_leaves_bright", false},
{"moretrees:sequoia_leaves", false},
{"moretrees:birch_leaves", false},
{"moretrees:birch_leaves", false},
{"moretrees:palm_leaves", false},
{"moretrees:spruce_leaves", false},
{"moretrees:spruce_leaves", false},
{"moretrees:pine_leaves", false},
{"moretrees:willow_leaves", false},
{"moretrees:jungletree_leaves_green", false},
{"moretrees:jungletree_leaves_yellow", false},
{"moretrees:jungletree_leaves_red", false},
{"moretrees:acorn", false},
{"moretrees:coconut", false},
{"moretrees:spruce_cone", false},
{"moretrees:pine_cone", false},
{"moretrees:fir_cone", false},
{"moretrees:apple_blossoms", false},
{"moretrees:oak_leaves", false},
{"moretrees:palm_leaves", false},
{"moretrees:poplar_leaves", false},
{"moretrees:pine_leaves", false},
{"moretrees:sequoia_leaves", false},
{"moretrees:spruce_leaves", false},
{"moretrees:willow_leaves", false},
-- Support moretrees (fruit)
{"moretrees:acorn", false},
{"moretrees:apple_blossoms", false},
{"moretrees:cedar_cone", false},
{"moretrees:coconut", false},
{"moretrees:coconut_0", false},
{"moretrees:coconut_1", false},
{"moretrees:coconut_2", false},
{"moretrees:coconut_3", false},
{"moretrees:dates_f0", false},
{"moretrees:dates_f1", false},
{"moretrees:dates_f2", false},
{"moretrees:dates_f3", false},
{"moretrees:dates_f4", false},
{"moretrees:dates_fn", false},
{"moretrees:dates_m0", false},
{"moretrees:dates_n", false},
{"moretrees:fir_cone", false},
{"moretrees:pine_cone", false},
{"moretrees:spruce_cone", false},
-- Support growing_trees
{"growing_trees:trunk", true},
@ -161,6 +194,18 @@ local S = technic.getter
technic.register_power_tool("technic:chainsaw", chainsaw_max_charge)
-- This function checks if the specified node should be sawed
local function check_if_node_sawed(pos)
local node_name = minetest.get_node(pos).name
if timber_nodenames[node_name]
or (chainsaw_leaves and minetest.get_item_group(node_name, "leaves") ~= 0)
or minetest.get_item_group(node_name, "tree") ~= 0 then
return true
end
return false
end
-- Table for saving what was sawed down
local produced = {}
@ -237,7 +282,7 @@ local function recursive_dig(pos, remaining_charge)
end
local node = minetest.get_node(pos)
if not timber_nodenames[node.name] then
if not check_if_node_sawed(pos) then
return remaining_charge
end
@ -251,8 +296,10 @@ local function recursive_dig(pos, remaining_charge)
if remaining_charge < chainsaw_charge_per_node then
break
end
if timber_nodenames[minetest.get_node(npos).name] then
if check_if_node_sawed(npos) then
remaining_charge = recursive_dig(npos, remaining_charge)
else
minetest.check_for_falling(npos)
end
end
return remaining_charge

View File

@ -105,10 +105,10 @@ minetest.register_tool("titanium:sword", {
full_punch_interval = 1.0,
max_drop_level=1,
groupcaps={
fleshy={times={[1]=2.00, [2]=0.60, [3]=0.20}, uses=100, maxlevel=2},
snappy={times={[2]=0.60, [3]=0.20}, uses=100, maxlevel=1},
choppy={times={[3]=0.70}, uses=100, maxlevel=0}
}
snappy={times={[2]=0.60, [3]=0.20}, uses=1000, maxlevel=1},
choppy={times={[3]=0.70}, uses=1000, maxlevel=0}
},
damage_groups = {fleshy=6},
}
})

View File

@ -161,7 +161,8 @@ minetest.register_on_placenode(
if not def
or not def.palette
or def.after_place_node then
or def.after_place_node
or not placer then
return false
end
@ -192,6 +193,7 @@ minetest.register_on_placenode(
-- The complementary function: strip-off the color if the node being dug is still white/neutral
local function move_item(item, pos, inv, digger)
if not digger then return end
local creative = creative_mode or minetest.check_player_privs(digger, "creative")
if inv:room_for_item("main", item)
and (not creative or not inv:contains_item("main", item, true)) then
@ -203,7 +205,7 @@ local function move_item(item, pos, inv, digger)
end
function unifieddyes.on_dig(pos, node, digger)
if not digger then return end
local playername = digger:get_player_name()
if minetest.is_protected(pos, playername) then
minetest.record_protection_violation(pos, playername)

View File

@ -28,17 +28,17 @@ end
if mg_name ~= "v6" and mg_name ~= "singlenode" then
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_rainforest_litter"},
place_on = {"default:dirt"},
sidelen = 16,
noise_params = {
offset = 0.005,
scale = 0.002,
offset = 0.0005,
scale = 0.0002,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"savanna_shore"},
biomes = {"deciduous_forest_shore"},
height = 2,
y_min = -1,
y_max = 62,

Some files were not shown because too many files have changed in this diff Show More