remake redme and some litel changes
This commit is contained in:
parent
c87dca2e5f
commit
ca558544e4
39
README.md
39
README.md
|
@ -1,16 +1,43 @@
|
|||
# owl_tech
|
||||
# Owl tech
|
||||
|
||||
Large tech mod specially developed for Mineclone 2
|
||||
|
||||
***
|
||||
Mod Features:
|
||||
* Reworked generation of ores - Now the ores appear in the world in large veins .Each ore vein has its own set of ores, spawn frequency and amount of ore
|
||||
|
||||
* Ore processing system. The higher the level of mechanisms will be used, the more resources will be obtained from the ore
|
||||
|
||||
1)Reworked generation of ores - Now the ores appear in the world in large veins .Each ore vein has its own set of ores, spawn frequency and amount of ore
|
||||
* Fluid and Energy Transfer System
|
||||
|
||||
2)Ore processing system. The higher the level of mechanisms will be used, the more resources will be obtained from the ore
|
||||
* Geologist exploration systems from millet hammers that will tell you about the ores around the player - to open pits
|
||||
|
||||
***
|
||||
## Ore
|
||||
|
||||
3)Fluid and Energy Transfer System
|
||||
Do not forget to turn off the generation of ordinary ores in the settingtypes.txt file
|
||||
on the line mcl_generate_ores (Generate Ores) set instead of true -> falsemcl_generate_ores (Generate Ores) bool false
|
||||
|
||||
4)Geologist exploration systems from millet hammers that will tell you about the ores around the player - to open pits
|
||||
P.S.
|
||||
Disabling ores in Mineclone 2 does not work yet(this is a bug and needs to be fixed)
|
||||
|
||||
***
|
||||
## Metals
|
||||
|
||||
Warning - mod in deep development
|
||||
The mod adds both a large number of metals - copper, tin, silver, and so on, as well as an alloy, for example, electrum, bronze, steel, and so on.
|
||||
|
||||
***
|
||||
## Instruments
|
||||
|
||||
Removed original tools except for wood and stone (unless you find them in chests in the world as loot). Now, in order to get metal tools, you need to create them according to new recipes with plates and various additional tools - such as a hammer or a file.
|
||||
|
||||
***
|
||||
|
||||
## Pipe
|
||||
|
||||
There is a mechanic of transferring liquids (such as water, lava, steam, etc.) through pipes from one mechanism to another. Pipes work on the principle of where there is less liquid there and send the liquid.
|
||||
|
||||
There is a mechanics of item pipes. Item transfer only works with regular chests and mechanisms from the mod itself(WIP)
|
||||
|
||||
***
|
||||
Warning - mod in deep development (install it in your game worlds only at your own peril and risk)
|
|
@ -1,4 +1,5 @@
|
|||
---Integration for i3
|
||||
---Integration for i3 FORGE_HAMMER_RECIPS=
|
||||
|
||||
|
||||
i3.register_craft_type("alloy_smelter", {
|
||||
description = "Alloy smetler",
|
||||
|
@ -15,6 +16,11 @@ i3.register_craft_type("siev", {
|
|||
icon = "owl_tech_sieve_face.png",
|
||||
})
|
||||
|
||||
i3.register_craft_type("forge_hammer", { --SIEV_RESIPS
|
||||
description = "Forge hammer",
|
||||
icon = "owl_tech_forge_face.png",
|
||||
})
|
||||
|
||||
for i, value in pairs(SMELTER_RECIPS) do
|
||||
i3.register_craft {
|
||||
type = "alloy_smelter",
|
||||
|
@ -39,4 +45,10 @@ for i, value in pairs(SIEV_RESIPS) do
|
|||
}
|
||||
end
|
||||
|
||||
|
||||
for i, value in pairs(FORGE_HAMMER_RECIPS) do
|
||||
i3.register_craft {
|
||||
type = "forge_hammer",
|
||||
result = value[3]..' '..value[4],
|
||||
items = {value[9]..' '..value[1]},
|
||||
}
|
||||
end
|
||||
|
|
2
init.lua
2
init.lua
|
@ -9,7 +9,7 @@ dofile(path .. "/api/init.lua") --all base func
|
|||
dofile(path .. "/tools/init.lua") --Tools
|
||||
dofile(path .. "/ore/init.lua") --ore loads
|
||||
dofile(path .. "/debug_tools/init.lua") --debug_tools don.t use in surv game
|
||||
--dofile(path .. "/xray/init.lua") --xray don.t use in surv game
|
||||
dofile(path .. "/xray/init.lua") --xray don.t use in surv game
|
||||
dofile(path .. "/steam/init.lua") --main fail about all steam gen
|
||||
dofile(path .. "/pipe/init.lua") --main fail about all pipes
|
||||
dofile(path .. "/custom_recips/init.lua") --main fail about all custom recips
|
||||
|
|
|
@ -55,4 +55,16 @@ SIEV_RESIPS={
|
|||
saltpeter_dirt_dust= {(1),(1),("owl_tech:saltpeter_dust"),(2),(ore_duration),(25),("owl_tech:sulfur_dust"),(1),("owl_tech:saltpeter_dirt_dust")},
|
||||
sulfur_dirt_dust= {(1),(1),("owl_tech:sulfur_dust"),(2),(ore_duration),(25),("owl_tech:saltpeter_dust"),(1),("owl_tech:sulfur_dirt_dust")},
|
||||
diamond_dirt_dust= {(1),(1),("owl_tech:diamond_dust"),(2),(ore_duration),(25),("owl_tech:diamond_dust"),(1),("owl_tech:diamond_dirt_dust")},
|
||||
}
|
||||
-- key-input_name ----1)input_amount 2)recip_tire 3)output_name 4)output_amount 5)duration(use for 100) 6)seconds_chanse(0-100) 7)output_name_second 8)output_amount_second 9)Input full name
|
||||
--froge hammer resips
|
||||
FORGE_HAMMER_RECIPS={
|
||||
iron_ingot = {(1),(1),("owl_tech:iron_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:iron_ingot")},
|
||||
tin_ingot = {(1),(1),("owl_tech:tin_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:tin_ingot")},
|
||||
copper_ingot = {(1),(1),("owl_tech:copper_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:copper_ingot")},
|
||||
gold_ingot = {(1),(1),("owl_tech:gold_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:gold_ingot")},
|
||||
silver_ingot = {(1),(1),("owl_tech:silver_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:silver_ingot")},
|
||||
lead_ingot = {(1),(1),("owl_tech:lead_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:lead_ingot")},
|
||||
steal_ingot = {(1),(1),("owl_tech:steal_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:steal_ingot")},
|
||||
bronze_ingot = {(1),(1),("owl_tech:bronze_plate"),(1),(ingot_duration),(0),("none"),(0),("owl_tech:bronze_ingot")},
|
||||
}
|
|
@ -33,7 +33,7 @@ end
|
|||
--bronze_macerator"
|
||||
minetest.register_node("owl_tech:bronze_macerator", {
|
||||
description = S("Bronze macerator"),
|
||||
_doc_items_longdesc = S("Macerate ore in dust"),
|
||||
_doc_items_longdesc = S("Macerate dust"),
|
||||
tiles = {
|
||||
"(owl_tech_base_meshanism_side.png^[colorize:#a35900:128)",
|
||||
"owl_tech_base_meshanism_side.png^[colorize:#a35900:128",
|
||||
|
@ -133,6 +133,16 @@ minetest.register_node("owl_tech:bronze_macerator", {
|
|||
timer:start(0.2)
|
||||
end
|
||||
})
|
||||
--Crafte "owl_tech:bronze_macerator"
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output = "owl_tech:bronze_macerator",
|
||||
recipe = {
|
||||
{"mcl_core:flint", "mcl_core:flint", "mcl_core:flint"},
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_frames","owl_tech:bronze_plate"},
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_plate","owl_tech:bronze_plate"}
|
||||
}
|
||||
})
|
||||
--alloy smelter
|
||||
local function set_formspect_base_alloy_smelter(meta)
|
||||
local fluid_1_name = owl_tech.get_pull_fluid_name(meta,1)
|
||||
|
@ -266,6 +276,16 @@ minetest.register_node("owl_tech:bronze_alloy_smelter", {
|
|||
timer:start(0.2)
|
||||
end
|
||||
})
|
||||
--Crafte "owl_tech:bronze_alloy_smelter"
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output ="owl_tech:bronze_alloy_smelter",
|
||||
recipe = {
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_plate","owl_tech:bronze_plate"},
|
||||
{"mcl_furnaces:furnace","owl_tech:bronze_frames","mcl_furnaces:furnace"},
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_plate","owl_tech:bronze_plate"}
|
||||
}
|
||||
})
|
||||
-------------------------------------------
|
||||
--base sieve
|
||||
local function set_formspect_base_sieve(meta)
|
||||
|
@ -397,4 +417,144 @@ minetest.register_node("owl_tech:bronze_sieve", {
|
|||
set_formspect_base_sieve(meta)
|
||||
timer:start(0.2)
|
||||
end
|
||||
})
|
||||
--Crafte "owl_tech:bronze_sieve"
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output ="owl_tech:bronze_sieve",
|
||||
recipe = {
|
||||
{"mcl_wool:white","mcl_wool:white","mcl_wool:white"},
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_frames","owl_tech:bronze_plate"},
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_plate","owl_tech:bronze_plate"}
|
||||
}
|
||||
})
|
||||
local function set_formspect_base_sieve(meta)
|
||||
local fluid_1_name = owl_tech.get_pull_fluid_name(meta,1)
|
||||
local fluid_1_volume = owl_tech.get_pull_volume(meta,1)
|
||||
local redines = owl_tech.get_item_redines(meta)
|
||||
local formspec = "size[9,8.75]"..
|
||||
"label[0,4;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
|
||||
"list[current_player;main;0,4.5;9,3;9]"..
|
||||
mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
|
||||
"list[current_player;main;0,7.74;9,1;]"..
|
||||
mcl_formspec.get_itemslot_bg(0,7.74,9,1)..
|
||||
"label[2.25,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Steam Forge Hammer"))).."]"..
|
||||
"list[context;input_in;2.5,2.5;1,1;]"..
|
||||
mcl_formspec.get_itemslot_bg(2.5,2.5,1,1)..
|
||||
"list[context;dst;5.5,1.5;1,1;]"..
|
||||
mcl_formspec.get_itemslot_bg(5.5,1.5,1,1)..
|
||||
"list[context;dst_add;6.5,1.5;1,1;]"..
|
||||
mcl_formspec.get_itemslot_bg(6.5,1.5,1,1)..
|
||||
"label[0,1.5;"..minetest.formspec_escape(minetest.colorize("#313131", (fluid_1_name.."--"..fluid_1_volume))).."]"..
|
||||
"label[0,2;"..minetest.formspec_escape(minetest.colorize("#313131", (redines.." / 100"))).."]"..
|
||||
"listring[context;dst]"..
|
||||
"listring[context;dst_add]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;input_in]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[current_player;main]"
|
||||
meta:set_string("formspec", formspec)
|
||||
end
|
||||
--froge hammer"
|
||||
minetest.register_node("owl_tech:bronze_forge_hammer", {
|
||||
description = S("Bronze forge hammer"),
|
||||
_doc_items_longdesc = S("Automative forge"),
|
||||
tiles = {
|
||||
"(owl_tech_base_meshanism_side.png^[colorize:#a35900:128)",
|
||||
"owl_tech_base_meshanism_side.png^[colorize:#a35900:128",
|
||||
"owl_tech_base_meshanism_side.png^[colorize:#a35900:128",
|
||||
"owl_tech_base_meshanism_side.png^[colorize:#a35900:128",
|
||||
"owl_tech_base_meshanism_side.png^[colorize:#a35900:128",
|
||||
"(owl_tech_base_meshanism_side.png^[colorize:#a35900:128)^owl_tech_forge_face.png",
|
||||
},
|
||||
is_ground_content = false,
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=2, owl_tech_machine=1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
paramtype2 = "facedir",
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
owl_tech.add_new_pull(meta,8000,1,0) --steam eat 25 steam in 1 tick
|
||||
owl_tech.set_pull_fluid_whitlist(meta,1,"owl_tech_steam")--whitlist for make and output ONLY Steam
|
||||
owl_tech.set_mashine_tire(meta,1) --all steam mishine has 1 tire
|
||||
owl_tech.reset_item_redines(meta)
|
||||
set_formspect_base_sieve(meta)
|
||||
owl_tech.update_fluid_pipe_around(pos)
|
||||
local timer =minetest.get_node_timer(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("input_in", 1)
|
||||
inv:set_size("dst", 1)
|
||||
inv:set_size("dst_add", 1)
|
||||
timer:start(0.2)
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local input_its = inv:get_stack('input_in', 1)
|
||||
local dst_its = inv:get_stack('dst', 1)
|
||||
local dst_add_its = inv:get_stack('dst_add', 1)
|
||||
if not input_its:is_empty() then -- chek for item in slots
|
||||
local name= string.sub(input_its:get_name(), 10)
|
||||
if FORGE_HAMMER_RECIPS[name]~=nil and owl_tech.get_item_redines(meta)>0 and owl_tech.get_item_redines(meta)<100 then --recipt real
|
||||
if owl_tech.can_recips_go_in_this_mashien(meta,name,dst_its,dst_add_its) then-- chek for all itemslot and machine tire
|
||||
local amount=owl_tech.calculate_recipe_tire_bonus(meta,FORGE_HAMMER_RECIPS[name][2],FORGE_HAMMER_RECIPS[name][5])
|
||||
local steam_new =owl_tech.get_pull_volume(meta,1)-25
|
||||
owl_tech.set_pull_volume(meta,1,steam_new)
|
||||
owl_tech.add_item_redines(meta,amount)
|
||||
end
|
||||
elseif FORGE_HAMMER_RECIPS[name]~=nil and owl_tech.get_item_redines(meta)>=100 then
|
||||
if owl_tech.can_recips_go_in_this_mashien(meta,name,dst_its,dst_add_its) then-- chek for all itemslot and machine tire
|
||||
|
||||
input_its:set_count(input_its:get_count()-1) --Remove item from input slot
|
||||
inv:set_stack('input_in', 1, input_its)
|
||||
|
||||
if not dst_its:is_empty() then-- Add main output
|
||||
dst_its:set_count(dst_its:get_count()+FORGE_HAMMER_RECIPS[name][4])
|
||||
inv:set_stack('dst', 1, dst_its)
|
||||
else
|
||||
local item ={name=FORGE_HAMMER_RECIPS[name][3], count=FORGE_HAMMER_RECIPS[name][4], wear=0, metadata=""}
|
||||
dst_its:add_item(item)
|
||||
inv:set_stack('dst', 1, dst_its)
|
||||
end
|
||||
|
||||
local random = math.random(1,100) --chans to get second output
|
||||
if FORGE_HAMMER_RECIPS[name][6]>random then-- Add second output if has
|
||||
if not dst_add_its:is_empty() then
|
||||
dst_add_its:set_count(dst_add_its:get_count()+FORGE_HAMMER_RECIPS[name][8])
|
||||
inv:set_stack('dst_add', 1, dst_add_its)
|
||||
else
|
||||
local item ={name=FORGE_HAMMER_RECIPS[name][7], count=FORGE_HAMMER_RECIPS[name][8], wear=0, metadata=""}
|
||||
dst_add_its:add_item(item)
|
||||
inv:set_stack('dst_add', 1, dst_add_its)
|
||||
end
|
||||
end
|
||||
local steam_new =owl_tech.get_pull_volume(meta,1)-25
|
||||
owl_tech.set_pull_volume(meta,1,steam_new)
|
||||
owl_tech.reset_item_redines(meta)
|
||||
end
|
||||
elseif FORGE_HAMMER_RECIPS[name]~=nil and 100/FORGE_HAMMER_RECIPS[name][5]*25<= owl_tech.get_pull_volume(meta,1) and owl_tech.get_item_redines(meta)==0 then --begin for work
|
||||
local amount=owl_tech.calculate_recipe_tire_bonus(meta,FORGE_HAMMER_RECIPS[name][2],FORGE_HAMMER_RECIPS[name][5])
|
||||
local steam_new =owl_tech.get_pull_volume(meta,1)-25
|
||||
owl_tech.set_pull_volume(meta,1,steam_new)
|
||||
owl_tech.add_item_redines(meta,amount)
|
||||
end
|
||||
else
|
||||
owl_tech.reset_item_redines(meta)
|
||||
end
|
||||
if minetest.get_item_group((minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z})).name,"fluid_pipe") then --get from pipe steam
|
||||
local meta_up = minetest.get_meta({x=pos.x,y=pos.y-1,z=pos.z})
|
||||
local can_do ,inde_pull =owl_tech.test_add_fluid_in_any_pulls(meta,"owl_tech_steam",owl_tech.get_fluid_sand_in_tick(meta))
|
||||
local can_do2 ,inde_pull_2 , remove_amount =owl_tech.test_remove_fluid_in_any_pulls(meta_up,"owl_tech_steam",owl_tech.get_fluid_sand_in_tick(meta_up))
|
||||
if can_do and can_do2 then
|
||||
owl_tech.add_fluid_in_node_pull(meta,"owl_tech_steam",remove_amount,inde_pull)
|
||||
owl_tech.remove_fluid_in_node_pull(meta_up,remove_amount,inde_pull)
|
||||
end
|
||||
end
|
||||
owl_tech.delit_name_fluid_if_0(meta)
|
||||
set_formspect_base_sieve(meta)
|
||||
timer:start(0.2)
|
||||
end
|
||||
})
|
|
@ -78,4 +78,14 @@ minetest.register_node("owl_tech:steam_vertical_miner", {
|
|||
on_destruct = function(pos)
|
||||
owl_tech.remove_all_pipe_vertical(pos)
|
||||
end
|
||||
})
|
||||
--Crafte "owl_tech:steam_vertical_miner",
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output ="owl_tech:steam_vertical_miner",
|
||||
recipe = {
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_plate","owl_tech:bronze_plate"},
|
||||
{"owl_tech:bronze_plate","owl_tech:bronze_frames","owl_tech:bronze_plate"},
|
||||
{"owl_tech:iron_item_pipe_input","owl_tech:bronze_fluid_pipe","owl_tech:iron_item_pipe_input"}
|
||||
}
|
||||
})
|
|
@ -109,6 +109,7 @@ local metals_ore_array={
|
|||
{"lead","Lead ",true,3,"#9092ab",62,true},
|
||||
{"steal","Steal ",false,3,"#575757",300,false},
|
||||
{"bronze","Bronze ",false,3,"#a35900",200,true},
|
||||
{"electrum","Electrum ",false,2,"#fffd73",55,true},
|
||||
}
|
||||
--make metals ALL
|
||||
for i, value in ipairs(metals_ore_array) do
|
||||
|
@ -687,8 +688,14 @@ end
|
|||
-----------------------------------------------------------------------------------
|
||||
--Some custom recips
|
||||
--Crafte bronze dust from copper and tin
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "owl_tech:bronze_dust 3",
|
||||
recipe = {"owl_tech:copper_dust","owl_tech:copper_dust","owl_tech:copper_dust","owl_tech:tin_dust"}
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "owl_tech:bronze_dust 3",
|
||||
recipe = {"owl_tech:copper_dust","owl_tech:copper_dust","owl_tech:copper_dust","owl_tech:tin_dust"}
|
||||
})
|
||||
--Crafte electrum from gold and silver
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "owl_tech:electrum_dust 3",
|
||||
recipe = {"owl_tech:gold_dust","owl_tech:gold_dust","owl_tech:silver_dust","owl_tech:silver_dust"}
|
||||
})
|
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
|
@ -3,7 +3,6 @@
|
|||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
local name = minetest.get_current_modname()
|
||||
local path = minetest.get_modpath(name)
|
||||
--owl_tech_work_hammer_head.png owl_tech_hoe_stick.png
|
||||
--Work hammer
|
||||
minetest.register_craftitem("owl_tech:work_hammer", {
|
||||
description = S("Work hammer"),
|
||||
|
@ -47,7 +46,7 @@ minetest.register_craftitem("owl_tech:work_mortar", {
|
|||
inventory_image = "owl_tech_mortar.png",
|
||||
stack_max = 1,
|
||||
groups = { craftitem = 1 },
|
||||
}) --"mcl_core:stone"
|
||||
})
|
||||
--Crafte worlk file
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
|
@ -57,4 +56,22 @@ minetest.register_craft({
|
|||
{"mcl_core:stone","owl_tech:iron_ingot","mcl_core:stone"},
|
||||
{"mcl_core:stone","mcl_core:stick","mcl_core:stone"}
|
||||
}
|
||||
})
|
||||
--Work mortar
|
||||
minetest.register_craftitem("owl_tech:wrench", {
|
||||
description = S("Wrench"),
|
||||
_doc_items_longdesc = S("Use for crafte and some confige machins"),
|
||||
inventory_image = "owl_tech_wrench.png",
|
||||
stack_max = 1,
|
||||
groups = { craftitem = 1,hand_wrench=1},
|
||||
})
|
||||
--Crafte wrench
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output = "owl_tech:work_mortar",
|
||||
recipe = {
|
||||
{"owl_tech:iron_ingot","","owl_tech:iron_ingot"},
|
||||
{"owl_tech:iron_ingot","owl_tech:iron_ingot","owl_tech:iron_ingot"},
|
||||
{"","owl_tech:iron_ingot",""}
|
||||
}
|
||||
})
|
Loading…
Reference in New Issue