remake redme and some litel changes

This commit is contained in:
ConfidentOwl 2022-12-29 15:07:24 +03:00
parent c87dca2e5f
commit ca558544e4
9 changed files with 262 additions and 17 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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")},
}

View File

@ -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
})

View File

@ -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"}
}
})

View File

@ -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

View File

@ -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",""}
}
})