# Finding item, gun, group, etc names #

The options "osm.logSorted", "osm.logOriginal", and "osm.logModified" in data-final-fixes.lua are to finding item names and subgroups.
The logged items appear factorio-current.log. Search for "Osmosis says". I suggest notepad++ for your sanity
Sometimes, items wont change

# Actually changing things #

Notes:
-Provided is a custom.lua in the prototypes folder. I recommond using this. You can create a new .lua file in prototypes, but you must add this is data-final-fixes.lua
-The arguments (from, to, type, etc) must be enclosed in quotations
-Valid types typically used are: "item", "gun", "ammo", "tool", "capsule", "armor", "mining-tool", "repair-tool", "module", "rail-planner", "item-with-entity-data", "recipe"
-All osm-* groups and groups made with newGroup will have their subgroups named [groupname]10, [groupname]20, [groupname]30, up to 100. You may either add a custom item to an existing osm-* group (filenames in prototypes) or create your own group
-Check the other .lua files in prototypes for better context. In the end, its an ugly spreadsheet.

Definitions:
"From"
	Refers to the default subgroups name. eg, to change from subgroup y-fluids to osm-liquids10, "from" would be "y-fluids"
"to"
	Refers to the subgroup to be set. eg, to change from subgroup yfluids to osm-liquids10, "from" would be "osm-liquids10"
"name"
	Refers to the name of a specific item, recipe, etc.
"newOrder"/"Order": 
	Refers to the how an item or group will be sorted in alphabetical order. Note that gswap and iswap will insert newOrder at then start of the order, which should help reduce the need to micromanage.
"icon"
	Refers to the icon for the group button. This should lead to an image in any mod folder with the zip's name (Not including version number) between double underscores. For example: "__Osmosis_Grouping__/graphics/transport.png" 64x64 resolution
	

Functions:

osm.gswap(from, to, newOrder, type)
	Group Swap - This will change the subgroup of all items contained within the type. 

osm.iswap(name, to, newOrder, type)
	Single Swap - This will only change the subgroup of the specified item, within the specified type
	
osm.newGroup(name, order, icon)
	Create Group - Well, it creates a new group. You can use an empty icon ( use "" ). It will simply default to an alien icon.
	
osm.listPrototype(prototype)
	This will list the entire prototype of an item for debugging weird items. Do not enclose in quotes. Specific prototype must be given, eg data.raw.recipe.y_wall22_hardic_recipe. You may also use this to list parent prototypes such as listing the tables in data.raw itself
	
# The house is on fire, but nothing is fine #

-If an item's organization doesnt change, it may be one of a few things. Search the log for "not found". This will show any items, groups, or types that werent found. This is caused by a typo somewhere, mixing up iswap and gswap, or forgetting to create a new group. Not all items are... logically organized. What you may expect to be one type may actually be another. Search for your item there with logSorted and logModfied enabled. The "recipe" type takes priority, so check there first.

-If your game wont start, it *should* be a syntax error in your custom settings. Check for missing commas, quotations, or parenthesis. If youre stuck, create a discussion and post "factorio-current.log" and "custom.lua". *Please* use pastebin.com to upload these.

My default icons are from zGroupChange by Progsy @ goo.gl/hbTHAp
I dont know if he actually made them, but I couldnt design a square, so I appreciate them being being there, at least. Progsy's code was not used