Remove obsolete mods
parent
2f02a57bb6
commit
7cd98418b9
|
@ -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
|
|
@ -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
airtanks
1
airtanks
|
@ -1 +0,0 @@
|
|||
Subproject commit 868c3a78aee78c2badfd16a273e7d231c7bd6032
|
1
areas
1
areas
|
@ -1 +0,0 @@
|
|||
Subproject commit 289d0e623c1d383f26cbc57c94ce9a8a184bf525
|
1
castle
1
castle
|
@ -1 +0,0 @@
|
|||
Subproject commit 87e9fa250614377d69d40ae0adaea2a7348a7763
|
|
@ -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
|
|
@ -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.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
default
|
||||
stairsplus
|
|
@ -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
|
||||
|
|
@ -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
cottages
1
cottages
|
@ -1 +0,0 @@
|
|||
Subproject commit 739f3a7ac4d221590383d5d8cd97f821c7d61b87
|
1
currency
1
currency
|
@ -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
intllib
1
intllib
|
@ -1 +0,0 @@
|
|||
Subproject commit 9192771dcc826c23c6f34f1c3c717e16e631dc12
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 2c8ce923ebbf26816ff406d8dc77469c80806589
|
1
lantern
1
lantern
|
@ -1 +0,0 @@
|
|||
Subproject commit 297e1d08191d6a60305f6dae52f1e49f3d4bc6b1
|
|
@ -1 +0,0 @@
|
|||
Subproject commit f6c4b9d693a8c5a6bd506f20508217727f2aee9b
|
1
mapfix
1
mapfix
|
@ -1 +0,0 @@
|
|||
Subproject commit 4d3f6505b54b7047823a69d539aa6706b51d2dfa
|
1
mesecons
1
mesecons
|
@ -1 +0,0 @@
|
|||
Subproject commit 028c290cd70591383682c244a95a955fd3cba083
|
1
mg
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
mobs_npc
1
mobs_npc
|
@ -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
moreores
1
moreores
|
@ -1 +0,0 @@
|
|||
Subproject commit 2316595ab9331c20abe5c7cd4dffef22f4671227
|
1
mydoors
1
mydoors
|
@ -1 +0,0 @@
|
|||
Subproject commit eef3b5f9ae92d4423a71a0e73ad637c0fd56fbd5
|
1
mymonths
1
mymonths
|
@ -1 +0,0 @@
|
|||
Subproject commit 5ca8d56bcfe649822e600cb6fdc997802824ca67
|
|
@ -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")
|
|
@ -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
|
|
@ -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
|
|
@ -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")
|
|
@ -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)
|
|
@ -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)
|
|
@ -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
quests
|
@ -1 +0,0 @@
|
|||
Subproject commit f696cb1a70797c298f3301bc40c0887532d6e8cd
|
1
sea
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
technic
1
technic
|
@ -1 +0,0 @@
|
|||
Subproject commit 92dd0f4af891043f8554f730964f63db8b5e3dc8
|
|
@ -1,4 +0,0 @@
|
|||
Special definitions for TomTopia
|
||||
================================
|
||||
|
||||
- craft-cycle for clay, inspired by LinuxGaming
|
|
@ -1 +0,0 @@
|
|||
default
|
|
@ -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
wield3d
1
wield3d
|
@ -1 +0,0 @@
|
|||
Subproject commit 1603e09b1e6d483f0776698581328f7c8fcebbc7
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 62c92f573c487fcff53107f0853609000b1b06c0
|
Loading…
Reference in New Issue