Compare commits
	
		
			65 Commits
		
	
	
		
			488f80d950
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					88f42539bb | ||
| 
						 | 
					b2a124dd83 | ||
| 
						 | 
					34f2894321 | ||
| 
						 | 
					fb4fef783b | ||
| 
						 | 
					4a9ad94bf9 | ||
| 
						 | 
					f3828c1943 | ||
| 
						 | 
					0e10e8360d | ||
| 
						 | 
					fbc4cc8511 | ||
| 
						 | 
					904800abde | ||
| 
						 | 
					1a45ad19d4 | ||
| 
						 | 
					e90b28895c | ||
| 
						 | 
					7696546d47 | ||
| 
						 | 
					da95be53ec | ||
| 
						 | 
					76a39e71b9 | ||
| 
						 | 
					08b660ba99 | ||
| 
						 | 
					cb84439266 | ||
| 
						 | 
					c41f6509cf | ||
| 
						 | 
					d5df30c3ff | ||
| 
						 | 
					e66bb281a4 | ||
| 
						 | 
					768fbecc64 | ||
| 
						 | 
					707fa5a97c | ||
| 
						 | 
					505ad8d045 | ||
| 
						 | 
					a75cb7252d | ||
| 
						 | 
					662cc7e7ef | ||
| 
						 | 
					e12220be79 | ||
| 
						 | 
					19e045e042 | ||
| 
						 | 
					e8e5df3f4a | ||
| 
						 | 
					d119a67482 | ||
| 
						 | 
					bb05ff8fd2 | ||
| 
						 | 
					d1bf386b80 | ||
| 
						 | 
					dc4f4f66e6 | ||
| 
						 | 
					62fdb853ec | ||
| 
						 | 
					8a987bb361 | ||
| 
						 | 
					e8f1033d49 | ||
| 
						 | 
					a9b10cc4b1 | ||
| 
						 | 
					b81d1d3f2d | ||
| 
						 | 
					c9ba4b329d | ||
| 
						 | 
					700faca5cb | ||
| 
						 | 
					c14521cbd2 | ||
| 
						 | 
					4f78a69ffc | ||
| 
						 | 
					5f6b87d43a | ||
| 
						 | 
					6e58a8e939 | ||
| 
						 | 
					8ebc1de29c | ||
| 
						 | 
					e1a71a8fb0 | ||
| 
						 | 
					701240bc3a | ||
| 
						 | 
					aa82fa1d13 | ||
| 
						 | 
					bdd13beeff | ||
| 
						 | 
					f5bf0d98b1 | ||
| 
						 | 
					3cafe7553a | ||
| 
						 | 
					bc26b047d2 | ||
| 
						 | 
					83ec1b2476 | ||
| 
						 | 
					c068edec65 | ||
| 
						 | 
					4ecb3d4334 | ||
| 
						 | 
					d40946fa38 | ||
| 
						 | 
					dc0689018d | ||
| 
						 | 
					51d7bd81ff | ||
| 
						 | 
					2b2411d1ee | ||
| 
						 | 
					8409be32fc | ||
| 
						 | 
					3d52b679b0 | ||
| 
						 | 
					44cb8df048 | ||
| 
						 | 
					f702a6597b | ||
| 
						 | 
					e931041358 | ||
| 
						 | 
					5b97d94dae | ||
| 
						 | 
					92dd0f4af8 | ||
| 
						 | 
					29f746369f | 
@@ -18,6 +18,6 @@ FAQ
 | 
			
		||||
License
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
Unless otherwise stated, all components of this modpack are licensed under the 
 | 
			
		||||
Unless otherwise stated, all components of this modpack are licensed under the
 | 
			
		||||
LGPL, V2 or later.  See also the individual mod folders for their
 | 
			
		||||
secondary/alternate licenses, if any.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
default
 | 
			
		||||
basic_materials
 | 
			
		||||
intllib?
 | 
			
		||||
 | 
			
		||||
moreblocks?
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
--Minetest 0.4.7 mod: concrete 
 | 
			
		||||
--Minetest 0.4.7 mod: concrete
 | 
			
		||||
--(c) 2013 by RealBadAngel <mk@realbadangel.pl>
 | 
			
		||||
 | 
			
		||||
local technic = rawget(_G, "technic") or {}
 | 
			
		||||
@@ -23,24 +23,6 @@ else
 | 
			
		||||
	steel_ingot = "default:steel_ingot"
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:rebar 6',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'','', steel_ingot},
 | 
			
		||||
		{'',steel_ingot,''},
 | 
			
		||||
		{steel_ingot, '', ''},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:concrete 5',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'default:stone','technic:rebar','default:stone'},
 | 
			
		||||
		{'technic:rebar','default:stone','technic:rebar'},
 | 
			
		||||
		{'default:stone','technic:rebar','default:stone'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:concrete_post_platform 6',
 | 
			
		||||
	recipe = {
 | 
			
		||||
@@ -51,9 +33,9 @@ minetest.register_craft({
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:concrete_post 12',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'default:stone','technic:rebar','default:stone'},
 | 
			
		||||
		{'default:stone','technic:rebar','default:stone'},
 | 
			
		||||
		{'default:stone','technic:rebar','default:stone'},
 | 
			
		||||
		{'default:stone','basic_materials:steel_bar','default:stone'},
 | 
			
		||||
		{'default:stone','basic_materials:steel_bar','default:stone'},
 | 
			
		||||
		{'default:stone','basic_materials:steel_bar','default:stone'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -66,18 +48,6 @@ minetest.register_craft({
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem(":technic:rebar", {
 | 
			
		||||
	description = S("Rebar"),
 | 
			
		||||
	inventory_image = "technic_rebar.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node(":technic:concrete", {
 | 
			
		||||
	description = S("Concrete Block"),
 | 
			
		||||
	tiles = {"technic_concrete_block.png",},
 | 
			
		||||
	groups = {cracky=1, level=2, concrete=1},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node(":technic:blast_resistant_concrete", {
 | 
			
		||||
	description = S("Blast-resistant Concrete Block"),
 | 
			
		||||
	tiles = {"technic_blast_resistant_concrete_block.png",},
 | 
			
		||||
@@ -91,6 +61,20 @@ minetest.register_node(":technic:blast_resistant_concrete", {
 | 
			
		||||
	end,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("moreblocks") then
 | 
			
		||||
	stairsplus:register_all("technic","blast_resistant_concrete","technic:blast_resistant_concrete",{
 | 
			
		||||
		description = "Blast-resistant Concrete",
 | 
			
		||||
		tiles = {"technic_blast_resistant_concrete_block.png",},
 | 
			
		||||
		groups = {cracky=1, level=3, concrete=1},
 | 
			
		||||
		sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
		on_blast = function(pos, intensity)
 | 
			
		||||
			if intensity > 1 then
 | 
			
		||||
				minetest.remove_node(pos)
 | 
			
		||||
				minetest.add_item(pos, "technic:blast_resistant_concrete")
 | 
			
		||||
			end
 | 
			
		||||
		end,
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local box_platform = {-0.5,  0.3,  -0.5,  0.5,  0.5, 0.5}
 | 
			
		||||
local box_post     = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15}
 | 
			
		||||
@@ -101,19 +85,19 @@ local box_right    = {0,     -0.3, -0.1,  0.5,  0.3, 0.1}
 | 
			
		||||
 | 
			
		||||
minetest.register_node(":technic:concrete_post_platform", {
 | 
			
		||||
	description = S("Concrete Post Platform"),
 | 
			
		||||
	tiles = {"technic_concrete_block.png",},
 | 
			
		||||
	tiles = {"basic_materials_concrete_block.png",},
 | 
			
		||||
	groups={cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	drawtype = "nodebox", 
 | 
			
		||||
	drawtype = "nodebox",
 | 
			
		||||
	node_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {box_platform}
 | 
			
		||||
	},
 | 
			
		||||
	on_place = function (itemstack, placer, pointed_thing)
 | 
			
		||||
		local node = minetest.get_node(pointed_thing.under)
 | 
			
		||||
		if node.name ~= "technic:concrete_post" then 
 | 
			
		||||
			return minetest.item_place_node(itemstack, placer, pointed_thing) 
 | 
			
		||||
		if node.name ~= "technic:concrete_post" then
 | 
			
		||||
			return minetest.item_place_node(itemstack, placer, pointed_thing)
 | 
			
		||||
		end
 | 
			
		||||
		minetest.set_node(pointed_thing.under, {name="technic:concrete_post_with_platform"})
 | 
			
		||||
		itemstack:take_item()
 | 
			
		||||
@@ -133,7 +117,7 @@ for platform = 0, 1 do
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(":technic:concrete_post"..(platform == 1 and "_with_platform" or ""), {
 | 
			
		||||
		description = S("Concrete Post"),
 | 
			
		||||
		tiles = {"technic_concrete_block.png"},
 | 
			
		||||
		tiles = {"basic_materials_concrete_block.png"},
 | 
			
		||||
		groups = {cracky=1, level=2, concrete_post=1, not_in_creative_inventory=platform},
 | 
			
		||||
		sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
		drop = (platform == 1 and "technic:concrete_post_platform" or
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								concrete/locale/fr.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,7 @@
 | 
			
		||||
# technic_concrete translation template
 | 
			
		||||
 | 
			
		||||
Rebar                           = Armature
 | 
			
		||||
Concrete Block                  = Bloc de béton
 | 
			
		||||
Blast-resistant Concrete Block  = Bloc de béton anti explosions
 | 
			
		||||
Concrete Post Platform          = Plateforme en béton
 | 
			
		||||
Concrete Post                   = Pilier en béton
 | 
			
		||||
							
								
								
									
										10
									
								
								concrete/locale/pl.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
			
		||||
# Polish Translation for technic_concrete
 | 
			
		||||
# Polskie tłumaczenie technic_concrete
 | 
			
		||||
# by mat9117
 | 
			
		||||
 | 
			
		||||
Rebar = Pręt zbrojeniowy
 | 
			
		||||
Concrete Block = Blok betonu
 | 
			
		||||
Blast-resistant Concrete Block = Przeciwwybuchowy blok betonu
 | 
			
		||||
Concrete Post Platform = Betonowa platforma
 | 
			
		||||
Concrete Post = Betonowy słup
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								concrete/locale/pt_BR.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
			
		||||
# Braziliam portuguese translation for technic_concrete
 | 
			
		||||
# Tradução portuguesa brasileira para technic_concrete
 | 
			
		||||
# By Sires
 | 
			
		||||
 | 
			
		||||
Rebar = Vergalhão
 | 
			
		||||
Concrete Block = Bloco de Concreto
 | 
			
		||||
Blast-resistant Concrete Block = Bloco de Concreto resistente-a-explosões
 | 
			
		||||
Concrete Post Platform = Plataforma para Poste de Concreto
 | 
			
		||||
Concrete Post = Poste de Concreto
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								concrete/mod.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,3 @@
 | 
			
		||||
name = concrete
 | 
			
		||||
depends = default
 | 
			
		||||
optional_depends = basic_materials, intllib, moreblocks
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 311 B After Width: | Height: | Size: 214 B  | 
| 
		 Before Width: | Height: | Size: 500 B  | 
| 
		 Before Width: | Height: | Size: 813 B  | 
| 
		 Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.8 KiB  | 
| 
		 Before Width: | Height: | Size: 813 B After Width: | Height: | Size: 583 B  | 
@@ -1,6 +1,9 @@
 | 
			
		||||
default
 | 
			
		||||
technic_worldgen
 | 
			
		||||
basic_materials
 | 
			
		||||
concrete
 | 
			
		||||
unifieddyes?
 | 
			
		||||
intllib?
 | 
			
		||||
moreblocks?
 | 
			
		||||
steel?
 | 
			
		||||
streetsmod?
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@ if minetest.get_modpath("moreblocks") then
 | 
			
		||||
	stairsplus:register_all("technic", "concrete", "technic:concrete", {
 | 
			
		||||
		description=S("Concrete"),
 | 
			
		||||
		groups={cracky=3, not_in_creative_inventory=1},
 | 
			
		||||
		tiles={"technic_concrete_block.png"},
 | 
			
		||||
		tiles={"basic_materials_concrete_block.png"},
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	stairsplus:register_all("technic", "zinc_block", "technic:zinc_block", {
 | 
			
		||||
@@ -57,12 +57,6 @@ if minetest.get_modpath("moreblocks") then
 | 
			
		||||
		tiles={"technic_stainless_steel_block.png"},
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	stairsplus:register_all("technic", "brass_block", "technic:brass_block", {
 | 
			
		||||
		description=S("Brass Block"),
 | 
			
		||||
		groups={cracky=1, not_in_creative_inventory=1},
 | 
			
		||||
		tiles={"technic_brass_block.png"},
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	function register_technic_stairs_alias(modname, origname, newmod, newname)
 | 
			
		||||
		minetest.register_alias(modname .. ":slab_" .. origname, newmod..":slab_" .. newname)
 | 
			
		||||
		minetest.register_alias(modname .. ":slab_" .. origname .. "_inverted", newmod..":slab_" .. newname .. "_inverted")
 | 
			
		||||
@@ -93,7 +87,7 @@ if minetest.get_modpath("moreblocks") then
 | 
			
		||||
		minetest.register_alias(modname .. ":panel_" .. origname .. "_vertical", newmod..":panel_" .. newname .. "_vertical")
 | 
			
		||||
		minetest.register_alias(modname .. ":micro_" .. origname .. "_bottom", newmod..":micro_" .. newname .. "_bottom")
 | 
			
		||||
		minetest.register_alias(modname .. ":micro_" .. origname .. "_top", newmod..":micro_" .. newname .. "_top")
 | 
			
		||||
	end 
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	register_technic_stairs_alias("stairsplus", "concrete", "technic", "concrete")
 | 
			
		||||
	register_technic_stairs_alias("stairsplus", "marble", "technic", "marble")
 | 
			
		||||
@@ -103,7 +97,7 @@ if minetest.get_modpath("moreblocks") then
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local iclip_def = {
 | 
			
		||||
	description = "Insulator/cable clip",
 | 
			
		||||
	description = S("Insulator/cable clip"),
 | 
			
		||||
	drawtype = "mesh",
 | 
			
		||||
	mesh = "technic_insulator_clip.obj",
 | 
			
		||||
	tiles = {"technic_insulator_clip.png"},
 | 
			
		||||
@@ -113,7 +107,7 @@ local iclip_def = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local iclipfence_def = {
 | 
			
		||||
	description = "Insulator/cable clip",
 | 
			
		||||
	description = S("Insulator/cable clip"),
 | 
			
		||||
	tiles = {"technic_insulator_clip.png"},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
@@ -146,23 +140,58 @@ local iclipfence_def = {
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local sclip_tex = {
 | 
			
		||||
	"technic_insulator_clip.png",
 | 
			
		||||
	{ name = "strut.png^technic_steel_strut_overlay.png", color = "white" },
 | 
			
		||||
	{ name = "strut.png", color = "white" }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local streetsmod = minetest.get_modpath("streets") or minetest.get_modpath ("steelsupport")
 | 
			
		||||
-- cheapie's fork breaks it into several individual mods, with differernt names for the same content.
 | 
			
		||||
 | 
			
		||||
if streetsmod then
 | 
			
		||||
	sclip_tex = {
 | 
			
		||||
		"technic_insulator_clip.png",
 | 
			
		||||
		{ name = "streets_support.png^technic_steel_strut_overlay.png", color = "white" },
 | 
			
		||||
		{ name = "streets_support.png", color = "white" }
 | 
			
		||||
	}
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local sclip_def = {
 | 
			
		||||
	description = S("Steel strut with insulator/cable clip"),
 | 
			
		||||
	drawtype = "mesh",
 | 
			
		||||
	mesh = "technic_steel_strut_with_insulator_clip.obj",
 | 
			
		||||
	tiles = sclip_tex,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "wallmounted",
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	groups = { choppy=1, cracky=1 },
 | 
			
		||||
	backface_culling = false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("unifieddyes") then
 | 
			
		||||
	iclip_def.paramtype2 = "colorwallmounted"
 | 
			
		||||
	iclip_def.palette = "unifieddyes_palette_colorwallmounted.png"
 | 
			
		||||
	iclip_def.after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end
 | 
			
		||||
	iclip_def.after_dig_node = unifieddyes.after_dig_node
 | 
			
		||||
	iclip_def.groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1}
 | 
			
		||||
	iclip_def.on_dig = unifieddyes.on_dig
 | 
			
		||||
 | 
			
		||||
	iclipfence_def.paramtype2 = "color"
 | 
			
		||||
	iclipfence_def.palette = "unifieddyes_palette_extended.png"
 | 
			
		||||
	iclipfence_def.on_construct = unifieddyes.on_construct
 | 
			
		||||
	iclipfence_def.after_place_node = unifieddyes.recolor_on_place
 | 
			
		||||
	iclipfence_def.after_dig_node = unifieddyes.after_dig_node
 | 
			
		||||
	iclipfence_def.groups = {fence=1, choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1}
 | 
			
		||||
	iclipfence_def.place_param2 = 171 -- medium amber, low saturation, closest color to default:wood
 | 
			
		||||
	iclipfence_def.on_dig = unifieddyes.on_dig
 | 
			
		||||
 | 
			
		||||
	sclip_def.paramtype2 = "colorwallmounted"
 | 
			
		||||
	sclip_def.palette = "unifieddyes_palette_colorwallmounted.png"
 | 
			
		||||
	sclip_def.after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end
 | 
			
		||||
	sclip_def.on_dig = unifieddyes.on_dig
 | 
			
		||||
	sclip_def.groups = {choppy=1, cracky=1, ud_param2_colorable = 1}
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_node(":technic:insulator_clip", iclip_def)
 | 
			
		||||
@@ -185,3 +214,96 @@ minetest.register_craft({
 | 
			
		||||
		{ "technic:raw_latex", "default:fence_wood", "technic:raw_latex"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
local steelmod = minetest.get_modpath("steel")
 | 
			
		||||
 | 
			
		||||
if streetsmod or steelmod then
 | 
			
		||||
	minetest.register_node(":technic:steel_strut_with_insulator_clip", sclip_def)
 | 
			
		||||
 | 
			
		||||
	if steelmod then
 | 
			
		||||
		minetest.register_craft({
 | 
			
		||||
			output = "technic:steel_strut_with_insulator_clip",
 | 
			
		||||
			recipe = {
 | 
			
		||||
				{"technic:insulator_clip_fencepost"},
 | 
			
		||||
				{"steel:strut_mount"}
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
		minetest.register_craft({
 | 
			
		||||
			output = "technic:steel_strut_with_insulator_clip",
 | 
			
		||||
			recipe = {
 | 
			
		||||
				{"technic:insulator_clip_fencepost", ""                    },
 | 
			
		||||
				{"steel:strut",                      "default:steel_ingot" },
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
	elseif streetsmod then
 | 
			
		||||
		minetest.register_craft({
 | 
			
		||||
			output = "technic:steel_strut_with_insulator_clip",
 | 
			
		||||
			recipe = {
 | 
			
		||||
				{"technic:insulator_clip_fencepost", ""                   },
 | 
			
		||||
				{"streets:steel_support",           "default:steel_ingot" },
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("unifieddyes") then
 | 
			
		||||
 | 
			
		||||
	unifieddyes.register_color_craft({
 | 
			
		||||
		output = "technic:insulator_clip_fencepost",
 | 
			
		||||
		palette = "extended",
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		neutral_node = "technic:insulator_clip_fencepost",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			"NEUTRAL_NODE",
 | 
			
		||||
			"MAIN_DYE"
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	unifieddyes.register_color_craft({
 | 
			
		||||
		output = "technic:insulator_clip",
 | 
			
		||||
		palette = "wallmounted",
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		neutral_node = "technic:insulator_clip",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			"NEUTRAL_NODE",
 | 
			
		||||
			"MAIN_DYE"
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	unifieddyes.register_color_craft({
 | 
			
		||||
		output = "technic:steel_strut_with_insulator_clip",
 | 
			
		||||
		palette = "wallmounted",
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		neutral_node = "",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			"technic:steel_strut_with_insulator_clip",
 | 
			
		||||
			"MAIN_DYE"
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	if steelmod then
 | 
			
		||||
		unifieddyes.register_color_craft({
 | 
			
		||||
			output = "technic:steel_strut_with_insulator_clip",
 | 
			
		||||
			palette = "wallmounted",
 | 
			
		||||
			neutral_node = "",
 | 
			
		||||
			recipe = {
 | 
			
		||||
				{ "technic:insulator_clip_fencepost", "MAIN_DYE" },
 | 
			
		||||
				{ "steel:strut_mount",                ""         },
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	if streetsmod then
 | 
			
		||||
		unifieddyes.register_color_craft({
 | 
			
		||||
			output = "technic:steel_strut_with_insulator_clip",
 | 
			
		||||
			palette = "wallmounted",
 | 
			
		||||
			neutral_node = "technic:steel_strut_with_insulator_clip",
 | 
			
		||||
			recipe = {
 | 
			
		||||
				{ "technic:insulator_clip_fencepost", "MAIN_DYE"            },
 | 
			
		||||
				{ "streets:steel_support",            "default:steel_ingot" },
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								extranodes/locale/fr.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,7 @@
 | 
			
		||||
# technic_extranodes translation template
 | 
			
		||||
 | 
			
		||||
Marble          = Marbre
 | 
			
		||||
Marble Bricks   = Briques en marbre
 | 
			
		||||
Granite         = Granite
 | 
			
		||||
Concrete        = Béton
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										9
									
								
								extranodes/locale/pl.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
			
		||||
# Polish Translation for technic_extranodes
 | 
			
		||||
# Polskie tłumaczenie technic_extranodes
 | 
			
		||||
# by mat9117
 | 
			
		||||
 | 
			
		||||
Marble = Marmur
 | 
			
		||||
Marble Bricks = Marmurowe cegły
 | 
			
		||||
Granite = Granit
 | 
			
		||||
Concrete = Beton
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										9
									
								
								extranodes/locale/pt_BR.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
			
		||||
# Braziliam portuguese translation for technic_extranodes
 | 
			
		||||
# Tradução portuguesa brasileira para technic_extranodes
 | 
			
		||||
# By Sires
 | 
			
		||||
 | 
			
		||||
Marble = Mármore
 | 
			
		||||
Marble Bricks = Tijolos de Mármore
 | 
			
		||||
Granite = Granito
 | 
			
		||||
Concrete = Concreto
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								extranodes/mod.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,3 @@
 | 
			
		||||
name = extranodes
 | 
			
		||||
depends = default, technic_worldgen, basic_materials, concrete
 | 
			
		||||
optional_depends = unifieddyes, intllib, moreblocks, steel, streetsmod
 | 
			
		||||
							
								
								
									
										246
									
								
								extranodes/models/technic_steel_strut_with_insulator_clip.obj
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,246 @@
 | 
			
		||||
# Blender v2.79 (sub 0) OBJ File: 'technic steel strut with insulator clip.blend'
 | 
			
		||||
# www.blender.org
 | 
			
		||||
o Cube_Cube_Material.001
 | 
			
		||||
v -0.375000 0.500532 -0.250000
 | 
			
		||||
v -0.249997 0.562500 -0.249997
 | 
			
		||||
v 0.249997 0.562500 -0.249997
 | 
			
		||||
v 0.375000 0.500532 -0.250000
 | 
			
		||||
v 0.249997 0.562500 0.249997
 | 
			
		||||
v 0.375000 0.500532 0.250000
 | 
			
		||||
v -0.249997 0.562500 0.249997
 | 
			
		||||
v -0.375000 0.500532 0.250000
 | 
			
		||||
v 0.187500 0.562500 -0.187500
 | 
			
		||||
v -0.168668 0.718750 0.168668
 | 
			
		||||
v 0.168668 0.718750 0.168668
 | 
			
		||||
v 0.187500 0.750000 0.187500
 | 
			
		||||
v -0.187500 0.750000 0.187500
 | 
			
		||||
v 0.168668 0.718750 -0.168668
 | 
			
		||||
v 0.187500 0.750000 -0.187500
 | 
			
		||||
v -0.168668 0.718750 -0.168668
 | 
			
		||||
v -0.187500 0.750000 -0.187500
 | 
			
		||||
v 0.250000 0.750000 -0.250000
 | 
			
		||||
v 0.250000 0.750000 0.250000
 | 
			
		||||
v -0.250000 0.750000 -0.250000
 | 
			
		||||
v -0.250000 1.250000 -0.250000
 | 
			
		||||
v 0.250000 1.250000 -0.250000
 | 
			
		||||
v 0.250000 1.250000 0.250000
 | 
			
		||||
v -0.250000 1.250000 0.250000
 | 
			
		||||
v -0.250000 0.750000 0.250000
 | 
			
		||||
v -0.168668 0.593750 0.168668
 | 
			
		||||
v 0.168668 0.593750 0.168668
 | 
			
		||||
v 0.187500 0.625000 0.187500
 | 
			
		||||
v -0.187500 0.625000 0.187500
 | 
			
		||||
v 0.168668 0.593750 -0.168668
 | 
			
		||||
v 0.187500 0.625000 -0.187500
 | 
			
		||||
v -0.168668 0.593750 -0.168668
 | 
			
		||||
v -0.187500 0.625000 -0.187500
 | 
			
		||||
v -0.168668 0.656250 0.168668
 | 
			
		||||
v 0.168668 0.656250 0.168668
 | 
			
		||||
v 0.187500 0.687500 0.187500
 | 
			
		||||
v -0.187500 0.687500 0.187500
 | 
			
		||||
v 0.168668 0.656250 -0.168668
 | 
			
		||||
v 0.187500 0.687500 -0.187500
 | 
			
		||||
v -0.168668 0.656250 -0.168668
 | 
			
		||||
v -0.187500 0.687500 -0.187500
 | 
			
		||||
v 0.187500 0.562500 0.187500
 | 
			
		||||
v -0.187500 0.562500 0.187500
 | 
			
		||||
v -0.187500 0.562500 -0.187500
 | 
			
		||||
v -0.499468 -0.499468 -0.499468
 | 
			
		||||
v -0.499468 0.500000 -0.499468
 | 
			
		||||
v 0.499468 -0.499468 -0.499468
 | 
			
		||||
v -0.499468 -0.499468 0.499468
 | 
			
		||||
v -0.499468 0.500000 0.499468
 | 
			
		||||
v 0.499468 -0.499468 0.499468
 | 
			
		||||
v 0.499468 0.500000 -0.499468
 | 
			
		||||
v 0.499468 0.500000 0.499468
 | 
			
		||||
vt 1.000000 0.875000
 | 
			
		||||
vt 0.937500 0.750000
 | 
			
		||||
vt 0.937500 0.250000
 | 
			
		||||
vt 1.000000 0.125000
 | 
			
		||||
vt 0.250000 0.875000
 | 
			
		||||
vt 0.250000 0.750000
 | 
			
		||||
vt 0.750000 0.750000
 | 
			
		||||
vt 0.750000 0.875000
 | 
			
		||||
vt 0.000000 0.125000
 | 
			
		||||
vt 0.062500 0.250000
 | 
			
		||||
vt 0.062500 0.750000
 | 
			
		||||
vt 0.000000 0.875000
 | 
			
		||||
vt 0.750000 0.250000
 | 
			
		||||
vt 0.687500 0.687500
 | 
			
		||||
vt 0.687500 0.312500
 | 
			
		||||
vt 0.312500 0.687500
 | 
			
		||||
vt 0.250000 0.250000
 | 
			
		||||
vt 0.312500 0.312500
 | 
			
		||||
vt 0.331332 1.218750
 | 
			
		||||
vt 0.668668 1.218750
 | 
			
		||||
vt 0.687500 1.250000
 | 
			
		||||
vt 0.312500 1.250000
 | 
			
		||||
vt 0.531250 0.666667
 | 
			
		||||
vt 0.531250 0.333333
 | 
			
		||||
vt 0.500000 0.312500
 | 
			
		||||
vt 0.500000 0.687500
 | 
			
		||||
vt 0.531250 0.333333
 | 
			
		||||
vt 0.531250 0.666667
 | 
			
		||||
vt 0.500000 0.687500
 | 
			
		||||
vt 0.500000 0.312500
 | 
			
		||||
vt 0.331332 1.218750
 | 
			
		||||
vt 0.668668 1.218750
 | 
			
		||||
vt 0.687500 1.250000
 | 
			
		||||
vt 0.312500 1.250000
 | 
			
		||||
vt 0.687500 0.312500
 | 
			
		||||
vt 0.750000 0.250000
 | 
			
		||||
vt 0.750000 0.750000
 | 
			
		||||
vt 0.687500 0.687500
 | 
			
		||||
vt 0.500000 0.250000
 | 
			
		||||
vt 0.500000 0.750000
 | 
			
		||||
vt 0.000000 0.750000
 | 
			
		||||
vt 0.000000 0.250000
 | 
			
		||||
vt 0.500000 0.250000
 | 
			
		||||
vt 0.000000 0.250000
 | 
			
		||||
vt 0.000000 0.750000
 | 
			
		||||
vt 0.500000 0.750000
 | 
			
		||||
vt 0.500000 0.250000
 | 
			
		||||
vt 0.500000 0.750000
 | 
			
		||||
vt 0.000000 0.750000
 | 
			
		||||
vt 0.000000 0.250000
 | 
			
		||||
vt 0.000000 0.250000
 | 
			
		||||
vt 0.500000 0.750000
 | 
			
		||||
vt 0.250000 0.250000
 | 
			
		||||
vt 0.750000 0.250000
 | 
			
		||||
vt 0.750000 0.750000
 | 
			
		||||
vt 0.250000 0.750000
 | 
			
		||||
vt 0.250000 0.750000
 | 
			
		||||
vt 0.312500 0.687500
 | 
			
		||||
vt 0.250000 0.250000
 | 
			
		||||
vt 0.312500 0.312500
 | 
			
		||||
vt 0.250000 0.125000
 | 
			
		||||
vt 0.750000 0.125000
 | 
			
		||||
vt 0.331332 1.093750
 | 
			
		||||
vt 0.668668 1.093750
 | 
			
		||||
vt 0.687500 1.125000
 | 
			
		||||
vt 0.312500 1.125000
 | 
			
		||||
vt 0.656250 0.666667
 | 
			
		||||
vt 0.656250 0.333333
 | 
			
		||||
vt 0.625000 0.312500
 | 
			
		||||
vt 0.625000 0.687500
 | 
			
		||||
vt 0.656250 0.333333
 | 
			
		||||
vt 0.656250 0.666667
 | 
			
		||||
vt 0.625000 0.687500
 | 
			
		||||
vt 0.625000 0.312500
 | 
			
		||||
vt 0.331332 1.093750
 | 
			
		||||
vt 0.668668 1.093750
 | 
			
		||||
vt 0.687500 1.125000
 | 
			
		||||
vt 0.312500 1.125000
 | 
			
		||||
vt 0.331332 1.156250
 | 
			
		||||
vt 0.668668 1.156250
 | 
			
		||||
vt 0.687500 1.187500
 | 
			
		||||
vt 0.312500 1.187500
 | 
			
		||||
vt 0.593750 0.666667
 | 
			
		||||
vt 0.593750 0.333333
 | 
			
		||||
vt 0.562500 0.312500
 | 
			
		||||
vt 0.562500 0.687500
 | 
			
		||||
vt 0.593750 0.333333
 | 
			
		||||
vt 0.593750 0.666667
 | 
			
		||||
vt 0.562500 0.687500
 | 
			
		||||
vt 0.562500 0.312500
 | 
			
		||||
vt 0.331332 1.156250
 | 
			
		||||
vt 0.668668 1.156250
 | 
			
		||||
vt 0.687500 1.187500
 | 
			
		||||
vt 0.312500 1.187500
 | 
			
		||||
vt 0.312500 1.062500
 | 
			
		||||
vt 0.687500 1.062500
 | 
			
		||||
vt 0.687500 0.312500
 | 
			
		||||
vt 0.687500 0.312500
 | 
			
		||||
vt 0.687500 0.687500
 | 
			
		||||
vt 0.312500 1.062500
 | 
			
		||||
vt 0.687500 1.062500
 | 
			
		||||
vt 0.000000 0.750000
 | 
			
		||||
vt 0.000000 0.250000
 | 
			
		||||
vt 1.000000 0.250000
 | 
			
		||||
vt 1.000000 0.750000
 | 
			
		||||
vt 1.000000 1.000000
 | 
			
		||||
vt -0.000000 1.000000
 | 
			
		||||
vt 0.000000 -0.000000
 | 
			
		||||
vt 1.000000 -0.000000
 | 
			
		||||
vt 1.000000 1.000000
 | 
			
		||||
vt -0.000000 1.000000
 | 
			
		||||
vt 0.000000 -0.000000
 | 
			
		||||
vt 1.000000 -0.000000
 | 
			
		||||
vt 0.000000 1.000000
 | 
			
		||||
vt 0.000000 0.000000
 | 
			
		||||
vt 1.000000 0.000000
 | 
			
		||||
vt 1.000000 1.000000
 | 
			
		||||
vt 1.000000 -0.000000
 | 
			
		||||
vt 1.000000 1.000000
 | 
			
		||||
vt 1.000000 1.000000
 | 
			
		||||
vt 0.000000 0.000000
 | 
			
		||||
vt -0.000000 0.000000
 | 
			
		||||
vn 0.0000 0.0000 -1.0000
 | 
			
		||||
vn 0.4442 0.8960 -0.0000
 | 
			
		||||
vn 0.0000 0.0000 1.0000
 | 
			
		||||
vn 0.0000 1.0000 -0.0000
 | 
			
		||||
vn 0.0000 -0.5161 0.8565
 | 
			
		||||
vn 0.8565 -0.5161 0.0000
 | 
			
		||||
vn -0.8565 -0.5161 0.0000
 | 
			
		||||
vn 0.0000 -0.5161 -0.8565
 | 
			
		||||
vn -0.0000 -1.0000 -0.0000
 | 
			
		||||
vn 1.0000 -0.0000 0.0000
 | 
			
		||||
vn -1.0000 0.0000 -0.0000
 | 
			
		||||
vn -0.4442 0.8960 -0.0000
 | 
			
		||||
vn -0.0000 0.5161 0.8565
 | 
			
		||||
vn 0.8565 0.5161 -0.0000
 | 
			
		||||
vn -0.8565 0.5161 -0.0000
 | 
			
		||||
vn 0.0000 0.5161 -0.8565
 | 
			
		||||
g Cube_Cube_Material.001_Cube_Cube_Material.001_clip
 | 
			
		||||
s 1
 | 
			
		||||
f 1/1/1 2/2/1 3/3/1 4/4/1
 | 
			
		||||
f 4/5/2 3/6/2 5/7/2 6/8/2
 | 
			
		||||
f 6/9/3 5/10/3 7/11/3 8/12/3
 | 
			
		||||
f 7/13/4 5/7/4 42/14/4 43/15/4
 | 
			
		||||
f 5/7/4 3/6/4 9/16/4 42/14/4
 | 
			
		||||
f 2/17/4 7/13/4 43/15/4 44/18/4
 | 
			
		||||
f 3/6/4 2/17/4 44/18/4 9/16/4
 | 
			
		||||
f 10/19/5 11/20/5 12/21/5 13/22/5
 | 
			
		||||
f 11/23/6 14/24/6 15/25/6 12/26/6
 | 
			
		||||
f 16/27/7 10/28/7 13/29/7 17/30/7
 | 
			
		||||
f 14/31/8 16/32/8 17/33/8 15/34/8
 | 
			
		||||
f 15/35/9 18/36/9 19/37/9 12/38/9
 | 
			
		||||
f 20/39/1 21/40/1 22/41/1 18/42/1
 | 
			
		||||
f 18/43/10 22/44/10 23/45/10 19/46/10
 | 
			
		||||
f 19/47/3 23/48/3 24/49/3 25/50/3
 | 
			
		||||
f 21/51/11 20/39/11 25/52/11 24/49/11
 | 
			
		||||
f 21/53/4 24/54/4 23/55/4 22/56/4
 | 
			
		||||
f 12/38/9 19/37/9 25/57/9 13/58/9
 | 
			
		||||
f 13/58/9 25/57/9 20/59/9 17/60/9
 | 
			
		||||
f 17/60/9 20/59/9 18/36/9 15/35/9
 | 
			
		||||
f 2/17/12 1/61/12 8/62/12 7/13/12
 | 
			
		||||
f 26/63/5 27/64/5 28/65/5 29/66/5
 | 
			
		||||
f 27/67/6 30/68/6 31/69/6 28/70/6
 | 
			
		||||
f 32/71/7 26/72/7 29/73/7 33/74/7
 | 
			
		||||
f 30/75/8 32/76/8 33/77/8 31/78/8
 | 
			
		||||
f 34/79/5 35/80/5 36/81/5 37/82/5
 | 
			
		||||
f 35/83/6 38/84/6 39/85/6 36/86/6
 | 
			
		||||
f 40/87/7 34/88/7 37/89/7 41/90/7
 | 
			
		||||
f 38/91/8 40/92/8 41/93/8 39/94/8
 | 
			
		||||
f 37/82/13 36/81/13 11/20/13 10/19/13
 | 
			
		||||
f 36/86/14 39/85/14 14/24/14 11/23/14
 | 
			
		||||
f 41/90/15 37/89/15 10/28/15 16/27/15
 | 
			
		||||
f 39/94/16 41/93/16 16/32/16 14/31/16
 | 
			
		||||
f 43/95/13 42/96/13 27/64/13 26/63/13
 | 
			
		||||
f 42/14/14 9/97/14 30/68/14 27/67/14
 | 
			
		||||
f 44/98/15 43/99/15 26/72/15 32/71/15
 | 
			
		||||
f 9/100/16 44/101/16 32/76/16 30/75/16
 | 
			
		||||
f 29/66/13 28/65/13 35/80/13 34/79/13
 | 
			
		||||
f 28/70/14 31/69/14 38/84/14 35/83/14
 | 
			
		||||
f 33/74/15 29/73/15 34/88/15 40/87/15
 | 
			
		||||
f 31/78/16 33/77/16 40/92/16 38/91/16
 | 
			
		||||
f 8/102/9 1/103/9 4/104/9 6/105/9
 | 
			
		||||
g Cube_Cube_Material.001_Cube_Cube_Material.001_sides_with_band
 | 
			
		||||
s off
 | 
			
		||||
f 47/106/10 51/107/10 52/108/10 50/109/10
 | 
			
		||||
f 48/110/11 49/111/11 46/112/11 45/113/11
 | 
			
		||||
f 47/114/9 50/115/9 48/116/9 45/117/9
 | 
			
		||||
f 51/118/4 46/112/4 49/111/4 52/119/4
 | 
			
		||||
g Cube_Cube_Material.001_Cube_Cube_Material.001_sides_without_band
 | 
			
		||||
f 45/113/1 46/120/1 51/107/1 47/121/1
 | 
			
		||||
f 50/109/3 52/119/3 49/111/3 48/122/3
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 202 B  | 
							
								
								
									
										
											BIN
										
									
								
								extranodes/textures/technic_steel_strut_overlay.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 103 B  | 
							
								
								
									
										14
									
								
								manual.md
									
									
									
									
									
								
							
							
						
						@@ -13,14 +13,16 @@ The technic modpack depends on some other modpacks:
 | 
			
		||||
    signalling elements
 | 
			
		||||
*   pipeworks, which supports the automation of item transport
 | 
			
		||||
*   moreores, which provides some additional ore types
 | 
			
		||||
*   basic_materials, which provides some basic craft items
 | 
			
		||||
 | 
			
		||||
This manual doesn't explain how to use these other modpacks, which have 
 | 
			
		||||
This manual doesn't explain how to use these other modpacks, which have
 | 
			
		||||
their own manuals:
 | 
			
		||||
 | 
			
		||||
*   [Minetest Game Documentation](https://wiki.minetest.net/Main_Page)
 | 
			
		||||
*   [Mesecons Documentation](http://mesecons.net/items.html)
 | 
			
		||||
*   [Pipeworks Documentation](https://github.com/minetest-mods/pipeworks/wiki)
 | 
			
		||||
*   [Pipeworks Documentation](https://gitlab.com/VanessaE/pipeworks/-/wikis/home)
 | 
			
		||||
*   [Moreores Forum Post](https://forum.minetest.net/viewtopic.php?t=549)
 | 
			
		||||
*   [Basic materials Repository](https://gitlab.com/VanessaE/basic_materials)
 | 
			
		||||
 | 
			
		||||
Recipes for constructable items in technic are generally not guessable,
 | 
			
		||||
and are also not specifically documented here.  You should use a
 | 
			
		||||
@@ -74,9 +76,9 @@ Although common, it is very heavily used, and most of the time it will
 | 
			
		||||
be the material that most limits your activity.
 | 
			
		||||
 | 
			
		||||
Tin is part of the basic Minetest game (having migrated there from
 | 
			
		||||
moreores).  It is found from elevation +8 downwards, with no 
 | 
			
		||||
elevation-dependent variations in abundance beyond that point.  
 | 
			
		||||
It is a common metal.  Its main use in pure form is as a component 
 | 
			
		||||
moreores).  It is found from elevation +8 downwards, with no
 | 
			
		||||
elevation-dependent variations in abundance beyond that point.
 | 
			
		||||
It is a common metal.  Its main use in pure form is as a component
 | 
			
		||||
of electrical batteries.  Apart from that its main purpose is
 | 
			
		||||
as the secondary ingredient in bronze (the base being copper), but bronze
 | 
			
		||||
is itself little used.  Its abundance is well in excess of its usage,
 | 
			
		||||
@@ -1152,7 +1154,7 @@ dig identical areas, one on each side of the square cross section.
 | 
			
		||||
### forcefield emitter ###
 | 
			
		||||
 | 
			
		||||
The forcefield emitter is an HV powered machine that generates a
 | 
			
		||||
forcefield remeniscent of those seen in many science-fiction stories.
 | 
			
		||||
forcefield reminiscent of those seen in many science-fiction stories.
 | 
			
		||||
 | 
			
		||||
The emitter can be configured to generate a forcefield of either
 | 
			
		||||
spherical or cubical shape, in either case centered on the emitter.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								modpack.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
name = technic
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
 | 
			
		||||
@@ -21,6 +21,9 @@ celeron55 (Perttu Ahola) modified by Zefram (CC BY-SA 3.0):
 | 
			
		||||
sdzen (Elise Staudter) (CC BY-SA 3.0):
 | 
			
		||||
  * most of the older 16x16 textures
 | 
			
		||||
 | 
			
		||||
leftshift (CC BY-SA 3.0):
 | 
			
		||||
  * technic_river_water_can.png
 | 
			
		||||
 | 
			
		||||
RealBadAngel: (WTFPL)
 | 
			
		||||
  * Everything else.
 | 
			
		||||
 | 
			
		||||
@@ -32,4 +35,4 @@ veikk0 (Veikko Mäkelä) (CC BY-SA 4.0):
 | 
			
		||||
  * technic_hv_nuclear_reactor_siren_danger_loop.ogg
 | 
			
		||||
    * Derived from "Nuclear alarm.wav" by Freesound.org user rene___ from <https://freesound.org/people/rene___/sounds/56778/>. Originally licensed under CC0 1.0 <https://creativecommons.org/publicdomain/zero/1.0/>
 | 
			
		||||
 | 
			
		||||
CC BY-SA 4.0: <https://creativecommons.org/licenses/by-sa/4.0/>
 | 
			
		||||
CC BY-SA 4.0: <https://creativecommons.org/licenses/by-sa/4.0/>
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,18 @@ if pipeworks.enable_teleport_tube then
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- basic materials' brass ingot
 | 
			
		||||
 | 
			
		||||
minetest.clear_craft({
 | 
			
		||||
	output = "basic_materials:brass_ingot",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	output = "basic_materials:brass_ingot 9",
 | 
			
		||||
	recipe = { "basic_materials:brass_block" },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- tubes crafting recipes
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
@@ -71,54 +83,24 @@ minetest.register_craft({
 | 
			
		||||
	output = 'technic:red_energy_crystal',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'moreores:silver_ingot', 'technic:battery', 'dye:red'},
 | 
			
		||||
		{'technic:battery', 'default:diamondblock', 'technic:battery'},
 | 
			
		||||
		{'technic:battery', 'basic_materials:energy_crystal_simple', 'technic:battery'},
 | 
			
		||||
		{'dye:red', 'technic:battery', 'moreores:silver_ingot'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:fine_copper_wire 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'', 'default:copper_ingot', ''},
 | 
			
		||||
		{'', 'default:copper_ingot', ''},
 | 
			
		||||
		{'', 'default:copper_ingot', ''},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:fine_gold_wire 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'', 'default:gold_ingot', ''},
 | 
			
		||||
		{'', 'default:gold_ingot', ''},
 | 
			
		||||
		{'', 'default:gold_ingot', ''},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:fine_silver_wire 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'', 'moreores:silver_ingot', ''},
 | 
			
		||||
		{'', 'moreores:silver_ingot', ''},
 | 
			
		||||
		{'', 'moreores:silver_ingot', ''},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:copper_coil 1',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'technic:fine_copper_wire', 'technic:wrought_iron_ingot', 'technic:fine_copper_wire'},
 | 
			
		||||
		{'basic_materials:copper_wire', 'technic:wrought_iron_ingot', 'basic_materials:copper_wire'},
 | 
			
		||||
		{'technic:wrought_iron_ingot', '', 'technic:wrought_iron_ingot'},
 | 
			
		||||
		{'technic:fine_copper_wire', 'technic:wrought_iron_ingot', 'technic:fine_copper_wire'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:motor',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'technic:carbon_steel_ingot', 'technic:copper_coil', 'technic:carbon_steel_ingot'},
 | 
			
		||||
		{'technic:carbon_steel_ingot', 'technic:copper_coil', 'technic:carbon_steel_ingot'},
 | 
			
		||||
		{'technic:carbon_steel_ingot', 'default:copper_ingot', 'technic:carbon_steel_ingot'},
 | 
			
		||||
	}
 | 
			
		||||
		{'basic_materials:copper_wire', 'technic:wrought_iron_ingot', 'basic_materials:copper_wire'},
 | 
			
		||||
	},
 | 
			
		||||
	replacements = {
 | 
			
		||||
		{"basic_materials:copper_wire", "basic_materials:empty_spool"},
 | 
			
		||||
		{"basic_materials:copper_wire", "basic_materials:empty_spool"},
 | 
			
		||||
		{"basic_materials:copper_wire", "basic_materials:empty_spool"},
 | 
			
		||||
		{"basic_materials:copper_wire", "basic_materials:empty_spool"}
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
local isolation = mesecons_materials and "mesecons_materials:fiber" or "technic:rubber"
 | 
			
		||||
@@ -153,10 +135,11 @@ minetest.register_craft({
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:control_logic_unit',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'', 'technic:fine_gold_wire', ''},
 | 
			
		||||
		{'', 'basic_materials:gold_wire', ''},
 | 
			
		||||
		{'default:copper_ingot', 'technic:silicon_wafer', 'default:copper_ingot'},
 | 
			
		||||
		{'', 'technic:chromium_ingot', ''},
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	replacements = { {"basic_materials:gold_wire", "basic_materials:empty_spool"}, },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
@@ -179,7 +162,7 @@ minetest.register_craft({
 | 
			
		||||
	output = "technic:machine_casing",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "technic:cast_iron_ingot", "technic:cast_iron_ingot", "technic:cast_iron_ingot" },
 | 
			
		||||
		{ "technic:cast_iron_ingot", "technic:brass_ingot", "technic:cast_iron_ingot" },
 | 
			
		||||
		{ "technic:cast_iron_ingot", "basic_materials:brass_ingot", "technic:cast_iron_ingot" },
 | 
			
		||||
		{ "technic:cast_iron_ingot", "technic:cast_iron_ingot", "technic:cast_iron_ingot" },
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
default
 | 
			
		||||
pipeworks
 | 
			
		||||
technic_worldgen
 | 
			
		||||
basic_materials
 | 
			
		||||
bucket?
 | 
			
		||||
screwdriver?
 | 
			
		||||
mesecons?
 | 
			
		||||
@@ -10,3 +11,4 @@ digiline_remote?
 | 
			
		||||
intllib?
 | 
			
		||||
unified_inventory?
 | 
			
		||||
vector_extras?
 | 
			
		||||
dye?
 | 
			
		||||
 
 | 
			
		||||
@@ -64,6 +64,10 @@ Registration functions
 | 
			
		||||
### Specific machines
 | 
			
		||||
* `technic.register_solar_array(data)`
 | 
			
		||||
	* data is a table
 | 
			
		||||
* `technic.can_insert_unique_stack(pos, node, stack, direction)`
 | 
			
		||||
* `technic.insert_object_unique_stack(pos, node, stack, direction)`
 | 
			
		||||
	* Functions for the parameters `can_insert` and `insert_object` to avoid
 | 
			
		||||
	  filling multiple inventory slots with same type of item.
 | 
			
		||||
 | 
			
		||||
Used itemdef fields
 | 
			
		||||
-------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -91,8 +91,8 @@ end
 | 
			
		||||
technic.tube_inject_item = pipeworks.tube_inject_item or function(pos, start_pos, velocity, item)
 | 
			
		||||
	local tubed = pipeworks.tube_item(vector.new(pos), item)
 | 
			
		||||
	tubed:get_luaentity().start_pos = vector.new(start_pos)
 | 
			
		||||
	tubed:setvelocity(velocity)
 | 
			
		||||
	tubed:setacceleration(vector.new(0, 0, 0))
 | 
			
		||||
	tubed:set_velocity(velocity)
 | 
			
		||||
	tubed:set_acceleration(vector.new(0, 0, 0))
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -221,4 +221,3 @@ function technic.trace_node_ray_fat(pos, dir, range)
 | 
			
		||||
		return p
 | 
			
		||||
	end, vector.round(pos)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,10 +26,10 @@ dofile(modpath.."/config.lua")
 | 
			
		||||
-- Helper functions
 | 
			
		||||
dofile(modpath.."/helpers.lua")
 | 
			
		||||
 | 
			
		||||
-- Items 
 | 
			
		||||
-- Items
 | 
			
		||||
dofile(modpath.."/items.lua")
 | 
			
		||||
 | 
			
		||||
-- Craft recipes for items 
 | 
			
		||||
-- Craft recipes for items
 | 
			
		||||
dofile(modpath.."/crafts.lua")
 | 
			
		||||
 | 
			
		||||
-- Register functions
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ minetest.register_tool("technic:blue_energy_crystal", {
 | 
			
		||||
			fleshy = {times={}, uses=10000, maxlevel=0}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}) 
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_tool("technic:green_energy_crystal", {
 | 
			
		||||
	description = S("Green Energy Crystal"),
 | 
			
		||||
@@ -51,7 +51,7 @@ minetest.register_tool("technic:green_energy_crystal", {
 | 
			
		||||
			fleshy = {times={}, uses=10000, maxlevel=0}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}) 
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_tool("technic:red_energy_crystal", {
 | 
			
		||||
	description = S("Red Energy Crystal"),
 | 
			
		||||
@@ -67,22 +67,6 @@ minetest.register_tool("technic:red_energy_crystal", {
 | 
			
		||||
			fleshy = {times={}, uses=10000, maxlevel=0}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}) 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("technic:fine_copper_wire", {
 | 
			
		||||
	description = S("Fine Copper Wire"),
 | 
			
		||||
	inventory_image = "technic_fine_copper_wire.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("technic:fine_gold_wire", {
 | 
			
		||||
	description = S("Fine Gold Wire"),
 | 
			
		||||
	inventory_image = "technic_fine_gold_wire.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("technic:fine_silver_wire", {
 | 
			
		||||
	description = S("Fine Silver Wire"),
 | 
			
		||||
	inventory_image = "technic_fine_silver_wire.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("technic:copper_coil", {
 | 
			
		||||
@@ -90,11 +74,6 @@ minetest.register_craftitem("technic:copper_coil", {
 | 
			
		||||
	inventory_image = "technic_copper_coil.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("technic:motor", {
 | 
			
		||||
	description = S("Electric Motor"),
 | 
			
		||||
	inventory_image = "technic_motor.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("technic:lv_transformer", {
 | 
			
		||||
	description = S("Low Voltage Transformer"),
 | 
			
		||||
	inventory_image = "technic_lv_transformer.png",
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ Mixed Metal Ingot = Mischmetallbarren
 | 
			
		||||
Composite Plate = Verbundplatte
 | 
			
		||||
Copper Plate = Kupferplatte
 | 
			
		||||
Carbon Plate = Kohlefaserplatte
 | 
			
		||||
Graphite = Graphit 
 | 
			
		||||
Graphite = Graphit
 | 
			
		||||
Carbon Cloth = Kohlefasergewebe
 | 
			
		||||
Raw Latex = Rohlatex
 | 
			
		||||
Rubber Fiber = Gummifaser
 | 
			
		||||
@@ -42,7 +42,7 @@ Inventory move disallowed due to protection = Das Inventar ist geschuetzt, Zugri
 | 
			
		||||
%s Enabled =
 | 
			
		||||
%s Idle = %s ist bereit
 | 
			
		||||
%s Improperly Placed = %s ist falsch plaziert
 | 
			
		||||
%s Unpowered = %s hat keine Stromversorgung 
 | 
			
		||||
%s Unpowered = %s hat keine Stromversorgung
 | 
			
		||||
%s Out Of Fuel = %s hat keinen Brennstoff
 | 
			
		||||
%s Has Bad Cabling = %s ist falsch verkabelt
 | 
			
		||||
%s Has No Network = %s hat kein Netzwerk
 | 
			
		||||
@@ -67,10 +67,9 @@ Disabled =
 | 
			
		||||
%s Alloy Furnace = %s Legierungsofen
 | 
			
		||||
%s Battery Box = %s Batteriebox
 | 
			
		||||
%s Cable = %s Kabel
 | 
			
		||||
%s CNC Machine = %s CNC-Maschine
 | 
			
		||||
%s Compressor = %s Kompressor
 | 
			
		||||
%s Extractor = %s Extraktor
 | 
			
		||||
%s Forcefield Emitter = %s Kraftfeld-Emitter 
 | 
			
		||||
%s Forcefield Emitter = %s Kraftfeld-Emitter
 | 
			
		||||
%s Furnace = %s Ofen
 | 
			
		||||
%s Grinder = %s Schleifmaschine
 | 
			
		||||
%s Music Player = %s Musikspieler
 | 
			
		||||
@@ -106,7 +105,7 @@ Administrative World Anchor =
 | 
			
		||||
Charge = Aufladen
 | 
			
		||||
Discharge = Entladen
 | 
			
		||||
Power level = Energiestufe
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge 
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge
 | 
			
		||||
@1 Battery Box: @2/@3 = @1 Batteriebox: @2/@3
 | 
			
		||||
# $1: Machine name $2: Supply $3: Demand
 | 
			
		||||
@1. Supply: @2 Demand: @3 = @1. Versorgung: @2 Bedarf: @3
 | 
			
		||||
@@ -121,41 +120,6 @@ Digging finished =
 | 
			
		||||
Digging %d m above machine =
 | 
			
		||||
Digging %d m below machine =
 | 
			
		||||
 | 
			
		||||
## CNC
 | 
			
		||||
Cylinder = Zylinder
 | 
			
		||||
Element Cross = Halbes Kreuzelement
 | 
			
		||||
Element Cross Double = Kreuzelement
 | 
			
		||||
Element Edge = Halbes Eckelement
 | 
			
		||||
Element Edge Double = Eckelement
 | 
			
		||||
Element End = Halbes Endelement
 | 
			
		||||
Element End Double = Endelement
 | 
			
		||||
Element Straight = Halbes aufrechtes Element
 | 
			
		||||
Element Straight Double = Aufrechtes Element
 | 
			
		||||
Element T = Halbes T-Element
 | 
			
		||||
Element T Double = T-Element
 | 
			
		||||
Horizontal Cylinder = Liegender Zylinder
 | 
			
		||||
One Curved Edge Block = Block mit einer abgerundeten Kante
 | 
			
		||||
Pyramid = Pyramide
 | 
			
		||||
Slope = Schraege
 | 
			
		||||
Slope Edge = Schraege mit Ecke
 | 
			
		||||
Slope Inner Edge = Schraege mit Innenecke
 | 
			
		||||
Slope Lying = Liegende Schraege
 | 
			
		||||
Slope Upside Down = Umgedrehte Schraege
 | 
			
		||||
Slope Upside Down Edge = Umgedrehte Schraege mit Ecke
 | 
			
		||||
Slope Upside Down Inner Edge = Umgedrehte Schraege mit Innenecke
 | 
			
		||||
Sphere = Kugel
 | 
			
		||||
Spike = Spitze
 | 
			
		||||
Stick = Stange
 | 
			
		||||
Two Curved Edge Block = Block mit zwei abgerundeten Kanten
 | 
			
		||||
Brick = Ziegel:
 | 
			
		||||
Cobble = Pflasterstein:
 | 
			
		||||
Dirt = Erde:
 | 
			
		||||
Leaves = Laub:
 | 
			
		||||
Sandstone = Sandstein:
 | 
			
		||||
Stone = Stein:
 | 
			
		||||
Tree = Baumstamm:
 | 
			
		||||
Wooden = Holz:
 | 
			
		||||
 | 
			
		||||
## Grinder Recipes
 | 
			
		||||
# $1: Name
 | 
			
		||||
%s Dust = %sstaub
 | 
			
		||||
 
 | 
			
		||||
@@ -63,7 +63,6 @@ Disabled =
 | 
			
		||||
%s Alloy Furnace = Horno de Aleacion %s
 | 
			
		||||
%s Battery Box = Caja de Bateria %s
 | 
			
		||||
%s Cable = Cable %s
 | 
			
		||||
%s CNC Machine = Maquina CNC %s
 | 
			
		||||
%s Compressor = Compresor %s
 | 
			
		||||
%s Extractor = Extractor %s
 | 
			
		||||
%s Forcefield Emitter = Emisor de Campo de Fuerza %s
 | 
			
		||||
@@ -102,7 +101,7 @@ Administrative World Anchor =
 | 
			
		||||
Charge = Cargar
 | 
			
		||||
Discharge = Descargar
 | 
			
		||||
Power level = Nivel de Poder
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge 
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge
 | 
			
		||||
@1 Battery Box: @2/@3 = Caja de Bateria @1: @2/@3
 | 
			
		||||
# $1: Machine name $2: Supply $3: Demand
 | 
			
		||||
@1. Supply: @2 Demand: @3 = @1. Alimentacion: @2 Demanda: @3
 | 
			
		||||
@@ -115,40 +114,6 @@ Digging finished =
 | 
			
		||||
Digging %d m above machine =
 | 
			
		||||
Digging %d m below machine =
 | 
			
		||||
 | 
			
		||||
## CNC Machine
 | 
			
		||||
Element Edge = Elemento Borde
 | 
			
		||||
Tree = Arbol
 | 
			
		||||
Element Cross Double = Elemento Cruz Doble
 | 
			
		||||
Spike = Pica
 | 
			
		||||
Element Edge Double = Elemento Borde Doble
 | 
			
		||||
Two Curved Edge Block = Dos Bloques de Borde Curvados
 | 
			
		||||
Pyramid = Piramide
 | 
			
		||||
Slope Upside Down Inner Edge = Borde Interno de Rampa Al Reves
 | 
			
		||||
Slope Upside Down Edge = Borde de Rampa Al Reves
 | 
			
		||||
Element Straight Double = Elemento Doble Recto
 | 
			
		||||
Sphere = Esfera
 | 
			
		||||
Element End Double = Doble Fin de Elemento
 | 
			
		||||
Element Straight = Recta de Elemento
 | 
			
		||||
Horizontal Cylinder = Cilindro Horizontal
 | 
			
		||||
Slope Inner Edge = Borde Interno de Rampa
 | 
			
		||||
One Curved Edge Block = Un Bloque de Borde Curvado
 | 
			
		||||
Element Cross = Cruce de Elementos
 | 
			
		||||
Stick = Varita
 | 
			
		||||
Element End = Fin de Elemento
 | 
			
		||||
Slope Lying = Rampa en Reposo
 | 
			
		||||
Slope Upside Down = Rampa Al Reves
 | 
			
		||||
Slope Edge = Borde de Rampa
 | 
			
		||||
Slope = Rampa
 | 
			
		||||
Element T = Elemento T
 | 
			
		||||
Cylinder = Cilindro
 | 
			
		||||
Cobble = Adoquines
 | 
			
		||||
Stone = Piedra
 | 
			
		||||
Brick = Ladrillo
 | 
			
		||||
Dirt = Tierra
 | 
			
		||||
Sandstone = Arenisca
 | 
			
		||||
Wooden = Madera
 | 
			
		||||
Leaves = Hojas
 | 
			
		||||
 | 
			
		||||
## Grinder Recipes
 | 
			
		||||
# $1: Name
 | 
			
		||||
%s Dust = Polvo de %s
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										215
									
								
								technic/locale/fr.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,215 @@
 | 
			
		||||
# template.txt
 | 
			
		||||
# Template for translations of Technic
 | 
			
		||||
 | 
			
		||||
## Misc
 | 
			
		||||
[Technic] Loaded in %f seconds                          = [Technic] Chargement en %f secondes
 | 
			
		||||
                                                        
 | 
			
		||||
## Items                                                
 | 
			
		||||
Silicon Wafer                                           = Tranche de silicium
 | 
			
		||||
Doped Silicon Wafer                                     = Tranche de silicium doppée
 | 
			
		||||
Enriched Uranium                                        = Uranium enrichi
 | 
			
		||||
Uranium Fuel                                            = Uranium 235
 | 
			
		||||
Diamond Drill Head                                      = Tête de forage en diamant
 | 
			
		||||
Blue Energy Crystal                                     = Cristal d'énergie bleu
 | 
			
		||||
Green Energy Crystal                                    = Cristal d'énergie vert
 | 
			
		||||
Red Energy Crystal                                      = Cristal d'énergie rouge
 | 
			
		||||
Fine Copper Wire                                        = Fil en cuivre fin
 | 
			
		||||
Fine Gold Wire                                          = Fil en or fin
 | 
			
		||||
Fine Silver Wire                                        = Fil en argent fin
 | 
			
		||||
Copper Coil                                             = Bobine de cuivre
 | 
			
		||||
Electric Motor                                          = Moteur électrique
 | 
			
		||||
Low Voltage Transformer                                 = Transformateur basse tension
 | 
			
		||||
Medium Voltage Transformer                              = Transformateur moyenne tension
 | 
			
		||||
High Voltage Transformer                                = Transformateur haute tension
 | 
			
		||||
Control Logic Unit                                      = Unité de contrôle logique
 | 
			
		||||
Mixed Metal Ingot                                       = Lingot de métal allié
 | 
			
		||||
Composite Plate                                         = Plaque composite
 | 
			
		||||
Copper Plate                                            = Plaque de cuivre
 | 
			
		||||
Carbon Plate                                            = Plaque de carbone
 | 
			
		||||
Graphite                                                = Graphite
 | 
			
		||||
Carbon Cloth                                            = Fibre de carbone
 | 
			
		||||
Raw Latex                                               = Latex brut
 | 
			
		||||
Rubber Fiber                                            = Fibre de caoutchouc
 | 
			
		||||
%.1f%%-Fissile Uranium Ingot                            = Lingot d'uranium fissile (%.1f%%)
 | 
			
		||||
%.1f%%-Fissile Uranium Block                            = Bloc d'uranium fissile (%.1f%%)
 | 
			
		||||
 | 
			
		||||
## Machine misc
 | 
			
		||||
Machine cannot be removed because it is not empty       = La machine ne peut pas être retirée car elle n'est pas vide
 | 
			
		||||
Inventory move disallowed due to protection             = Le mouvement d'inventaire n'est pas autorisé en raison de la protection
 | 
			
		||||
 | 
			
		||||
# $1: Machine name (Includes tier)
 | 
			
		||||
@1 Active (@2 EU)                                       = @1 Active (@2 EU)
 | 
			
		||||
%s Active                                               = %s actif
 | 
			
		||||
%s Disabled                                             = %s désactivé
 | 
			
		||||
%s Enabled                                              = %s activé
 | 
			
		||||
%s Idle                                                 = %s au repos
 | 
			
		||||
%s Improperly Placed                                    = %s est mal placé
 | 
			
		||||
%s is empty                                             = %s est vide
 | 
			
		||||
%s Unpowered                                            = %s non alimenté en énergie
 | 
			
		||||
%s Out Of Fuel                                          = %s plus de carburant
 | 
			
		||||
%s Has Bad Cabling                                      = %s est mal cablé
 | 
			
		||||
%s (Slave)                                              = %s (esclave)
 | 
			
		||||
%s Has No Network                                       = %s n'a pas de réseau
 | 
			
		||||
%s Finished                                             = %s a fini
 | 
			
		||||
Enable/Disable                                          = Activer/Désactiver
 | 
			
		||||
Range                                                   = Plage
 | 
			
		||||
Upgrade Slots                                           = Emplacement d'amélioration
 | 
			
		||||
In:                                                     = Entrée :
 | 
			
		||||
Out:                                                    = Sortie :
 | 
			
		||||
Slot %d                                                 = Emplacement %d
 | 
			
		||||
Itemwise                                                = Item par Item
 | 
			
		||||
Stackwise                                               = Stack par Stack
 | 
			
		||||
Ignoring Mesecon Signal                                 = Ignorer le signal Mesecon
 | 
			
		||||
Controlled by Mesecon Signal                            = Contrôlé par signal Mesecon
 | 
			
		||||
Owner:                                                  = Propriétaire :
 | 
			
		||||
Unlocked                                                = Déverrouillé
 | 
			
		||||
Locked                                                  = Verrouillé
 | 
			
		||||
Radius:                                                 = Rayon :
 | 
			
		||||
Enabled                                                 = Activé
 | 
			
		||||
Disabled                                                = Désactivé
 | 
			
		||||
 | 
			
		||||
## Machine names
 | 
			
		||||
# $1: Tier
 | 
			
		||||
%s Alloy Furnace                                        = Four à alliage %s
 | 
			
		||||
%s Battery Box                                          = Batterie %s
 | 
			
		||||
%s Cable                                                = Câble %s
 | 
			
		||||
%s CNC Machine                                          = Machine-outils %s
 | 
			
		||||
%s Centrifuge                                           = Centrifugeuse %s
 | 
			
		||||
%s Compressor                                           = Compresseur %s
 | 
			
		||||
%s Extractor                                            = Extracteur %s
 | 
			
		||||
%s Forcefield Emitter                                   = Emetteur de champ de force %s
 | 
			
		||||
%s Furnace                                              = Four %s
 | 
			
		||||
%s Grinder                                              = Broyeur %s
 | 
			
		||||
%s Music Player                                         = Grammophone %s
 | 
			
		||||
%s Quarry                                               = Carrière %s
 | 
			
		||||
%s Tool Workshop                                        = Atelier d'outillage %s
 | 
			
		||||
Arrayed Solar %s Generator                              = Générateur solaire %s
 | 
			
		||||
Fuel-Fired %s Generator                                 = Générateur thermique %s
 | 
			
		||||
Geothermal %s Generator                                 = Géénarteur géothermique %s
 | 
			
		||||
Hydro %s Generator                                      = Générateur hydroélectrique %s
 | 
			
		||||
Nuclear %s Generator Core                               = Générateur nucléaire %
 | 
			
		||||
Small Solar %s Generator                                = Petit générateur solaire %s
 | 
			
		||||
Wind %s Generator                                       = Générateur éolien %s
 | 
			
		||||
Self-Contained Injector                                 = Injecteur autonome
 | 
			
		||||
Constructor Mk%d                                        = Constructeur Mk%d
 | 
			
		||||
Frame                                                   = Cadre
 | 
			
		||||
Frame Motor                                             = Cadre de moteur
 | 
			
		||||
Template                                                = Modèle
 | 
			
		||||
Template (replacing)                                    =
 | 
			
		||||
Template Motor                                          =
 | 
			
		||||
Template Tool                                           =
 | 
			
		||||
Battery Box                                             = Compartiment à batterie
 | 
			
		||||
Supply Converter                                        = Convertisseur de tension
 | 
			
		||||
Switching Station                                       = Station de commutation
 | 
			
		||||
Fuel-Fired Alloy Furnace                                = Four à alliage à carburant
 | 
			
		||||
Fuel-Fired Furnace                                      = Four à carburant
 | 
			
		||||
Wind Mill Frame                                         = Cadre d'éolienne
 | 
			
		||||
Forcefield                                              = Champ de force
 | 
			
		||||
Nuclear Reactor Rod Compartment                         = Compartiment à barres du réacteur nucléaire
 | 
			
		||||
Administrative World Anchor                             =
 | 
			
		||||
                                                        
 | 
			
		||||
## Machine-specific                                     
 | 
			
		||||
# $1: Pruduced EU                                       
 | 
			
		||||
Charge                                                  = Charger
 | 
			
		||||
Discharge                                               = Décharger
 | 
			
		||||
Power level                                             = Niveau d'énergie
 | 
			
		||||
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge 
 | 
			
		||||
@1 Battery Box: @2/@3                                   = @1 batterie : @2/@3
 | 
			
		||||
                                                        
 | 
			
		||||
# $1: Machine name $2: Supply $3: Demand                
 | 
			
		||||
@1. Supply: @2 Demand: @3                               = @1. fournit : @2 demande : @3
 | 
			
		||||
Production at %d%%                                      = Production à %d%%
 | 
			
		||||
Choose Milling Program:                                 = Choisissez le programme de fraisage :
 | 
			
		||||
Slim Elements half / normal height:                     =
 | 
			
		||||
Current track %s                                        = Morceau actuel %s
 | 
			
		||||
Stopped                                                 = Arrêté
 | 
			
		||||
Keeping %d/%d map blocks loaded                         =
 | 
			
		||||
Digging not started                                     = Creusement non démarré
 | 
			
		||||
Digging finished                                        = Creusement terminé
 | 
			
		||||
Digging %d m above machine                              = Creusement à %dm au dessus de la machine
 | 
			
		||||
Digging %d m below machine                              = Creusement à %dm en dessous de la machine
 | 
			
		||||
@1 (@2 @3 -> @4 @5)                                     = @1 (@2 @3 -> @4 @5)
 | 
			
		||||
                                                        
 | 
			
		||||
## CNC                                                  
 | 
			
		||||
Cylinder                                                =
 | 
			
		||||
Element Cross                                           = Elément croisé
 | 
			
		||||
Element Cross Double                                    = Elément croisé (double)
 | 
			
		||||
Element Edge                                            = Elément de bordure
 | 
			
		||||
Element Edge Double                                     = Elément de bordure (double)
 | 
			
		||||
Element End                                             = Elément de fin
 | 
			
		||||
Element End Double                                      = Elément de fin (double)
 | 
			
		||||
Element Straight                                        = Elément droit
 | 
			
		||||
Element Straight Double                                 = Elément droit (double)
 | 
			
		||||
Element T                                               = Elément en T
 | 
			
		||||
Element T Double                                        = Elément en T (double)
 | 
			
		||||
Horizontal Cylinder                                     = Cylindre horizontal
 | 
			
		||||
One Curved Edge Block                                   = Bloc à un bord incurvé
 | 
			
		||||
Pyramid                                                 = Pyramide
 | 
			
		||||
Slope                                                   = Pente
 | 
			
		||||
Slope Edge                                              =
 | 
			
		||||
Slope Inner Edge                                        =
 | 
			
		||||
Slope Lying                                             =
 | 
			
		||||
Slope Upside Down                                       =
 | 
			
		||||
Slope Upside Down Edge                                  =
 | 
			
		||||
Slope Upside Down Inner Edge                            =
 | 
			
		||||
Sphere                                                  = Sphère
 | 
			
		||||
Spike                                                   = Pointe
 | 
			
		||||
Stick                                                   = Bâton
 | 
			
		||||
Two Curved Edge Block                                   = Bloc à deux bords incurvés
 | 
			
		||||
Brick                                                   = Brique
 | 
			
		||||
Cobble                                                  = Pierre taillée
 | 
			
		||||
Dirt                                                    = Terre
 | 
			
		||||
Leaves                                                  = Feuilles
 | 
			
		||||
Sandstone                                               = Grès
 | 
			
		||||
Stone                                                   = Pierre
 | 
			
		||||
Tree                                                    = Arbre
 | 
			
		||||
Wooden                                                  = Bois
 | 
			
		||||
 | 
			
		||||
## Grinder Recipes
 | 
			
		||||
# $1: Name
 | 
			
		||||
%s Dust                                                 = Poudre de %s
 | 
			
		||||
Akalin                                                  =
 | 
			
		||||
Alatro                                                  =
 | 
			
		||||
Arol                                                    =
 | 
			
		||||
Brass                                                   = Laiton
 | 
			
		||||
Bronze                                                  = Bronze
 | 
			
		||||
Carbon Steel                                            = Acier au carbone
 | 
			
		||||
Cast Iron                                               = Fonte
 | 
			
		||||
Chromium                                                = Chrome
 | 
			
		||||
Coal                                                    = Charbon
 | 
			
		||||
Copper                                                  = Cuivre
 | 
			
		||||
Gold                                                    = Or
 | 
			
		||||
Mithril                                                 = Mithril
 | 
			
		||||
Silver                                                  = Argent
 | 
			
		||||
Stainless Steel                                         = Acier inoxydable
 | 
			
		||||
Talinite                                                = Talanite
 | 
			
		||||
Tin                                                     = Etain
 | 
			
		||||
Wrought Iron                                            = Fer
 | 
			
		||||
Zinc                                                    = Zinc
 | 
			
		||||
%.1f%%-Fissile Uranium                                  = Uranium fissile (%.1f%%)
 | 
			
		||||
 | 
			
		||||
## Tools
 | 
			
		||||
RE Battery                                              = Batterie RE
 | 
			
		||||
Water Can                                               = Jerrycan d'eau
 | 
			
		||||
Lava Can                                                = Jerrycan de lave
 | 
			
		||||
Chainsaw                                                = Tronçonneuse
 | 
			
		||||
Flashlight                                              = Lampe-torche
 | 
			
		||||
3 nodes deep.                                           =
 | 
			
		||||
3 nodes tall.                                           =
 | 
			
		||||
3 nodes wide.                                           =
 | 
			
		||||
3x3 nodes.                                              =
 | 
			
		||||
Use while sneaking to change Mining Drill Mk%d modes.   =
 | 
			
		||||
Mining Drill Mk%d Mode %d                               = Foreuse Mk%d Mode %d
 | 
			
		||||
Mining Drill Mk%d                                       = Foreuse Mk%d
 | 
			
		||||
Mining Laser Mk%d                                       = Foreuse laser Mk%d
 | 
			
		||||
Single node.                                            = Mode simple.
 | 
			
		||||
Sonic Screwdriver                                       = Tournevis supersonique
 | 
			
		||||
Tree Tap                                                = Robinet à sève
 | 
			
		||||
 | 
			
		||||
## Craft descriptions
 | 
			
		||||
Alloy cooking                                           = Fonderie d'alliage
 | 
			
		||||
Grinding                                                = Broyage
 | 
			
		||||
Compressing                                             = Compression
 | 
			
		||||
Extracting                                              = Extraction
 | 
			
		||||
Separating                                              = Séparation
 | 
			
		||||
@@ -64,7 +64,6 @@ Disabled = Disabilitato
 | 
			
		||||
%s Alloy Furnace = %s Fornace per leghe
 | 
			
		||||
%s Battery Box =  %s Box batterie
 | 
			
		||||
%s Cable = Cavo %s
 | 
			
		||||
%s CNC Machine = Tornio CNC %s
 | 
			
		||||
%s Compressor = Compressore %s
 | 
			
		||||
%s Extractor = Estrattore %s
 | 
			
		||||
%s Forcefield Emitter = Emettitore di campo di forza %s
 | 
			
		||||
@@ -118,41 +117,6 @@ Digging finished = Scavo finito
 | 
			
		||||
Digging %d m above machine = Scavo di %d m sopra la macchina
 | 
			
		||||
Digging %d m below machine = Scavo di %d m sotto la macchina
 | 
			
		||||
 | 
			
		||||
## CNC
 | 
			
		||||
Cylinder = Cilindro
 | 
			
		||||
Element Cross = Elemento a croce
 | 
			
		||||
Element Cross Double = Elemento a croce doppio
 | 
			
		||||
Element Edge = Elemento bordo
 | 
			
		||||
Element Edge Double = Elemento bordo doppio
 | 
			
		||||
Element End = Elemento finale
 | 
			
		||||
Element End Double = Elemento finale doppio
 | 
			
		||||
Element Straight = Elemento dritto
 | 
			
		||||
Element Straight Double = Elemento dritto doppio
 | 
			
		||||
Element T = Elemento a T
 | 
			
		||||
Element T Double = Elemento a T doppio
 | 
			
		||||
Horizontal Cylinder = Cilindro orizzontale
 | 
			
		||||
One Curved Edge Block = Blocco con bordo curvo
 | 
			
		||||
Pyramid = Piramide
 | 
			
		||||
Slope = Inclinato
 | 
			
		||||
Slope Edge = Bordo inclinato
 | 
			
		||||
Slope Inner Edge = Bordo interno inclinato
 | 
			
		||||
Slope Lying = Pendenza bugiarda
 | 
			
		||||
Slope Upside Down = Pendenza capovolta
 | 
			
		||||
Slope Upside Down Edge = Bordo inclinato capovolto
 | 
			
		||||
Slope Upside Down Inner Edge = Bordo interno inclinato capovolto
 | 
			
		||||
Sphere = Sfera
 | 
			
		||||
Spike = Spuntone
 | 
			
		||||
Stick = Bastone
 | 
			
		||||
Two Curved Edge Block = Blocco con bordo a doppia curva
 | 
			
		||||
Brick = Mattone
 | 
			
		||||
Cobble = Ciottolato
 | 
			
		||||
Dirt = Terra
 | 
			
		||||
Leaves = Foglie
 | 
			
		||||
Sandstone = Arenaria
 | 
			
		||||
Stone = Pietra
 | 
			
		||||
Tree = Albero
 | 
			
		||||
Wooden = Legno
 | 
			
		||||
 | 
			
		||||
## Grinder Recipes
 | 
			
		||||
# $1: Name
 | 
			
		||||
%s Dust = Polvere di %s
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										175
									
								
								technic/locale/pl.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,175 @@
 | 
			
		||||
# Polish Translation for Technic mod
 | 
			
		||||
# Polskie tłumaczenie Technic mod
 | 
			
		||||
# by mat9117
 | 
			
		||||
 | 
			
		||||
## Misc
 | 
			
		||||
[Technic] Loaded in %f seconds = [Technic] Wczytany w %f sekund
 | 
			
		||||
 | 
			
		||||
## Items
 | 
			
		||||
Silicon Wafer = Płytka krzemowa
 | 
			
		||||
Doped Silicon Wafer = Domieszkowana płytka krzemowa
 | 
			
		||||
Enriched Uranium = Wzbogacony uran
 | 
			
		||||
Uranium Fuel = Paliwo uranowe
 | 
			
		||||
Diamond Drill Head = Diamentowa głowica wiertła
 | 
			
		||||
Blue Energy Crystal = Niebieski kryształ energii
 | 
			
		||||
Green Energy Crystal = Zielony kryształ energii
 | 
			
		||||
Red Energy Crystal = Czerwony kryształ energii
 | 
			
		||||
Fine Copper Wire = Cienki miedziany drut
 | 
			
		||||
Copper Coil = Miedziana cewka
 | 
			
		||||
Electric Motor = Silnik elektryczny
 | 
			
		||||
Low Voltage Transformer = Transformator niskiego napięcia
 | 
			
		||||
Medium Voltage Transformer = Transformator średniego napięcia
 | 
			
		||||
High Voltage Transformer = Transformator wysokiego napięcia
 | 
			
		||||
Control Logic Unit = Jednostka sterująca
 | 
			
		||||
Mixed Metal Ingot = Sztabka zmieszanych metali
 | 
			
		||||
Composite Plate = Płytka kompozytowa
 | 
			
		||||
Copper Plate = Płytka miedziana
 | 
			
		||||
Carbon Plate = Płytka węglowa
 | 
			
		||||
Graphite = Grafit
 | 
			
		||||
Carbon Cloth = Włókno węglowe
 | 
			
		||||
Raw Latex = Lateks naturalny
 | 
			
		||||
Rubber Fiber = Włókno gumowe
 | 
			
		||||
%.1f%%-Fissile Uranium Ingot = %.1f%% Sztabka uranu
 | 
			
		||||
%.1f%%-Fissile Uranium Block = %.1f%% Blok uranu
 | 
			
		||||
 | 
			
		||||
## Machine misc
 | 
			
		||||
Machine cannot be removed because it is not empty = Nie można usunąć maszyny, ponieważ nie jest pusta
 | 
			
		||||
Inventory move disallowed due to protection = Przenoszenie rzeczy z ekwipunku niemożliwe z powodu ochrony
 | 
			
		||||
# $1: Machine name (Includes tier)
 | 
			
		||||
@1 Active (@2 EU) = @1 Aktywny (@2 EU)
 | 
			
		||||
%s Active = %s Aktywny/a
 | 
			
		||||
%s Disabled = %s Wyłączony/a
 | 
			
		||||
%s Enabled = %s Włączony/a
 | 
			
		||||
%s Idle = %s Bezczynny/a
 | 
			
		||||
%s Improperly Placed = %s Ustawiony/a nieprawidłowo
 | 
			
		||||
%s is empty = %s jest pusty/a
 | 
			
		||||
%s Unpowered = %s brak zasilania
 | 
			
		||||
%s Out Of Fuel = %s brak paliwa
 | 
			
		||||
%s Has Bad Cabling = %s Źle podłączono kable
 | 
			
		||||
%s (Slave) =
 | 
			
		||||
%s Has No Network = %s Nie podłączony/a do sieci
 | 
			
		||||
%s Finished = %s Ukończony
 | 
			
		||||
Enable/Disable = Włącz/Wyłącz
 | 
			
		||||
Range = Zasięg
 | 
			
		||||
Upgrade Slots = Miejsca na ulepszenia
 | 
			
		||||
In: = Wejście
 | 
			
		||||
Out: = Wyjście
 | 
			
		||||
Slot %d = Otwór %d
 | 
			
		||||
Itemwise = Jeden przedmiot
 | 
			
		||||
Stackwise = Cały stack
 | 
			
		||||
Ignoring Mesecon Signal = Ignoruj sygnał Mesecon
 | 
			
		||||
Controlled by Mesecon Signal = Sterowany sygnałem Mesecon
 | 
			
		||||
Owner: = Właściciel:
 | 
			
		||||
Unlocked = Odblokowany/a
 | 
			
		||||
Locked = Zablokowany/a
 | 
			
		||||
Radius: = Promień:
 | 
			
		||||
Enabled = Włączony/a
 | 
			
		||||
Disabled = Wyłączony/a
 | 
			
		||||
 | 
			
		||||
## Machine names
 | 
			
		||||
# $1: Tier
 | 
			
		||||
%s Alloy Furnace = %s Piec stopowy
 | 
			
		||||
%s Battery Box = %s Skrzynka baterii
 | 
			
		||||
%s Cable = %s Przewód
 | 
			
		||||
%s Centrifuge = %s Centryfuga
 | 
			
		||||
%s Compressor = %s Kompresor
 | 
			
		||||
%s Extractor = %s Ekstraktor
 | 
			
		||||
%s Forcefield Emitter = %s Emiter pola siłowego
 | 
			
		||||
%s Furnace = %s Piec
 | 
			
		||||
%s Grinder = %s Młynek
 | 
			
		||||
%s Music Player = %s Odtwarzacz muzyki
 | 
			
		||||
%s Quarry = %s Kamieniołom
 | 
			
		||||
%s Tool Workshop = %s Warsztat narzędzi
 | 
			
		||||
Arrayed Solar %s Generator = %s Szeregowy generator słoneczny
 | 
			
		||||
Fuel-Fired %s Generator = %s Generator zasilany paliwem
 | 
			
		||||
Geothermal %s Generator = %s Generator geotermalny
 | 
			
		||||
Hydro %s Generator = %s Hydrogenerator
 | 
			
		||||
Nuclear %s Generator Core = %s Reaktor atomowy
 | 
			
		||||
Small Solar %s Generator = %s Mały generator słoneczny
 | 
			
		||||
Wind %s Generator = %s Generator wiatrowy
 | 
			
		||||
Self-Contained Injector = Samowystarczalny wtryskiwacz
 | 
			
		||||
Constructor Mk%d = Konstruktor Mk%d
 | 
			
		||||
Frame = Klatka
 | 
			
		||||
Frame Motor = Silnik klatkowy
 | 
			
		||||
Template = Szablon
 | 
			
		||||
Template (replacing) = Szablon (zastępczy)
 | 
			
		||||
Template Motor =Szablon silnika
 | 
			
		||||
Template Tool = Szablon narzędzia
 | 
			
		||||
Battery Box = Skrzynka baterii
 | 
			
		||||
Supply Converter = Konwerter zasilania
 | 
			
		||||
Switching Station = Rozdzielnia
 | 
			
		||||
Fuel-Fired Alloy Furnace = Piec stopowy zasilany paliwem
 | 
			
		||||
Fuel-Fired Furnace = Piec zasilany paliwem
 | 
			
		||||
Wind Mill Frame = Klatka wiatraka
 | 
			
		||||
Forcefield = Pole siłowe
 | 
			
		||||
Nuclear Reactor Rod Compartment = Komora rdzenia reaktora atomowego
 | 
			
		||||
Administrative World Anchor = Administracyjna kotwica świata
 | 
			
		||||
 | 
			
		||||
## Machine-specific
 | 
			
		||||
# $1: Pruduced EU
 | 
			
		||||
Charge = Ładuj
 | 
			
		||||
Discharge = Rozładuj
 | 
			
		||||
Power level = Poziom zasilania
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge
 | 
			
		||||
@1 Battery Box: @2/@3 = @1 Skrzynka baterii: @2/@3
 | 
			
		||||
# $1: Machine name $2: Supply $3: Demand
 | 
			
		||||
@1. Supply: @2 Demand: @3 = @1. Zapas: @2 Pobór: @3 
 | 
			
		||||
Production at %d%% = Produkowanie w %d%%
 | 
			
		||||
Choose Milling Program: = Wybierz program mielenia:
 | 
			
		||||
Slim Elements half / normal height: = Małe elementy połowa / normalna wysokość:
 | 
			
		||||
Current track %s =
 | 
			
		||||
Stopped = Zatrzymany/a
 | 
			
		||||
Keeping %d/%d map blocks loaded = Ciągle ładuję %d/%d bloki mapy 
 | 
			
		||||
Digging not started = Nie rozpoczęto kopania
 | 
			
		||||
Digging finished = Kopanie skończone
 | 
			
		||||
Digging %d m above machine = Kopię %d m nad maszyną
 | 
			
		||||
Digging %d m below machine = Kopię %d m pod maszyną
 | 
			
		||||
@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5)
 | 
			
		||||
 | 
			
		||||
## Grinder Recipes
 | 
			
		||||
# $1: Name
 | 
			
		||||
%s Dust = %s Pył
 | 
			
		||||
Akalin = Akalinowy
 | 
			
		||||
Alatro = Alatrowy
 | 
			
		||||
Arol = Arolowy
 | 
			
		||||
Brass = Mosiądzu
 | 
			
		||||
Bronze = Brązu
 | 
			
		||||
Carbon Steel = Stali węglowej
 | 
			
		||||
Cast Iron = Żeliwa
 | 
			
		||||
Chromium = Chromu
 | 
			
		||||
Coal = Węglowy
 | 
			
		||||
Copper = Miedzi
 | 
			
		||||
Gold = Złoty
 | 
			
		||||
Mithril = Mithrilu
 | 
			
		||||
Silver = Srebrny
 | 
			
		||||
Stainless Steel = Stali nierdzewnej
 | 
			
		||||
Talinite = Talinitu
 | 
			
		||||
Tin = Cyny
 | 
			
		||||
Wrought Iron = Kutego żelaza
 | 
			
		||||
Zinc = Cynku
 | 
			
		||||
%.1f%%-Fissile Uranium = %.1f%% Uranu
 | 
			
		||||
 | 
			
		||||
## Tools
 | 
			
		||||
RE Battery = Bateria ładowalna
 | 
			
		||||
Water Can = Kanister wody
 | 
			
		||||
Lava Can = Kanister lawy
 | 
			
		||||
Chainsaw = Piła łańcuchowa
 | 
			
		||||
Flashlight = Latarka
 | 
			
		||||
3 nodes deep. = Głęboki na 3 bloki.
 | 
			
		||||
3 nodes tall. = Wysoki na 3 bloki.
 | 
			
		||||
3 nodes wide. = Szeroki na 3 bloki.
 | 
			
		||||
3x3 nodes. = 3x3 bloki.
 | 
			
		||||
Use while sneaking to change Mining Drill Mk%d modes. = Użyj podczas skradania, aby zmienić tryby wiertła górniczego Mk%d
 | 
			
		||||
Mining Drill Mk%d Mode %d = Tryb wiertła górniczego Mk%d
 | 
			
		||||
Mining Drill Mk%d = Wiertło górnicze Mk%d
 | 
			
		||||
Mining Laser Mk%d = Laser górniczy Mk%d
 | 
			
		||||
Single node. = Pojedynczy blok.
 | 
			
		||||
Sonic Screwdriver = Dźwiękowy śrubokręt 
 | 
			
		||||
Tree Tap = Nacinak drzewny
 | 
			
		||||
 | 
			
		||||
## Craft descriptions
 | 
			
		||||
Alloy cooking = Stapianie
 | 
			
		||||
Grinding = Mielenie
 | 
			
		||||
Compressing = Kompresowanie
 | 
			
		||||
Extracting = Ekstrakcja
 | 
			
		||||
Separating = Oddzielanie
 | 
			
		||||
							
								
								
									
										211
									
								
								technic/locale/pt_BR.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,211 @@
 | 
			
		||||
# Braziliam portuguese translation for technic
 | 
			
		||||
# Tradução portuguesa brasileira para technic
 | 
			
		||||
# By Sires
 | 
			
		||||
 | 
			
		||||
## Misc
 | 
			
		||||
[Technic] Loaded in %f seconds = [Technic] Carregado em %f segundos
 | 
			
		||||
 | 
			
		||||
## Items
 | 
			
		||||
Silicon Wafer = Pastilha de Silício
 | 
			
		||||
Doped Silicon Wafer = Pastilha de Silício Dopada
 | 
			
		||||
Enriched Uranium = Urânio Enriquecido
 | 
			
		||||
Uranium Fuel = Combustivel de Urânio
 | 
			
		||||
Diamond Drill Head = Cabeça de Broca de Diamante
 | 
			
		||||
Blue Energy Crystal = Cristal de Energia Azul
 | 
			
		||||
Green Energy Crystal = Cristal de Energia Verde
 | 
			
		||||
Red Energy Crystal = Cristal de Energia Vermelho
 | 
			
		||||
Fine Copper Wire = Fio Fino de Cobre
 | 
			
		||||
Copper Coil = Bobina de Cobre
 | 
			
		||||
Electric Motor = Motor Elétrico
 | 
			
		||||
Low Voltage Transformer = Transformador de Baixa Voltagem
 | 
			
		||||
Medium Voltage Transformer = Transformador de Média Voltagem
 | 
			
		||||
High Voltage Transformer = Transformador de Alta Voltagem
 | 
			
		||||
Control Logic Unit = Unidade de Controle Lógico
 | 
			
		||||
Mixed Metal Ingot = Lingote de Metal Misturado
 | 
			
		||||
Composite Plate = Placa Composta
 | 
			
		||||
Copper Plate = Placa de Cobre
 | 
			
		||||
Carbon Plate = Placa de Carbono
 | 
			
		||||
Graphite = Grafite
 | 
			
		||||
Carbon Cloth = Recido de Carbono
 | 
			
		||||
Raw Latex = Latex bruto
 | 
			
		||||
Rubber Fiber = Fibra de Borracha
 | 
			
		||||
%.1f%%-Fissile Uranium Ingot = Lingote de Urânio %.1f%%-Físsil
 | 
			
		||||
%.1f%%-Fissile Uranium Block = Bloco de Urânio %.1f%%-Físsil
 | 
			
		||||
 | 
			
		||||
## Machine Misc
 | 
			
		||||
Machine cannot be removed because it is not empty = A máquina não pode ser removida porque ela não está vazia
 | 
			
		||||
Inventory move disallowed due to protection = Movimento de inventário não permitido pela proteção
 | 
			
		||||
# $1: Machine name (includes tier)
 | 
			
		||||
@1 Active (@2 EU) = @1 Ativo (@2 EU)
 | 
			
		||||
%s Active = %s Ativo
 | 
			
		||||
%s Disabled = %s Ativado
 | 
			
		||||
%s Enabled = %s Desativado
 | 
			
		||||
%s Idle = Ócio
 | 
			
		||||
%s Improperly Placed = %s Colocado Inapropriadamente
 | 
			
		||||
%s is empty = %s está vazio
 | 
			
		||||
%s Unpowered = %s Sem energia
 | 
			
		||||
%s Out Of Fuel = %s Sem Combustível
 | 
			
		||||
%s Has Bad Cabling = %s Tem Cabeamento Ruim
 | 
			
		||||
%s (Slave) = %s (Servo)
 | 
			
		||||
%s Has No Network = %s Não Tem Rede
 | 
			
		||||
%s Finished = %s Acabou
 | 
			
		||||
Enable/Disable = Ativar/Desativar
 | 
			
		||||
Range = Alcance
 | 
			
		||||
Upgrade Slots = Lugares para Melhoria
 | 
			
		||||
In: = Entrada:
 | 
			
		||||
Out: = Saída:
 | 
			
		||||
Slot %d = Lugar %d
 | 
			
		||||
Itemwise = Por item
 | 
			
		||||
Stackwise = Por pilha
 | 
			
		||||
Ignoring Mesecon Signal = Ignorar Sinaal de Mesecon
 | 
			
		||||
Controlled by Mesecon Signal = Controlado por Sinal de Mesecon
 | 
			
		||||
Owner: = Dono:
 | 
			
		||||
Unlocked = Destravado
 | 
			
		||||
Locked = Travado
 | 
			
		||||
Radius: = Raio:
 | 
			
		||||
Enabled = Ativado
 | 
			
		||||
Disabled = Desativado
 | 
			
		||||
 | 
			
		||||
## Machine names
 | 
			
		||||
# $1: Tier
 | 
			
		||||
%s Alloy Furnace = Fornalha de Liga %s
 | 
			
		||||
%s Battery Box = Caixa de Bateria %s
 | 
			
		||||
%s Cable = Cabo %s
 | 
			
		||||
%s CNC Machine = Máquina CNC %s
 | 
			
		||||
%s Centrifuge = Centrifuga %s
 | 
			
		||||
%s Compressor = Compresso %s
 | 
			
		||||
%s Extractor = Extrator %s
 | 
			
		||||
%s Forcefield Emitter = Emissor de Campo de Força %s
 | 
			
		||||
%s Furnace = Fornalha %s
 | 
			
		||||
%s Grinder = Triturador %s
 | 
			
		||||
%s Music Player = Tocador de Música %s
 | 
			
		||||
%s Quarry = Pedreira %s
 | 
			
		||||
%s Tool Workshop = Oficina de Ferramentas %s
 | 
			
		||||
Arrayed Solar %s Generator = Gerador Solar Equipado %s
 | 
			
		||||
Fuel-Fired %s Generator = Gerador Alimentado-por-Combustível %s
 | 
			
		||||
Geothermal %s Generator = Gerador Geotermal %s
 | 
			
		||||
Hydro %s Generator = Gerador Hidráulico %s
 | 
			
		||||
Nuclear %s Generator Core = Núcleo de Gerador Nuclear %s
 | 
			
		||||
Small Solar %s Generator = Gerador Solar Pequeno %s
 | 
			
		||||
Wind %s Generator = Gerador de Energia Eólica %s
 | 
			
		||||
Self-Contained Injector = Injetor Auto-Contido
 | 
			
		||||
Constructor Mk%d = Construtor Nv%d
 | 
			
		||||
Frame = Armação
 | 
			
		||||
Frame Motor = Motor de Armação
 | 
			
		||||
Template = Modelo
 | 
			
		||||
Template (replacing) = Modelo (recolocando)
 | 
			
		||||
Template Motor = Modelo de Motor
 | 
			
		||||
Template Tool = Modelo de Ferramenta
 | 
			
		||||
Battery Box = Caixa de Bateria
 | 
			
		||||
Supply Converter = Conversor de Energia
 | 
			
		||||
Switching Station = Estação de Comutação
 | 
			
		||||
Fuel-Fired Alloy Furnace = Fornalha de Liga Alimentada-por-Combustível
 | 
			
		||||
Fuel-Fired Furnace = Fornalha Alimentada-por-Combustível
 | 
			
		||||
Wind Mill Frame = Armação de Moinho de Vento
 | 
			
		||||
Forcefield = Campo de Força
 | 
			
		||||
Nuclear Reactor Rod Compartment = Compartimento de Barra do Reator Nuclear
 | 
			
		||||
Administrative World Anchor = Âncora de Mundo Administrativa
 | 
			
		||||
 | 
			
		||||
## Machine-specific
 | 
			
		||||
# $1: Pruduced EU
 | 
			
		||||
Charge = Carregar
 | 
			
		||||
Discharge = Descarregar
 | 
			
		||||
Power level = Nível de Energia
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge 
 | 
			
		||||
@1 Battery Box: @2/@3 = Caixa de Baterias @1: @2/@3
 | 
			
		||||
# $1: Machine name $2: Supply $3: Demand
 | 
			
		||||
@1. Supply: @2 Demand: @3 = @1. Suprimento: @2 Demanda: @3
 | 
			
		||||
Production at %d%% = Produção em %d%%
 | 
			
		||||
Choose Milling Program: = Escolha o Programa de Serragem:
 | 
			
		||||
Slim Elements half / normal height: = Metade de Elementos Finos / altura normal:
 | 
			
		||||
Current track %s = Música Atual %s
 | 
			
		||||
Stopped = Parado
 | 
			
		||||
Keeping %d/%d map blocks loaded = Mantendo %d/%d blocos de mapa carregados
 | 
			
		||||
Digging not started = Escavação não começada
 | 
			
		||||
Digging finished = Escavação terminada
 | 
			
		||||
Digging %d m above machine = Escavando %d m acima da máquina
 | 
			
		||||
Digging %d m below machine = Escavando %d m abaixo da máquina
 | 
			
		||||
@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5)
 | 
			
		||||
 | 
			
		||||
## CNC
 | 
			
		||||
Cylinder = Cilindro
 | 
			
		||||
Element Cross = Cruz do Elemento
 | 
			
		||||
Element Cross Double = Cruz Dupla do Elemento
 | 
			
		||||
Element Edge = Borda do Elemento
 | 
			
		||||
Element Edge Double = Borda Dupla do Elemento
 | 
			
		||||
Element End = Final do Elemento
 | 
			
		||||
Element End Double = Final Duplo do Elemento
 | 
			
		||||
Element Straight = Elemento Contínuo
 | 
			
		||||
Element Straight Double = Elemento Contínuo duplo
 | 
			
		||||
Element T = Elemento em T
 | 
			
		||||
Element T Double = Elemento em T Duplo
 | 
			
		||||
Horizontal Cylinder = Cilindro Horizontal
 | 
			
		||||
One Curved Edge Block = Uma Borda de Bloco Curvada
 | 
			
		||||
Pyramid = Pirâmide
 | 
			
		||||
Slope = Ladeira
 | 
			
		||||
Slope Edge = Canto de Ladeira
 | 
			
		||||
Slope Inner Edge = Canto de Dentro de Ladeira
 | 
			
		||||
Slope Lying = Ladeira Deitada
 | 
			
		||||
Slope Upside Down = Ladeira de Cabeça para Baixo
 | 
			
		||||
Slope Upside Down Edge = Cande de Ladeira de Cabeça para Baixo
 | 
			
		||||
Slope Upside Down Inner Edge = Canto de Dentro de Ladeira de Cabeça para Baixo
 | 
			
		||||
Sphere = Esfera
 | 
			
		||||
Spike = Espinho
 | 
			
		||||
Stick = Graveto
 | 
			
		||||
Two Curved Edge Block = Bloco de Duas Bordas Curvadas
 | 
			
		||||
Brick = Tijolo
 | 
			
		||||
Cobble = Pedregulho
 | 
			
		||||
Dirt = Terra
 | 
			
		||||
Leaves = Folhas
 | 
			
		||||
Sandstone = Arenito
 | 
			
		||||
Stone = Pedra
 | 
			
		||||
Tree = Árvore
 | 
			
		||||
Wooden = de Madeira
 | 
			
		||||
 | 
			
		||||
## Grinder Recipes
 | 
			
		||||
# $1: Name
 | 
			
		||||
%s Dust = Pó de %s
 | 
			
		||||
Akalin = Akalin
 | 
			
		||||
Alatro = Alatro
 | 
			
		||||
Arol = Arol
 | 
			
		||||
Brass = Latão
 | 
			
		||||
Bronze = Bronze
 | 
			
		||||
Carbon Steel = Aço Carbono
 | 
			
		||||
Cast Iron = Ferro Fundido
 | 
			
		||||
Chromium = Crômio
 | 
			
		||||
Coal = Carvão
 | 
			
		||||
Copper = Cobre
 | 
			
		||||
Gold = Ouro
 | 
			
		||||
Mithril = Mithril
 | 
			
		||||
Silver = Prata
 | 
			
		||||
Stainless Steel = Aço Inoxidável
 | 
			
		||||
Talinite = Talinite
 | 
			
		||||
Tin = Estanho
 | 
			
		||||
Wrought Iron = Ferro Forjado
 | 
			
		||||
Zinc = Zinco
 | 
			
		||||
%.1f%%-Fissile Uranium = Urânio %.1f%%-Físsil
 | 
			
		||||
 | 
			
		||||
## Tools
 | 
			
		||||
RE Battery = Bateria RE
 | 
			
		||||
Water Can = Lata de Água
 | 
			
		||||
Lava Can = Lata de Lava
 | 
			
		||||
Chainsaw = Motosserra
 | 
			
		||||
Flashlight = Lanterna
 | 
			
		||||
3 nodes deep. = 3 nodes de profundidade.
 | 
			
		||||
3 nodes tall. = 3 nodes de altura.
 | 
			
		||||
3 nodes wide. = 3 nodes de largura.
 | 
			
		||||
3x3 nodes. = 3x3 nodes.
 | 
			
		||||
Use while sneaking to change Mining Drill Mk%d modes. = Use enquanto esgueirando para mudar os modos da Broca de Mineração Nv%d.
 | 
			
		||||
Mining Drill Mk%d Mode %d = Broca de Mineração Nv%d Modo %d
 | 
			
		||||
Mining Drill Mk%d = Broca de Mineração Nv%d
 | 
			
		||||
Mining Laser Mk%d = Laser de Mineração Nv%d
 | 
			
		||||
Single node. = Unico node.
 | 
			
		||||
Sonic Screwdriver = Chave de Fenda Sônica.
 | 
			
		||||
Tree Tap = Torneira de Árvore
 | 
			
		||||
 | 
			
		||||
## Craft descriptions
 | 
			
		||||
Alloy cooking = Cozinhando em liga
 | 
			
		||||
Grinding = Triturando
 | 
			
		||||
Compressing = Comprimindo
 | 
			
		||||
Extracting = Extraindo
 | 
			
		||||
Separating = Separando
 | 
			
		||||
@@ -15,6 +15,8 @@ Blue Energy Crystal =
 | 
			
		||||
Green Energy Crystal =
 | 
			
		||||
Red Energy Crystal =
 | 
			
		||||
Fine Copper Wire =
 | 
			
		||||
Fine Gold Wire =
 | 
			
		||||
Fine Silver Wire =
 | 
			
		||||
Copper Coil =
 | 
			
		||||
Electric Motor =
 | 
			
		||||
Low Voltage Transformer =
 | 
			
		||||
@@ -71,7 +73,6 @@ Disabled =
 | 
			
		||||
%s Alloy Furnace =
 | 
			
		||||
%s Battery Box =
 | 
			
		||||
%s Cable =
 | 
			
		||||
%s CNC Machine =
 | 
			
		||||
%s Centrifuge =
 | 
			
		||||
%s Compressor =
 | 
			
		||||
%s Extractor =
 | 
			
		||||
@@ -111,7 +112,7 @@ Administrative World Anchor =
 | 
			
		||||
Charge =
 | 
			
		||||
Discharge =
 | 
			
		||||
Power level =
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge 
 | 
			
		||||
# $1: Tier $2: current_charge $3: max_charge
 | 
			
		||||
@1 Battery Box: @2/@3 =
 | 
			
		||||
# $1: Machine name $2: Supply $3: Demand
 | 
			
		||||
@1. Supply: @2 Demand: @3 =
 | 
			
		||||
@@ -127,40 +128,6 @@ Digging %d m above machine =
 | 
			
		||||
Digging %d m below machine =
 | 
			
		||||
@1 (@2 @3 -> @4 @5) =
 | 
			
		||||
 | 
			
		||||
## CNC
 | 
			
		||||
Cylinder =
 | 
			
		||||
Element Cross =
 | 
			
		||||
Element Cross Double =
 | 
			
		||||
Element Edge =
 | 
			
		||||
Element Edge Double =
 | 
			
		||||
Element End =
 | 
			
		||||
Element End Double =
 | 
			
		||||
Element Straight =
 | 
			
		||||
Element Straight Double =
 | 
			
		||||
Element T =
 | 
			
		||||
Element T Double =
 | 
			
		||||
Horizontal Cylinder =
 | 
			
		||||
One Curved Edge Block =
 | 
			
		||||
Pyramid =
 | 
			
		||||
Slope =
 | 
			
		||||
Slope Edge =
 | 
			
		||||
Slope Inner Edge =
 | 
			
		||||
Slope Lying =
 | 
			
		||||
Slope Upside Down =
 | 
			
		||||
Slope Upside Down Edge =
 | 
			
		||||
Slope Upside Down Inner Edge =
 | 
			
		||||
Sphere =
 | 
			
		||||
Spike =
 | 
			
		||||
Stick =
 | 
			
		||||
Two Curved Edge Block =
 | 
			
		||||
Brick =
 | 
			
		||||
Cobble =
 | 
			
		||||
Dirt =
 | 
			
		||||
Leaves =
 | 
			
		||||
Sandstone =
 | 
			
		||||
Stone =
 | 
			
		||||
Tree =
 | 
			
		||||
Wooden =
 | 
			
		||||
 | 
			
		||||
## Grinder Recipes
 | 
			
		||||
# $1: Name
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ minetest.register_craft({
 | 
			
		||||
		{'technic:mv_cable',           'technic:mv_cable',           'technic:mv_cable'},
 | 
			
		||||
		{'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting'},
 | 
			
		||||
	}
 | 
			
		||||
}) 
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
technic.register_cable("HV", 3/16)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ local cable_entry = "^technic_cable_connection_overlay.png"
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "technic:forcefield_emitter_off",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:mese",         "technic:motor",          "default:mese"        },
 | 
			
		||||
		{"default:mese",         "basic_materials:motor",          "default:mese"        },
 | 
			
		||||
		{"technic:deployer_off", "technic:machine_casing", "technic:deployer_off"},
 | 
			
		||||
		{"default:mese",         "technic:hv_cable",       "default:mese"        },
 | 
			
		||||
	}
 | 
			
		||||
@@ -42,7 +42,7 @@ end)
 | 
			
		||||
--  |          |
 | 
			
		||||
--   \___/\___/
 | 
			
		||||
 | 
			
		||||
local function update_forcefield(pos, meta, active, first)
 | 
			
		||||
local function update_forcefield(pos, meta, active)
 | 
			
		||||
	local shape = meta:get_int("shape")
 | 
			
		||||
	local range = meta:get_int("range")
 | 
			
		||||
	local vm = VoxelManip()
 | 
			
		||||
@@ -86,11 +86,6 @@ local function update_forcefield(pos, meta, active, first)
 | 
			
		||||
	vm:set_data(data)
 | 
			
		||||
	vm:update_liquids()
 | 
			
		||||
	vm:write_to_map()
 | 
			
		||||
	-- update_map is very slow, but if we don't call it we'll
 | 
			
		||||
	-- get phantom blocks on the client.
 | 
			
		||||
	if not active or first then
 | 
			
		||||
		vm:update_map()
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function set_forcefield_formspec(meta)
 | 
			
		||||
@@ -126,6 +121,12 @@ local function set_forcefield_formspec(meta)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local forcefield_receive_fields = function(pos, formname, fields, sender)
 | 
			
		||||
	local player_name = sender:get_player_name()
 | 
			
		||||
	if minetest.is_protected(pos, player_name) then
 | 
			
		||||
		minetest.chat_send_player(player_name, "You are not allowed to edit this!")
 | 
			
		||||
		minetest.record_protection_violation(pos, player_name)
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local range = nil
 | 
			
		||||
	if fields.range then
 | 
			
		||||
@@ -273,13 +274,11 @@ local function run(pos, node)
 | 
			
		||||
			technic.swap_node(pos, "technic:forcefield_emitter_off")
 | 
			
		||||
		end
 | 
			
		||||
	elseif eu_input >= power_requirement then
 | 
			
		||||
		local first = false
 | 
			
		||||
		if node.name == "technic:forcefield_emitter_off" then
 | 
			
		||||
			first = true
 | 
			
		||||
			technic.swap_node(pos, "technic:forcefield_emitter_on")
 | 
			
		||||
			meta:set_string("infotext", S("%s Active"):format(machine_name))
 | 
			
		||||
		end
 | 
			
		||||
		update_forcefield(pos, meta, true, first)
 | 
			
		||||
		update_forcefield(pos, meta, true)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ local cable_entry = "^technic_cable_connection_overlay.png"
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"technic:carbon_plate",       "pipeworks:filter",       "technic:composite_plate"},
 | 
			
		||||
		{"technic:motor",              "technic:machine_casing", "technic:diamond_drill_head"},
 | 
			
		||||
		{"basic_materials:motor",              "technic:machine_casing", "technic:diamond_drill_head"},
 | 
			
		||||
		{"technic:carbon_steel_block", "technic:hv_cable",       "technic:carbon_steel_block"}},
 | 
			
		||||
	output = "technic:quarry",
 | 
			
		||||
})
 | 
			
		||||
@@ -60,6 +60,12 @@ local function set_quarry_demand(meta)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function quarry_receive_fields(pos, formname, fields, sender)
 | 
			
		||||
	local player_name = sender:get_player_name()
 | 
			
		||||
	if minetest.is_protected(pos, player_name) then
 | 
			
		||||
		minetest.chat_send_player(player_name, "You are not allowed to edit this!")
 | 
			
		||||
		minetest.record_protection_violation(pos, player_name)
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	if fields.size and string.find(fields.size, "^[0-9]+$") then
 | 
			
		||||
		local size = tonumber(fields.size)
 | 
			
		||||
@@ -112,6 +118,11 @@ local function quarry_run(pos, node)
 | 
			
		||||
 | 
			
		||||
	if meta:get_int("enabled") and meta:get_int("HV_EU_input") >= quarry_demand and meta:get_int("purge_on") == 0 then
 | 
			
		||||
		local pdir = minetest.facedir_to_dir(node.param2)
 | 
			
		||||
		if pdir.y ~= 0 then
 | 
			
		||||
			-- faces up or down, not valid, otherwise depth-check would run endless and hang up the server
 | 
			
		||||
			return
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		local qdir = pdir.x == 1 and vector.new(0,0,-1) or
 | 
			
		||||
			(pdir.z == -1 and vector.new(-1,0,0) or
 | 
			
		||||
			(pdir.x == -1 and vector.new(0,0,1) or
 | 
			
		||||
@@ -124,7 +135,7 @@ local function quarry_run(pos, node)
 | 
			
		||||
			vector.multiply(qdir, -radius))
 | 
			
		||||
		local owner = meta:get_string("owner")
 | 
			
		||||
		local nd = meta:get_int("dug")
 | 
			
		||||
		while nd ~= diameter*diameter * (quarry_dig_above_nodes+1+quarry_max_depth) do
 | 
			
		||||
		while nd < diameter*diameter * (quarry_dig_above_nodes+1+quarry_max_depth) do
 | 
			
		||||
			local ry = math.floor(nd / (diameter*diameter))
 | 
			
		||||
			local ndl = nd % (diameter*diameter)
 | 
			
		||||
			if ry % 2 == 1 then
 | 
			
		||||
@@ -146,15 +157,9 @@ local function quarry_run(pos, node)
 | 
			
		||||
				dignode = technic.get_or_load_node(digpos) or minetest.get_node(digpos)
 | 
			
		||||
				local dignodedef = minetest.registered_nodes[dignode.name] or {diggable=false}
 | 
			
		||||
				-- doors mod among other thing does NOT like a nil digger...
 | 
			
		||||
				local fakedigger = {
 | 
			
		||||
					get_player_name = function()
 | 
			
		||||
						return "!technic_quarry_fake_digger"
 | 
			
		||||
					end,
 | 
			
		||||
					is_player = function() return false end,
 | 
			
		||||
					get_wielded_item = function()
 | 
			
		||||
						return ItemStack("air")
 | 
			
		||||
					end,
 | 
			
		||||
				}
 | 
			
		||||
				local fakedigger = pipeworks.create_fake_player({
 | 
			
		||||
					name = owner
 | 
			
		||||
				})
 | 
			
		||||
				if not dignodedef.diggable or (dignodedef.can_dig and not dignodedef.can_dig(digpos, fakedigger)) then
 | 
			
		||||
					can_dig = false
 | 
			
		||||
				end
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ minetest.register_craft({
 | 
			
		||||
		{'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'},
 | 
			
		||||
		{'default:paper',        'default:paper',        'default:paper'},
 | 
			
		||||
	}
 | 
			
		||||
}) 
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
technic.register_cable("LV", 2/16)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,91 +0,0 @@
 | 
			
		||||
-- REGISTER MATERIALS AND PROPERTIES FOR NONCUBIC ELEMENTS:
 | 
			
		||||
-----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
local S = technic.getter
 | 
			
		||||
 | 
			
		||||
-- DIRT
 | 
			
		||||
-------
 | 
			
		||||
technic.cnc.register_all("default:dirt",
 | 
			
		||||
                {snappy=2,choppy=2,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
 | 
			
		||||
                {"default_grass.png", "default_dirt.png", "default_grass.png"},
 | 
			
		||||
                S("Dirt"))
 | 
			
		||||
-- WOOD
 | 
			
		||||
-------
 | 
			
		||||
technic.cnc.register_all("default:wood",
 | 
			
		||||
                {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_wood.png"},
 | 
			
		||||
                S("Wooden"))
 | 
			
		||||
-- STONE
 | 
			
		||||
--------
 | 
			
		||||
technic.cnc.register_all("default:stone",
 | 
			
		||||
                {cracky=3, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_stone.png"},
 | 
			
		||||
                S("Stone"))
 | 
			
		||||
-- COBBLE
 | 
			
		||||
---------
 | 
			
		||||
technic.cnc.register_all("default:cobble",
 | 
			
		||||
                {cracky=3, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_cobble.png"},
 | 
			
		||||
                S("Cobble"))
 | 
			
		||||
-- BRICK
 | 
			
		||||
--------
 | 
			
		||||
technic.cnc.register_all("default:brick",
 | 
			
		||||
                {cracky=3, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_brick.png"},
 | 
			
		||||
                S("Brick"))
 | 
			
		||||
 | 
			
		||||
-- SANDSTONE
 | 
			
		||||
------------
 | 
			
		||||
technic.cnc.register_all("default:sandstone",
 | 
			
		||||
                {crumbly=2, cracky=3, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_sandstone.png"},
 | 
			
		||||
                S("Sandstone"))
 | 
			
		||||
 | 
			
		||||
-- LEAVES
 | 
			
		||||
---------
 | 
			
		||||
technic.cnc.register_all("default:leaves",
 | 
			
		||||
                {snappy=2, choppy=2, oddly_breakable_by_hand=3, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_leaves.png"},
 | 
			
		||||
                S("Leaves"))
 | 
			
		||||
-- TREE
 | 
			
		||||
-------
 | 
			
		||||
technic.cnc.register_all("default:tree",
 | 
			
		||||
                {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3, wood=1, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_tree.png"},
 | 
			
		||||
                S("Tree"))
 | 
			
		||||
 | 
			
		||||
-- WROUGHT IRON
 | 
			
		||||
---------------
 | 
			
		||||
technic.cnc.register_all("default:steelblock",
 | 
			
		||||
                {cracky=1, level=2, not_in_creative_inventory=1},
 | 
			
		||||
                {"technic_wrought_iron_block.png"},
 | 
			
		||||
                S("Wrought Iron"))
 | 
			
		||||
 | 
			
		||||
-- Bronze
 | 
			
		||||
--------
 | 
			
		||||
technic.cnc.register_all("default:bronzeblock",
 | 
			
		||||
                {cracky=1, level=2, not_in_creative_inventory=1},
 | 
			
		||||
                {"default_bronze_block.png"},
 | 
			
		||||
                S("Bronze"))
 | 
			
		||||
 | 
			
		||||
-- Stainless Steel
 | 
			
		||||
--------
 | 
			
		||||
technic.cnc.register_all("technic:stainless_steel_block",
 | 
			
		||||
                {cracky=1, level=2, not_in_creative_inventory=1},
 | 
			
		||||
                {"technic_stainless_steel_block.png"},
 | 
			
		||||
                S("Stainless Steel"))
 | 
			
		||||
 | 
			
		||||
-- Marble
 | 
			
		||||
------------
 | 
			
		||||
technic.cnc.register_all("technic:marble",
 | 
			
		||||
                {cracky=3, not_in_creative_inventory=1},
 | 
			
		||||
                {"technic_marble.png"},
 | 
			
		||||
                S("Marble"))
 | 
			
		||||
 | 
			
		||||
-- Granite
 | 
			
		||||
------------
 | 
			
		||||
technic.cnc.register_all("technic:granite",
 | 
			
		||||
                {cracky=1, not_in_creative_inventory=1},
 | 
			
		||||
                {"technic_granite.png"},
 | 
			
		||||
                S("Granite"))
 | 
			
		||||
 | 
			
		||||
@@ -4,10 +4,14 @@ minetest.register_alias("compressor", "technic:lv_compressor")
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:lv_compressor',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'default:stone',            'technic:motor',          'default:stone'},
 | 
			
		||||
		{'default:stone',            'basic_materials:motor',          'default:stone'},
 | 
			
		||||
		{'mesecons:piston',          'technic:machine_casing', 'mesecons:piston'},
 | 
			
		||||
		{'technic:fine_silver_wire', 'technic:lv_cable',       'technic:fine_silver_wire'},
 | 
			
		||||
	}
 | 
			
		||||
		{'basic_materials:silver_wire', 'technic:lv_cable',       'basic_materials:silver_wire'},
 | 
			
		||||
	},
 | 
			
		||||
	replacements = {
 | 
			
		||||
		{"basic_materials:silver_wire", "basic_materials:empty_spool"},
 | 
			
		||||
		{"basic_materials:silver_wire", "basic_materials:empty_spool"}
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
technic.register_compressor({tier = "LV", demand = {300}, speed = 1})
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ minetest.register_alias("extractor", "technic:lv_extractor")
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:lv_extractor',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'technic:treetap', 'technic:motor',          'technic:treetap'},
 | 
			
		||||
		{'technic:treetap', 'basic_materials:motor',          'technic:treetap'},
 | 
			
		||||
		{'technic:treetap', 'technic:machine_casing', 'technic:treetap'},
 | 
			
		||||
		{'',                'technic:lv_cable',       ''},
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,14 +11,18 @@ minetest.register_craft({
 | 
			
		||||
	output = 'technic:geothermal',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'technic:granite',          'default:diamond',        'technic:granite'},
 | 
			
		||||
		{'technic:fine_copper_wire', 'technic:machine_casing', 'technic:fine_copper_wire'},
 | 
			
		||||
		{'basic_materials:copper_wire', 'technic:machine_casing', 'basic_materials:copper_wire'},
 | 
			
		||||
		{'technic:granite',          'technic:lv_cable',       'technic:granite'},
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	replacements = {
 | 
			
		||||
		{"basic_materials:copper_wire", "basic_materials:empty_spool"},
 | 
			
		||||
		{"basic_materials:copper_wire", "basic_materials:empty_spool"}
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("technic:geothermal", {
 | 
			
		||||
	description = S("Geothermal %s Generator"):format("LV"),
 | 
			
		||||
}) 
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
local check_node_around = function(pos)
 | 
			
		||||
	local node = minetest.get_node(pos)
 | 
			
		||||
 
 | 
			
		||||
@@ -22,8 +22,3 @@ dofile(path.."/extractor.lua")
 | 
			
		||||
dofile(path.."/compressor.lua")
 | 
			
		||||
 | 
			
		||||
dofile(path.."/music_player.lua")
 | 
			
		||||
 | 
			
		||||
dofile(path.."/cnc.lua")
 | 
			
		||||
dofile(path.."/cnc_api.lua")
 | 
			
		||||
dofile(path.."/cnc_nodes.lua")
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,9 +9,9 @@ minetest.register_craft({
 | 
			
		||||
	output = 'technic:solar_panel',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer'},
 | 
			
		||||
		{'technic:fine_silver_wire',    'technic:lv_cable',            'mesecons_materials:glue'},
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
		{'basic_materials:silver_wire',    'technic:lv_cable',            'mesecons_materials:glue'},
 | 
			
		||||
	},
 | 
			
		||||
	replacements = { {"basic_materials:silver_wire", "basic_materials:empty_spool"}, },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
-- A water mill produces LV EUs by exploiting flowing water across it
 | 
			
		||||
-- It is a LV EU supplyer and fairly low yield (max 180EUs)
 | 
			
		||||
-- It is a LV EU supplier and fairly low yield (max 180EUs)
 | 
			
		||||
-- It is a little over half as good as the thermal generator.
 | 
			
		||||
 | 
			
		||||
local S = technic.getter
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ minetest.register_craft({
 | 
			
		||||
		{'technic:lv_cable', 'technic:lv_cable', 'technic:lv_cable'},
 | 
			
		||||
		{'technic:rubber',   'technic:rubber',   'technic:rubber'},
 | 
			
		||||
	}
 | 
			
		||||
}) 
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
technic.register_cable("MV", 2.5/16)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "technic:mv_centrifuge",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"technic:motor",          "technic:copper_plate",   "technic:diamond_drill_head"},
 | 
			
		||||
		{"basic_materials:motor",          "technic:copper_plate",   "technic:diamond_drill_head"},
 | 
			
		||||
		{"technic:copper_plate",   "technic:machine_casing", "technic:copper_plate"      },
 | 
			
		||||
		{"pipeworks:one_way_tube", "technic:mv_cable",       "pipeworks:mese_filter"     },
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								technic/machines/MV/freezer.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,12 @@
 | 
			
		||||
-- MV freezer
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:mv_freezer',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'technic:stainless_steel_ingot', 'technic:motor',          'technic:stainless_steel_ingot'},
 | 
			
		||||
		{'pipeworks:pipe_1_empty',        'technic:mv_transformer', 'pipeworks:pipe_1_empty'},
 | 
			
		||||
		{'technic:stainless_steel_ingot', 'technic:mv_cable',       'technic:stainless_steel_ingot'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
technic.register_freezer({tier = "MV", demand = {800, 600, 400}, speed = 0.5, upgrade = 1, tube = 1})
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
-- A Hydro Turbine produces MV EUs by exploiting flowing water across it
 | 
			
		||||
-- It is a MV EU supplyer and fairly high yield (max 1800EUs)
 | 
			
		||||
-- It is a MV EU supplier and fairly high yield (max 1800EUs)
 | 
			
		||||
 | 
			
		||||
local S = technic.getter
 | 
			
		||||
 | 
			
		||||
@@ -18,14 +18,14 @@ minetest.register_craft({
 | 
			
		||||
 | 
			
		||||
local function get_water_flow(pos)
 | 
			
		||||
	local node = minetest.get_node(pos)
 | 
			
		||||
	if minetest.get_item_group(node.name, "water") == 3 then
 | 
			
		||||
	if minetest.get_item_group(node.name, "water") == 3 and string.find(node.name, "flowing") then
 | 
			
		||||
		return node.param2 -- returns approx. water flow, if any
 | 
			
		||||
	end
 | 
			
		||||
	return 0
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
-- 10 times better than LV hydro because of 2 extra water mills and 4 stainless steel, a transformer and whatnot ;P. 
 | 
			
		||||
-- 10 times better than LV hydro because of 2 extra water mills and 4 stainless steel, a transformer and whatnot ;P.
 | 
			
		||||
-- Man hydro turbines are tough and long lasting. So, give it some value :)
 | 
			
		||||
local run = function(pos, node)
 | 
			
		||||
	local meta             = minetest.get_meta(pos)
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,8 @@ dofile(path.."/centrifuge.lua")
 | 
			
		||||
 | 
			
		||||
dofile(path.."/tool_workshop.lua")
 | 
			
		||||
 | 
			
		||||
dofile(path.."/freezer.lua")
 | 
			
		||||
 | 
			
		||||
-- The power radiator supplies appliances with inductive coupled power:
 | 
			
		||||
-- Lighting and associated textures is taken directly from VanessaE's homedecor and made electric.
 | 
			
		||||
-- This is currently useless, slow, and mostly copied
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ local dirs1 = {20, 23, 22, 21}
 | 
			
		||||
local dirs2 = {9,  18,  7, 12}
 | 
			
		||||
 | 
			
		||||
local technic_homedecor_rotate_and_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
	if not technic_homedecor_node_is_owned(pointed_thing.under, placer) 
 | 
			
		||||
	if not technic_homedecor_node_is_owned(pointed_thing.under, placer)
 | 
			
		||||
	   and not technic_homedecor_node_is_owned(pointed_thing.above, placer) then
 | 
			
		||||
		local node = minetest.get_node(pointed_thing.under)
 | 
			
		||||
		if not minetest.registered_nodes[node.name] or not minetest.registered_nodes[node.name].on_rightclick then
 | 
			
		||||
@@ -76,7 +76,7 @@ local technic_homedecor_rotate_and_place = function(itemstack, placer, pointed_t
 | 
			
		||||
 | 
			
		||||
				if not minetest.registered_nodes[minetest.get_node(pos1).name]["buildable_to"] then return end
 | 
			
		||||
 | 
			
		||||
				if iswall then 
 | 
			
		||||
				if iswall then
 | 
			
		||||
					minetest.add_node(pos1, {name = wield_name, param2 = dirs2[fdir+1] }) -- place wall variant
 | 
			
		||||
				elseif isceiling then
 | 
			
		||||
					minetest.add_node(pos1, {name = wield_name, param2 = 20 }) -- place upside down variant
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ minetest.register_craft({
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:wind_mill',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'',                           'technic:motor',              ''},
 | 
			
		||||
		{'',                           'basic_materials:motor',              ''},
 | 
			
		||||
		{'technic:carbon_steel_ingot', 'technic:carbon_steel_block', 'technic:carbon_steel_ingot'},
 | 
			
		||||
		{'',                           'technic:mv_cable',           ''},
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -118,6 +118,12 @@ local function make_off(mark)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function allow_inventory_put(pos, listname, index, stack, player)
 | 
			
		||||
	if stack and minetest.get_item_group(stack:get_name(), "technic_constructor") == 1 then
 | 
			
		||||
		return 0
 | 
			
		||||
	end
 | 
			
		||||
	return technic.machine_inventory_put(pos, listname, index, stack, player)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function make_constructor(mark, length)
 | 
			
		||||
	minetest.register_node("technic:constructor_mk"..mark.."_off", {
 | 
			
		||||
@@ -129,7 +135,8 @@ local function make_constructor(mark, length)
 | 
			
		||||
			"technic_constructor_back.png",
 | 
			
		||||
			"technic_constructor_front_off.png"},
 | 
			
		||||
		paramtype2 = "facedir",
 | 
			
		||||
		groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, mesecon = 2},
 | 
			
		||||
		groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
 | 
			
		||||
			mesecon = 2, technic_constructor = 1},
 | 
			
		||||
		mesecons = {effector = {action_on = make_on(mark, length)}},
 | 
			
		||||
		sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
		on_construct = function(pos)
 | 
			
		||||
@@ -160,7 +167,7 @@ local function make_constructor(mark, length)
 | 
			
		||||
			end
 | 
			
		||||
			return true
 | 
			
		||||
		end,
 | 
			
		||||
		allow_metadata_inventory_put = technic.machine_inventory_put,
 | 
			
		||||
		allow_metadata_inventory_put = allow_inventory_put,
 | 
			
		||||
		allow_metadata_inventory_take = technic.machine_inventory_take,
 | 
			
		||||
		allow_metadata_inventory_move = technic.machine_inventory_move,
 | 
			
		||||
		on_rotate = screwdriver.rotate_simple
 | 
			
		||||
@@ -176,10 +183,10 @@ local function make_constructor(mark, length)
 | 
			
		||||
		paramtype2 = "facedir",
 | 
			
		||||
		drop = "technic:constructor_mk"..mark.."_off",
 | 
			
		||||
		groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
 | 
			
		||||
			mesecon=2, not_in_creative_inventory=1},
 | 
			
		||||
			mesecon=2, not_in_creative_inventory=1, technic_constructor=1},
 | 
			
		||||
		mesecons= {effector = {action_off = make_off(mark)}},
 | 
			
		||||
		sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
		allow_metadata_inventory_put = technic.machine_inventory_put,
 | 
			
		||||
		allow_metadata_inventory_put = allow_inventory_put,
 | 
			
		||||
		allow_metadata_inventory_take = technic.machine_inventory_take,
 | 
			
		||||
		allow_metadata_inventory_move = technic.machine_inventory_move,
 | 
			
		||||
		on_rotate = false
 | 
			
		||||
 
 | 
			
		||||
@@ -155,7 +155,7 @@ local function move_nodes_vect(poslist, vect, must_not_move, owner)
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	for _, obj in ipairs(objects) do
 | 
			
		||||
		obj:setpos(vector.add(obj:getpos(), vect))
 | 
			
		||||
		obj:set_pos(vector.add(obj:get_pos(), vect))
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	for _, n in ipairs(nodelist) do
 | 
			
		||||
@@ -276,7 +276,7 @@ for zp = 0, 1 do
 | 
			
		||||
		end,
 | 
			
		||||
 | 
			
		||||
		on_punch = function(pos, node, puncher)
 | 
			
		||||
			local ppos = puncher:getpos()
 | 
			
		||||
			local ppos = puncher:get_pos()
 | 
			
		||||
			local pvect = puncher:get_look_dir()
 | 
			
		||||
			local pface = get_face(pos, ppos, pvect)
 | 
			
		||||
 | 
			
		||||
@@ -431,14 +431,14 @@ minetest.register_entity("technic:frame_entity", {
 | 
			
		||||
	end,
 | 
			
		||||
 | 
			
		||||
	dig = function(self)
 | 
			
		||||
		minetest.handle_node_drops(self.object:getpos(), { ItemStack("technic:frame_111111") }, self.last_puncher)
 | 
			
		||||
		local pos = vector.round(self.object:getpos())
 | 
			
		||||
		minetest.handle_node_drops(self.object:get_pos(), { ItemStack("technic:frame_111111") }, self.last_puncher)
 | 
			
		||||
		local pos = vector.round(self.object:get_pos())
 | 
			
		||||
		frames_pos[pos_to_string(pos)] = nil
 | 
			
		||||
		self.object:remove()
 | 
			
		||||
	end,
 | 
			
		||||
 | 
			
		||||
	on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir)
 | 
			
		||||
		local pos = self.object:getpos()
 | 
			
		||||
		local pos = self.object:get_pos()
 | 
			
		||||
		if self.damage_object == nil then
 | 
			
		||||
			self.damage_object = minetest.add_entity(pos, "technic:damage_entity")
 | 
			
		||||
			self.damage_object:get_luaentity().remaining_time = 0.25
 | 
			
		||||
@@ -450,7 +450,7 @@ minetest.register_entity("technic:frame_entity", {
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		self.last_puncher = puncher
 | 
			
		||||
		local ppos = puncher:getpos()
 | 
			
		||||
		local ppos = puncher:get_pos()
 | 
			
		||||
		local pvect = puncher:get_look_dir()
 | 
			
		||||
		local pface = get_face(pos, ppos, pvect)
 | 
			
		||||
		if pface == nil then return end
 | 
			
		||||
@@ -468,8 +468,8 @@ minetest.register_entity("technic:frame_entity", {
 | 
			
		||||
	end,
 | 
			
		||||
 | 
			
		||||
	on_rightclick = function(self, clicker)
 | 
			
		||||
		local pos = self.object:getpos()
 | 
			
		||||
		local ppos = clicker:getpos()
 | 
			
		||||
		local pos = self.object:get_pos()
 | 
			
		||||
		local ppos = clicker:get_pos()
 | 
			
		||||
		local pvect = clicker:get_look_dir()
 | 
			
		||||
		local pface = get_face(pos, ppos, pvect)
 | 
			
		||||
 | 
			
		||||
@@ -547,7 +547,7 @@ mesecon.register_on_mvps_move(function(moved_nodes)
 | 
			
		||||
				local entity = obj:get_luaentity()
 | 
			
		||||
				if entity and (entity.name == "technic:frame_entity" or
 | 
			
		||||
						entity.name == "technic:damage_entity") then
 | 
			
		||||
					obj:setpos(t.pos)
 | 
			
		||||
					obj:set_pos(t.pos)
 | 
			
		||||
				end
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
@@ -979,7 +979,7 @@ minetest.register_craft({
 | 
			
		||||
	output = 'technic:frame_111111',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ '',              'default:stick',       '' },
 | 
			
		||||
		{ 'default:stick', 'technic:brass_ingot', 'default:stick' },
 | 
			
		||||
		{ 'default:stick', 'basic_materials:brass_ingot', 'default:stick' },
 | 
			
		||||
		{ '',              'default:stick',       '' },
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
@@ -988,7 +988,7 @@ minetest.register_craft({
 | 
			
		||||
	output = 'technic:frame_motor',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ '',                                  'technic:frame_111111', '' },
 | 
			
		||||
		{ 'group:mesecon_conductor_craftable', 'technic:motor',        'group:mesecon_conductor_craftable' },
 | 
			
		||||
		{ 'group:mesecon_conductor_craftable', 'basic_materials:motor',        'group:mesecon_conductor_craftable' },
 | 
			
		||||
		{ '',                                  'technic:frame_111111', '' },
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
@@ -996,9 +996,9 @@ minetest.register_craft({
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:template 10',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ '',                    'technic:brass_ingot',  '' },
 | 
			
		||||
		{ 'technic:brass_ingot', 'default:mese_crystal', 'technic:brass_ingot' },
 | 
			
		||||
		{ '',                    'technic:brass_ingot',  '' },
 | 
			
		||||
		{ '',                    'basic_materials:brass_ingot',  '' },
 | 
			
		||||
		{ 'basic_materials:brass_ingot', 'default:mese_crystal', 'basic_materials:brass_ingot' },
 | 
			
		||||
		{ '',                    'basic_materials:brass_ingot',  '' },
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -1016,7 +1016,7 @@ minetest.register_craft({
 | 
			
		||||
	output = 'technic:template_motor',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ '',                                  'technic:template', '' },
 | 
			
		||||
		{ 'group:mesecon_conductor_craftable', 'technic:motor',    'group:mesecon_conductor_craftable' },
 | 
			
		||||
		{ 'group:mesecon_conductor_craftable', 'basic_materials:motor',    'group:mesecon_conductor_craftable' },
 | 
			
		||||
		{ '',                                  'technic:template', '' },
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ local fs_helpers = pipeworks.fs_helpers
 | 
			
		||||
local tube_entry = "^pipeworks_tube_connection_metallic.png"
 | 
			
		||||
 | 
			
		||||
local function inject_items (pos)
 | 
			
		||||
		local meta=minetest.get_meta(pos) 
 | 
			
		||||
		local meta=minetest.get_meta(pos)
 | 
			
		||||
		local inv = meta:get_inventory()
 | 
			
		||||
		local mode=meta:get_string("mode")
 | 
			
		||||
		if mode=="single items" then
 | 
			
		||||
@@ -15,7 +15,7 @@ local function inject_items (pos)
 | 
			
		||||
			i=i+1
 | 
			
		||||
				if stack then
 | 
			
		||||
				local item0=stack:to_table()
 | 
			
		||||
				if item0 then 
 | 
			
		||||
				if item0 then
 | 
			
		||||
					item0["count"] = "1"
 | 
			
		||||
					technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0)
 | 
			
		||||
					stack:take_item(1)
 | 
			
		||||
@@ -31,7 +31,7 @@ local function inject_items (pos)
 | 
			
		||||
			i=i+1
 | 
			
		||||
				if stack then
 | 
			
		||||
				local item0=stack:to_table()
 | 
			
		||||
				if item0 then 
 | 
			
		||||
				if item0 then
 | 
			
		||||
					technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0)
 | 
			
		||||
					stack:clear()
 | 
			
		||||
					inv:set_stack("main", i, stack)
 | 
			
		||||
@@ -95,7 +95,7 @@ minetest.register_node("technic:injector", {
 | 
			
		||||
			if meta:get_int("splitstacks") == 1 then
 | 
			
		||||
				stack = stack:peek_item(1)
 | 
			
		||||
			end
 | 
			
		||||
			return meta:get_inventory():room_for_item("main", stack)
 | 
			
		||||
			return inv:room_for_item("main", stack)
 | 
			
		||||
		end,
 | 
			
		||||
		insert_object = function(pos, node, stack, direction)
 | 
			
		||||
			return minetest.get_meta(pos):get_inventory():add_item("main", stack)
 | 
			
		||||
@@ -142,7 +142,7 @@ minetest.register_abm({
 | 
			
		||||
	chance = 1,
 | 
			
		||||
	action = function(pos, node, active_object_count, active_object_count_wider)
 | 
			
		||||
		local pos1 = vector.add(pos, vector.new(0, -1, 0))
 | 
			
		||||
		local node1 = minetest.get_node(pos1) 
 | 
			
		||||
		local node1 = minetest.get_node(pos1)
 | 
			
		||||
		if minetest.get_item_group(node1.name, "tubedevice") > 0 then
 | 
			
		||||
			inject_items(pos)
 | 
			
		||||
		end
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,50 @@
 | 
			
		||||
 | 
			
		||||
local S = technic.getter
 | 
			
		||||
 | 
			
		||||
function technic.insert_object_unique_stack(pos, node, incoming_stack, direction)
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local inv = meta:get_inventory()
 | 
			
		||||
	local incoming_name = incoming_stack:get_name()
 | 
			
		||||
	local stack_index = nil
 | 
			
		||||
	for inv_index, inv_stack in pairs(inv:get_list("src")) do
 | 
			
		||||
		if inv_stack:get_name() == incoming_name then
 | 
			
		||||
			stack_index = inv_index
 | 
			
		||||
			break
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	if stack_index == nil then
 | 
			
		||||
		return inv:add_item("src", incoming_stack)
 | 
			
		||||
	end
 | 
			
		||||
	local present_stack = inv:get_stack("src", stack_index)
 | 
			
		||||
	local leftover = present_stack:add_item(incoming_stack)
 | 
			
		||||
	inv:set_stack("src", stack_index, present_stack)
 | 
			
		||||
	return leftover
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function technic.can_insert_unique_stack(pos, node, incoming_stack, direction)
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local inv = meta:get_inventory()
 | 
			
		||||
	local incoming_name = incoming_stack:get_name()
 | 
			
		||||
	if meta:get_int("splitstacks") == 0 then
 | 
			
		||||
		-- avoid looping second time with inv:contains_item("src", incoming_stack)
 | 
			
		||||
		for _, inv_stack in pairs(inv:get_list("src")) do
 | 
			
		||||
			if inv_stack:get_name() == incoming_name then
 | 
			
		||||
				return inv_stack:item_fits(incoming_stack)
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	return technic.default_can_insert(pos, node, incoming_stack, direction)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function technic.register_alloy_furnace(data)
 | 
			
		||||
	data.typename = "alloy"
 | 
			
		||||
	data.machine_name = "alloy_furnace"
 | 
			
		||||
	data.machine_desc = S("%s Alloy Furnace")
 | 
			
		||||
 | 
			
		||||
	data.insert_object = technic.insert_object_unique_stack
 | 
			
		||||
	data.can_insert = technic.can_insert_unique_stack
 | 
			
		||||
 | 
			
		||||
	technic.register_base_machine(data)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,13 +21,14 @@ local recipes = {
 | 
			
		||||
	{"technic:carbon_steel_dust 3",   "technic:chromium_dust",      "technic:stainless_steel_dust 4"},
 | 
			
		||||
	{"technic:carbon_steel_ingot 3",  "technic:chromium_ingot",     "technic:stainless_steel_ingot 4"},
 | 
			
		||||
	{"technic:copper_dust 2",         "technic:zinc_dust",          "technic:brass_dust 3"},
 | 
			
		||||
	{"default:copper_ingot 2",        "technic:zinc_ingot",         "technic:brass_ingot 3"},
 | 
			
		||||
	{"default:copper_ingot 2",        "technic:zinc_ingot",         "basic_materials:brass_ingot 3"},
 | 
			
		||||
	{"default:sand 2",                "technic:coal_dust 2",        "technic:silicon_wafer"},
 | 
			
		||||
	{"technic:silicon_wafer",         "technic:gold_dust",          "technic:doped_silicon_wafer"},
 | 
			
		||||
	-- from https://en.wikipedia.org/wiki/Carbon_black
 | 
			
		||||
	-- The highest volume use of carbon black is as a reinforcing filler in rubber products, especially tires.
 | 
			
		||||
	-- "[Compounding a] pure gum vulcanizate … with 50% of its weight of carbon black improves its tensile strength and wear resistance …" 
 | 
			
		||||
	-- "[Compounding a] pure gum vulcanizate … with 50% of its weight of carbon black improves its tensile strength and wear resistance …"
 | 
			
		||||
	{"technic:raw_latex 4",           "technic:coal_dust 2",        "technic:rubber 6", 2},
 | 
			
		||||
	{"default:ice", 		  "bucket:bucket_empty",        "bucket:bucket_water", 1 },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
for _, data in pairs(recipes) do
 | 
			
		||||
 
 | 
			
		||||
@@ -129,11 +129,11 @@ local tube = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local function add_on_off_buttons(meta, ltier, charge_percent)
 | 
			
		||||
	local formspec = ""
 | 
			
		||||
	if ltier == "mv" or ltier == "hv" then
 | 
			
		||||
		formspec = "image[1,1;1,2;technic_power_meter_bg.png"
 | 
			
		||||
	local formspec = "image[1,1;1,2;technic_power_meter_bg.png"
 | 
			
		||||
			.."^[lowpart:"..charge_percent
 | 
			
		||||
			..":technic_power_meter_fg.png]"..
 | 
			
		||||
			..":technic_power_meter_fg.png]"
 | 
			
		||||
	if ltier == "mv" or ltier == "hv" then
 | 
			
		||||
		formspec = formspec..
 | 
			
		||||
			fs_helpers.cycling_button(
 | 
			
		||||
				meta,
 | 
			
		||||
				"image_button[3,2.0;1,0.6",
 | 
			
		||||
@@ -452,7 +452,7 @@ function technic.discharge_tools(meta, batt_charge, charge_step, max_charge)
 | 
			
		||||
	if inv:is_empty("dst") then
 | 
			
		||||
		return batt_charge, false
 | 
			
		||||
	end
 | 
			
		||||
	srcstack = inv:get_stack("dst", 1)
 | 
			
		||||
	local srcstack = inv:get_stack("dst", 1)
 | 
			
		||||
	local toolname = srcstack:get_name()
 | 
			
		||||
	if technic.power_tools[toolname] == nil then
 | 
			
		||||
		return batt_charge, false
 | 
			
		||||
 
 | 
			
		||||
@@ -117,6 +117,19 @@ local function clear_networks(pos)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function item_place_override_node(itemstack, placer, pointed, node)
 | 
			
		||||
	-- Call the default on_place function with a fake itemstack
 | 
			
		||||
	local temp_itemstack = ItemStack(itemstack)
 | 
			
		||||
	temp_itemstack:set_name(node.name)
 | 
			
		||||
	local original_count = temp_itemstack:get_count()
 | 
			
		||||
	temp_itemstack =
 | 
			
		||||
		minetest.item_place(temp_itemstack, placer, pointed, node.param2) or
 | 
			
		||||
		temp_itemstack
 | 
			
		||||
	-- Remove the same number of items from the real itemstack
 | 
			
		||||
	itemstack:take_item(original_count - temp_itemstack:get_count())
 | 
			
		||||
	return itemstack
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function technic.register_cable(tier, size)
 | 
			
		||||
	local ltier = string.lower(tier)
 | 
			
		||||
	cable_tier["technic:"..ltier.."_cable"] = tier
 | 
			
		||||
@@ -202,7 +215,7 @@ function technic.register_cable(tier, size)
 | 
			
		||||
		if i == 1 then
 | 
			
		||||
			def.on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
				local pointed_thing_diff = vector.subtract(pointed_thing.above, pointed_thing.under)
 | 
			
		||||
				local num
 | 
			
		||||
				local num = 1
 | 
			
		||||
				local changed
 | 
			
		||||
				for k, v in pairs(pointed_thing_diff) do
 | 
			
		||||
					if v ~= 0 then
 | 
			
		||||
@@ -212,7 +225,7 @@ function technic.register_cable(tier, size)
 | 
			
		||||
					end
 | 
			
		||||
				end
 | 
			
		||||
				local crtl = placer:get_player_control()
 | 
			
		||||
				if (crtl.aux1 or crtl.sneak) and not (crtl.aux1 and crtl.sneak) then
 | 
			
		||||
				if (crtl.aux1 or crtl.sneak) and not (crtl.aux1 and crtl.sneak) and changed then
 | 
			
		||||
					local fine_pointed = minetest.pointed_thing_to_face_pos(placer, pointed_thing)
 | 
			
		||||
					fine_pointed = vector.subtract(fine_pointed, pointed_thing.above)
 | 
			
		||||
					fine_pointed[changed] = nil
 | 
			
		||||
@@ -228,11 +241,10 @@ function technic.register_cable(tier, size)
 | 
			
		||||
						num = xyz[((fine_pointed[bigger] < 0 and "-") or "") .. bigger]
 | 
			
		||||
					end
 | 
			
		||||
				end
 | 
			
		||||
				minetest.set_node(pointed_thing.above, {name = "technic:"..ltier.."_cable_plate_"..num})
 | 
			
		||||
				if not (creative and creative.is_enabled_for(placer)) then
 | 
			
		||||
					itemstack:take_item()
 | 
			
		||||
				end
 | 
			
		||||
				return itemstack
 | 
			
		||||
				return item_place_override_node(
 | 
			
		||||
					itemstack, placer, pointed_thing,
 | 
			
		||||
					{name = "technic:"..ltier.."_cable_plate_"..num}
 | 
			
		||||
				)
 | 
			
		||||
			end
 | 
			
		||||
		else
 | 
			
		||||
			def.groups.not_in_creative_inventory = 1
 | 
			
		||||
 
 | 
			
		||||
@@ -66,14 +66,14 @@ function technic.send_items(pos, x_velocity, z_velocity, output_name)
 | 
			
		||||
		output_name = "dst"
 | 
			
		||||
	end
 | 
			
		||||
	
 | 
			
		||||
	local meta = minetest.get_meta(pos) 
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local inv = meta:get_inventory()
 | 
			
		||||
	local i = 0
 | 
			
		||||
	for _, stack in ipairs(inv:get_list(output_name)) do
 | 
			
		||||
		i = i + 1
 | 
			
		||||
		if stack then
 | 
			
		||||
			local item0 = stack:to_table()
 | 
			
		||||
			if item0 then 
 | 
			
		||||
			if item0 then
 | 
			
		||||
				item0["count"] = "1"
 | 
			
		||||
				technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0)
 | 
			
		||||
				stack:take_item(1)
 | 
			
		||||
@@ -124,7 +124,7 @@ function technic.handle_machine_pipeworks(pos, tube_upgrade, send_function)
 | 
			
		||||
	if node.param2 == 0 then pos1.x = pos1.x + 1  x_velocity =  1 end
 | 
			
		||||
 | 
			
		||||
	local output_tube_connected = false
 | 
			
		||||
	local node1 = minetest.get_node(pos1) 
 | 
			
		||||
	local node1 = minetest.get_node(pos1)
 | 
			
		||||
	if minetest.get_item_group(node1.name, "tubedevice") > 0 then
 | 
			
		||||
		output_tube_connected = true
 | 
			
		||||
	end
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,8 @@ end
 | 
			
		||||
local recipes = {
 | 
			
		||||
	{"default:snowblock",          "default:ice"},
 | 
			
		||||
	{"default:sand 2",             "default:sandstone"},
 | 
			
		||||
	{"default:desert_sand 2",      "default:desert_sandstone"},
 | 
			
		||||
	{"default:silver_sand 2",      "default:silver_sandstone"},
 | 
			
		||||
	{"default:desert_sand",        "default:desert_stone"},
 | 
			
		||||
	{"technic:mixed_metal_ingot",  "technic:composite_plate"},
 | 
			
		||||
	{"default:copper_ingot 5",     "technic:copper_plate"},
 | 
			
		||||
@@ -21,10 +23,21 @@ local recipes = {
 | 
			
		||||
 | 
			
		||||
-- defuse the default sandstone recipe, since we have the compressor to take over in a more realistic manner
 | 
			
		||||
minetest.clear_craft({
 | 
			
		||||
	output = "default:sandstone",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'group:sand', 'group:sand'},
 | 
			
		||||
		{'group:sand', 'group:sand'}
 | 
			
		||||
		{"default:sand", "default:sand"},
 | 
			
		||||
		{"default:sand", "default:sand"},
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.clear_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:desert_sand", "default:desert_sand"},
 | 
			
		||||
		{"default:desert_sand", "default:desert_sand"},
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.clear_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:silver_sand", "default:silver_sand"},
 | 
			
		||||
		{"default:silver_sand", "default:silver_sand"},
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@ if minetest.get_modpath("dye") then
 | 
			
		||||
	-- register recipes with the same crafting ratios as `dye` provides
 | 
			
		||||
	local dye_recipes = {
 | 
			
		||||
		{"technic:coal_dust",                 "dye:black 2"},
 | 
			
		||||
		{"default:blueberries",               "dye:violet 2"},
 | 
			
		||||
		{"default:grass_1",                   "dye:green 1"},
 | 
			
		||||
		{"default:dry_shrub",                 "dye:brown 1"},
 | 
			
		||||
		{"default:junglegrass",               "dye:green 2"},
 | 
			
		||||
@@ -36,13 +37,21 @@ if minetest.get_modpath("dye") then
 | 
			
		||||
	-- overwrite the existing crafting recipes
 | 
			
		||||
	local dyes = {"white", "red", "yellow", "blue", "violet", "orange"}
 | 
			
		||||
	for _, color in ipairs(dyes) do
 | 
			
		||||
		minetest.register_craft({
 | 
			
		||||
		        type = "shapeless",
 | 
			
		||||
		        output = "dye:"..color.." 1",
 | 
			
		||||
		        recipe = {"group:flower,color_"..color},
 | 
			
		||||
		minetest.clear_craft({
 | 
			
		||||
			type = "shapeless",
 | 
			
		||||
			recipe = {"group:flower,color_"..color},
 | 
			
		||||
		})
 | 
			
		||||
		minetest.register_craft({
 | 
			
		||||
			type = "shapeless",
 | 
			
		||||
			output = "dye:"..color.." 1",
 | 
			
		||||
			recipe = {"group:flower,color_"..color},
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	minetest.clear_craft({
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		recipe = {"group:coal"},
 | 
			
		||||
	})
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		output = "dye:black 1",
 | 
			
		||||
@@ -50,6 +59,10 @@ if minetest.get_modpath("dye") then
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	if unifieddyes then
 | 
			
		||||
		minetest.clear_craft({
 | 
			
		||||
			type = "shapeless",
 | 
			
		||||
			recipe = {"default:cactus"},
 | 
			
		||||
		})
 | 
			
		||||
		minetest.register_craft({
 | 
			
		||||
			type = "shapeless",
 | 
			
		||||
			output = "dye:green 1",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								technic/machines/register/freezer.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
			
		||||
 | 
			
		||||
local S = technic.getter
 | 
			
		||||
 | 
			
		||||
function technic.register_freezer(data)
 | 
			
		||||
	data.typename = "freezing"
 | 
			
		||||
	data.machine_name = "freezer"
 | 
			
		||||
	data.machine_desc = S("%s Freezer")
 | 
			
		||||
	technic.register_base_machine(data)
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										21
									
								
								technic/machines/register/freezer_recipes.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
			
		||||
 | 
			
		||||
local S = technic.getter
 | 
			
		||||
 | 
			
		||||
technic.register_recipe_type("freezing", { description = S("Freezing") })
 | 
			
		||||
 | 
			
		||||
function technic.register_freezer_recipe(data)
 | 
			
		||||
	data.time = data.time or 5
 | 
			
		||||
	technic.register_recipe("freezing", data)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local recipes = {
 | 
			
		||||
	{"bucket:bucket_water", { "default:ice", "bucket:bucket_empty" } },
 | 
			
		||||
	{"bucket:bucket_river_water", { "default:ice", "bucket:bucket_empty" } },
 | 
			
		||||
	{"default:dirt", "default:dirt_with_snow" },
 | 
			
		||||
	{"bucket:bucket_lava", { "default:obsidian", "bucket:bucket_empty" } }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
for _, data in pairs(recipes) do
 | 
			
		||||
	technic.register_freezer_recipe({input = {data[1]}, output = data[2]})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@@ -57,7 +57,7 @@ function technic.register_generator(data)
 | 
			
		||||
		-- Burn another piece of fuel
 | 
			
		||||
		if burn_time == 0 then
 | 
			
		||||
			local inv = meta:get_inventory()
 | 
			
		||||
			if not inv:is_empty("src") then 
 | 
			
		||||
			if not inv:is_empty("src") then
 | 
			
		||||
				local fuellist = inv:get_list("src")
 | 
			
		||||
				local fuel
 | 
			
		||||
				local afterfuel
 | 
			
		||||
@@ -96,7 +96,7 @@ function technic.register_generator(data)
 | 
			
		||||
				}
 | 
			
		||||
			)..pipeworks.button_label
 | 
			
		||||
		end
 | 
			
		||||
		meta:set_string("formspec", 
 | 
			
		||||
		meta:set_string("formspec",
 | 
			
		||||
			"size[8, 9]"..
 | 
			
		||||
			"label[0, 0;"..minetest.formspec_escape(desc).."]"..
 | 
			
		||||
			"list[current_name;src;3, 1;1, 1;]"..
 | 
			
		||||
@@ -120,7 +120,7 @@ function technic.register_generator(data)
 | 
			
		||||
				"technic_"..ltier.."_generator_side.png"..tentry,
 | 
			
		||||
				"technic_"..ltier.."_generator_side.png"..tentry,
 | 
			
		||||
				"technic_"..ltier.."_generator_front.png"
 | 
			
		||||
		}, 
 | 
			
		||||
		},
 | 
			
		||||
		paramtype2 = "facedir",
 | 
			
		||||
		groups = groups,
 | 
			
		||||
		connect_sides = {"bottom", "back", "left", "right"},
 | 
			
		||||
@@ -240,7 +240,7 @@ function technic.register_generator(data)
 | 
			
		||||
					}
 | 
			
		||||
				)..pipeworks.button_label
 | 
			
		||||
			end
 | 
			
		||||
			meta:set_string("formspec", 
 | 
			
		||||
			meta:set_string("formspec",
 | 
			
		||||
				"size[8, 9]"..
 | 
			
		||||
				"label[0, 0;"..minetest.formspec_escape(desc).."]"..
 | 
			
		||||
				"list[current_name;src;3, 1;1, 1;]"..
 | 
			
		||||
@@ -274,7 +274,7 @@ function technic.register_generator(data)
 | 
			
		||||
			local burn_time = meta:get_int("burn_time")
 | 
			
		||||
			local percent = math.floor(burn_time / burn_totaltime * 100)
 | 
			
		||||
 | 
			
		||||
			meta:set_string("formspec", 
 | 
			
		||||
			meta:set_string("formspec",
 | 
			
		||||
				"size[8, 9]"..
 | 
			
		||||
				"label[0, 0;"..minetest.formspec_escape(desc).."]"..
 | 
			
		||||
				"list[current_name;src;3, 1;1, 1;]"..
 | 
			
		||||
 
 | 
			
		||||
@@ -23,17 +23,31 @@ local recipes = {
 | 
			
		||||
	{"technic:sulfur_lump",        "technic:sulfur_dust 2"},
 | 
			
		||||
	{"default:stone",              "technic:stone_dust"},
 | 
			
		||||
	{"default:sand",               "technic:stone_dust"},
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	-- Other
 | 
			
		||||
	{"default:cobble",          "default:gravel"},
 | 
			
		||||
	{"default:gravel",          "default:sand"},
 | 
			
		||||
	{"default:sandstone",       "default:sand 2"}, -- reverse recipe can be found in the compressor
 | 
			
		||||
	{"default:cobble",           "default:gravel"},
 | 
			
		||||
	{"default:gravel",           "default:sand"},
 | 
			
		||||
	{"default:sandstone",        "default:sand 2"}, -- reverse recipe can be found in the compressor
 | 
			
		||||
	{"default:desert_sandstone", "default:desert_sand 2"}, -- reverse recipe can be found in the compressor
 | 
			
		||||
	{"default:silver_sandstone", "default:silver_sand 2"}, -- reverse recipe can be found in the compressor
 | 
			
		||||
 | 
			
		||||
	{"default:ice",              "default:snowblock"},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
-- defuse the sandstone -> 4 sand recipe to avoid infinite sand bugs (also consult the inverse compressor recipe)
 | 
			
		||||
minetest.clear_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'default:sandstone'}
 | 
			
		||||
		{"default:sandstone"}
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.clear_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:desert_sandstone"}
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.clear_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:silver_sandstone"}
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -81,7 +95,7 @@ local function register_dust(name, ingot)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Sorted alphibeticaly
 | 
			
		||||
register_dust("Brass",           "technic:brass_ingot")
 | 
			
		||||
register_dust("Brass",           "basic_materials:brass_ingot")
 | 
			
		||||
register_dust("Bronze",          "default:bronze_ingot")
 | 
			
		||||
register_dust("Carbon Steel",    "technic:carbon_steel_ingot")
 | 
			
		||||
register_dust("Cast Iron",       "technic:cast_iron_ingot")
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@ dofile(path.."/grinder_recipes.lua")
 | 
			
		||||
dofile(path.."/extractor_recipes.lua")
 | 
			
		||||
dofile(path.."/compressor_recipes.lua")
 | 
			
		||||
dofile(path.."/centrifuge_recipes.lua")
 | 
			
		||||
dofile(path.."/freezer_recipes.lua")
 | 
			
		||||
 | 
			
		||||
-- Multi-Machine Recipes
 | 
			
		||||
dofile(path.."/grindings.lua")
 | 
			
		||||
@@ -31,3 +32,4 @@ dofile(path.."/grinder.lua")
 | 
			
		||||
dofile(path.."/extractor.lua")
 | 
			
		||||
dofile(path.."/compressor.lua")
 | 
			
		||||
dofile(path.."/centrifuge.lua")
 | 
			
		||||
dofile(path.."/freezer.lua")
 | 
			
		||||
 
 | 
			
		||||
@@ -4,22 +4,26 @@ local S = technic.getter
 | 
			
		||||
local fs_helpers = pipeworks.fs_helpers
 | 
			
		||||
local tube_entry = "^pipeworks_tube_connection_metallic.png"
 | 
			
		||||
 | 
			
		||||
local tube = {
 | 
			
		||||
	insert_object = function(pos, node, stack, direction)
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		local inv = meta:get_inventory()
 | 
			
		||||
		return inv:add_item("src", stack)
 | 
			
		||||
	end,
 | 
			
		||||
	can_insert = function(pos, node, stack, direction)
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		local inv = meta:get_inventory()
 | 
			
		||||
		if meta:get_int("splitstacks") == 1 then
 | 
			
		||||
			stack = stack:peek_item(1)
 | 
			
		||||
		end
 | 
			
		||||
		return inv:room_for_item("src", stack)
 | 
			
		||||
	end,
 | 
			
		||||
	connect_sides = {left = 1, right = 1, back = 1, top = 1, bottom = 1},
 | 
			
		||||
}
 | 
			
		||||
function technic.default_can_insert(pos, node, stack, direction)
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local inv = meta:get_inventory()
 | 
			
		||||
	if meta:get_int("splitstacks") == 1 then
 | 
			
		||||
		stack = stack:peek_item(1)
 | 
			
		||||
	end
 | 
			
		||||
	return inv:room_for_item("src", stack)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function technic.new_default_tube()
 | 
			
		||||
	return {
 | 
			
		||||
		insert_object = function(pos, node, stack, direction)
 | 
			
		||||
			local meta = minetest.get_meta(pos)
 | 
			
		||||
			local inv = meta:get_inventory()
 | 
			
		||||
			return inv:add_item("src", stack)
 | 
			
		||||
		end,
 | 
			
		||||
		can_insert = technic.default_can_insert,
 | 
			
		||||
		connect_sides = {left = 1, right = 1, back = 1, top = 1, bottom = 1},
 | 
			
		||||
	}
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local connect_default = {"bottom", "back", "left", "right"}
 | 
			
		||||
 | 
			
		||||
@@ -64,6 +68,14 @@ function technic.register_base_machine(data)
 | 
			
		||||
			"listring[current_player;main]"
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local tube = technic.new_default_tube()
 | 
			
		||||
	if data.can_insert then
 | 
			
		||||
		tube.can_insert = data.can_insert
 | 
			
		||||
	end
 | 
			
		||||
	if data.insert_object then
 | 
			
		||||
		tube.insert_object = data.insert_object
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local run = function(pos, node)
 | 
			
		||||
		local meta     = minetest.get_meta(pos)
 | 
			
		||||
		local inv      = meta:get_inventory()
 | 
			
		||||
@@ -144,10 +156,11 @@ function technic.register_base_machine(data)
 | 
			
		||||
	if ltier == "lv" then
 | 
			
		||||
		tentry = ""
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	minetest.register_node("technic:"..ltier.."_"..machine_name, {
 | 
			
		||||
		description = machine_desc:format(tier),
 | 
			
		||||
		tiles = {
 | 
			
		||||
			"technic_"..ltier.."_"..machine_name.."_top.png"..tentry, 
 | 
			
		||||
			"technic_"..ltier.."_"..machine_name.."_top.png"..tentry,
 | 
			
		||||
			"technic_"..ltier.."_"..machine_name.."_bottom.png"..tentry,
 | 
			
		||||
			"technic_"..ltier.."_"..machine_name.."_side.png"..tentry,
 | 
			
		||||
			"technic_"..ltier.."_"..machine_name.."_side.png"..tentry,
 | 
			
		||||
 
 | 
			
		||||
@@ -201,10 +201,11 @@ minetest.register_node("technic:supply_converter", {
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'technic:supply_converter 1',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'technic:fine_gold_wire', 'technic:rubber',         'technic:doped_silicon_wafer'},
 | 
			
		||||
		{'basic_materials:gold_wire', 'technic:rubber',         'technic:doped_silicon_wafer'},
 | 
			
		||||
		{'technic:mv_transformer', 'technic:machine_casing', 'technic:lv_transformer'},
 | 
			
		||||
		{'technic:mv_cable',       'technic:rubber',         'technic:lv_cable'},
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	replacements = { {"basic_materials:gold_wire", "basic_materials:empty_spool"}, },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
for tier, machines in pairs(technic.machines) do
 | 
			
		||||
 
 | 
			
		||||
@@ -119,13 +119,13 @@ end
 | 
			
		||||
-- Generic function to add found connected nodes to the right classification array
 | 
			
		||||
local check_node_subp = function(PR_nodes, RE_nodes, BA_nodes, SP_nodes, all_nodes, pos, machines, tier, sw_pos, from_below, network_id, queue)
 | 
			
		||||
	technic.get_or_load_node(pos)
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local name = minetest.get_node(pos).name
 | 
			
		||||
 | 
			
		||||
	if technic.is_tier_cable(name, tier) then
 | 
			
		||||
		add_cable_node(all_nodes, pos,network_id, queue)
 | 
			
		||||
	elseif machines[name] then
 | 
			
		||||
		--dprint(name.." is a "..machines[name])
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		meta:set_string(tier.."_network",minetest.pos_to_string(sw_pos))
 | 
			
		||||
		if     machines[name] == technic.producer then
 | 
			
		||||
			add_network_node(PR_nodes, pos, network_id)
 | 
			
		||||
@@ -227,6 +227,20 @@ minetest.register_chatcommand("powerctrl", {
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Run all the nodes
 | 
			
		||||
local function run_nodes(list, run_stage)
 | 
			
		||||
	for _, pos in ipairs(list) do
 | 
			
		||||
		technic.get_or_load_node(pos)
 | 
			
		||||
		local node = minetest.get_node_or_nil(pos)
 | 
			
		||||
		if node and node.name then
 | 
			
		||||
			local nodedef = minetest.registered_nodes[node.name]
 | 
			
		||||
			if nodedef and nodedef.technic_run then
 | 
			
		||||
				nodedef.technic_run(pos, node, run_stage)
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_abm({
 | 
			
		||||
	nodenames = {"technic:switching_station"},
 | 
			
		||||
	label = "Switching Station", -- allows the mtt profiler to profile this abm individually
 | 
			
		||||
@@ -281,21 +295,6 @@ minetest.register_abm({
 | 
			
		||||
			return
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		-- Run all the nodes
 | 
			
		||||
		local function run_nodes(list, run_stage)
 | 
			
		||||
			for _, pos2 in ipairs(list) do
 | 
			
		||||
				technic.get_or_load_node(pos2)
 | 
			
		||||
				local node2 = minetest.get_node(pos2)
 | 
			
		||||
				local nodedef
 | 
			
		||||
				if node2 and node2.name then
 | 
			
		||||
					nodedef = minetest.registered_nodes[node2.name]
 | 
			
		||||
				end
 | 
			
		||||
				if nodedef and nodedef.technic_run then
 | 
			
		||||
					nodedef.technic_run(pos2, node2, run_stage)
 | 
			
		||||
				end
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
		run_nodes(PR_nodes, technic.producer)
 | 
			
		||||
		run_nodes(RE_nodes, technic.receiver)
 | 
			
		||||
		run_nodes(BA_nodes, technic.battery)
 | 
			
		||||
@@ -467,7 +466,6 @@ minetest.register_abm({
 | 
			
		||||
	interval   = 1,
 | 
			
		||||
	chance     = 1,
 | 
			
		||||
	action = function(pos, node, active_object_count, active_object_count_wider)
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		for tier, machines in pairs(technic.machines) do
 | 
			
		||||
			if machines[node.name] and switching_station_timeout_count(pos, tier) then
 | 
			
		||||
				local nodedef = minetest.registered_nodes[node.name]
 | 
			
		||||
@@ -493,7 +491,6 @@ minetest.register_abm({
 | 
			
		||||
	interval   = 1,
 | 
			
		||||
	chance     = 1,
 | 
			
		||||
	action = function(pos, node, active_object_count, active_object_count_wider)
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		local pos1 = {x=pos.x,y=pos.y-1,z=pos.z}
 | 
			
		||||
		local tier = technic.get_cable_tier(minetest.get_node(pos1).name)
 | 
			
		||||
		if not tier then return end
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								technic/mod.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,3 @@
 | 
			
		||||
name = technic
 | 
			
		||||
depends = default, pipeworks, technic_worldgen, basic_materials
 | 
			
		||||
optional_depends = bucket, screwdriver, mesecons, mesecons_mvps, digilines, digiline_remote, intllib, unified_inventory, vector_extras, dye
 | 
			
		||||
@@ -146,7 +146,7 @@ local rad_resistance_node = {
 | 
			
		||||
	["moreores:mithril_block"] = 26,
 | 
			
		||||
	["moreores:silver_block"] = 53,
 | 
			
		||||
	["snow:snow_brick"] = 2.8,
 | 
			
		||||
	["technic:brass_block"] = 43,
 | 
			
		||||
	["basic_materials:brass_block"] = 43,
 | 
			
		||||
	["technic:carbon_steel_block"] = 40,
 | 
			
		||||
	["technic:cast_iron_block"] = 40,
 | 
			
		||||
	["technic:chernobylite_block"] = 40,
 | 
			
		||||
@@ -294,6 +294,8 @@ local function calculate_damage_multiplier(object)
 | 
			
		||||
	end
 | 
			
		||||
	if ag.radiation then
 | 
			
		||||
		return 0.01 * ag.radiation
 | 
			
		||||
	elseif armor_enabled then
 | 
			
		||||
		return 0
 | 
			
		||||
	end
 | 
			
		||||
	if ag.fleshy then
 | 
			
		||||
		return math.sqrt(0.01 * ag.fleshy)
 | 
			
		||||
@@ -309,7 +311,7 @@ local function calculate_object_center(object)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function dmg_object(pos, object, strength)
 | 
			
		||||
	local obj_pos = vector.add(object:getpos(), calculate_object_center(object))
 | 
			
		||||
	local obj_pos = vector.add(object:get_pos(), calculate_object_center(object))
 | 
			
		||||
	local mul
 | 
			
		||||
	if armor_enabled or entity_damage then
 | 
			
		||||
		-- we need to check may the object be damaged even if armor is disabled
 | 
			
		||||
@@ -338,7 +340,7 @@ local function dmg_abm(pos, node)
 | 
			
		||||
	local max_dist = strength * rad_dmg_mult_sqrt
 | 
			
		||||
	for _, o in pairs(minetest.get_objects_inside_radius(pos,
 | 
			
		||||
			max_dist + abdomen_offset)) do
 | 
			
		||||
		if entity_damage or o:is_player() then
 | 
			
		||||
		if (entity_damage or o:is_player()) and o:get_hp() > 0 then
 | 
			
		||||
			dmg_object(pos, o, strength)
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
@@ -513,4 +515,3 @@ if griefing then
 | 
			
		||||
		end,
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 23 KiB  | 
| 
		 Before Width: | Height: | Size: 896 B After Width: | Height: | Size: 675 B  | 
| 
		 Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 75 KiB  | 
| 
		 Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.1 KiB  | 
| 
		 Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 210 KiB  | 
| 
		 Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.1 KiB  | 
| 
		 Before Width: | Height: | Size: 463 B After Width: | Height: | Size: 405 B  | 
| 
		 Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 184 B  | 
| 
		 Before Width: | Height: | Size: 873 B After Width: | Height: | Size: 648 B  | 
| 
		 Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 168 B  | 
| 
		 Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 168 B  | 
| 
		 Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 168 B  | 
| 
		 Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 245 B  | 
| 
		 Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 172 B  | 
| 
		 Before Width: | Height: | Size: 287 B After Width: | Height: | Size: 156 B  | 
| 
		 Before Width: | Height: | Size: 461 B After Width: | Height: | Size: 311 B  | 
| 
		 Before Width: | Height: | Size: 256 B After Width: | Height: | Size: 181 B  | 
| 
		 Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 288 B  | 
| 
		 Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 149 B  | 
| 
		 Before Width: | Height: | Size: 162 B After Width: | Height: | Size: 146 B  | 
| 
		 Before Width: | Height: | Size: 416 B After Width: | Height: | Size: 333 B  | 
| 
		 Before Width: | Height: | Size: 420 B After Width: | Height: | Size: 333 B  | 
| 
		 Before Width: | Height: | Size: 529 B After Width: | Height: | Size: 374 B  | 
| 
		 Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 260 B  |