Remove obsolete mods

master
Daniel Borchmann 2020-12-13 11:51:29 +01:00
parent 2f02a57bb6
commit 7cd98418b9
No known key found for this signature in database
GPG Key ID: 1C7071A75BB72D64
64 changed files with 6 additions and 1177 deletions

126
.gitmodules vendored
View File

@ -1,162 +1,36 @@
[submodule "Minetest-WorldEdit"]
path = Minetest-WorldEdit
url = https://github.com/Uberi/Minetest-WorldEdit
[submodule "wield3d"]
path = wield3d
url = https://github.com/stujones11/wield3d.git
[submodule "unifieddyes"]
path = unifieddyes
url = https://github.com/minetest-mods/unifieddyes
[submodule "unifiedbricks"]
path = unifiedbricks
url = https://github.com/minetest-mods/unifiedbricks
[submodule "unified_inventory"]
path = unified_inventory
url = https://github.com/minetest-mods/unified_inventory
[submodule "travelnet"]
path = travelnet
url = https://github.com/Sokomine/travelnet
[submodule "technic"]
path = technic
url = https://github.com/minetest-mods/technic
[submodule "signs_lib"]
path = signs_lib
url = https://github.com/minetest-mods/signs_lib
[submodule "sea"]
path = sea
url = https://bitbucket.org/minetest_gamers/minetest-mod-sea.git
[submodule "scaffolding"]
path = scaffolding
url = https://bitbucket.org/Infinatum/scaffolding.git
[submodule "quests"]
path = quests
url = https://github.com/TeTpaAka/quests
[submodule "plantlife_modpack"]
path = plantlife_modpack
url = https://github.com/minetest-mods/plantlife_modpack
[submodule "pipeworks"]
path = pipeworks
url = https://github.com/minetest-mods/pipeworks
[submodule "mymonths"]
path = mymonths
url = https://github.com/minetest-mods/mymonths
[submodule "moretrees"]
path = moretrees
url = https://github.com/minetest-mods/moretrees
[submodule "moreores"]
path = moreores
url = https://github.com/minetest-mods/moreores
[submodule "moreblocks"]
path = moreblocks
url = https://github.com/minetest-mods/moreblocks
[submodule "mobf_trader"]
path = mobf_trader
url = https://github.com/Sokomine/mobf_trader
[submodule "mg_villages"]
path = mg_villages
url = https://github.com/Sokomine/mg_villages
[submodule "mg"]
path = mg
url = https://github.com/minetest-mods/mg
[submodule "mesecons"]
path = mesecons
url = https://github.com/Jeija/minetest-mod-mesecons
[submodule "mapfix"]
path = mapfix
url = https://github.com/minetest-mods/mapfix
[submodule "lantern"]
path = lantern
url = https://github.com/exot/minetest-lantern
[submodule "item_tweaks"]
path = item_tweaks
url = https://github.com/minetest-technic/item_tweaks
[submodule "homedecor"]
path = homedecor
url = https://github.com/minetest-mods/homedecor_modpack
[submodule "handle_schematics"]
path = handle_schematics
url = https://github.com/Sokomine/handle_schematics
[submodule "gloopblocks"]
path = gloopblocks
url = https://github.com/minetest-mods/gloopblocks
[submodule "fun_caves"]
path = fun_caves
url = https://github.com/duane-r/fun_caves
[submodule "food"]
path = food
url = https://github.com/rubenwardy/food.git
[submodule "farming"]
path = farming
url = https://notabug.org/TenPlus1/Farming
[submodule "currency"]
path = currency
url = https://github.com/minetest-mods/currency
[submodule "cottages"]
path = cottages
url = https://github.com/Sokomine/cottages
[submodule "colormachine"]
path = colormachine
url = https://github.com/Sokomine/colormachine
[submodule "castle"]
path = castle
url = https://github.com/minetest-mods/castle
[submodule "biome_lib"]
path = biome_lib
url = https://github.com/minetest-mods/biome_lib
[submodule "airtanks"]
path = airtanks
url = https://github.com/minetest-mods/airtanks
[submodule "mobs_animal"]
path = mobs_animal
url = https://notabug.org/TenPlus1/mobs_animal
[submodule "mobs_redo"]
path = mobs_redo
url = https://notabug.org/TenPlus1/mobs_redo
[submodule "mydoors"]
path = mydoors
url = https://github.com/minetest-mods/mydoors
[submodule "bakedclay"]
path = bakedclay
url = https://notabug.org/TenPlus1/bakedclay
[submodule "darkage"]
path = darkage
url = https://github.com/adrido/darkage/
[submodule "display_modpack"]
path = display_modpack
url = https://github.com/pyrollo/display_modpack
[submodule "minetest-u_skinsdb"]
path = minetest-u_skinsdb
url = https://github.com/dmonty2/minetest-u_skinsdb
[submodule "sneak_glitch"]
path = sneak_glitch
url = https://github.com/SmallJoker/sneak_glitch
[submodule "wielded_light"]
path = wielded_light
url = https://github.com/bell07/minetest-wielded_light
[submodule "mob_horse"]
path = mob_horse
url = https://notabug.org/TenPlus1/mob_horse
[submodule "intllib"]
path = intllib
url = https://github.com/minetest-mods/intllib
[submodule "lucky_block"]
path = lucky_block
url = https://notabug.org/TenPlus1/lucky_block
[submodule "mobs_water"]
path = mobs_water
url = https://github.com/blert2112/mobs_water
[submodule "mobs_npc"]
path = mobs_npc
url = https://notabug.org/TenPlus1/mobs_npc
[submodule "playeranim"]
path = playeranim
url = https://github.com/minetest-mods/playeranim
[submodule "areas"]
path = areas
url = https://github.com/ShadowNinja/areas
[submodule "bonemeal"]
path = bonemeal
url = https://notabug.org/TenPlus1/bonemeal
[submodule "stairsplus"]
path = stairsplus
url = https://github.com/CasimirKaPazi/stairsplus

@ -1 +0,0 @@
Subproject commit f7256633c03f2bc60288271dbd17ef4ed31256ae

View File

@ -8,5 +8,11 @@ certain modes (like disabling particular features) are included as separate
patches in the `patches` directory. These can be applied with `quilt push -a`
Before updating mods, unapply the patches with `quilt pop -a`.
Some standard extension mods are not included here, because they are shipped
with Debian. Examples are `basic-materials`, `homedecor`, `infinite-chest`,
`intllib`, `meseconds`, `moreblocks`, `moreores`, `torches`,
`unified-inventory`, `unifieddyes`, and `worldedit`, among others.
For licenses and copyrights see the corresponding mods. All that remains is
licensed under an MIT License.

@ -1 +0,0 @@
Subproject commit 868c3a78aee78c2badfd16a273e7d231c7bd6032

1
areas

@ -1 +0,0 @@
Subproject commit 289d0e623c1d383f26cbc57c94ce9a8a184bf525

1
castle

@ -1 +0,0 @@
Subproject commit 87e9fa250614377d69d40ae0adaea2a7348a7763

View File

@ -1,43 +0,0 @@
Circular saw for easy crafting of stairplus-nodes (includes glue for recycling) by Sokomine
Depends on stairsplus (after all what it offers are stairsplus-nodes!)
Many thanks to aximx51v for creating the model and textures for the circular saw and to RealBadAngel to
allow me to provide a copy of his screwdriver for those people who do not have his technic mod installed!
Version: 1.1
Craft: Place eight cobblestone stairs in the way you would place things for a furnace or normal chest.
For the shared locked version, place a circular saw and a lock next to each other in the crafting grid.
Screwdriver (if you do not have technic installed): Craft above each other: steel ingot, steel ingot, stick.
Changes:
25.01.13 Added textures and nodebox-model created by aximx51v.
Added a copy of the screwdriver from RealBadAngels technic mod for those who do not have
technic installed and support for the stairplus nodes (marble, marblebrick, granite, obsidian)
from the technic mod.
Usage: Place the material (full nodes, i.e. sandstone, cobble, ..) in the input field of the circular saw.
Take as many of the offered stairplus-nodes out as you want (works only as long as there is material).
Any surplus material is placed automaticly into the microblock slot. That means: When you craft a stair
(which uses 6 microblocks), 1 block is substracted from the input slot (=worth 8 microblocks) and 2
microblocks are inserted into the "Rest" field.
Any no longer wanted stairplus-nodes can be dropped into the "Recycle" field. Their material will be
glued back together.
When you take out or use the last full block of the input slot, any not yet taken microblocks will
be lost.
The "Max" input field determines how large the stack of each stairplus-stair typ will be. Set this to
1 if you want to draw out only single stairs - or 99 if you want full stacks (and did provide enough
material).
Circular saws can only be operated by their owner. The shared locked version allows to set additional
users.
The screwdriver allows you to change the orientation of e.g. stairs and rotate them according to your needs.
It comes from the technic mod from RealBadAngel. See http://forum.minetest.net/viewtopic.php?id=2538

View File

@ -1,28 +0,0 @@
Circular saw for easy crafting of stairplus-nodes (includes glue for recycling) by Sokomine
Depends on stairsplus (after all what it offers are stairsplus-nodes!)
Craft: Place eight cobblestone stairs in the way you would place things for a furnace or normal chest.
For the shared locked version, place a circular saw and a lock next to each other in the crafting grid.
Usage: Place the material (full nodes, i.e. sandstone, cobble, ..) in the input field of the circular saw.
Take as many of the offered stairplus-nodes out as you want (works only as long as there is material).
Any surplus material is placed automaticly into the microblock slot. That means: When you craft a stair
(which uses 6 microblocks), 1 block is substracted from the input slot (=worth 8 microblocks) and 2
microblocks are inserted into the "Rest" field.
Any no longer wanted stairplus-nodes can be dropped into the "Recycle" field. Their material will be
glued back together.
When you take out or use the last full block of the input slot, any not yet taken microblocks will
be lost.
The "Max" input field determines how large the stack of each stairplus-stair typ will be. Set this to
1 if you want to draw out only single stairs - or 99 if you want full stacks (and did provide enough
material).
Circular saws can only be operated by their owner. The shared locked version allows to set additional
users.

View File

@ -1,2 +0,0 @@
default
stairsplus

View File

@ -1,558 +0,0 @@
--[[
Circular saw for easy crafting of stairplus-nodes (includes glue for recycling) by Sokomine
Copyright (C) 2013 Sokomine
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
--]]
-- Version 0.2
-- Changelog:
-- 25.09.13 Fixed a bug that led to item multiplication
circularsaw = {};
-- TODO: make it usable for non-stairplus: stairs
circularsaw.known_stairs = {}
-- register known stairsplus:-stairs
for i,v in ipairs( {"wood","stone","cobble","mossycobble","brick","sandstone","steelblock","desert_stone","glass"} ) do
table.insert( circularsaw.known_stairs, "default:"..v );
end
if( minetest.get_modpath("technic") ~= nil ) then
-- technic has its own stairs
for i,v in ipairs( {"concrete", "marble", "marble_bricks", "granite", "obsidian"} ) do
table.insert( circularsaw.known_stairs, "technic:"..v );
end
else
-- add a copy of the screwdriver from RealBadAngels technic mod
dofile(minetest.get_modpath("circularsaw").."/technic_screwdriver.lua");
end
-- how many microblocks does this shape at the output inventory cost?
circularsaw.cost_in_microblocks = { 6, 4, 7, 2, 1, 3, 3,
6, 4, 7, 2, 1, 3, 3,
6, 2, 7, 2, 6, 3, 0,
4, 2, 7, 0, 6, 3, 0 };
-- anz: amount of input material in microblocks
circularsaw.get_stair_output_inv = function( modname, material, anz, max )
local max_offered = 99;
if( not( max ) or (max == nil) or tonumber(max)>99 or tonumber(max)<1) then
max_offered = 99;
else
max_offered = tonumber( max );
end
-- if there is nothing inside display empty inventory
if( anz < 1 ) then
return { "", "", "", "", "", "", "",
"", "", "", "", "", "", "",
"", "", "", "", "", "", "",
"", "", "", "", "", "", ""};
end
return {
modname.. ":stair_" .. material .. " " ..math.min( math.floor( anz/6 ), max_offered ),
modname.. ":slab_" .. material .. " " ..math.min( math.floor( anz/4 ), max_offered ),
modname.. ":stair_" .. material .. "_inner " ..math.min( math.floor( anz/7 ), max_offered ),
modname.. ":panel_" .. material .. "_bottom " ..math.min( math.floor( anz/2 ), max_offered ),
modname.. ":micro_" .. material .. "_bottom " ..math.min( math.floor( anz/1 ), max_offered ),
modname.. ":stair_" .. material .. "_half " ..math.min( math.floor( anz/3 ), max_offered ),
modname.. ":stair_" .. material .. "_wall_half " ..math.min( math.floor( anz/3 ), max_offered ),
modname.. ":stair_" .. material .. "_inverted " ..math.min( math.floor( anz/6 ), max_offered ),
modname.. ":slab_" .. material .. "_inverted " ..math.min( math.floor( anz/4 ), max_offered ),
modname.. ":stair_" .. material .. "_inner_inverted " ..math.min( math.floor( anz/7 ), max_offered ),
modname.. ":panel_" .. material .. "_top " ..math.min( math.floor( anz/2 ), max_offered ),
modname.. ":micro_" .. material .. "_top " ..math.min( math.floor( anz/1 ), max_offered ),
modname.. ":stair_" .. material .. "_half_inverted " ..math.min( math.floor( anz/3 ), max_offered ),
modname.. ":stair_" .. material .. "_wall_half_inverted " ..math.min( math.floor( anz/3 ), max_offered ),
modname.. ":stair_" .. material .. "_wall " ..math.min( math.floor( anz/6 ), max_offered ),
modname.. ":slab_" .. material .. "_quarter " ..math.min( math.floor( anz/2 ), max_offered ),
modname.. ":stair_" .. material .. "_outer " ..math.min( math.floor( anz/7 ), max_offered ),
modname.. ":panel_" .. material .. "_vertical " ..math.min( math.floor( anz/2 ), max_offered ),
modname.. ":slab_" .. material .. "_three_quarter " ..math.min( math.floor( anz/6 ), max_offered ),
modname.. ":stair_" .. material .. "_right_half " ..math.min( math.floor( anz/3 ), max_offered ),
"",
modname.. ":slab_" .. material .. "_wall " ..math.min( math.floor( anz/4 ), max_offered ),
modname.. ":slab_" .. material .. "_quarter_inverted " ..math.min( math.floor( anz/2 ), max_offered ),
modname.. ":stair_" .. material .. "_outer_inverted " ..math.min( math.floor( anz/7 ), max_offered ),
"",
modname.. ":slab_" .. material .. "_three_quarter_inverted "..math.min( math.floor( anz/6 ), max_offered ),
modname.. ":stair_" .. material .. "_right_half_inverted " ..math.min( math.floor( anz/3 ), max_offered ),
"",
}
end
-- reset empty circularsaw after last full block has been taken out (or the circularsaw has been placed the first tiem); note: max_offered is not reset
circularsaw.reset_circularsaw = function( pos )
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory();
inv:set_list("input", { "" } );
inv:set_list("micro", { "" } );
inv:set_list("output", circularsaw.get_stair_output_inv( "", "", 0, meta:get_string("max_offered")));
meta:set_int("anz", 0 );
meta:set_string("infotext", "Circular saw, empty (owned by "..( meta:get_string("owner") or "" )..")");
end
-- player has taken something out of the box or placed something inside; that amounts to count microblocks
circularsaw.update_inventory = function( pos, amount )
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory();
local akt = meta:get_int( "anz" );
-- the material is receicled automaticly
inv:set_list("recycle", { "" } );
if( akt + amount < 1 ) then -- if the last block is taken out
circularsaw.reset_circularsaw( pos );
return;
end
local stack = inv:get_stack( "input", 1 );
-- at least one "normal" block is necessary to see what kind of stairs are requested
if( stack:is_empty()) then
-- any microblocks not taken out yet are now lost (covers material loss in the machine)
circularsaw.reset_circularsaw( pos );
return;
end
local node_name = stack:get_name();
local liste = node_name:split( ":");
local modname = liste[1];
local material = liste[2];
-- display as many full blocks as possible
inv:set_list("input", { modname.. ":" .. material .. " "..math.floor( (akt + amount) / 8 ) });
-- the stairnodes themshelves come frome stairsplus - regardless of their original full blocks
modname = "stairsplus";
--print("circularsaw set to "..modname.." : "..material.." with "..(akt+amount).." microblocks.");
-- 0-7 microblocs may remain as a rest
inv:set_list("micro", { modname.. ":micro_" .. material .. "_bottom ".. ((akt + amount) % 8 ) });
-- display
inv:set_list("output", circularsaw.get_stair_output_inv( modname, material, (akt + amount), meta:get_string("max_offered")));
-- store how many microblocks are available
meta:set_int("anz", (akt+amount) );
meta:set_string("infotext", "Circular saw, working with "..material.." (owned by "..( meta:get_string("owner") or "" )..")");
end
-- the amount of items offered per shape can be configured
circularsaw.on_receive_fields = function(pos, formname, fields, sender)
local meta = minetest.env:get_meta(pos);
if( fields.max_offered and tonumber( fields.max_offered) > 0 and tonumber(fields.max_offered) < 99 ) then
meta:set_string( "max_offered", fields.max_offered );
circularsaw.update_inventory( pos, 0 ); -- update to show the correct number of items
end
end
-- moving the inventory of the circularsaw around is not allowed because it is a fictional inventory
circularsaw.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
-- moving inventory around would be rather immpractical and make things more difficult to calculate
return 0;
end
-- only input- and recycle-slot are intended as input slots
circularsaw.allow_metadata_inventory_put = function(pos, listname, index, stack, player)
-- the player is not allowed to put something in there
if( listname == "output" or listname == "micro" ) then
return 0;
end
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory();
-- only alow those items that are offered in the output inventory to be recycled
if( listname == "recycle" and not( inv:contains_item("output", stack:get_name() ))) then
return 0;
end
-- only accept certain blocks as input which are known to be craftable into stairs
if( listname == "input" ) then
if( not( inv:is_empty("input"))) then
local old_stack = inv:get_stack("input", 1 );
if( old_stack:get_name() ~= stack:get_name() ) then
return 0;
end
end
for i,v in ipairs( circularsaw.known_stairs ) do
if( circularsaw.known_stairs[ i ] == stack:get_name()) then
return stack:get_count();
end
end
return 0;
end
return stack:get_count()
end
-- taking is allowed from all slots (even the internal microblock slot)
-- putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material
circularsaw.on_metadata_inventory_put = function(pos, listname, index, stack, player)
-- we need to find out if the circularsaw is already set to a specific material or not
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory();
-- putting something into the input slot is only possible if that had been empty before or did contain something of the same material
if( listname=="input" ) then
-- each new block is worth 8 microblocks
circularsaw.update_inventory( pos, 8 * stack:get_count() );
elseif( listname=="recycle" ) then
-- lets look which shape this represents
for i,v in ipairs( inv:get_list( "output" ) ) do
if( v:get_name() == stack:get_name() ) then
local value = circularsaw.cost_in_microblocks[ i ] * stack:get_count();
--print("\nRecycling "..( v:get_name() ).." into "..value.." microblocks.");
-- we get value microblocks back
circularsaw.update_inventory( pos, value);
end
end
end
end
-- the player takes something
circularsaw.on_metadata_inventory_take = function(pos, listname, index, stack, player)
-- if it is one of the offered stairs: find out how many microblocks have to be substracted
if( listname=="output" ) then
-- we do know how much each block at each position costs
local cost = circularsaw.cost_in_microblocks[ index ] * stack:get_count();
circularsaw.update_inventory( pos, -1 * cost );
elseif( listname=="mikro" ) then
-- each microblock costs 1 microblock
circularsaw.update_inventory( pos, -1 * 1 * stack:get_count());
elseif( listname=="input" ) then
-- each normal (=full) block taken costs 8 microblocks
circularsaw.update_inventory( pos, -1 * 8 * stack:get_count() );
end
-- the recycle field plays no role here since it is processed immediately
end
circularsaw.on_construct_init = function( pos, formspec )
local meta = minetest.env:get_meta(pos)
meta:set_string("formspec", formspec );
meta:set_int( "anz", 0 ); -- no microblocks inside yet
meta:set_string( "max_offered", 10 ); -- how many items of this kind are offered by default?
meta:set_string( "infotext", "Circular saw, empty")
local inv = meta:get_inventory()
inv:set_size("input", 1) -- input slot for full blocks of material x
inv:set_size("micro", 1) -- storage for 1-7 surplus microblocks
inv:set_size("recycle", 1) -- surplus partial blocks can be placed here
inv:set_size("output", 28) -- 4x7 versions of stair-parts of material x
circularsaw.reset_circularsaw( pos );
end
circularsaw.can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("input") then
return false
elseif not inv:is_empty("micro") then
return false
elseif not inv:is_empty("recycle") then
return false
end
-- can be digged by anyone when empty (not only by the owner)
return true
end,
minetest.register_node("circularsaw:circularsaw", {
description = "circular saw",
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, --leg
{0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, --leg
{-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, --leg
{0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, --leg
{-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, --table top
{-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, --saw blade (top)
{-0.01, 0.375, -0.1875, 0.01, 0.4375, 0.1875}, --saw blade (bottom)
{-0.25, -0.0625, -0.25, 0.25, 0.25, 0.25}, --motor case
},
},
selection_box = {
type = "regular",
},
inventory_image = "circularsaw.png",
tiles = {"circularsaw_top.png", "circularsaw_bottom.png", "circularsaw_side.png"},
paramtype = "light",
is_ground_content = true,
paramtype2 = "facedir",
groups = {cracky=2},
legacy_facedir_simple = true,
on_construct = function(pos)
return circularsaw.on_construct_init( pos,
"size[10,9]"..
"list[current_name;input;0,0;1,1;]"..
"label[0,0;Input material]"..
"list[current_name;micro;0,1;1,1;]"..
"label[0,1;Rest/microblocks]"..
"field[0.3,2.5;1,1;max_offered;Max:;${max_offered}]"..
"button[1,2;1,1;Set;Set]"..
"list[current_name;recycle;0,3;1,1;]"..
"label[0,3;Recycle output]"..
"list[current_name;output;2,0;7,4;]"..
"list[current_player;main;1,5;8,4;]");
end,
can_dig = function(pos,player)
return circularsaw.can_dig( pos, player );
end,
-- set owner of this circularsaw
after_place_node = function(pos, placer)
local meta = minetest.env:get_meta(pos);
meta:set_string( "owner", ( placer:get_player_name() or "" ));
meta:set_string( "infotext", "Circular saw, empty (owned by "..( placer:get_player_name() or "" )..")");
end,
-- the amount of items offered per shape can be configured
on_receive_fields = function(pos, formname, fields, sender)
return circularsaw.on_receive_fields( pos, formname, fields, sender );
end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
return circularsaw.allow_metadata_inventory_move( pos, from_list, from_index, to_list, to_index, count, player );
end,
-- only input- and recycle-slot are intended as input slots
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
return circularsaw.allow_metadata_inventory_put( pos, listname, index, stack, player );
end,
-- taking is allowed from all slots (even the internal microblock slot); moving is forbidden
-- putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material
on_metadata_inventory_put = function(pos, listname, index, stack, player)
return circularsaw.on_metadata_inventory_put( pos, listname, index, stack, player );
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
return circularsaw.on_metadata_inventory_take( pos, listname, index, stack, player );
end
})
local STAIR = 'stairsplus:stair_cobble';
-- crafting: 8 cobble stairs arranged like cobble/wood for furnace/chest
minetest.register_craft({
output = 'circularsaw:circularsaw',
recipe = {
{ STAIR, STAIR, STAIR },
{ STAIR, "", STAIR },
{ STAIR, STAIR, STAIR },
}
})
-- and now the same, but as a shared locked object
if( minetest.get_modpath("locks") ~= nil ) then
minetest.register_craft({
output = 'circularsaw:circularsaw_shared',
recipe = {
{ "circularsaw:circularsaw", "locks:lock" },
}
});
minetest.register_node("circularsaw:circularsaw_shared", {
description = "shared locked circular saw",
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, --leg
{0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, --leg
{-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, --leg
{0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, --leg
{-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, --table top
{-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, --saw blade (top)
{-0.01, 0.375, -0.1875, 0.01, 0.4375, 0.1875}, --saw blade (bottom)
{-0.25, -0.0625, -0.25, 0.25, 0.25, 0.25}, --motor case
},
},
selection_box = {
type = "regular",
},
inventory_image = "circularsaw.png",
tiles = {"circularsaw_top.png", "circularsaw_bottom.png", "circularsaw_side.png"},
paramtype = "light",
is_ground_content = true,
paramtype2 = "facedir",
groups = {cracky=2},
legacy_facedir_simple = true,
on_construct = function(pos)
locks:lock_init( pos,
"size[10,9]"..
"list[current_name;input;0,0;1,1;]"..
"label[0,0;Input material]"..
"list[current_name;micro;0,1;1,1;]"..
"label[0,1;Rest/microblocks]"..
"field[0.3,2.5;1,1;max_offered;Max:;${max_offered}]"..
"button[1,2;1,1;Set;Set]"..
"list[current_name;recycle;0,3;1,1;]"..
"label[0,3;Recycle output]"..
"list[current_name;output;2,0;7,4;]"..
"list[current_player;main;1,5;8,4;]"..
"field[1.3,4.6;6,0.7;locks_sent_lock_command;Locked saw. Type /help for help:;]"..
"button_exit[7.3,4.2;1.7,0.7;locks_sent_input;Proceed]" );
local meta = minetest.env:get_meta(pos);
return circularsaw.on_construct_init( pos, meta:get_string( "formspec" ));
end,
can_dig = function(pos,player)
-- instead of empty/not empty we go by privs (diglock priv)
if( not(locks:lock_allow_dig( pos, player ))) then
return false;
end
return circularsaw.can_dig( pos, player );
end,
-- set owner of this circularsaw
after_place_node = function(pos, placer)
locks:lock_set_owner( pos, placer, "Shared locked circular saw, empty" );
end,
-- the amount of items offered per shape can be configured
on_receive_fields = function(pos, formname, fields, sender)
-- if the user already has the right to use this and did input text
if( fields.max_offered and not(fields.locks_sent_lock_command) and locks:lock_allow_use( pos, sender )) then
circularsaw.on_receive_fields( pos, formname, fields, sender );
-- a command for the lock?
else
locks:lock_handle_input( pos, formname, fields, sender );
end
end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return circularsaw.allow_metadata_inventory_move( pos, from_list, from_index, to_list, to_index, count, player );
end,
-- only input- and recycle-slot are intended as input slots
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return circularsaw.allow_metadata_inventory_put( pos, listname, index, stack, player );
end,
-- taking is allowed from all slots (even the internal microblock slot); moving is forbidden
allow_metadata_inventory_take = function( pos, listname, index, stack, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return stack:get_count();
end,
-- putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material
on_metadata_inventory_put = function(pos, listname, index, stack, player)
return circularsaw.on_metadata_inventory_put( pos, listname, index, stack, player );
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
return circularsaw.on_metadata_inventory_take( pos, listname, index, stack, player );
end
})
end

View File

@ -1,53 +0,0 @@
-- Author: RealBadAngel
-- Modifications done by Sokomine:
-- - renamed tool modname and texture prefix so that it can be used inside the circularsaw-mod
-- - changed crafting receipe to use 2x steel_ingot instead of 1x stainless_steel_ingot (which is only available in technic)
minetest.register_tool("circularsaw:screwdriver", {
description = "Screwdriver",
inventory_image = "circularsaw_technic_screwdriver.png",
on_use = function(itemstack, user, pointed_thing)
-- Must be pointing to facedir applicable node
if pointed_thing.type~="node" then return end
local pos=minetest.get_pointed_thing_position(pointed_thing,above)
local node=minetest.env:get_node(pos)
local node_name=node.name
if minetest.registered_nodes[node_name].paramtype2 == "facedir" or minetest.registered_nodes[node_name].paramtype2 == "wallmounted" then
if node.param2==nil then return end
-- Get ready to set the param2
local n = node.param2
if minetest.registered_nodes[node_name].paramtype2 == "facedir" then
n = n+1
if n == 4 then n = 0 end
else
n = n+1
if n == 6 then n = 0 end
end
-- hacky_swap_node, unforunatly.
local meta = minetest.env:get_meta(pos)
local meta0 = meta:to_table()
node.param2 = n
minetest.env:set_node(pos,node)
meta = minetest.env:get_meta(pos)
meta:from_table(meta0)
local item=itemstack:to_table()
local item_wear=tonumber((item["wear"]))
item_wear=item_wear+819
if item_wear>65535 then itemstack:clear() return itemstack end
item["wear"]=tostring(item_wear)
itemstack:replace(item)
return itemstack
else
return itemstack
end
end,
})
minetest.register_craft({
output = "circularsaw:screwdriver",
recipe = {
{"default:steel_ingot"},
{"default:steel_ingot"},
{"default:stick"}
}
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1001 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

@ -1 +0,0 @@
Subproject commit 890a2014564bf4c1f6b6e1d0458b546f94235269

@ -1 +0,0 @@
Subproject commit 739f3a7ac4d221590383d5d8cd97f821c7d61b87

@ -1 +0,0 @@
Subproject commit 5a97f4610db8b38ad0fff9ffba1969f55ac830a5

@ -1 +0,0 @@
Subproject commit 5586b9d1c4598903a08f9b633fdc9543a15f23ce

@ -1 +0,0 @@
Subproject commit fc585287c02b6c671676538e65e712a4496f8849

@ -1 +0,0 @@
Subproject commit 50ec205b7cf4324c6ae58228afbf5540536594cd

@ -1 +0,0 @@
Subproject commit fcb4c181613ca51600ef0bc21e012cced5ac31c5

@ -1 +0,0 @@
Subproject commit 9e69a6db739622d4eccb103dfd8403898301041e

@ -1 +0,0 @@
Subproject commit 9192771dcc826c23c6f34f1c3c717e16e631dc12

@ -1 +0,0 @@
Subproject commit 2c8ce923ebbf26816ff406d8dc77469c80806589

@ -1 +0,0 @@
Subproject commit 297e1d08191d6a60305f6dae52f1e49f3d4bc6b1

@ -1 +0,0 @@
Subproject commit f6c4b9d693a8c5a6bd506f20508217727f2aee9b

1
mapfix

@ -1 +0,0 @@
Subproject commit 4d3f6505b54b7047823a69d539aa6706b51d2dfa

@ -1 +0,0 @@
Subproject commit 028c290cd70591383682c244a95a955fd3cba083

1
mg

@ -1 +0,0 @@
Subproject commit 03674033c6c45d1241ee181e52a512e9011d5774

@ -1 +0,0 @@
Subproject commit 395ca252ae570cb7c80ab0bdf98479291dd86a32

@ -1 +0,0 @@
Subproject commit cb55c339a53a532e71670bced7a2ba645c0266b0

@ -1 +0,0 @@
Subproject commit b6f81c4abaaea39ae0f7e73b7feca11a848f05a1

@ -1 +0,0 @@
Subproject commit 275b596016734f2f98e88eaf824c08655acef69c

@ -1 +0,0 @@
Subproject commit 6bf6e8fbd86764f5bb3a45a7ce0f17681d9c76da

@ -1 +0,0 @@
Subproject commit 04474de70c333210e038368c4795363b8bb57282

@ -1 +0,0 @@
Subproject commit 5fc5fce74e18856ce898c46b75ecb07fca914784

@ -1 +0,0 @@
Subproject commit 2316595ab9331c20abe5c7cd4dffef22f4671227

@ -1 +0,0 @@
Subproject commit eef3b5f9ae92d4423a71a0e73ad637c0fd56fbd5

@ -1 +0,0 @@
Subproject commit 5ca8d56bcfe649822e600cb6fdc997802824ca67

View File

@ -1,59 +0,0 @@
--- a/mg_villages/config.lua
+++ b/mg_villages/config.lua
@@ -2,11 +2,11 @@
-- configuration values which you can adjust according to your liking
-----------------------------------------------------------------------------
-- set to false if you do not want to have any villages spawning
-mg_villages.ENABLE_VILLAGES = true;
+mg_villages.ENABLE_VILLAGES = false;
-- generate one random building for each mg_villages.INVERSE_HOUSE_DENSITY th mapchunk;
-- set to 0 in order to disable spawning of these lone buildings outside villages
-mg_villages.INVERSE_HOUSE_DENSITY = 4;
+mg_villages.INVERSE_HOUSE_DENSITY = 0;
-- cover some villages with artificial snow; probability: 1/mg_villages.artificial_snow_probability
mg_villages.artificial_snow_probability = 10;
@@ -27,7 +27,7 @@ mg_villages.VILLAGE_DETECT_RANGE = 400;
mg_villages.REQUIRE_PRIV_FOR_TELEPORT = false;
-- if set to true, players cannot modify spawned villages without buying the house from the village first
-mg_villages.ENABLE_PROTECTION = true;
+mg_villages.ENABLE_PROTECTION = false;
-- the first village - the one the player spawns in - will be of this type
mg_villages.FIRST_VILLAGE_TYPE = 'medieval';
@@ -79,10 +79,10 @@ mg_villages.sapling_probability = {};
mg_villages.sapling_probability[ minetest.get_content_id( 'default:sapling' ) ] = 25; -- suitable for a relatively dense forrest of normal trees
mg_villages.sapling_probability[ minetest.get_content_id( 'default:junglesapling' ) ] = 40; -- jungletrees are a bit bigger and need more space
-mg_villages.sapling_probability[ minetest.get_content_id( 'default:pinesapling' ) ] = 30;
+mg_villages.sapling_probability[ minetest.get_content_id( 'default:pinesapling' ) ] = 30;
if( minetest.get_modpath( 'mg' )) then
- mg_villages.sapling_probability[ minetest.get_content_id( 'mg:savannasapling' ) ] = 30;
- mg_villages.sapling_probability[ minetest.get_content_id( 'mg:pinesapling' ) ] = 35;
+ mg_villages.sapling_probability[ minetest.get_content_id( 'mg:savannasapling' ) ] = 30;
+ mg_villages.sapling_probability[ minetest.get_content_id( 'mg:pinesapling' ) ] = 35;
end
mg_villages.moretrees_treelist = nil;
if( minetest.get_modpath( 'moretrees' )) then
@@ -119,7 +119,7 @@ end
-----------------------------------------------------------------------------
-- how much does the player have to pay for a plot with a building?
mg_villages.prices = {
- empty = "default:copper_ingot 1", -- plot to build on
+ empty = "default:copper_ingot 1", -- plot to build on
-- building types which usually have inhabitants (and thus allow the player
-- who bought the building to modifiy the entire village area minus other
--- a/mg_villages/init.lua
+++ b/mg_villages/init.lua
@@ -82,7 +82,7 @@ dofile(mg_villages.modpath.."/terrain_bl
-- also takes care of spawning the player
dofile(mg_villages.modpath.."/mapgen.lua")
-dofile(mg_villages.modpath.."/spawn_player.lua")
+--dofile(mg_villages.modpath.."/spawn_player.lua")
-- reconstruct the connection of the roads inside a village
dofile(mg_villages.modpath.."/roads.lua")

View File

@ -1,28 +0,0 @@
--- /dev/null 2017-10-28 14:20:19.895444430 +0200
+++ a/mymonths/settings.txt 2017-02-05 10:16:24.810761697 +0100
@@ -0,0 +1,25 @@
+--Turn damage on or off. This will make storms and hail cause damage
+
+mymonths.damage = false
+
+------------------------------------------------------------------------
+--You can turn weather off
+
+mymonths.use_weather = false
+
+------------------------------------------------------------------------
+--Leaves change color in the fall.
+
+mymonths.leaves = true
+
+------------------------------------------------------------------------
+--Have snow accumulate on the ground
+
+mymonths.snow_on_ground = false
+
+------------------------------------------------------------------------
+--Puddles appear when raining
+
+mymonths.use_puddles = false
+
+mymonths.flowers_die = false

View File

@ -1,107 +0,0 @@
--- a/fun_caves/init.lua
+++ b/fun_caves/init.lua
@@ -288,7 +288,7 @@ else
fun_caves.construct_nodes = {}
function fun_caves.add_construct(node_name)
- fun_caves.construct_nodes[node[node_name]] = true
+ fun_caves.construct_nodes[fun_caves.node[node_name]] = true
end
dofile(fun_caves.path .. "/mapgen.lua")
@@ -313,49 +313,49 @@ end
--end)
-do
- local ignore_ore = {}
- ignore_ore['default:clay'] = true
- ignore_ore['default:gravel'] = true
- ignore_ore['default:sand'] = true
- ignore_ore['default:silver_sand'] = true
- ignore_ore['default:dirt'] = true
-
- local new_reg = {}
- for n, d in pairs(minetest.registered_ores) do
- for non = 1, 1 do
- if ignore_ore[d.ore] then
- break
- end
-
- if type(d.wherein) == 'table' then
- local stone
- for _, n in pairs(d.wherein) do
- if n == 'default:stone' then
- stone = true
- break
- end
- end
- if not stone then
- break
- end
- elseif d.wherein ~= 'default:stone' then
- break
- end
-
- local def = table.copy(d)
- def.wherein = {'fun_caves:basalt', 'fun_caves:granite', 'fun_caves:stone_with_moss', 'fun_caves:stone_with_algae', 'fun_caves:stone_with_lichen', 'fun_caves:stone_with_salt'}
- new_reg[#new_reg+1] = def
- local hot_def = table.copy(d)
- hot_def.wherein = 'fun_caves:hot_cobble'
- hot_def.clust_scarcity = math.floor(hot_def.clust_scarcity / 2)
- new_reg[#new_reg+1] = hot_def
- end
- end
-
- for _, def in ipairs(new_reg) do
- minetest.register_ore(def)
- --print('Fun Caves: registering '..def.ore..' in special stones')
- --print(dump(def))
- end
-end
+-- do
+-- local ignore_ore = {}
+-- ignore_ore['default:clay'] = true
+-- ignore_ore['default:gravel'] = true
+-- ignore_ore['default:sand'] = true
+-- ignore_ore['default:silver_sand'] = true
+-- ignore_ore['default:dirt'] = true
+--
+-- local new_reg = {}
+-- for n, d in pairs(minetest.registered_ores) do
+-- for non = 1, 1 do
+-- if ignore_ore[d.ore] then
+-- break
+-- end
+--
+-- if type(d.wherein) == 'table' then
+-- local stone
+-- for _, n in pairs(d.wherein) do
+-- if n == 'default:stone' then
+-- stone = true
+-- break
+-- end
+-- end
+-- if not stone then
+-- break
+-- end
+-- elseif d.wherein ~= 'default:stone' then
+-- break
+-- end
+--
+-- local def = table.copy(d)
+-- def.wherein = {'fun_caves:basalt', 'fun_caves:granite', 'fun_caves:stone_with_moss', 'fun_caves:stone_with_algae', 'fun_caves:stone_with_lichen', 'fun_caves:stone_with_salt'}
+-- new_reg[#new_reg+1] = def
+-- local hot_def = table.copy(d)
+-- hot_def.wherein = 'fun_caves:hot_cobble'
+-- hot_def.clust_scarcity = 0
+-- new_reg[#new_reg+1] = hot_def
+-- end
+-- end
+--
+-- for _, def in ipairs(new_reg) do
+-- minetest.register_ore(def)
+-- --print('Fun Caves: registering '..def.ore..' in special stones')
+-- --print(dump(def))
+-- end
+-- end

View File

@ -1,17 +0,0 @@
--- a/fun_caves/init.lua
+++ b/fun_caves/init.lua
@@ -246,10 +246,10 @@ fun_caves.time_y_loop = 0
duanes_collision_avoidance = false
-minetest.register_on_mapgen_init(function(mgparams)
- --minetest.set_mapgen_setting('mg_flags', "nocaves, nodungeons", true)
- minetest.set_mapgen_setting('mg_flags', "nocaves", true)
-end)
+-- minetest.register_on_mapgen_init(function(mgparams)
+-- --minetest.set_mapgen_setting('mg_flags', "nocaves, nodungeons", true)
+-- minetest.set_mapgen_setting('mg_flags', "nocaves", true)
+-- end)
--dofile(fun_caves.path .. "/abms.lua")

View File

@ -1,11 +0,0 @@
--- a/mobf_trader/init.lua
+++ b/mobf_trader/init.lua
@@ -408,7 +408,7 @@ mob_pickup.register_mob_for_pickup( 'mob
dofile(minetest.get_modpath("mobf_trader").."/trader_misc.lua"); -- trades a mixed assortment
dofile(minetest.get_modpath("mobf_trader").."/trader_clay.lua"); -- no more destroying beaches while digging for clay and sand!
dofile(minetest.get_modpath("mobf_trader").."/trader_moretrees.lua"); -- get wood from moretrees without chopping down trees
-dofile(minetest.get_modpath("mobf_trader").."/trader_animals.lua"); -- buy animals - no need to catch them with a lasso
+--dofile(minetest.get_modpath("mobf_trader").."/trader_animals.lua"); -- buy animals - no need to catch them with a lasso
dofile(minetest.get_modpath("mobf_trader").."/trader_farming.lua"); -- they sell seeds and fruits - good against hunger! also contains special seeds trader
dofile(minetest.get_modpath("mobf_trader").."/trader_flowers.lua"); -- flowers and other plants from default (cactus, papyrus, ..)
dofile(minetest.get_modpath("mobf_trader").."/trader_ores.lua"); -- sells ores for tree/wood and food (both needed for further mining)

View File

@ -1,13 +0,0 @@
--- a/mobs_water/mobs_turtles/init.lua
+++ b/mobs_water/mobs_turtles/init.lua
@@ -51,9 +51,9 @@ if mobs.mod and mobs.mod == "redo" then
follow = "farming:carrot",
on_rightclick = function(self, clicker)
self.state = ""
- set_velocity(self, 0)
+ self.object:set_velocity({x = 0, y = 0, z = 0})
self.object:set_animation({x=self.animation.hide_start, y=self.animation.hide_end}, self.animation.speed_normal, 0)
minetest.after(5, function()
self.state = "stand"
end)
mobs:capture_mob(self, clicker, 0, 80, 100, true, nil)

View File

@ -1,6 +0,0 @@
0001_mg-villages-customization
0002_create-mymonths-settings-file
0003_fix-funcaves
0004_disable-funcaves-cave-generation
0005_mobf-trader-no-animals
0006_fix-turtle-rightclick

@ -1 +0,0 @@
Subproject commit cb8a4f3cecd7b8b9ade4b82314eb725116e424e2

@ -1 +0,0 @@
Subproject commit 560af7eae58f9a12a95f3d2ff31c893cb106d633

1
quests

@ -1 +0,0 @@
Subproject commit f696cb1a70797c298f3301bc40c0887532d6e8cd

1
sea

@ -1 +0,0 @@
Subproject commit 58e245a94fedfdaf41b09552408b8533fe32d4ab

@ -1 +0,0 @@
Subproject commit a2f7f62bf2aeb661cc6112b6208ca976b5bc6dce

@ -1 +0,0 @@
Subproject commit 3c230732c78fc4a8e203356ca5ddf66241506fdf

@ -1 +0,0 @@
Subproject commit 311e1f03781101a79ce44a842b22778435d1bcb6

@ -1 +0,0 @@
Subproject commit 92dd0f4af891043f8554f730964f63db8b5e3dc8

View File

@ -1,4 +0,0 @@
Special definitions for TomTopia
================================
- craft-cycle for clay, inspired by LinuxGaming

View File

@ -1 +0,0 @@
default

View File

@ -1,79 +0,0 @@
minetest.log("action", "[TomTopia] Loading …")
-- Custom crafting recipes
minetest.register_craft({
output = 'default:gravel 1',
recipe = {{'default:cobble'}},
})
minetest.register_craft({
output = 'default:sand 1',
recipe = {{'default:gravel'}},
})
minetest.register_craft({
output = 'default:dirt 1',
recipe = {{'default:sand'}},
})
minetest.register_craft({
output = 'default:desert_sand 1',
recipe = {{'default:dirt'}},
})
minetest.register_craft({
output = 'default:sand 1',
recipe = {{'default:desert_sand'}},
})
minetest.register_craft({
type = "shapeless",
output = "default:clay 4",
recipe = {"default:dirt", "default:dirt", "default:sand", "default:sand", "bucket:bucket_water"},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"}
}
})
minetest.register_craft({
type = "shapeless",
output = "darkage:chalk 1",
recipe = {"darkage:chalk_powder", "darkage:chalk_powder"}
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:oil_extract",
recipe = {"flowers:sunflower", "flowers:sunflower"}
})
colors_from_plants = {
["dye:yellow"] = {"flowers:sunflower"},
["dye:orange"] = {"farming:pumpkin_slice"},
["dye:blue"] = {"farming:blueberry"},
["dye:red"] = {"farming:tomato"}
}
for color,ingredients in pairs(colors_from_plants) do
minetest.register_craft({
type = "shapeless",
output = color,
recipe = ingredients
})
end
-- Debug output when new blocks are generated
minetest.register_on_generated(function(minp, maxp, seed)
local debug = "New block generated with minp="..(minetest.pos_to_string(minp))..", maxp="..(minetest.pos_to_string(maxp))..", seed="..seed
print(debug)
minetest.chat_send_all(debug)
end)
-- End
minetest.log("action", "[TomTopia] Loaded!")

@ -1 +0,0 @@
Subproject commit 77c3de08ced2149706e8c3656e1b14f06cf4d7d0

@ -1 +0,0 @@
Subproject commit c227ceb798746f6165e38a0d53bd620f56b760f4

@ -1 +0,0 @@
Subproject commit 40c899c2b5a947eb64704a7430b7ca7c704a666a

@ -1 +0,0 @@
Subproject commit 1603e09b1e6d483f0776698581328f7c8fcebbc7

@ -1 +0,0 @@
Subproject commit 62c92f573c487fcff53107f0853609000b1b06c0