[List] All 146 prototype types in 0.14.13

Place to post guides, observations, things related to modding that are not mods themselves.
Post Reply
User avatar
aubergine18
Smart Inserter
Smart Inserter
Posts: 1264
Joined: Fri Jul 22, 2016 8:51 pm
Contact:

[List] All 146 prototype types in 0.14.13

Post by aubergine18 »

Compiled this for a mod I'm working on (if you've seen my Style mod, you can probably guess what I'm going to attempt next) and just thought I'd post here in case it's of any use to anyone:
  • accumulator
  • achievement
  • active-defense-equipment
  • ambient-sound
  • ammo
  • ammo-category
  • ammo-turret
  • arithmetic-combinator
  • armor
  • arrow
  • assembling-machine
  • autoplace-control
  • battery-equipment
  • beacon
  • beam
  • blueprint
  • blueprint-book
  • boiler
  • build-entity-achievement
  • capsule
  • car
  • cargo-wagon
  • combat-robot
  • combat-robot-count
  • constant-combinator
  • construct-with-robots-achievement
  • construction-robot
  • container
  • corpse
  • curved-rail
  • custom-input
  • damage-type
  • decider-combinator
  • deconstruct-with-robots-achievement
  • deconstructible-tile-proxy
  • deconstruction-item
  • decorative
  • deliver-by-robots-achievement
  • dont-build-entity-achievement
  • dont-craft-manually-achievement
  • dont-use-entity-in-energy-production-achievement
  • electric-energy-interface
  • electric-pole
  • electric-turret
  • energy-shield-equipment
  • entity-ghost
  • equipment-category
  • equipment-grid
  • explosion
  • finish-the-game-achievement
  • fire
  • fish
  • fluid
  • fluid-turret
  • flying-text
  • font
  • furnace
  • gate
  • generator
  • generator-equipment
  • group-attack-achievement
  • gui-style
  • gun
  • inserter
  • item
  • item-entity
  • item-group
  • item-request-proxy
  • item-subgroup
  • item-with-entity-data
  • kill-achievement
  • lab
  • lamp
  • land-mine
  • leaf-particle
  • loader
  • locomotive
  • logistic-container
  • logistic-robot
  • map-settings
  • market
  • mining-drill
  • mining-tool
  • module
  • module-category
  • movement-bonus-equipment
  • night-vision-equipment
  • noise-layer
  • offshore-pump
  • particle
  • particle-source
  • pipe
  • pipe-to-ground
  • player
  • player-damaged-achievement
  • player-port
  • power-switch
  • produce-achievement
  • produce-per-hour-achievement
  • projectile
  • pump
  • radar
  • rail-category
  • rail-chain-signal
  • rail-planner
  • rail-remnants
  • rail-signal
  • recipe
  • recipe-category
  • repair-tool
  • research-achievement
  • resource
  • resource-category
  • roboport
  • roboport-equipment
  • rocket-defense
  • rocket-silo
  • rocket-silo-rocket
  • rocket-silo-rocket-shadow
  • selection-tool
  • simple-entity
  • smart-container
  • smoke
  • smoke-with-trigger
  • solar-panel
  • solar-panel-equipment
  • splitter
  • sticker
  • storage-tank
  • straight-rail
  • stream
  • technology
  • tile
  • tile-ghost
  • tool
  • train-path-achievement
  • train-stop
  • transport-belt
  • tree
  • turret
  • underground-belt
  • unit
  • unit-spawner
  • utility-sprites
  • virtual-signal
  • wall
It was created with this code in data-final-fixes.lua:

Code: Select all

local list = {}

for k in pairs( data.raw ) do
	list[#list+1] = k
end

table.sort(list)

log( serpent.line(list) )
Last edited by aubergine18 on Fri Oct 14, 2016 11:58 am, edited 1 time in total.
Better forum search for modders: Enclose your search term in quotes, eg. "font_color" or "custom-input" - it prevents the forum search from splitting on hypens and underscores, resulting in much more accurate results.

danielgweb
Inserter
Inserter
Posts: 25
Joined: Mon Sep 05, 2016 3:23 pm
Contact:

Re: [List] All 146 prototype types in 0.14.7

Post by danielgweb »

Thanks a lot for this. Very useful for me :) :D

User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2903
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [List] All 146 prototype types in 0.14.13

Post by darkfrei »

There is a little bit bigger information from the game. It can be recursive, but I don't know how.
info-mod_0.0.1.zip
(2.03 KiB) Downloaded 143 times

Code: Select all

local list = {}
local num = 0

local info = data.raw 	-- you can use it
--local info = defines 	-- you can use it

for k in pairs( info ) do
	local list2 = {}
	local num2 = 0
	num = #list + 1
	list[num] = k
	for l in pairs (info[k]) do
		local list3 = {}
		local num3 = 0
		num2 = #list2 + 1
		list2[num2] = l
		if type(info[k][l]) == "table" then
			for m in pairs (info[k][l]) do
				num3 = #list3 + 1
				list3[num3] = m
			end
			table.sort(list3)
			log( "See: ".. k .. " - ".. l .. " myProp: " .. serpent.line(list3) )
		end
	end
	table.sort(list2)	
	log("Num: ".. k .. " Subnum: " .. serpent.line(list2) )
end
table.sort(list)
log( serpent.line(list) )

User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2903
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [List] All 146 prototype types in 0.14.13

Post by darkfrei »

Info mod version 0.0.2 - without control.lua:
version 0.0.2 code

Example of log file:
recipes
technology
defines
:!: The log file will be around 5 MB on Vanilla Version 0.14.21
:!: The log file will be around 8 MB on Vanilla Version 0.15.23
Attachments
info-mod_0.0.3.zip
for 0.15
(1.26 KiB) Downloaded 108 times
info-mod_0.0.2.zip
for 0.14
(1.2 KiB) Downloaded 115 times
Last edited by darkfrei on Tue Jun 27, 2017 11:03 pm, edited 2 times in total.

User avatar
aubergine18
Smart Inserter
Smart Inserter
Posts: 1264
Joined: Fri Jul 22, 2016 8:51 pm
Contact:

Re: [List] All 146 prototype types in 0.14.13

Post by aubergine18 »

You could also just log the whole data.raw in to text file and then use text editor to search. Example uploaded to github (code used in first lines of file):

https://raw.githubusercontent.com/auber ... r/data.raw
Better forum search for modders: Enclose your search term in quotes, eg. "font_color" or "custom-input" - it prevents the forum search from splitting on hypens and underscores, resulting in much more accurate results.

Rseding91
Factorio Staff
Factorio Staff
Posts: 13209
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [List] All 146 prototype types in 0.14.13

Post by Rseding91 »

Because the "info" mod is broken and excludes any boolean property it finds.

Replace:

Code: Select all

function self (infok, text, lvl)
	local lvl = lvl
	list2 = {}
	
	if type(infok) == "table" then
		for l in pairs (infok) do
			--self (infok[l], text .. '"]' .. "." .. '["' .. l, lvl + 1)
			self (infok[l], text .. "." ..l, lvl + 1)
		end
	else
		if not ( type(infok) == "boolean"  or type(infok) == "function")  then
			--local cach_text = lvl .. " / " .. '["' .. text .. '"]' .. " = " .. infok
			local cach_text = lvl .. " / " .. text .. " = " .. infok
			log( cach_text )
			--game.write_file("the_table.txt", cach_text .. "\n", true)
		end
	end
	return list2
end
With:

Code: Select all

function self (infok, text, lvl)
	local lvl = lvl
	list2 = {}
	
	if type(infok) == "table" then
		for l in pairs (infok) do
			--self (infok[l], text .. '"]' .. "." .. '["' .. l, lvl + 1)
			self (infok[l], text .. "." ..l, lvl + 1)
		end
	else
		if type(infok) ~= "function" then
			--local cach_text = lvl .. " / " .. '["' .. text .. '"]' .. " = " .. infok
			local cach_text = lvl .. " / " .. text .. " = " .. tostring(infok)
			log( cach_text )
			--game.write_file("the_table.txt", cach_text .. "\n", true)
		end
	end
	return list2
end
And you'll see it properly shows the grass tile has that property defined:

Code: Select all

data.raw.tile.grass.type = tile
data.raw.tile.grass.name = grass
data.raw.tile.grass.collision_mask.1 = ground-tile
data.raw.tile.grass.autoplace.peaks.1.influence = 0.1
data.raw.tile.grass.autoplace.peaks.1.noise_layer = grass
data.raw.tile.grass.autoplace.peaks.1.noise_persistence = 0.7
data.raw.tile.grass.autoplace.peaks.1.octaves_difference = -1
data.raw.tile.grass.autoplace.peaks.2.influence = 1
data.raw.tile.grass.autoplace.peaks.2.min_influence = 0
data.raw.tile.grass.autoplace.peaks.2.temperature_optimal = 17.5
data.raw.tile.grass.autoplace.peaks.2.temperature_range = 17.5
data.raw.tile.grass.autoplace.peaks.2.temperature_max_range = 22.5
data.raw.tile.grass.autoplace.peaks.2.water_optimal = 0.6
data.raw.tile.grass.autoplace.peaks.2.water_range = 0.2
data.raw.tile.grass.autoplace.peaks.2.water_max_range = 0.3
data.raw.tile.grass.layer = 20
data.raw.tile.grass.variants.main.1.picture = __base__/graphics/terrain/grass/grass1.png
data.raw.tile.grass.variants.main.1.count = 16
data.raw.tile.grass.variants.main.1.size = 1
data.raw.tile.grass.variants.main.2.picture = __base__/graphics/terrain/grass/grass2.png
data.raw.tile.grass.variants.main.2.count = 16
data.raw.tile.grass.variants.main.2.size = 2
data.raw.tile.grass.variants.main.2.probability = 0.91
data.raw.tile.grass.variants.main.2.weights.1 = 0.15
data.raw.tile.grass.variants.main.2.weights.2 = 0.15
data.raw.tile.grass.variants.main.2.weights.3 = 0.15
data.raw.tile.grass.variants.main.2.weights.4 = 0.15
data.raw.tile.grass.variants.main.2.weights.5 = 0.018
data.raw.tile.grass.variants.main.2.weights.6 = 0.02
data.raw.tile.grass.variants.main.2.weights.7 = 0.015
data.raw.tile.grass.variants.main.2.weights.8 = 0.025
data.raw.tile.grass.variants.main.2.weights.9 = 0.015
data.raw.tile.grass.variants.main.2.weights.10 = 0.02
data.raw.tile.grass.variants.main.2.weights.11 = 0.025
data.raw.tile.grass.variants.main.2.weights.12 = 0.015
data.raw.tile.grass.variants.main.2.weights.13 = 0.025
data.raw.tile.grass.variants.main.2.weights.14 = 0.025
data.raw.tile.grass.variants.main.2.weights.15 = 0.01
data.raw.tile.grass.variants.main.2.weights.16 = 0.025
data.raw.tile.grass.variants.main.3.picture = __base__/graphics/terrain/grass/grass4.png
data.raw.tile.grass.variants.main.3.count = 16
data.raw.tile.grass.variants.main.3.line_length = 10
data.raw.tile.grass.variants.main.3.size = 4
data.raw.tile.grass.variants.main.3.probability = 1
data.raw.tile.grass.variants.main.3.weights.1 = 0.1
data.raw.tile.grass.variants.main.3.weights.2 = 0.8
data.raw.tile.grass.variants.main.3.weights.3 = 0.8
data.raw.tile.grass.variants.main.3.weights.4 = 0.1
data.raw.tile.grass.variants.main.3.weights.5 = 0.01
data.raw.tile.grass.variants.main.3.weights.6 = 0.01
data.raw.tile.grass.variants.main.3.weights.7 = 0.01
data.raw.tile.grass.variants.main.3.weights.8 = 0.01
data.raw.tile.grass.variants.main.3.weights.9 = 0.01
data.raw.tile.grass.variants.main.3.weights.10 = 0.01
data.raw.tile.grass.variants.main.3.weights.11 = 0.01
data.raw.tile.grass.variants.main.3.weights.12 = 0.01
data.raw.tile.grass.variants.main.3.weights.13 = 0.01
data.raw.tile.grass.variants.main.3.weights.14 = 0.01
data.raw.tile.grass.variants.main.3.weights.15 = 0.01
data.raw.tile.grass.variants.main.3.weights.16 = 0.01
data.raw.tile.grass.variants.inner_corner.picture = __base__/graphics/terrain/grass/grass-inner-corner.png
data.raw.tile.grass.variants.inner_corner.count = 8
data.raw.tile.grass.variants.outer_corner.picture = __base__/graphics/terrain/grass/grass-outer-corner.png
data.raw.tile.grass.variants.outer_corner.count = 8
data.raw.tile.grass.variants.side.picture = __base__/graphics/terrain/grass/grass-side.png
data.raw.tile.grass.variants.side.count = 8
data.raw.tile.grass.walking_sound.1.filename = __base__/sound/walking/grass-01.ogg
data.raw.tile.grass.walking_sound.1.volume = 0.8
data.raw.tile.grass.walking_sound.2.filename = __base__/sound/walking/grass-02.ogg
data.raw.tile.grass.walking_sound.2.volume = 0.8
data.raw.tile.grass.walking_sound.3.filename = __base__/sound/walking/grass-03.ogg
data.raw.tile.grass.walking_sound.3.volume = 0.8
data.raw.tile.grass.walking_sound.4.filename = __base__/sound/walking/grass-04.ogg
data.raw.tile.grass.walking_sound.4.volume = 0.8
data.raw.tile.grass.map_color.r = 61
data.raw.tile.grass.map_color.g = 51
data.raw.tile.grass.map_color.b = 17
data.raw.tile.grass.ageing = 0.00045
data.raw.tile.grass.vehicle_friction_modifier = 1.6
data.raw.tile.grass.can_be_part_of_blueprint = false
If you want to get ahold of me I'm almost always on Discord.

User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2903
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: [List] All 146 prototype types in 0.14.13

Post by darkfrei »

Thanks Rseding91, you are great!

Post Reply

Return to “Modding discussion”