Page 1 of 1

[List] All 146 prototype types in 0.14.13

Posted: Fri Sep 16, 2016 1:54 am
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) )

Re: [List] All 146 prototype types in 0.14.7

Posted: Fri Oct 14, 2016 9:31 am
by danielgweb
Thanks a lot for this. Very useful for me :) :D

Re: [List] All 146 prototype types in 0.14.13

Posted: Wed Dec 21, 2016 9:07 pm
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 167 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) )

Re: [List] All 146 prototype types in 0.14.13

Posted: Thu Jan 19, 2017 7:55 pm
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

Re: [List] All 146 prototype types in 0.14.13

Posted: Thu Feb 02, 2017 12:14 am
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

Re: [List] All 146 prototype types in 0.14.13

Posted: Tue Jul 25, 2017 8:49 pm
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

Re: [List] All 146 prototype types in 0.14.13

Posted: Tue Jul 25, 2017 9:07 pm
by darkfrei
Thanks Rseding91, you are great!