PyCoalTBaA or the PyCoal Touched by an Angel Compatibility Patch

Topics and discussion about specific mods
aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

Hey people i have some tiny idea for pure sand
To extract quartz ore from pure sand

Recipe - 20 pure sand to 1 quartz ore + 10 rich dust + 3 gravel in classifier
Nickname on ModPortal - Naron79

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

Hi kingarthur, neeed ur help pls
https://yadi.sk/i/bmFfvOM53Pw2L2
i installed pyanodon fusion energy mod and got this error, there're mod-list with error i must this error is strange for me
Nickname on ModPortal - Naron79

kingarthur
Smart Inserter
Smart Inserter
Posts: 1459
Joined: Sun Jun 15, 2014 11:39 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by kingarthur »

aklesey1 wrote:Hi kingarthur, neeed ur help pls
https://yadi.sk/i/bmFfvOM53Pw2L2
i installed pyanodon fusion energy mod and got this error, there're mod-list with error i must this error is strange for me
ya im got sometime today so im messing with it and i just found that error also. pyanodon forgot to create a file so it crashes on the fact that it doesnt exist.
im let him know asap

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

RSO not working on PYFE with its resources so i'll test PFR - Pretty Fair Resources mod, to watch for new resources generation

And i think we need to add molybdenum to refining system of angel's refining - get from stiratite, rubyte and bobmonium in their crystal pure form - end stage of refining
Nickname on ModPortal - Naron79

kingarthur
Smart Inserter
Smart Inserter
Posts: 1459
Joined: Sun Jun 15, 2014 11:39 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by kingarthur »

aklesey1 wrote:And i think we need to add molybdenum to refining system of angel's refining - get from stiratite, rubyte and bobmonium in their crystal pure form - end stage of refining
Ya idk. between the holiday and basically working from Friday afternoon till Monday morning with a 5 hours each day to nap and eat an all that its going to be a few days before i have a chance to play with pyfusion. i will take a look at molybdenum and see how much its used before i make a decision as i want to make sure its not just another ore made the same way as all the others. i want to do something that is a bit different and suitably complex.

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

Damn i saw its some hard to add molybdenum into angel's refining system

there is such concept which is called at Arch666Angel "angels-void" - so what its means i can't fully understand for now, i just tried to look into angel's refining mod? nmay be i need to look into infinite ores too :(

Code: Select all

{
    type = "recipe",
    name = "angelsore-chunk-mix5-processing",
    category = "ore-sorting",
	subgroup = "ore-sorting-advanced",
    energy_required = 1,
	enabled = "false",
	allow_decomposition = false,
	normal =
    {
		ingredients ={
		{type="item", name="angels-ore3-chunk", amount=2},
		{type="item", name="angels-ore5-chunk", amount=2},
		{type="item", name="catalysator-brown", amount=1},
		},
    },
    expensive =
    {
		ingredients ={
		{type="item", name="angels-ore3-chunk", amount=3 * rawmulti},
		{type="item", name="angels-ore5-chunk", amount=3 * rawmulti},
		{type="item", name="catalysator-brown", amount=1},
		},
    },
    results=
    {
		{type="item", name="angels-void", amount=1},
	},
    order = "i[angelsore-chunk-mix5-processing]",
	},
So how to undertand which product we'll have on exit? All so tricky
Nickname on ModPortal - Naron79

hoho
Filter Inserter
Filter Inserter
Posts: 677
Joined: Sat Jan 18, 2014 11:23 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by hoho »

From the (very) little I understand about how Angel does his stuff, those void thingies are placeholders. Somewhere there is a function that detects what ores-metals should there be and then it'll replace the voids with those ores-metals. Any void that is left over will be ignored and not shown/used in-game

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

Hoho

Code: Select all

{
  "name": "angelsrefining",
  "version": "0.8.1",
  "factorio_version": "0.15",
  "title": "Angel's Refining",
  "author": "Arch666Angel",
  "contact": "",
  "homepage": "https://forums.factorio.com/viewforum.php?f=185",
  "description": "With AngelsInfiniteOres it adds ore refining to the game. Compound ores have to be refined before you are able to smelt and cast them into plates. Works best in conjunction with Bobmods and supports additional mods like Yuoki Industries, Uranium Power and Nucular.",
  "dependencies": [
	"base >= 0.15.10",
	"? rso-mod >= 2.3.3",
	"? bobplates >= 0.15.0",
	"? bobrevamp >= 0.15.0", 
	"? Yuoki >= 0.4.0", 
	"? UraniumPower >= 0.6.4", 
	"? Nucular >= 0.2.0"
	]
}
Its interesting - there're no dependency for angel's infinite ore's, but angel's infinite ores have dependency for angel's refining has no dependency for angel's infinite ores, i thought bob's ores are written in angel's infinite ore's, where there is a replacement ores to the desired?

May be here?

Code: Select all

--INITIALIZE
if not angelsmods then angelsmods = {} end
if not angelsmods.ores then angelsmods.ores = {} end

--TRIGGER CHECKS
	--RSO
	if RsoMod then
		angelsmods.ores.enablersomode = true
	else
		angelsmods.ores.enablersomode = false
	end
	
--SETTINGS CHECKs
	--INFINITE ORE YIELD CHANGE MODIFIER
	angelsmods.ores.yield = settings.startup["angels-infinite-ores-yield"].value * 15

	--OIL YIELD CHANGE MODIFIER
	angelsmods.ores.oilyield = settings.startup["angels-oil-gas-yield"].value * 1000

	data.raw.resource["crude-oil"].minimum = angelsmods.ores.oilyield
	data.raw.resource["crude-oil"].normal = 100000

	--WATER YIELD CHANGE MODIFIER
	angelsmods.ores.fissureyield = settings.startup["angels-fissure-yield"].value * 1000

	--INFINITE ORE RESULT PROBABILITY CHECK
	angelsmods.ores.loweryield = settings.startup["angels-lower-infinite-yield"].value
	
	--ADD FLUID REQUIREMENT TO INFINITE MINING
	angelsmods.ores.enablefluidreq = settings.startup["angels-enablefluidreq"].value
	
	--VANILLA
	angelsmods.ores.enableinfiniteiron = settings.startup["angels-enableinfiniteiron"].value
	angelsmods.ores.enableinfinitecopper = settings.startup["angels-enableinfinitecopper"].value
	angelsmods.ores.enableinfinitestone = settings.startup["angels-enableinfinitestone"].value
	angelsmods.ores.enableinfinitecoal = settings.startup["angels-enableinfinitecoal"].value
	angelsmods.ores.enableinfiniteuranium = settings.startup["angels-enableinfiniteuranium"].value
	--ANGELS
	angelsmods.ores.enableinfiniteangelsore1 = settings.startup["angels-enableinfiniteangelsore1"].value
	angelsmods.ores.enableinfiniteangelsore2 = settings.startup["angels-enableinfiniteangelsore2"].value
	angelsmods.ores.enableinfiniteangelsore3 = settings.startup["angels-enableinfiniteangelsore3"].value
	angelsmods.ores.enableinfiniteangelsore4 = settings.startup["angels-enableinfiniteangelsore4"].value
	angelsmods.ores.enableinfiniteangelsore5 = settings.startup["angels-enableinfiniteangelsore5"].value
	angelsmods.ores.enableinfiniteangelsore6 = settings.startup["angels-enableinfiniteangelsore6"].value
	--BOBS
	angelsmods.ores.enableinfinitebobbauxite = settings.startup["angels-enableinfinitebobbauxite"].value
	angelsmods.ores.enableinfinitebobcobalt = settings.startup["angels-enableinfinitebobcobalt"].value
	angelsmods.ores.enableinfinitebobgems = settings.startup["angels-enableinfinitebobgems"].value
	angelsmods.ores.enableinfinitebobgold = settings.startup["angels-enableinfinitebobgold"].value
	angelsmods.ores.enableinfiniteboblead = settings.startup["angels-enableinfiniteboblead"].value
	angelsmods.ores.enableinfinitebobnickel = settings.startup["angels-enableinfinitebobnickel"].value
	angelsmods.ores.enableinfinitebobquartz = settings.startup["angels-enableinfinitebobquartz"].value
	angelsmods.ores.enableinfinitebobrutile = settings.startup["angels-enableinfinitebobrutile"].value
	angelsmods.ores.enableinfinitebobsilver = settings.startup["angels-enableinfinitebobsilver"].value
	angelsmods.ores.enableinfinitebobsulfur = settings.startup["angels-enableinfinitebobsulfur"].value
	angelsmods.ores.enableinfinitebobtin = settings.startup["angels-enableinfinitebobtin"].value
	angelsmods.ores.enableinfinitebobtungsten = settings.startup["angels-enableinfinitebobtungsten"].value
	angelsmods.ores.enableinfinitebobzinc = settings.startup["angels-enableinfinitebobzinc"].value
	--YUOKIS
	angelsmods.ores.enableinfiniteyuoki = settings.startup["angels-enableinfiniteyuoki"].value
	--URANIUM POWER
	angelsmods.ores.enableinfiniteuraniumpower = settings.startup["angels-enableinfiniteuraniumpower"].value
	--DARK MATTER
	angelsmods.ores.enableinfinitedarkmatter = settings.startup["angels-enableinfinitedarkmatter"].value

--LOAD PROTOTYPES	  
if angelsmods.refining then
	require("prototypes.generation.vanilla-coal")
	
	if not angelsmods.components and not (bobmods and bobmods.plates) then
		require("prototypes.generation.vanilla-uranium")	
	end
	
	require("prototypes.generation.angels-ore1-inf")
	require("prototypes.generation.angels-ore2-inf")
	require("prototypes.generation.angels-ore3-inf")
	require("prototypes.generation.angels-ore4-inf")
	require("prototypes.generation.angels-ore5-inf")
	require("prototypes.generation.angels-ore6-inf")

else
	require("prototypes.generation.vanilla-coal")
	require("prototypes.generation.vanilla-stone")
	require("prototypes.generation.vanilla-iron")
	require("prototypes.generation.vanilla-copper")
	require("prototypes.generation.vanilla-uranium")		
	
	if bobmods and bobmods.ores then
		require("prototypes.generation.bob-bauxite")
		require("prototypes.generation.bob-cobalt")
		require("prototypes.generation.bob-gems")			
		require("prototypes.generation.bob-gold")
		require("prototypes.generation.bob-lead")
		require("prototypes.generation.bob-nickel")
		require("prototypes.generation.bob-quartz")
		require("prototypes.generation.bob-rutile")
		require("prototypes.generation.bob-silver")
		require("prototypes.generation.bob-sulfur")
		require("prototypes.generation.bob-tin")
		require("prototypes.generation.bob-tungsten")
		require("prototypes.generation.bob-zinc")

		require("prototypes.generation.bob-options")	
	end
	
	if data.raw.resource["y-res1"] then
		require("prototypes.generation.yuoki-res1")
		require("prototypes.generation.yuoki-res2")
	end
	
	if data.raw.resource["uraninite"] then
		require("prototypes.generation.up-uraninite")
		require("prototypes.generation.up-fluorite")
	end
end

if data.raw.resource["tenemut"] then
	require("prototypes.generation.dm-tenemut")
end
This is the data.lua for angel's infinite ores
Nickname on ModPortal - Naron79

User avatar
ZlovreD
Fast Inserter
Fast Inserter
Posts: 129
Joined: Thu Apr 06, 2017 1:07 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by ZlovreD »

data-final-fixes:

Code: Select all

-- Overriedes: molybdenum ore
if data.raw.item["molybdenum-ore"] and angelsmods.refining then
	data.raw.resource["molybdenum-ore"]["autoplace"] = nil
	data.raw["autoplace-control"]["molybdenum-ore"] = nil
	angelsmods.functions.OV.patch_recipes({
	--TIER 3
	  {
	  	name = "angelsore2-crystal-processing",
	  	ingredients = { {type = "item", name = "angels-ore2-crystal", amount= "+1"} },
	  	results = { {type = "item", name = "molybdenum-ore", amount=1} }
	  },
	  {
	  	name = "angelsore4-crystal-processing",
	  	ingredients = { {type = "item", name = "angels-ore4-crystal", amount= "+1"} },
	  	results = { {type = "item", name = "molybdenum-ore", amount=1} }
	  },
	--TIER 4
	  {
	  	name = "angelsore2-pure-processing",
	  	ingredients = { {type = "item", name = "angels-ore2-pure", amount= "+1"} },
	  	results = { {type = "item", name = "molybdenum-ore", amount=1} }
	  },
	  {
	  	name = "angelsore4-pure-processing",
	  	ingredients = { {type = "item", name = "angels-ore4-pure", amount= "+1"} },
	  	results = { {type = "item", name = "molybdenum-ore", amount=2} }
	  },
	  {
	  	name = "angelsore5-pure-processing",
	  	ingredients = { {type = "item", name = "angels-ore5-pure", amount= "+1"} },
	  	results = { {type = "item", name = "molybdenum-ore", amount=1} }
	  },
	  })

	data:extend({
	  {
		type = "recipe",
		name = "slag-processing-mol",
		category = "crystallizing",
		subgroup = "slag-processing",
		energy_required = 8,
		enabled = "false",
		ingredients =
		{
			{type="fluid", name="mineral-sludge", amount=50},
		},
		results=
		{
			{type = "item", name = "molybdenum-ore", amount_min = 1, amount_max = 2, probability = 0.36},
		},
		icon = "__MOD__/graphics/icons/slag-processing-mol.png",
		order = "a-a [slag-processing-up]",
	  },
	  {
		type = "recipe",
		name = "angelsore-crystal-mix-mol-processing",
		category = "ore-sorting",
		subgroup = "ore-sorting-advanced",
		energy_required = 1.5,
		enabled = "false",
		ingredients =
		{
			{type="item", name="angels-ore2-crystal", amount=1},
			{type="item", name="angels-ore4-crystal", amount=1},
			{type="item", name="angels-ore5-crystal", amount=1},
			{type="item", name="catalysator-brown", amount=1},
		},
		results=
		{
			{type = "item", name = "molybdenum-ore", amount = 4},
		},
		icon = "__MOD__/graphics/icons/angels-ore-mix-mol-sorting.png",
		order = "c-i-g[angelsore-crystal-mix-mol-processing]",
	  }
	})
	table.insert(
		data.raw["technology"]["slag-processing-1"].effects,
		{type = "unlock-recipe", recipe = "slag-processing-mol"}
	)
	table.insert(
		data.raw["technology"]["advanced-ore-refining-3"].effects,
		{type = "unlock-recipe", recipe = "angelsore-crystal-mix-mol-processing"}
	)

	
	-- Infinity ore patches
	if angelsmods.ores and angelsmods.ores.enableinfiniteuraniumpower then -- TO DO: change to molybdenum ore settings

		if not angelsmods.ores.enablersomode then
		data:extend(
		{
			{
			type = "autoplace-control",
			name = "infinite-molybdenum-ore",
			richness = true,
			order = "b-e"
			},
			{
			type = "noise-layer",
			name = "infinite-molybdenum-ore"
			},
			{
			type = "resource",
			name = "infinite-molybdenum-ore",
			icon = "__pyfusionenergy__/graphics/icons/ores/molybdenum.png",
			flags = {"placeable-neutral"},
			order="a-b-e",
			infinite=true,
			minimum=angelsmods.ores.yield,
			normal=1500,
			maximum=6000,
			minable =
			{
			  hardness = 1.5,
			  mining_particle = "stone-particle",
			  mining_time = 3,
			  results = {
					{
						type = "item",
						name = "molybdenum-ore",
						amount_min = 1,
						amount_max = 1,
						probability = angelsmods.ores.loweryield
					}
				},
			},
			collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
			selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
			autoplace =
			{
				control = "infinite-molybdenum-ore",
				sharpness = 1,
				richness_multiplier = 1500,
				richness_multiplier_distance_bonus = 30,
				richness_base = 500,
				coverage = 0.02,
				peaks = {
					{
						noise_layer = "infinite-molybdenum-ore",
						noise_octaves_difference = -1.5,
						noise_persistence = 0.3,
						starting_area_weight_optimal = 1,
						starting_area_weight_range = 0,
						starting_area_weight_max_range = 2,
					},
					{
						noise_layer = "infinite-molybdenum-ore",
						noise_octaves_difference = -2,
						noise_persistence = 0.3,
						starting_area_weight_optimal = 0,
						starting_area_weight_range = 0,
						starting_area_weight_max_range = 2,
					},
					{
						influence = 0.15,
						starting_area_weight_optimal = 0,
						starting_area_weight_range = 0,
						starting_area_weight_max_range = 2,
					}
				}
			},
			stage_counts = {1},
			stages =
			{
				sheet =
			  {
				filename = "__pyfusionenergy__/graphics/entity/ores/molybdenum-ore.png",
                priority = "extra-high",
                width = 64,
                height = 64,
                frame_count = 8,
                variation_count = 8,
                hr_version = {
                    filename = "__pyfusionenergy__/graphics/entity/ores/hr-molybdenum-ore.png",
                    priority = "extra-high",
                    width = 128,
                    height = 128,
                    frame_count = 8,
                    variation_count = 8,
                    scale = 0.5
                }
			  }
			},
			map_color = {r = 0.294, g = 0.45, b = 0.643},
		  },
		})
		else
		data:extend(
		{
			{
			type = "resource",
			name = "infinite-molybdenum-ore",
			icon = "__pyfusionenergy__/graphics/icons/ores/molybdenum.png",
			flags = {"placeable-neutral"},
			order="a-b-e",
			infinite=true,
			minimum=angelsmods.ores.yield,
			normal=1500,
			maximum=6000,
			minable =
			{
			  hardness = 1.5,
			  mining_particle = "stone-particle",
			  mining_time = 3,
			  results = {
					{
						type = "item",
						name = "molybdenum-ore",
						amount_min = 1,
						amount_max = 1,
						probability = angelsmods.ores.loweryield
					}
				},
			},
			collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
			selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
			stage_counts = {1},
			stages =
			{
				sheet =
			  {
				filename = "__pyfusionenergy__/graphics/entity/ores/molybdenum-ore.png",
                priority = "extra-high",
                width = 64,
                height = 64,
                frame_count = 8,
                variation_count = 8,
                hr_version = {
                    filename = "__pyfusionenergy__/graphics/entity/ores/hr-molybdenum-ore.png",
                    priority = "extra-high",
                    width = 128,
                    height = 128,
                    frame_count = 8,
                    variation_count = 8,
                    scale = 0.5
                }
			  }
			},
			map_color = {r = 0.294, g = 0.45, b = 0.643},
		  },
		})
		end
	end
end
Icons:
Image angels-ore-mix-mol-sorting
Image slag-processing-mol
Result
upd: add angelsinfiniteores part
upd2: remove molybdenum from game config and prevent generation on map as separated resource
Last edited by ZlovreD on Fri Dec 01, 2017 3:09 pm, edited 1 time in total.

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

TY for explanation ZlovreD, but i don't agree wih recipe? its must be end-game ore which can be got from pure ores i think - 2 pure saphirte + 2 pure rubyte + 2 pure crotinnium

Its strange - straight getting of molybdenum is working, but mix sorting not working

I added this code into data-final-fixes to PyCoalTBaA
Nickname on ModPortal - Naron79

User avatar
ZlovreD
Fast Inserter
Fast Inserter
Posts: 129
Joined: Thu Apr 06, 2017 1:07 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by ZlovreD »

aklesey1 wrote:its must be end-game ore which can be got from pure ores i think - 2 pure saphirte + 2 pure rubyte + 2 pure crotinnium
I just started to acquainted with pY mods, so you can easily change it to pure chunks. But i think 3 different chunks plus catalysator to get raw ores is fair enough (as others recipes do), or you can scale it up to 6 chunks + catalysator for 5-6 ores and etc..

Code: Select all

     {
      type = "recipe",
      name = "angelsore-crystal-mix-mol-processing",
      category = "ore-sorting",
      subgroup = "ore-sorting-advanced",
      energy_required = 1.5,
      enabled = "false",
      ingredients =
      {
         {type="item", name="angels-ore2-pure", amount=1},
         {type="item", name="angels-ore4-pure", amount=1},
         {type="item", name="angels-ore5-pure", amount=1},
         {type="item", name="catalysator-brown", amount=1},
      },
      results=
      {
         {type = "item", name = "molybdenum-ore", amount = 4},
      },
      icon = "__MOD__/graphics/icons/angels-ore-mix-mol-sorting.png",
      order = "c-i-g[angelsore-crystal-mix-mol-processing]",
     }
aklesey1 wrote:Its strange - straight getting of molybdenum is working, but mix sorting not working
Both work well for me. Keep in mind that the recipe "slag-processing-mole" has a non-linear production, but the probability of obtaining a result "amount_min = 1, amount_max = 2, probability = 0.36". And yes, it may be or must be balanced.
aklesey1 wrote:I added this code into data-final-fixes to PyCoalTBaA
Yes, above "angelsmods.functions.OV.execute()" line.

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

ZlovreD now mixed processing with slag working but they's no slag as by product - crystal chunks sorting now works as pure chunks sorting
Thre must be some way to add slag back to fix this issue

Here's all my code from data-final-fixes.lua

Code: Select all

--if not aaiindustry then aaiindustry = {"aai-industry"} end

if mods["aai-industry"] then
	require("updates.aai-updates")
	end
	
-- Overriedes: molybdenum ore
if data.raw.item["molybdenum-ore"] and angelsmods.refining then
   data.raw.resource["molybdenum-ore"]["autoplace"] = nil
   data.raw["autoplace-control"]["molybdenum-ore"] = nil
   angelsmods.functions.OV.patch_recipes({
   --TIER 3
     {
        name = "angelsore2-crystal-processing",
        ingredients = { {type = "item", name = "angels-ore2-crystal", amount= "+1"} },
        results = { {type = "item", name = "molybdenum-ore", amount=1} }
     },
     {
        name = "angelsore4-crystal-processing",
        ingredients = { {type = "item", name = "angels-ore4-crystal", amount= "+1"} },
        results = { {type = "item", name = "molybdenum-ore", amount=1} }
     },
   --TIER 4
     {
        name = "angelsore2-pure-processing",
        ingredients = { {type = "item", name = "angels-ore2-pure", amount= "+1"} },
        results = { {type = "item", name = "molybdenum-ore", amount=1} }
     },
     {
        name = "angelsore4-pure-processing",
        ingredients = { {type = "item", name = "angels-ore4-pure", amount= "+1"} },
        results = { {type = "item", name = "molybdenum-ore", amount=2} }
     },
     {
        name = "angelsore5-pure-processing",
        ingredients = { {type = "item", name = "angels-ore5-pure", amount= "+1"} },
        results = { {type = "item", name = "molybdenum-ore", amount=1} }
     },
     })

   data:extend({
     {
      type = "recipe",
      name = "slag-processing-mol",
      category = "crystallizing",
      subgroup = "slag-processing",
      energy_required = 8,
      enabled = "false",
      ingredients =
      {
         {type="fluid", name="mineral-sludge", amount=50},
      },
      results=
      {
         {type = "item", name = "molybdenum-ore", amount_min = 1, amount_max = 2, probability = 0.36},
      },
      icon = "__PyCoalTBaA__/graphics/icons/slag-processing-mol.png",
      order = "a-a [slag-processing-up]",
     },
     {
      type = "recipe",
      name = "angelsore-crystal-mix-mol-processing",
      category = "ore-sorting",
      subgroup = "ore-sorting-advanced",
      energy_required = 1.5,
      enabled = "false",
      ingredients =
      {
         {type="item", name="angels-ore2-crystal", amount=1},
         {type="item", name="angels-ore4-crystal", amount=1},
         {type="item", name="angels-ore5-crystal", amount=1},
         {type="item", name="catalysator-brown", amount=1},
      },
      results=
      {
         {type = "item", name = "molybdenum-ore", amount = 4},
      },
      icon = "__PyCoalTBaA__/graphics/icons/angels-ore-mix-mol-sorting.png",
      order = "c-i-g[angelsore-crystal-mix-mol-processing]",
     }
   })
   table.insert(
      data.raw["technology"]["slag-processing-1"].effects,
      {type = "unlock-recipe", recipe = "slag-processing-mol"}
   )
   table.insert(
      data.raw["technology"]["advanced-ore-refining-3"].effects,
      {type = "unlock-recipe", recipe = "angelsore-crystal-mix-mol-processing"}
   )

   
   -- Infinity ore patches
   if angelsmods.ores and angelsmods.ores.enableinfiniteuraniumpower then -- TO DO: change to molybdenum ore settings

      if not angelsmods.ores.enablersomode then
      data:extend(
      {
         {
         type = "autoplace-control",
         name = "infinite-molybdenum-ore",
         richness = true,
         order = "b-e"
         },
         {
         type = "noise-layer",
         name = "infinite-molybdenum-ore"
         },
         {
         type = "resource",
         name = "infinite-molybdenum-ore",
         icon = "__pyfusionenergy__/graphics/icons/ores/molybdenum.png",
         flags = {"placeable-neutral"},
         order="a-b-e",
         infinite=true,
         minimum=angelsmods.ores.yield,
         normal=1500,
         maximum=6000,
         minable =
         {
           hardness = 1.5,
           mining_particle = "stone-particle",
           mining_time = 3,
           results = {
               {
                  type = "item",
                  name = "molybdenum-ore",
                  amount_min = 1,
                  amount_max = 1,
                  probability = angelsmods.ores.loweryield
               }
            },
         },
         collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
         selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
         autoplace =
         {
            control = "infinite-molybdenum-ore",
            sharpness = 1,
            richness_multiplier = 1500,
            richness_multiplier_distance_bonus = 30,
            richness_base = 500,
            coverage = 0.02,
            peaks = {
               {
                  noise_layer = "infinite-molybdenum-ore",
                  noise_octaves_difference = -1.5,
                  noise_persistence = 0.3,
                  starting_area_weight_optimal = 1,
                  starting_area_weight_range = 0,
                  starting_area_weight_max_range = 2,
               },
               {
                  noise_layer = "infinite-molybdenum-ore",
                  noise_octaves_difference = -2,
                  noise_persistence = 0.3,
                  starting_area_weight_optimal = 0,
                  starting_area_weight_range = 0,
                  starting_area_weight_max_range = 2,
               },
               {
                  influence = 0.15,
                  starting_area_weight_optimal = 0,
                  starting_area_weight_range = 0,
                  starting_area_weight_max_range = 2,
               }
            }
         },
         stage_counts = {1},
         stages =
         {
            sheet =
           {
            filename = "__pyfusionenergy__/graphics/entity/ores/molybdenum-ore.png",
                priority = "extra-high",
                width = 64,
                height = 64,
                frame_count = 8,
                variation_count = 8,
                hr_version = {
                    filename = "__pyfusionenergy__/graphics/entity/ores/hr-molybdenum-ore.png",
                    priority = "extra-high",
                    width = 128,
                    height = 128,
                    frame_count = 8,
                    variation_count = 8,
                    scale = 0.5
                }
           }
         },
         map_color = {r = 0.294, g = 0.45, b = 0.643},
        },
      })
      else
      data:extend(
      {
         {
         type = "resource",
         name = "infinite-molybdenum-ore",
         icon = "__pyfusionenergy__/graphics/icons/ores/molybdenum.png",
         flags = {"placeable-neutral"},
         order="a-b-e",
         infinite=true,
         minimum=angelsmods.ores.yield,
         normal=1500,
         maximum=6000,
         minable =
         {
           hardness = 1.5,
           mining_particle = "stone-particle",
           mining_time = 3,
           results = {
               {
                  type = "item",
                  name = "molybdenum-ore",
                  amount_min = 1,
                  amount_max = 1,
                  probability = angelsmods.ores.loweryield
               }
            },
         },
         collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
         selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
         stage_counts = {1},
         stages =
         {
            sheet =
           {
            filename = "__pyfusionenergy__/graphics/entity/ores/molybdenum-ore.png",
                priority = "extra-high",
                width = 64,
                height = 64,
                frame_count = 8,
                variation_count = 8,
                hr_version = {
                    filename = "__pyfusionenergy__/graphics/entity/ores/hr-molybdenum-ore.png",
                    priority = "extra-high",
                    width = 128,
                    height = 128,
                    frame_count = 8,
                    variation_count = 8,
                    scale = 0.5
                }
           }
         },
         map_color = {r = 0.294, g = 0.45, b = 0.643},
        },
      })
      end
   end
end	
	
	angelsmods.functions.OV.execute()

-- hide recipes with "angels-void" or "slag" as main product
for name, recipe in pairs(data.raw.recipe) do
    if recipe.main_product == "angels-void" or recipe.main_product == "slag" then
        log("hide " .. name)
        data.raw.recipe[name].hidden = true
    end
end
Nickname on ModPortal - Naron79

User avatar
ZombieMooose
Filter Inserter
Filter Inserter
Posts: 289
Joined: Mon Feb 09, 2015 7:23 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by ZombieMooose »

Will you post this mod on the portal when it's more stable?
"men will literally learn everything about ancient Rome instead of going to therapy"

kingarthur
Smart Inserter
Smart Inserter
Posts: 1459
Joined: Sun Jun 15, 2014 11:39 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by kingarthur »

diongham wrote:Will you post this mod on the portal when it's more stable?
Its pretty much stable now. other than adding the molybdenum ore to angels nobody's reported any issues yet with pyfusion. im going to get moly added and then get it up on the mod portal. as long as there are no technical issues it should be up in the next 12 hours.

User avatar
ZombieMooose
Filter Inserter
Filter Inserter
Posts: 289
Joined: Mon Feb 09, 2015 7:23 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by ZombieMooose »

kingarthur wrote:
diongham wrote:Will you post this mod on the portal when it's more stable?
Its pretty much stable now. other than adding the molybdenum ore to angels nobody's reported any issues yet with pyfusion. im going to get moly added and then get it up on the mod portal. as long as there are no technical issues it should be up in the next 12 hours.
Oh hey awesome. Looking forward.
"men will literally learn everything about ancient Rome instead of going to therapy"

kingarthur
Smart Inserter
Smart Inserter
Posts: 1459
Joined: Sun Jun 15, 2014 11:39 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by kingarthur »

PCTBAA has been updated to include optional dependancy on pyfusion. also fixed that aromatics and benenze was seperate items

Now on the mod portal
https://mods.factorio.com/mods/kingarthur/PyCoalTBaA

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

kingarthur wrote: also fixed that aromatics and benenze was seperate items
WUT??? :shock: Aromatics had conflict with benzene??? :shock: I played with this patch and angel's mods and PYCP and there was no problems
Ouch... u want to systematize everything and reduce these gases to a common denominator? And how about angel's natural gas? How it can interact with aromatics and vice versa?
Nickname on ModPortal - Naron79

kingarthur
Smart Inserter
Smart Inserter
Posts: 1459
Joined: Sun Jun 15, 2014 11:39 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by kingarthur »

well benzene is one of a number of gases that are considered aromatics so i decided to just make them all benzene. and natural gas is basically just methane gas and a bit of ethane gases and angel already has an entire process setup to be able get natural gas and refine it. so other than taking out the aromatics from it aka benzene theres not much else i can see that needs done to it.

aklesey1
Smart Inserter
Smart Inserter
Posts: 1862
Joined: Sun May 18, 2014 3:45 pm
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by aklesey1 »

I did one small change in ur mod for my self when it was 0.0.3 - i changed petroleum gas to residual gas for py recipes - why? Bcuz angel's petrochem forced to use methane gas instead of vanilla petroleum gas in py recipes
How do u like it? Use methane to extract ash and sulfur??? its stupid

I think we can create icon for petroleum gas and retrn it back to game, we just need to repaint its icon from icon for residual gas - let it be white and black - i using Photoshop very bad so my skills there is poor, may be someone can repaint icon?
My opinion is that the petroleum gas can be in game with all py and angel's resources
Nickname on ModPortal - Naron79

kingarthur
Smart Inserter
Smart Inserter
Posts: 1459
Joined: Sun Jun 15, 2014 11:39 am
Contact:

Re: PyCoalTBaA or the PyCoal Angels Patch

Post by kingarthur »

uh im not sure. biggest issue with bring petroleum gas back is just making sure theres enough uses for it to be worth the effort. angel took the gases and went and broke them down to their more base chemicals. if nothing else ill look into setting it up as an optional mod config setting.

Post Reply

Return to “Mods”