diff options
| author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2014-07-30 15:36:27 -0400 | 
|---|---|---|
| committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2014-07-30 15:36:27 -0400 | 
| commit | 88bdac62e3f36c1125c82b44e2bc6fd718e05322 (patch) | |
| tree | ebccbef615c51104a6cbca2d3ab957a29445a4ae | |
| parent | 12d0c6522bbca906910aae0321cbaa7eb48db8c2 (diff) | |
| parent | 60bc80692ba51ad0a7f2391803ee454b18cb7174 (diff) | |
Merge remote-tracking branch 'zefram/zefram/centrifuge'
46 files changed, 273 insertions, 64 deletions
diff --git a/technic/config.lua b/technic/config.lua index 1dfce66..e512bee 100644 --- a/technic/config.lua +++ b/technic/config.lua @@ -1,7 +1,4 @@ - -local worldpath = minetest.get_worldpath() - -technic.config = Settings(worldpath.."/technic.conf") +technic.config = technic.config or Settings(minetest.get_worldpath().."/technic.conf")  local conf_table = technic.config:to_table() @@ -9,9 +6,6 @@ local defaults = {  	enable_mining_drill = "true",  	enable_mining_laser = "true",  	enable_flashlight = "false", -	enable_rubber_tree_generation = "true", -	enable_marble_generation = "true", -	enable_granite_generation = "true",  	enable_wind_mill = "false",  	enable_corium_griefing = "true",  } @@ -21,4 +15,3 @@ for k, v in pairs(defaults) do  		technic.config:set(k, v)  	end  end - diff --git a/technic/depends.txt b/technic/depends.txt index eec4a14..c2671c5 100644 --- a/technic/depends.txt +++ b/technic/depends.txt @@ -1,5 +1,6 @@  default  pipeworks +technic_worldgen  bucket?  mesecons_mvps?  intllib? diff --git a/technic/init.lua b/technic/init.lua index 2349029..fcd1cd9 100644 --- a/technic/init.lua +++ b/technic/init.lua @@ -2,7 +2,7 @@  -- namespace: technic  -- (c) 2012-2013 by RealBadAngel <mk@realbadangel.pl> -technic = {} +technic = technic or {}  local load_start = os.clock()  local modpath = minetest.get_modpath("technic") diff --git a/technic/items.lua b/technic/items.lua index a902947..b974b95 100644 --- a/technic/items.lua +++ b/technic/items.lua @@ -11,11 +11,6 @@ minetest.register_craftitem( "technic:doped_silicon_wafer", {  	inventory_image = "technic_doped_silicon_wafer.png",  }) -minetest.register_craftitem("technic:enriched_uranium", { -	description = S("Enriched Uranium"), -	inventory_image = "technic_enriched_uranium.png", -}) -  minetest.register_craftitem("technic:uranium_fuel", {  	description = S("Uranium Fuel"),  	inventory_image = "technic_uranium_fuel.png", @@ -163,3 +158,37 @@ minetest.register_node("technic:machine_casing", {  	tiles = {"technic_machine_casing.png"},  	sounds = default.node_sound_stone_defaults(),  }) + +for p = 0, 35 do +	local nici = (p ~= 0 and p ~= 7 and p ~= 35) and 1 or nil +	local psuffix = p == 7 and "" or p +	local ingot = "technic:uranium"..psuffix.."_ingot" +	local block = "technic:uranium"..psuffix.."_block" +	local ov = p == 7 and minetest.override_item or nil; +	(ov or minetest.register_craftitem)(ingot, { +		description = string.format(S("%.1f%%-Fissile Uranium Ingot"), p/10), +		inventory_image = "technic_uranium_ingot.png", +		groups = {uranium_ingot=1, not_in_creative_inventory=nici}, +	}); +	(ov or minetest.register_node)(block, { +		description = string.format(S("%.1f%%-Fissile Uranium Block"), p/10), +		tiles = {"technic_uranium_block.png"}, +		is_ground_content = true, +		groups = {uranium_block=1, not_in_creative_inventory=nici, cracky=1, level=2, radioactive=math.floor(math.sqrt(p) + 0.5)}, +		sounds = default.node_sound_stone_defaults(), +	}); +	if not ov then +		minetest.register_craft({ +			output = block, +			recipe = { +				{ingot, ingot, ingot}, +				{ingot, ingot, ingot}, +				{ingot, ingot, ingot}, +			}, +		}) +		minetest.register_craft({ +			output = ingot.." 9", +			recipe = {{block}}, +		}) +	end +end diff --git a/technic/legacy.lua b/technic/legacy.lua index c835937..8360a71 100644 --- a/technic/legacy.lua +++ b/technic/legacy.lua @@ -29,6 +29,7 @@ technic.legacy_nodenames = {  	["technic:generator"]        = "technic:lv_generator",  	["technic:generator_active"] = "technic:lv_generator_active",  	["technic:iron_dust"] = "technic:wrought_iron_dust", +	["technic:enriched_uranium"] = "technic:uranium35_ingot",  }  for old, new in pairs(technic.legacy_nodenames) do diff --git a/technic/locale/de.txt b/technic/locale/de.txt index 984296b..1a1e82a 100644 --- a/technic/locale/de.txt +++ b/technic/locale/de.txt @@ -29,6 +29,8 @@ Graphite = Graphit  Carbon Cloth = Kohlefasergewebe  Raw Latex = Rohlatex  Rubber Fiber = Gummifaser +%.1f%%-Fissile Uranium Ingot = +%.1f%%-Fissile Uranium Block =  ## Machine misc  Machine cannot be removed because it is not empty = Die Maschine kann nicht entfernt werden, weil sie noch nicht leer ist. @@ -162,6 +164,7 @@ Talinite = Talinite  Tin = Zinn  Wrought Iron = Schmiedeeisen  Zinc = Zink +%.1f%%-Fissile Uranium =  ## Tools  RE Battery = Akkubatterie diff --git a/technic/locale/es.txt b/technic/locale/es.txt index 2323abc..9d58ebd 100644 --- a/technic/locale/es.txt +++ b/technic/locale/es.txt @@ -29,6 +29,8 @@ Graphite = Grafito  Carbon Cloth = Tela de Carbon  Raw Latex = Latex Crudo  Rubber Fiber = Fibra de Hule +%.1f%%-Fissile Uranium Ingot = +%.1f%%-Fissile Uranium Block =  ## Machine misc  Machine cannot be removed because it is not empty = La maquina no puede removerse porque no esta vacia @@ -152,6 +154,7 @@ Talinite = Talinita  Tin = Estanio  Wrought Iron = Hierro Forjado  Zinc = Zinc +%.1f%%-Fissile Uranium =  ## Tools  RE Battery = diff --git a/technic/locale/it.txt b/technic/locale/it.txt index 70da24e..234a858 100644 --- a/technic/locale/it.txt +++ b/technic/locale/it.txt @@ -26,6 +26,8 @@ Graphite = Lastra in graffite  Carbon Cloth = Fibra di carbonio  Raw Latex = Latex grezzo  Rubber Fiber = Fibra di gomma +%.1f%%-Fissile Uranium Ingot = +%.1f%%-Fissile Uranium Block =  ## Machine misc  Machine cannot be removed because it is not empty = La macchina non può essere rimossa perchè non è vuota @@ -159,6 +161,7 @@ Talinite = Talinite  Tin = Stagno  Wrought Iron = Ferro Battuto  Zinc = Zinco +%.1f%%-Fissile Uranium =  ## Tools  RE Battery = diff --git a/technic/locale/template.txt b/technic/locale/template.txt index 43090df..0d47974 100644 --- a/technic/locale/template.txt +++ b/technic/locale/template.txt @@ -29,6 +29,8 @@ Graphite =  Carbon Cloth =  Raw Latex =  Rubber Fiber = +%.1f%%-Fissile Uranium Ingot = +%.1f%%-Fissile Uranium Block =  ## Machine misc  Machine cannot be removed because it is not empty = @@ -64,6 +66,7 @@ Controlled by Mesecon Signal =  %s Battery Box =   %s Cable =  %s CNC Machine = +%s Centrifuge =  %s Compressor =  %s Extractor =  %s Forcefield Emitter = @@ -166,6 +169,7 @@ Talinite =  Tin =  Wrought Iron =  Zinc = +%.1f%%-Fissile Uranium =  ## Tools  RE Battery = @@ -190,3 +194,4 @@ Alloy cooking =  Grinding =  Compressing =  Extracting = +Separating = diff --git a/technic/machines/HV/nuclear_reactor.lua b/technic/machines/HV/nuclear_reactor.lua index e5d7a1b..c4587bb 100644 --- a/technic/machines/HV/nuclear_reactor.lua +++ b/technic/machines/HV/nuclear_reactor.lua @@ -493,7 +493,6 @@ local default_radiation_resistance_per_node = {  	["technic:mineral_uranium"] = 71,  	["technic:mineral_zinc"] = 19,  	["technic:stainless_steel_block"] = 40, -	["technic:uranium_block"] = 500,  	["technic:zinc_block"] = 36,  	["tnt:tnt"] = 11,  	["tnt:tnt_burning"] = 11, @@ -501,6 +500,7 @@ local default_radiation_resistance_per_node = {  local default_radiation_resistance_per_group = {  	concrete = 16,  	tree = 3.4, +	uranium_block = 500,  	wood = 1.7,  }  local cache_radiation_resistance = {} diff --git a/technic/machines/MV/centrifuge.lua b/technic/machines/MV/centrifuge.lua new file mode 100644 index 0000000..5bf24bf --- /dev/null +++ b/technic/machines/MV/centrifuge.lua @@ -0,0 +1,16 @@ +minetest.register_craft({ +	output = "technic:mv_centrifuge", +	recipe = { +		{ "technic:motor",          "technic:copper_plate",   "technic:diamond_drill_head" }, +		{ "technic:copper_plate",   "technic:machine_casing", "technic:copper_plate"       }, +		{ "pipeworks:one_way_tube", "technic:mv_cable0",      "pipeworks:mese_filter"      }, +	} +}) + +technic.register_centrifuge({ +	tier = "MV", +	demand = { 8000, 7000, 6000 }, +	speed = 2, +	upgrade = 1, +	tube = 1, +}) diff --git a/technic/machines/MV/init.lua b/technic/machines/MV/init.lua index 74eb631..72a98b6 100644 --- a/technic/machines/MV/init.lua +++ b/technic/machines/MV/init.lua @@ -20,6 +20,7 @@ dofile(path.."/electric_furnace.lua")  dofile(path.."/grinder.lua")  dofile(path.."/extractor.lua")  dofile(path.."/compressor.lua") +dofile(path.."/centrifuge.lua")  dofile(path.."/tool_workshop.lua") diff --git a/technic/machines/register/alloy_recipes.lua b/technic/machines/register/alloy_recipes.lua index 3227739..6f2fc94 100644 --- a/technic/machines/register/alloy_recipes.lua +++ b/technic/machines/register/alloy_recipes.lua @@ -1,7 +1,10 @@  local S = technic.getter -technic.register_recipe_type("alloy", S("Alloy cooking"), 2) +technic.register_recipe_type("alloy", { +	description = S("Alloy cooking"), +	input_size = 2, +})  function technic.register_alloy_recipe(data)  	data.time = data.time or 6 diff --git a/technic/machines/register/centrifuge.lua b/technic/machines/register/centrifuge.lua new file mode 100644 index 0000000..dd05977 --- /dev/null +++ b/technic/machines/register/centrifuge.lua @@ -0,0 +1,8 @@ +local S = technic.getter + +function technic.register_centrifuge(data) +	data.typename = "separating" +	data.machine_name = "centrifuge" +	data.machine_desc = S("%s Centrifuge") +	technic.register_base_machine(data) +end diff --git a/technic/machines/register/centrifuge_recipes.lua b/technic/machines/register/centrifuge_recipes.lua new file mode 100644 index 0000000..7f252b6 --- /dev/null +++ b/technic/machines/register/centrifuge_recipes.lua @@ -0,0 +1,46 @@ +local S = technic.getter + +technic.register_recipe_type("separating", { +	description = S("Separating"), +	output_size = 2, +}) + +function technic.register_separating_recipe(data) +	data.time = data.time or 10 +	technic.register_recipe("separating", data) +end + +local rubber_tree_planks = minetest.get_modpath("moretrees") and "moretrees:rubber_tree_planks" or "default:wood" + +local recipes = { +	{ "technic:bronze_dust 4",             "technic:copper_dust 3",       "technic:tin_dust"      }, +	{ "technic:stainless_steel_dust 4",    "technic:wrought_iron_dust 3", "technic:chromium_dust" }, +	{ "technic:brass_dust 3",              "technic:copper_dust 2",       "technic:zinc_dust"     }, +	{ "moretrees:rubber_tree_trunk_empty", rubber_tree_planks.." 4",      "technic:raw_latex"     }, +	{ "moretrees:rubber_tree_trunk",       rubber_tree_planks.." 4",      "technic:raw_latex"     }, +} + +-- Refining uranium via centrifuge is intended to make it a practical +-- necessity to set up an automated cascade of centrifuges.  Once the +-- cascade has been primed, production of one 3.5%-fissile dust requires +-- input of five 0.7%-fissile dust and 490 centrifuge operations, and +-- produces four 0.0%-fissile dust as a byproduct.  The busiest stage +-- of the cascade is the one taking 0.7%-fissile dust, which performs 28 +-- of the 490 operations.  The least busy is the one taking 3.4%-fissile +-- dust, which performs 1 of the 490 operations. +local function uranium_dust(p) +	return "technic:uranium"..(p == 7 and "" or p).."_dust" +end +for p = 1, 34 do +	table.insert(recipes, { uranium_dust(p).." 2", uranium_dust(p-1), uranium_dust(p+1) }) +end + +if minetest.get_modpath("bushes_classic") then +	for _, berry in ipairs({ "blackberry", "blueberry", "gooseberry", "raspberry", "strawberry" }) do +		table.insert(recipes, { "bushes:"..berry.."_bush", "default:stick 20", "bushes:"..berry.." 4" }) +	end +end + +for _, data in pairs(recipes) do +	technic.register_separating_recipe({ input = { data[1] }, output = { data[2], data[3] } }) +end diff --git a/technic/machines/register/compressor_recipes.lua b/technic/machines/register/compressor_recipes.lua index 73282cf..4fba03b 100644 --- a/technic/machines/register/compressor_recipes.lua +++ b/technic/machines/register/compressor_recipes.lua @@ -1,7 +1,7 @@  local S = technic.getter -technic.register_recipe_type("compressing", S("Compressing")) +technic.register_recipe_type("compressing", { description = S("Compressing") })  function technic.register_compressor_recipe(data)  	data.time = data.time or 4 @@ -15,7 +15,7 @@ local recipes = {  	{"default:copper_ingot 5",     "technic:copper_plate"},  	{"technic:coal_dust 4",        "technic:graphite"},  	{"technic:carbon_cloth",       "technic:carbon_plate"}, -	{"technic:enriched_uranium 4", "technic:uranium_fuel"}, +	{"technic:uranium35_ingot 5",  "technic:uranium_fuel"},  }  for _, data in pairs(recipes) do diff --git a/technic/machines/register/extractor_recipes.lua b/technic/machines/register/extractor_recipes.lua index d4f8269..f752144 100644 --- a/technic/machines/register/extractor_recipes.lua +++ b/technic/machines/register/extractor_recipes.lua @@ -1,7 +1,7 @@  local S = technic.getter -technic.register_recipe_type("extracting", S("Extracting")) +technic.register_recipe_type("extracting", { description = S("Extracting") })  function technic.register_extractor_recipe(data)  	data.time = data.time or 4 @@ -24,9 +24,6 @@ local recipes = {  	{"technic:raw_latex",                 "technic:rubber 3"},  	{"moretrees:rubber_tree_trunk_empty", "technic:rubber"},  	{"moretrees:rubber_tree_trunk",       "technic:rubber"}, -	 -	-- Other -	{"technic:uranium 5",                 "technic:enriched_uranium"},  }  for _, data in pairs(recipes) do diff --git a/technic/machines/register/grinder_recipes.lua b/technic/machines/register/grinder_recipes.lua index 4426f5c..6ab19e7 100644 --- a/technic/machines/register/grinder_recipes.lua +++ b/technic/machines/register/grinder_recipes.lua @@ -1,7 +1,7 @@  local S = technic.getter -technic.register_recipe_type("grinding", S("Grinding")) +technic.register_recipe_type("grinding", { description = S("Grinding") })  function technic.register_grinder_recipe(data)  	data.time = data.time or 3 @@ -16,6 +16,7 @@ local recipes = {  	{"default:gold_lump",       "technic:gold_dust 2"},  	{"default:iron_lump",       "technic:wrought_iron_dust 2"},  	{"technic:chromium_lump",   "technic:chromium_dust 2"}, +	{"technic:uranium_lump",    "technic:uranium_dust 2"},  	{"technic:zinc_lump",       "technic:zinc_dust 2"},  	-- Other @@ -87,6 +88,41 @@ if minetest.get_modpath("gloopores") or minetest.get_modpath("glooptest") then  	register_dust("Talinite",        "glooptest:talinite_ingot")  end +for p = 0, 35 do +	local nici = (p ~= 0 and p ~= 7 and p ~= 35) and 1 or nil +	local psuffix = p == 7 and "" or p +	local ingot = "technic:uranium"..psuffix.."_ingot" +	local dust = "technic:uranium"..psuffix.."_dust" +	minetest.register_craftitem(dust, { +		description = S("%s Dust"):format(string.format(S("%.1f%%-Fissile Uranium"), p/10)), +		inventory_image = "technic_uranium_dust.png", +		on_place_on_ground = minetest.craftitem_place_item, +		groups = {uranium_dust=1, not_in_creative_inventory=nici}, +	}) +	minetest.register_craft({ +		type = "cooking", +		recipe = dust, +		output = ingot, +	}) +	technic.register_grinder_recipe({ input = {ingot}, output = dust }) +end + +local function uranium_dust(p) +	return "technic:uranium"..(p == 7 and "" or p).."_dust" +end +for pa = 0, 34 do +	for pb = pa+1, 35 do +		local pc = (pa+pb)/2 +		if pc == math.floor(pc) then +			minetest.register_craft({ +				type = "shapeless", +				recipe = { uranium_dust(pa), uranium_dust(pb) }, +				output = uranium_dust(pc).." 2", +			}) +		end +	end +end +  minetest.register_craft({  	type = "fuel",  	recipe = "technic:coal_dust", diff --git a/technic/machines/register/init.lua b/technic/machines/register/init.lua index 55c1f8b..3cf373d 100644 --- a/technic/machines/register/init.lua +++ b/technic/machines/register/init.lua @@ -19,6 +19,7 @@ dofile(path.."/alloy_recipes.lua")  dofile(path.."/grinder_recipes.lua")  dofile(path.."/extractor_recipes.lua")  dofile(path.."/compressor_recipes.lua") +dofile(path.."/centrifuge_recipes.lua")  -- Machines  dofile(path.."/alloy_furnace.lua") @@ -26,4 +27,4 @@ dofile(path.."/electric_furnace.lua")  dofile(path.."/grinder.lua")  dofile(path.."/extractor.lua")  dofile(path.."/compressor.lua") - +dofile(path.."/centrifuge.lua") diff --git a/technic/machines/register/machine_base.lua b/technic/machines/register/machine_base.lua index 83c8740..6972b9c 100644 --- a/technic/machines/register/machine_base.lua +++ b/technic/machines/register/machine_base.lua @@ -17,7 +17,7 @@ local tube = {  function technic.register_base_machine(data)  	local typename = data.typename -	local numitems = technic.recipes[typename].numitems +	local input_size = technic.recipes[typename].input_size  	local machine_name = data.machine_name  	local machine_desc = data.machine_desc  	local tier = data.tier @@ -35,7 +35,7 @@ function technic.register_base_machine(data)  	local formspec =  		"invsize[8,9;]".. -		"list[current_name;src;"..(4-numitems)..",1;"..numitems..",1;]".. +		"list[current_name;src;"..(4-input_size)..",1;"..input_size..",1;]"..  		"list[current_name;dst;5,1;2,2;]"..  		"list[current_player;main;0,5;8,4;]"..  		"label[0,0;"..machine_desc:format(tier).."]" @@ -91,10 +91,26 @@ function technic.register_base_machine(data)  			meta:set_int("src_time", meta:get_int("src_time") + 1)  			if meta:get_int("src_time") >= result.time / data.speed then  				meta:set_int("src_time", 0) -				local result_stack = ItemStack(result.output) -				if inv:room_for_item("dst", result_stack) then +				local output = result.output +				if type(output) ~= "table" then output = { output } end +				local output_stacks = {} +				for _, o in ipairs(output) do +					table.insert(output_stacks, ItemStack(o)) +				end +				local room_for_output = true +				inv:set_size("dst_tmp", inv:get_size("dst")) +				inv:set_list("dst_tmp", inv:get_list("dst")) +				for _, o in ipairs(output_stacks) do +					if not inv:room_for_item("dst_tmp", o) then +						room_for_output = false +						break +					end +					inv:add_item("dst_tmp", o) +				end +				if room_for_output then  					inv:set_list("src", result.new_input) -					inv:add_item("dst", result_stack) +					inv:set_list("dst", inv:get_list("dst_tmp")) +				else  				end  			end  		end @@ -121,7 +137,7 @@ function technic.register_base_machine(data)  			meta:set_int("tube_time",  0)  			meta:set_string("formspec", formspec)  			local inv = meta:get_inventory() -			inv:set_size("src", numitems) +			inv:set_size("src", input_size)  			inv:set_size("dst", 4)  			inv:set_size("upgrade1", 1)  			inv:set_size("upgrade2", 1) diff --git a/technic/machines/register/recipes.lua b/technic/machines/register/recipes.lua index cff8ca1..28a0275 100644 --- a/technic/machines/register/recipes.lua +++ b/technic/machines/register/recipes.lua @@ -1,15 +1,19 @@ -technic.recipes = {cooking = {numitems = 1}} -function technic.register_recipe_type(typename, desc, numitems) -	numitems = numitems or 1 -	if unified_inventory and unified_inventory.register_craft_type then +technic.recipes = { cooking = { input_size = 1, output_size = 1 } } +function technic.register_recipe_type(typename, origdata) +	local data = {} +	for k, v in pairs(origdata) do data[k] = v end +	data.input_size = data.input_size or 1 +	data.output_size = data.output_size or 1 +	if unified_inventory and unified_inventory.register_craft_type and data.output_size == 1 then  		unified_inventory.register_craft_type(typename, { -			description = desc, -			height = numitems, +			description = data.description, +			height = data.input_size,  			width = 1,  		})  	end -	technic.recipes[typename] = {numitems = numitems, recipes = {}} +	data.recipes = {} +	technic.recipes[typename] = data  end  local function get_recipe_index(items) @@ -26,7 +30,13 @@ local function register_recipe(typename, data)  	for i, stack in ipairs(data.input) do  		data.input[i] = ItemStack(stack):to_string()  	end -	data.output = ItemStack(data.output):to_string() +	if type(data.output) == "table" then +		for i, v in ipairs(data.output) do +			data.output[i] = ItemStack(data.output[i]):to_string() +		end +	else +		data.output = ItemStack(data.output):to_string() +	end  	local recipe = {time = data.time, input = {}, output = data.output}  	local index = get_recipe_index(data.input) @@ -35,7 +45,7 @@ local function register_recipe(typename, data)  	end  	technic.recipes[typename].recipes[index] = recipe -	if unified_inventory then +	if unified_inventory and technic.recipes[typename].output_size == 1 then  		unified_inventory.register_craft({  			type = typename,  			output = data.output, @@ -70,7 +80,6 @@ function technic.get_recipe(typename, items)  		local new_input = {}  		for i, stack in ipairs(items) do  			if stack:get_count() < recipe.input[stack:get_name()] then -				print(stack:get_name())  				return nil  			else  				new_input[i] = ItemStack(stack) diff --git a/technic/textures/technic_enriched_uranium.png b/technic/textures/technic_enriched_uranium.png Binary files differdeleted file mode 100644 index 8759e65..0000000 --- a/technic/textures/technic_enriched_uranium.png +++ /dev/null diff --git a/technic/textures/technic_mv_centrifuge_bottom.png b/technic/textures/technic_mv_centrifuge_bottom.png Binary files differnew file mode 100644 index 0000000..6dcd40f --- /dev/null +++ b/technic/textures/technic_mv_centrifuge_bottom.png diff --git a/technic/textures/technic_mv_centrifuge_front.png b/technic/textures/technic_mv_centrifuge_front.png Binary files differnew file mode 100644 index 0000000..e278a33 --- /dev/null +++ b/technic/textures/technic_mv_centrifuge_front.png diff --git a/technic/textures/technic_mv_centrifuge_front_active.png b/technic/textures/technic_mv_centrifuge_front_active.png Binary files differnew file mode 100644 index 0000000..4cef912 --- /dev/null +++ b/technic/textures/technic_mv_centrifuge_front_active.png diff --git a/technic/textures/technic_mv_centrifuge_side.png b/technic/textures/technic_mv_centrifuge_side.png Binary files differnew file mode 100644 index 0000000..eeef44a --- /dev/null +++ b/technic/textures/technic_mv_centrifuge_side.png diff --git a/technic/textures/technic_mv_centrifuge_top.png b/technic/textures/technic_mv_centrifuge_top.png Binary files differnew file mode 100644 index 0000000..813bbf8 --- /dev/null +++ b/technic/textures/technic_mv_centrifuge_top.png diff --git a/technic/textures/technic_uranium_dust.png b/technic/textures/technic_uranium_dust.png Binary files differnew file mode 100644 index 0000000..9c211dc --- /dev/null +++ b/technic/textures/technic_uranium_dust.png diff --git a/technic/textures/technicx32/technic_uranium_dust.png b/technic/textures/technicx32/technic_uranium_dust.png Binary files differnew file mode 100644 index 0000000..d8095c3 --- /dev/null +++ b/technic/textures/technicx32/technic_uranium_dust.png diff --git a/technic_chests/copper_chest.lua b/technic_chests/copper_chest.lua index 2d58379..d40284b 100644 --- a/technic_chests/copper_chest.lua +++ b/technic_chests/copper_chest.lua @@ -19,7 +19,7 @@ minetest.register_craft({  minetest.register_craft({  	output = 'technic:copper_locked_chest 1',  	recipe = { -		{'technic:wrought_iron_ingot'}, +		{'default:steel_ingot'},  		{'technic:copper_chest'},  	}  }) diff --git a/technic_chests/depends.txt b/technic_chests/depends.txt index 2e151fa..4d04e9d 100644 --- a/technic_chests/depends.txt +++ b/technic_chests/depends.txt @@ -1,6 +1,3 @@  default -technic -technic_worldgen  pipeworks  intllib? - diff --git a/technic_chests/gold_chest.lua b/technic_chests/gold_chest.lua index 386d1c7..161d8fe 100644 --- a/technic_chests/gold_chest.lua +++ b/technic_chests/gold_chest.lua @@ -20,7 +20,7 @@ minetest.register_craft({  minetest.register_craft({  	output = 'technic:gold_locked_chest',  	recipe = { -		{'technic:wrought_iron_ingot'}, +		{'default:steel_ingot'},  		{'technic:gold_chest'},  	}  }) diff --git a/technic_chests/init.lua b/technic_chests/init.lua index 99af8ad..5fa96ff 100644 --- a/technic_chests/init.lua +++ b/technic_chests/init.lua @@ -4,6 +4,7 @@  modpath = minetest.get_modpath("technic_chests") +technic = technic or {}  technic.chests = {}  dofile(modpath.."/common.lua") diff --git a/technic_chests/iron_chest.lua b/technic_chests/iron_chest.lua index aa02533..90434bb 100644 --- a/technic_chests/iron_chest.lua +++ b/technic_chests/iron_chest.lua @@ -1,26 +1,32 @@ +local cast_iron_ingot +if minetest.get_modpath("technic_worldgen") then +	cast_iron_ingot = "technic:cast_iron_ingot" +else +	cast_iron_ingot = "default:steel_ingot" +end  minetest.register_craft({  	output = 'technic:iron_chest 1',  	recipe = { -		{'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'}, -		{'technic:cast_iron_ingot','default:chest','technic:cast_iron_ingot'}, -		{'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'}, +		{cast_iron_ingot,cast_iron_ingot,cast_iron_ingot}, +		{cast_iron_ingot,'default:chest',cast_iron_ingot}, +		{cast_iron_ingot,cast_iron_ingot,cast_iron_ingot},  	}  })  minetest.register_craft({  	output = 'technic:iron_locked_chest 1',  	recipe = { -		{'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'}, -		{'technic:cast_iron_ingot','default:chest_locked','technic:cast_iron_ingot'}, -		{'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'}, +		{cast_iron_ingot,cast_iron_ingot,cast_iron_ingot}, +		{cast_iron_ingot,'default:chest_locked',cast_iron_ingot}, +		{cast_iron_ingot,cast_iron_ingot,cast_iron_ingot},  	}  })  minetest.register_craft({  	output = 'technic:iron_locked_chest 1',  	recipe = { -		{'technic:wrought_iron_ingot'}, +		{'default:steel_ingot'},  		{'technic:iron_chest'},  	}  }) diff --git a/technic_chests/mithril_chest.lua b/technic_chests/mithril_chest.lua index 69e7f17..bd2b981 100644 --- a/technic_chests/mithril_chest.lua +++ b/technic_chests/mithril_chest.lua @@ -19,7 +19,7 @@ minetest.register_craft({  minetest.register_craft({  	output = 'technic:mithril_locked_chest 1',  	recipe = { -		{'technic:wrought_iron_ingot'}, +		{'default:steel_ingot'},  		{'technic:mithril_chest'},  	}  }) diff --git a/technic_chests/register.lua b/technic_chests/register.lua index 17b1a0e..0344c2c 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -49,7 +49,9 @@ end  local function check_color_buttons(pos, meta, chest_name, fields)  	for i = 1, 16 do  		if fields["color_button"..i] then -			technic.swap_node(pos, chest_name..colorid_to_postfix(i)) +			local node = minetest.get_node(pos) +			node.name = chest_name..colorid_to_postfix(i) +			minetest.swap_node(pos, node)  			meta:set_string("color", i)  			return  		end diff --git a/technic_chests/silver_chest.lua b/technic_chests/silver_chest.lua index 0370488..505156a 100644 --- a/technic_chests/silver_chest.lua +++ b/technic_chests/silver_chest.lua @@ -19,7 +19,7 @@ minetest.register_craft({  minetest.register_craft({  	output = 'technic:silver_locked_chest',  	recipe = { -		{'technic:wrought_iron_ingot'}, +		{'default:steel_ingot'},  		{'technic:silver_chest'},  	}  }) diff --git a/technic_worldgen/config.lua b/technic_worldgen/config.lua new file mode 100644 index 0000000..4ac748c --- /dev/null +++ b/technic_worldgen/config.lua @@ -0,0 +1,15 @@ +technic.config = technic.config or Settings(minetest.get_worldpath().."/technic.conf") + +local conf_table = technic.config:to_table() + +local defaults = { +	enable_granite_generation = "true", +	enable_marble_generation = "true", +	enable_rubber_tree_generation = "true", +} + +for k, v in pairs(defaults) do +	if conf_table[k] == nil then +		technic.config:set(k, v) +	end +end diff --git a/technic_worldgen/crafts.lua b/technic_worldgen/crafts.lua index 759d8ed..3965258 100644 --- a/technic_worldgen/crafts.lua +++ b/technic_worldgen/crafts.lua @@ -1,11 +1,19 @@  local S = technic.worldgen.gettext -minetest.register_craftitem(":technic:uranium", { -	description = S("Uranium"), -	inventory_image = "technic_uranium.png", +minetest.register_craftitem(":technic:uranium_lump", { +	description = S("Uranium Lump"), +	inventory_image = "technic_uranium_lump.png",  	on_place_on_ground = minetest.craftitem_place_item,  }) +minetest.register_alias("technic:uranium", "technic:uranium_lump") + +minetest.register_craftitem(":technic:uranium_ingot", { +	description = S("Uranium Ingot"), +	inventory_image = "technic_uranium_ingot.png", +	on_place_on_ground = minetest.craftitem_place_item, +	groups = {uranium_ingot=1}, +})  minetest.register_craftitem(":technic:chromium_lump", {  	description = S("Chromium Lump"), @@ -74,7 +82,7 @@ local function register_block(block, ingot)  	})  end -register_block("technic:uranium_block", "technic:uranium") +register_block("technic:uranium_block", "technic:uranium_ingot")  register_block("technic:chromium_block", "technic:chromium_ingot")  register_block("technic:zinc_block", "technic:zinc_ingot")  register_block("technic:brass_block", "technic:brass_ingot") @@ -96,6 +104,12 @@ minetest.register_craft({  minetest.register_craft({  	type = 'cooking', +	recipe = "technic:uranium_lump", +	output = "technic:uranium_ingot", +}) + +minetest.register_craft({ +	type = 'cooking',  	recipe = minetest.registered_aliases["technic:wrought_iron_ingot"],  	output = "technic:cast_iron_ingot",  }) diff --git a/technic_worldgen/depends.txt b/technic_worldgen/depends.txt index a72ad90..ac858d0 100644 --- a/technic_worldgen/depends.txt +++ b/technic_worldgen/depends.txt @@ -1,4 +1,3 @@  default -technic  intllib?  mg? diff --git a/technic_worldgen/init.lua b/technic_worldgen/init.lua index 7e80fd3..73e9fc7 100644 --- a/technic_worldgen/init.lua +++ b/technic_worldgen/init.lua @@ -1,5 +1,6 @@  local modpath = minetest.get_modpath("technic_worldgen") +technic = technic or {}  technic.worldgen = {}  if intllib then  	technic.worldgen.gettext = intllib.Getter() @@ -7,6 +8,7 @@ else  	technic.worldgen.gettext = function(s) return s end  end +dofile(modpath.."/config.lua")  dofile(modpath.."/nodes.lua")  dofile(modpath.."/oregen.lua")  dofile(modpath.."/crafts.lua") diff --git a/technic_worldgen/locale/de.txt b/technic_worldgen/locale/de.txt index 1dacb41..401c94c 100644 --- a/technic_worldgen/locale/de.txt +++ b/technic_worldgen/locale/de.txt @@ -3,7 +3,8 @@  # by Xanthin  ## crafts.lua -Uranium = Uran +Uranium Lump = Uranklumpen +Uranium Ingot = Uranbarren  Chromium Lump = Chromklumpen  Chromium Ingot = Chrombarren  Zinc Lump = Zinkklumpen diff --git a/technic_worldgen/locale/template.txt b/technic_worldgen/locale/template.txt index a4a6e4d..594e0ce 100644 --- a/technic_worldgen/locale/template.txt +++ b/technic_worldgen/locale/template.txt @@ -2,7 +2,8 @@  # technic_worldgen translation template  ###crafts.lua -Uranium =  +Uranium Lump =  +Uranium Ingot =   Chromium Lump =   Chromium Ingot =   Zinc Lump =  diff --git a/technic_worldgen/nodes.lua b/technic_worldgen/nodes.lua index 3b0ad99..e4774ce 100644 --- a/technic_worldgen/nodes.lua +++ b/technic_worldgen/nodes.lua @@ -7,7 +7,7 @@ minetest.register_node( ":technic:mineral_uranium", {  	is_ground_content = true,  	groups = {cracky=3, radioactive=1},  	sounds = default.node_sound_stone_defaults(), -	drop = 'craft "technic:uranium" 1', +	drop = 'craft "technic:uranium_lump" 1',  })   minetest.register_node( ":technic:mineral_chromium", { @@ -56,7 +56,7 @@ minetest.register_node(":technic:uranium_block", {  	description = S("Uranium Block"),  	tiles = { "technic_uranium_block.png" },  	is_ground_content = true, -	groups = {cracky=1, level=2, radioactive=3}, +	groups = {uranium_block=1, cracky=1, level=2, radioactive=3},  	sounds = default.node_sound_stone_defaults()  }) diff --git a/technic_worldgen/textures/technic_uranium_ingot.png b/technic_worldgen/textures/technic_uranium_ingot.png Binary files differnew file mode 100644 index 0000000..38978f8 --- /dev/null +++ b/technic_worldgen/textures/technic_uranium_ingot.png diff --git a/technic_worldgen/textures/technic_uranium.png b/technic_worldgen/textures/technic_uranium_lump.png Binary files differindex 2f5a66c..2f5a66c 100644 --- a/technic_worldgen/textures/technic_uranium.png +++ b/technic_worldgen/textures/technic_uranium_lump.png  | 
