Decompiled source of SakeysCozyClutter v1.0.6

BepInEx/plugins/Sakey's Cozy Clutter/Sakey's Cozy Clutter.dll

Decompiled a week ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyCompany("Sakey's Cozy Clutter")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Sakey's Cozy Clutter")]
[assembly: AssemblyTitle("Sakey's Cozy Clutter")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace SakeysClutter;

[BepInPlugin("com.sakey.clutter", "Sakey's Cozy Clutter", "1.0.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class SakeysClutterPlugin : BaseUnityPlugin
{
	private class ClutterItemData
	{
		public string PrefabName;

		public string AssetName;

		public string IconName;

		public string NameKey;

		public string DescriptionKey;

		public string DisplayName;

		public string Description;

		public string Category;

		public string Material;

		public int Amount;

		public int Comfort;
	}

	public const string PluginGUID = "com.sakey.clutter";

	public const string PluginName = "Sakey's Cozy Clutter";

	public const string PluginVersion = "1.0.0";

	private const string LOG_PREFIX = "[Sakey's Cozy Clutter]";

	public const string ASSET_BUNDLE_NAME = "cozyclutter";

	public static AssetBundle AssetBundle;

	public const string TOOL_PREFAB_NAME = "SakeysClutterTool";

	public const string TOOL_MODEL_NAME = "clutter_tool";

	public const string TOOL_ICON_NAME = "icon_clutter_tool";

	public const string PIECE_TABLE_NAME = "SakeysClutterTable";

	private readonly ClutterItemData[] clutterItems = new ClutterItemData[125]
	{
		new ClutterItemData
		{
			PrefabName = "DollDverger",
			AssetName = "doll_dverger",
			IconName = "icon_doll_dverger",
			NameKey = "$DollDverger",
			DescriptionKey = "$DollDvergerDesc",
			DisplayName = "ドヴェルグのぬいぐるみ",
			Description = "ドヴェルグを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollDvergerBig",
			AssetName = "doll_dvergerbig",
			IconName = "icon_doll_dvergerbig",
			NameKey = "$DollDvergerBig",
			DescriptionKey = "$DollDvergerBigDesc",
			DisplayName = "ドヴェルグのBIGぬいぐるみ",
			Description = "ドヴェルグを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollTroll",
			AssetName = "doll_troll",
			IconName = "icon_doll_troll",
			NameKey = "$DollTroll",
			DescriptionKey = "$DollTrollDesc",
			DisplayName = "トロルのぬいぐるみ",
			Description = "トロルを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollTrollBig",
			AssetName = "doll_trollbig",
			IconName = "icon_doll_trollbig",
			NameKey = "$DollTrollBig",
			DescriptionKey = "$DollTrollBigDesc",
			DisplayName = "トロルのBIGぬいぐるみ",
			Description = "トロルを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollRion",
			AssetName = "doll_rion",
			IconName = "icon_doll_rion",
			NameKey = "$DollRion",
			DescriptionKey = "$DollRionDesc",
			DisplayName = "りおんのぬいぐるみ",
			Description = "Vtuber幸島梨苑のかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollRionBig",
			AssetName = "doll_rionbig",
			IconName = "icon_doll_rionbig",
			NameKey = "$DollRionBig",
			DescriptionKey = "$DollRionBigDesc",
			DisplayName = "りおんBIGぬいぐるみ",
			Description = "Vtuber幸島梨苑のBIGぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollEikthyr",
			AssetName = "doll_eikthyr",
			IconName = "icon_doll_eikthyr",
			NameKey = "$DollEikthyr",
			DescriptionKey = "$DollEikthyrDesc",
			DisplayName = "エイクスュルのぬいぐるみ",
			Description = "エイクスュルを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollEikthyrBIG",
			AssetName = "doll_eikthyrbig",
			IconName = "icon_doll_eikthyrbig",
			NameKey = "$DollEikthyrBig",
			DescriptionKey = "$DollEikthyrBigDesc",
			DisplayName = "エイクスュルのBIGぬいぐるみ",
			Description = "エイクスュルを模した大きいかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollGoblin",
			AssetName = "doll_goblin",
			IconName = "icon_doll_goblin",
			NameKey = "$DollGoblin",
			DescriptionKey = "$DollGoblinDesc",
			DisplayName = "フーリングのぬいぐるみ",
			Description = "フーリングを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollGoblinBig",
			AssetName = "doll_goblinbig",
			IconName = "icon_doll_goblinbig",
			NameKey = "$DollGoblinBig",
			DescriptionKey = "$DollGoblinBigDesc",
			DisplayName = "フーリングのBIGぬいぐるみ",
			Description = "フーリングを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollNeck",
			AssetName = "doll_neck",
			IconName = "icon_doll_neck",
			NameKey = "$DollNeck",
			DescriptionKey = "$DollNeckDesc",
			DisplayName = "ネックのぬいぐるみ",
			Description = "星2のネックを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollNeckBig",
			AssetName = "doll_neckbig",
			IconName = "icon_doll_neckbig",
			NameKey = "$DollNeckBig",
			DescriptionKey = "$DollNeckBigDesc",
			DisplayName = "ネックのBIGぬいぐるみ",
			Description = "星2のネックを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollGreyling",
			AssetName = "doll_greyling",
			IconName = "icon_doll_greyling",
			NameKey = "$DollGreyling",
			DescriptionKey = "$DollGreylingDesc",
			DisplayName = "グレイリングのぬいぐるみ",
			Description = "グレイリングを模したぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollSheep",
			AssetName = "doll_sheep",
			IconName = "icon_doll_sheep",
			NameKey = "$DollSheep",
			DescriptionKey = "$DollSheepDesc",
			DisplayName = "おやすみ羊のぬいぐるみ",
			Description = "眠る羊のぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollModer",
			AssetName = "doll_moder",
			IconName = "icon_doll_moder",
			NameKey = "$DollModer",
			DescriptionKey = "$DollModerDesc",
			DisplayName = "モデルのぬいぐるみ",
			Description = "モデルを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollModerBig",
			AssetName = "doll_moderbig",
			IconName = "icon_doll_moderbig",
			NameKey = "$DollModerBig",
			DescriptionKey = "$DollModerBigDesc",
			DisplayName = "モデルのBIGぬいぐるみ",
			Description = "モデルを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollElder",
			AssetName = "doll_elder",
			IconName = "icon_doll_elder",
			NameKey = "$DollElder",
			DescriptionKey = "$DollElderDesc",
			DisplayName = "長老のぬいぐるみ",
			Description = "長老を模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollElderBig",
			AssetName = "doll_elderbig",
			IconName = "icon_doll_elderbig",
			NameKey = "$DollElderBig",
			DescriptionKey = "$DollElderBigDesc",
			DisplayName = "長老のBIGぬいぐるみ",
			Description = "長老を模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollLox",
			AssetName = "doll_lox",
			IconName = "icon_doll_lox",
			NameKey = "$DollLox",
			DescriptionKey = "$DollLoxDesc",
			DisplayName = "ロックスのぬいぐるみ",
			Description = "ロックスを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollLoxBig",
			AssetName = "doll_loxbig",
			IconName = "icon_doll_loxbig",
			NameKey = "$DollLoxBig",
			DescriptionKey = "$DollLoxBigDesc",
			DisplayName = "ロックスのBIGぬいぐるみ",
			Description = "ロックスを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollHildir",
			AssetName = "doll_hildir",
			IconName = "icon_doll_hildir",
			NameKey = "$DollHildir",
			DescriptionKey = "$DollHildirDesc",
			DisplayName = "ヒルディルのぬいぐるみ",
			Description = "ヒルディルを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollHildirBig",
			AssetName = "doll_hildirbig",
			IconName = "icon_doll_hildirbig",
			NameKey = "$DollHildirBig",
			DescriptionKey = "$DollHildirBigDesc",
			DisplayName = "ヒルディルのBIGぬいぐるみ",
			Description = "ヒルディルを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollDraugr",
			AssetName = "doll_draugr",
			IconName = "icon_doll_draugr",
			NameKey = "$DollDraugr",
			DescriptionKey = "$DollDraugrDesc",
			DisplayName = "ドラウグルのぬいぐるみ",
			Description = "ドラウグルを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollDraugrBig",
			AssetName = "doll_draugrbig",
			IconName = "icon_doll_draugrbig",
			NameKey = "$DollDraugrBig",
			DescriptionKey = "$DollDraugrBigDesc",
			DisplayName = "ドラウグルのBIGぬいぐるみ",
			Description = "ドラウグルを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollGreyShaman",
			AssetName = "doll_greyshaman",
			IconName = "icon_doll_greyshaman",
			NameKey = "$DollGreyShaman",
			DescriptionKey = "$DollGreyShamanDesc",
			DisplayName = "灰色ドワーフのシャーマンのぬいぐるみ",
			Description = "灰色ドワーフのシャーマンを模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollGreyShamanBig",
			AssetName = "doll_greyshamanbig",
			IconName = "icon_doll_greyshamanbig",
			NameKey = "$DollGreyShamanBig",
			DescriptionKey = "$DollGreyShamanBigDesc",
			DisplayName = "灰色ドワーフのシャーマンのBIGぬいぐるみ",
			Description = "灰色ドワーフのシャーマンを模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollGreyBrute",
			AssetName = "doll_greybrute",
			IconName = "icon_doll_greybrute",
			NameKey = "$DollGreyBrute",
			DescriptionKey = "$DollGreyBruteDesc",
			DisplayName = "灰色ドワーフの暴漢のぬいぐるみ",
			Description = "灰色ドワーフの暴漢を模したかわいいぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollGreyBruteBig",
			AssetName = "doll_greybrutebig",
			IconName = "icon_doll_greybrutebig",
			NameKey = "$DollGreyBruteBig",
			DescriptionKey = "$DollGreyBruteBigDesc",
			DisplayName = "灰色ドワーフの暴漢のBIGぬいぐるみ",
			Description = "灰色ドワーフの暴漢を模した大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollValkyrie",
			AssetName = "doll_valkyrie",
			IconName = "icon_doll_valkyrie",
			NameKey = "$DollValkyrie",
			DescriptionKey = "$DollValkyrieDesc",
			DisplayName = "堕ちたヴァルキリー人形",
			Description = "堕ちたヴァルキリーを模した人形。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollValkyrieBig",
			AssetName = "doll_valkyriebig",
			IconName = "icon_doll_valkyriebig",
			NameKey = "$DollValkyrieBig",
			DescriptionKey = "$DollValkyrieBigDesc",
			DisplayName = "堕ちたヴァルキリーBIG人形",
			Description = "堕ちたヴァルキリーを模した大きな人形。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollPiggy",
			AssetName = "doll_piggy",
			IconName = "icon_doll_piggy",
			NameKey = "$DollPiggy",
			DescriptionKey = "$DollPiggyDesc",
			DisplayName = "ウリ坊のぬいぐるみ",
			Description = "かわいいウリ坊のぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollCat",
			AssetName = "doll_cat",
			IconName = "icon_doll_cat",
			NameKey = "$DollCat",
			DescriptionKey = "$DollCatDesc",
			DisplayName = "ねこのぬいぐるみ",
			Description = "ねこのぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollCatBig",
			AssetName = "doll_catbig",
			IconName = "icon_doll_catbig",
			NameKey = "$DollCatBig",
			DescriptionKey = "$DollCatBigDesc",
			DisplayName = "ねこのBIGぬいぐるみ",
			Description = "ねこの大きなぬいぐるみ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollSilverArmor",
			AssetName = "doll_silverarmor",
			IconName = "icon_doll_silverarmor",
			NameKey = "$DollSilverArmor",
			DescriptionKey = "$DollSilverArmorDesc",
			DisplayName = "銀装備の戦士のぬいぐるみ",
			Description = "銀装備かっこいいよね。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollSilverArmorBig",
			AssetName = "doll_silverarmorbig",
			IconName = "icon_doll_silverarmorbig",
			NameKey = "$DollSilverArmorBig",
			DescriptionKey = "$DollSilverArmorBigDesc",
			DisplayName = "銀装備の戦士のBIGぬいぐるみ",
			Description = "銀装備かっこいいよね。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollSakey",
			AssetName = "doll_sakey",
			IconName = "icon_doll_sakey",
			NameKey = "$DollSakey",
			DescriptionKey = "$DollSakeyDesc",
			DisplayName = "女の子のぬいぐるみ",
			Description = "膝ペタ座り",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollSakeyBig",
			AssetName = "doll_sakeybig",
			IconName = "icon_doll_sakeybig",
			NameKey = "$DollSakeyBig",
			DescriptionKey = "$DollSakeyBigDesc",
			DisplayName = "女の子のBIGぬいぐるみ",
			Description = "膝ペタ座り",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "DollStone",
			AssetName = "doll_stone",
			IconName = "icon_doll_stone",
			NameKey = "$DollStone",
			DescriptionKey = "$DollStoneDesc",
			DisplayName = "石のぬいぐるみ",
			Description = "海外では人気らしいアレっぽいやつ。",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollHiryu",
			AssetName = "doll_hiryu",
			IconName = "icon_doll_hiryu",
			NameKey = "$DollHiryu",
			DescriptionKey = "$DollHiryuDesc",
			DisplayName = "男の子のぬいぐるみ",
			Description = "ツノ付き男の子のぬいぐるみ",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollHimarin",
			AssetName = "doll_himarin",
			IconName = "icon_doll_himarin",
			NameKey = "$DollHimarin",
			DescriptionKey = "$DollHimarinDesc",
			DisplayName = "ひまりんのぬいぐるみ",
			Description = "バーテン姿のぬいぐるみ",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "DollHimarinBig",
			AssetName = "doll_himarinbig",
			IconName = "icon_doll_himarinbig",
			NameKey = "$DollHimarinBig",
			DescriptionKey = "$DollHimarinBigDesc",
			DisplayName = "ひまりんのBIGぬいぐるみ",
			Description = "バーテン姿のぬいぐるみ",
			Category = "Doll",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "HobbyDiscoball",
			AssetName = "hobby_discoball",
			IconName = "icon_hobbydiscoball",
			NameKey = "$HobbyDiscoball",
			DescriptionKey = "$HobbyDiscoballDesc",
			DisplayName = "ミラーボール",
			Description = "パーティーピーポー。",
			Category = "Hobby",
			Material = "Stone",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "HobbyTank1",
			AssetName = "hobby_tank1",
			IconName = "icon_hobbytank1",
			NameKey = "$HobbyTank1",
			DescriptionKey = "$HobbyTank1Desc",
			DisplayName = "ミリタリーフィギュア",
			Description = "小さな飾り。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyGamepad1",
			AssetName = "hobby_gamepad1",
			IconName = "icon_hobbygamepad1",
			NameKey = "$HobbyGamepad1",
			DescriptionKey = "$HobbyGamepad1Desc",
			DisplayName = "ゲームのコントローラー",
			Description = "ゲームには欠かせない。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "HobbyGamepad2",
			AssetName = "hobby_gamepad2",
			IconName = "icon_hobbygamepad2",
			NameKey = "$HobbyGamepad2",
			DescriptionKey = "$HobbyGamepad2Desc",
			DisplayName = "ゲームのコントローラー",
			Description = "ボタン表記に混乱する。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "HobbyGame1",
			AssetName = "hobby_game1",
			IconName = "icon_hobbygame1",
			NameKey = "$HobbyGame1",
			DescriptionKey = "$HobbyGame1Desc",
			DisplayName = "ゲーム1",
			Description = "ゲームコンソール機",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyGame2",
			AssetName = "hobby_game2",
			IconName = "icon_hobbygame2",
			NameKey = "$HobbyGame2",
			DescriptionKey = "$HobbyGame2Desc",
			DisplayName = "ゲーム2",
			Description = "ゲームコンソール機",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyGame3",
			AssetName = "hobby_game3",
			IconName = "icon_hobbygame3",
			NameKey = "$HobbyGame3",
			DescriptionKey = "$HobbyGame3Desc",
			DisplayName = "ゲーム3",
			Description = "ゲームコンソール機",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyGame4",
			AssetName = "hobby_game4",
			IconName = "icon_hobbygame4",
			NameKey = "$HobbyGame4",
			DescriptionKey = "$HobbyGame4Desc",
			DisplayName = "ゲーム4",
			Description = "ゲームコンソール機",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyGame5",
			AssetName = "hobby_game5",
			IconName = "icon_hobbygame5",
			NameKey = "$HobbyGame5",
			DescriptionKey = "$HobbyGame5Desc",
			DisplayName = "ゲーム5",
			Description = "ゲームコンソール機",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyHeadset1",
			AssetName = "hobby_headset1",
			IconName = "icon_hobbyheadset1",
			NameKey = "$HobbyHeadset1",
			DescriptionKey = "$HobbyHeadset1Desc",
			DisplayName = "猫耳ヘッドホン",
			Description = "猫耳ヘッドセット。ゲーマー向け。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "HobbyHeadset2",
			AssetName = "hobby_headset2",
			IconName = "icon_hobbyheadset2",
			NameKey = "$HobbyHeadset2",
			DescriptionKey = "$HobbyHeadset2Desc",
			DisplayName = "ゲーミング用ヘッドセット",
			Description = "マイク付きヘッドセット。ゲーマー向け。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "HobbyKeyblue",
			AssetName = "hobby_keyblue",
			IconName = "icon_hobbykeyblue",
			NameKey = "$HobbyKeyblue",
			DescriptionKey = "$HobbyKeyblueDesc",
			DisplayName = "PC用キーボード(青)",
			Description = "青色のキーボード",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyKeygreen",
			AssetName = "hobby_keygreen",
			IconName = "icon_hobbykeygreen",
			NameKey = "$HobbyKeygreen",
			DescriptionKey = "$HobbyKeygreenDesc",
			DisplayName = "PC用キーボード(緑)",
			Description = "緑色のキーボード",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyKeypink",
			AssetName = "hobby_keypink",
			IconName = "icon_hobbykeypink",
			NameKey = "$HobbyKeypink",
			DescriptionKey = "$HobbyKeypinkDesc",
			DisplayName = "PC用キーボード(ピンク)",
			Description = "ピンク色のキーボード",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyKeypurple",
			AssetName = "hobby_keypurple",
			IconName = "icon_hobbykeypurple",
			NameKey = "$HobbyKeypurple",
			DescriptionKey = "$HobbyKeypurpleDesc",
			DisplayName = "PC用キーボード(パープル)",
			Description = "パープル色のキーボード",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyKeyred",
			AssetName = "hobby_keyred",
			IconName = "icon_hobbykeyred",
			NameKey = "$HobbyKeyred",
			DescriptionKey = "$HobbyKeyredDesc",
			DisplayName = "PC用キーボード(赤)",
			Description = "赤いキーボード",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyKeywhite",
			AssetName = "hobby_keywhite",
			IconName = "icon_hobbykeywhite",
			NameKey = "$HobbyKeywhite",
			DescriptionKey = "$HobbyKeywhiteDesc",
			DisplayName = "PC用キーボード(黒)",
			Description = "黒のキーボード",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyMouse",
			AssetName = "hobby_mouse",
			IconName = "icon_hobbymouse",
			NameKey = "$Hobbymouse",
			DescriptionKey = "$HobbymouseDesc",
			DisplayName = "PC用の無線マウス",
			Description = "動きが悪いとストレスになります。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCblue",
			AssetName = "hobby_pcblue",
			IconName = "icon_hobbypcblue",
			NameKey = "$HobbyPCblue",
			DescriptionKey = "$HobbypcblueDesc",
			DisplayName = "ゲーミングPC(青)",
			Description = "時々エアダスターで掃除してあげましょう。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCgreen",
			AssetName = "hobby_pcgreen",
			IconName = "icon_hobbypcgreen",
			NameKey = "$HobbyPCgreen",
			DescriptionKey = "$HobbypcgreenDesc",
			DisplayName = "ゲーミングPC(緑)",
			Description = "メモリの増設が高すぎて出来ない。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCpink",
			AssetName = "hobby_pcpink",
			IconName = "icon_hobbypcpink",
			NameKey = "$HobbyPCpink",
			DescriptionKey = "$HobbypcpinkDesc",
			DisplayName = "ゲーミングPC(ピンク)",
			Description = "常に空き容量との闘い。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCpurple",
			AssetName = "hobby_pcpurple",
			IconName = "icon_hobbypcpurple",
			NameKey = "$HobbyPCpurple",
			DescriptionKey = "$HobbypcpurpleDesc",
			DisplayName = "ゲーミングPC(パープル)",
			Description = "MOD入れ過ぎて重い。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCred",
			AssetName = "hobby_pcred",
			IconName = "icon_hobbypcred",
			NameKey = "$HobbyPCred",
			DescriptionKey = "$HobbypcredDesc",
			DisplayName = "ゲーミングPC(赤)",
			Description = "更新後にOBSの音声周りのチェック。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCwhite",
			AssetName = "hobby_pcwhite",
			IconName = "icon_hobbypcwhite",
			NameKey = "$HobbyPCwhite",
			DescriptionKey = "$HobbypcwhiteDesc",
			DisplayName = "ゲーミングPC(黒)",
			Description = "とりあえずSteam見ちゃう。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCmoniter",
			AssetName = "hobby_pcmoniter",
			IconName = "icon_hobbypcmoniter",
			NameKey = "$Hobbypcmoniter",
			DescriptionKey = "$HobbypcmoniterDesc",
			DisplayName = "パソコンモニター",
			Description = "Valheimを起動中。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPCretro",
			AssetName = "hobby_pcretro",
			IconName = "icon_hobbypcretro",
			NameKey = "$Hobbypcretro",
			DescriptionKey = "$HobbypcretroDesc",
			DisplayName = "レトロなパソコン",
			Description = "98か95ぐらいかな?",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "HobbyPentab",
			AssetName = "hobby_pentab",
			IconName = "icon_hobbypentab",
			NameKey = "$HobbyPentab",
			DescriptionKey = "$HobbyPentabDesc",
			DisplayName = "ペンタブレット",
			Description = "絵描きには必須。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "HobbyMicro",
			AssetName = "hobby_micro",
			IconName = "icon_hobbymicro",
			NameKey = "$HobbyMicro",
			DescriptionKey = "$HobbymicroDesc",
			DisplayName = "マイク",
			Description = "PC用マイク。",
			Category = "Hobby",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "FoodApple",
			AssetName = "food_apple",
			IconName = "icon_foodapple",
			NameKey = "$FoodApple",
			DescriptionKey = "$FoodappleDesc",
			DisplayName = "りんご箱",
			Description = "青りんごの入った箱。",
			Category = "Foods",
			Material = "Raspberry",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "FoodLafrance",
			AssetName = "food_lafrance",
			IconName = "icon_foodlafrance",
			NameKey = "$FoodLafrance",
			DescriptionKey = "$FoodlafranceDesc",
			DisplayName = "洋ナシの箱",
			Description = "洋ナシの入った箱。",
			Category = "Foods",
			Material = "Raspberry",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "FoodBerryBowl",
			AssetName = "food_berrybowl",
			IconName = "icon_foodberrybowl",
			NameKey = "$FoodBerryBowl",
			DescriptionKey = "$FoodBerryBowlDesc",
			DisplayName = "ベリーボール",
			Description = "ミックスベリーの入ったボウル。",
			Category = "Foods",
			Material = "Raspberry",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "FoodStrawberry",
			AssetName = "food_strawberry",
			IconName = "icon_foodstrawberry",
			NameKey = "$FoodStrawberry",
			DescriptionKey = "$FoodStrawberryDesc",
			DisplayName = "いちご",
			Description = "赤いいちご。",
			Category = "Foods",
			Material = "Raspberry",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenFlowerpot1",
			AssetName = "garden_flowerpot1",
			IconName = "icon_gardenflowerpot1",
			NameKey = "$GardenFlowerpot1",
			DescriptionKey = "$GardenFlowerpot1Desc",
			DisplayName = "植木鉢1",
			Description = "植物を植える鉢",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenFlowerpot2",
			AssetName = "garden_flowerpot2",
			IconName = "icon_gardenflowerpot2",
			NameKey = "$GardenFlowerpot2",
			DescriptionKey = "$GardenFlowerpot2Desc",
			DisplayName = "植木鉢2",
			Description = "植物を植える鉢",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "GardenFlowerpot3",
			AssetName = "garden_flowerpot3",
			IconName = "icon_gardenflowerpot3",
			NameKey = "$GardenFlowerpot3",
			DescriptionKey = "$GardenFlowerpot3Desc",
			DisplayName = "植木鉢3",
			Description = "植物を植える鉢",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "GardenStrawberry",
			AssetName = "garden_strawberry",
			IconName = "icon_gardenstrawberry",
			NameKey = "$GardenStrawberry",
			DescriptionKey = "$GardenStrawberryDesc",
			DisplayName = "いちご",
			Description = "赤いいちご",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenChristmasRose1",
			AssetName = "garden_christmasrose1",
			IconName = "icon_gardenchristmasrose1",
			NameKey = "$GardenChristmasRose1",
			DescriptionKey = "$GardenChristmasRose1Desc",
			DisplayName = "クリスマスローズ(白)",
			Description = "冬に咲く人気のお花。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenChristmasRose2",
			AssetName = "garden_christmasrose2",
			IconName = "icon_gardenchristmasrose2",
			NameKey = "$GardenChristmasRose2",
			DescriptionKey = "$GardenChristmasRose2Desc",
			DisplayName = "クリスマスローズ(ピンク)",
			Description = "冬に咲く人気のお花。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenChristmasRose3",
			AssetName = "garden_christmasrose3",
			IconName = "icon_gardenchristmasrose3",
			NameKey = "$GardenChristmasRose3",
			DescriptionKey = "$GardenChristmasRose3Desc",
			DisplayName = "クリスマスローズ(多色)",
			Description = "冬に咲く人気のお花。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenCyclamen1",
			AssetName = "garden_cyclamen1",
			IconName = "icon_gardencyclamen1",
			NameKey = "$GardenCyclamen1",
			DescriptionKey = "$GardenCyclamen1Desc",
			DisplayName = "ガーデンシクラメン(赤)",
			Description = "外に植えるのに適したシクラメン。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenCyclamen2",
			AssetName = "garden_cyclamen2",
			IconName = "icon_gardencyclamen2",
			NameKey = "$GardenCyclamen2",
			DescriptionKey = "$GardenCyclamen2Desc",
			DisplayName = "ガーデンシクラメン(ピンク)",
			Description = "外に植えるのに適したシクラメン。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenGlobeamaranth",
			AssetName = "garden_globeamaranth",
			IconName = "icon_gardenglobeamaranth",
			NameKey = "$GardenGlobeamaranth",
			DescriptionKey = "$GardenGlobeamaranthDesc",
			DisplayName = "千日紅",
			Description = "夏によく植えられる園芸花。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenHeuchera",
			AssetName = "garden_heuchera",
			IconName = "icon_gardenheuchera",
			NameKey = "$GardenHeuchera",
			DescriptionKey = "$GardenHeucheraDesc",
			DisplayName = "ヒューケラ",
			Description = "人気のカラーリーフ。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenKasumisou",
			AssetName = "garden_kasumisou",
			IconName = "icon_gardenkasumisou",
			NameKey = "$GardenKasumisou",
			DescriptionKey = "$GardenKasumisouDesc",
			DisplayName = "カスミソウ",
			Description = "ピンク色の園芸向けのカスミソウ。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenKasumisou2",
			AssetName = "garden_kasumisou2",
			IconName = "icon_gardenkasumisou2",
			NameKey = "$GardenKasumisou2",
			DescriptionKey = "$GardenKasumisou2Desc",
			DisplayName = "カスミソウ(白)",
			Description = "白い小花。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenLavender",
			AssetName = "garden_lavender",
			IconName = "icon_gardenlavender",
			NameKey = "$GardenLavender",
			DescriptionKey = "$GardenLavenderDesc",
			DisplayName = "ラベンダー",
			Description = "装飾用のラベンダー。良い香り。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenOrnamentKale",
			AssetName = "garden_ornamentkale",
			IconName = "icon_gardenornamentkale",
			NameKey = "$GardenOrnamentKale",
			DescriptionKey = "$GardenOrnamentKaleDesc",
			DisplayName = "葉ボタン",
			Description = "冬の定番の園芸草花の1つ。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenPrimrose1",
			AssetName = "garden_primrose1",
			IconName = "icon_gardenprimrose1",
			NameKey = "$GardenPrimrose1",
			DescriptionKey = "$GardenPrimrose1Desc",
			DisplayName = "プリムラ(ピンク)",
			Description = "冬から春にかけて人気の園芸草花",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenPrimrose2",
			AssetName = "garden_primrose2",
			IconName = "icon_gardenprimrose2",
			NameKey = "$GardenPrimrose2",
			DescriptionKey = "$GardenPrimrose2Desc",
			DisplayName = "プリムラ(黄色)",
			Description = "冬から春にかけて人気の園芸草花。黄色はなぜか良い香りがする。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenPrimrose3",
			AssetName = "garden_primrose3",
			IconName = "icon_gardenprimrose3",
			NameKey = "$GardenPrimrose3",
			DescriptionKey = "$GardenPrimrose3Desc",
			DisplayName = "プリムラ(紫)",
			Description = "冬から春に咲く花",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenPrimrose4",
			AssetName = "garden_primrose4",
			IconName = "icon_gardenprimrose4",
			NameKey = "$GardenPrimrose4",
			DescriptionKey = "$GardenPrimrose4Desc",
			DisplayName = "プリムラ(薄ピンク)",
			Description = "冬から春に咲く花",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenTulip1",
			AssetName = "garden_tulip1",
			IconName = "icon_gardentulip1",
			NameKey = "$GardenTulip1",
			DescriptionKey = "$GardenTulip1Desc",
			DisplayName = "チューリップ(赤)",
			Description = "春先に咲く花",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenTulip2",
			AssetName = "garden_tulip2",
			IconName = "icon_gardentulip2",
			NameKey = "$GardenTulip2",
			DescriptionKey = "$GardenTulip2Desc",
			DisplayName = "チューリップ(オレンジ)",
			Description = "春先に咲く花",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenTulip3",
			AssetName = "garden_tulip3",
			IconName = "icon_gardentulip3",
			NameKey = "$GardenTulip3",
			DescriptionKey = "$GardenTulip3Desc",
			DisplayName = "チューリップ(ピンク)",
			Description = "春先に咲く花",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenLeaf",
			AssetName = "garden_leaf",
			IconName = "icon_gardenleaf",
			NameKey = "$GardenLeaf",
			DescriptionKey = "$GardenLeafDesc",
			DisplayName = "シュガーバイン",
			Description = "ツル性の葉",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenSilverleaf",
			AssetName = "garden_silverleaf",
			IconName = "icon_gardensilverleaf",
			NameKey = "$GardenSilverleaf",
			DescriptionKey = "$GardenSilverleafDesc",
			DisplayName = "シルバーリーフ",
			Description = "寄せ植えで映えるシルバーリーフ。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 0
		},
		new ClutterItemData
		{
			PrefabName = "GardenPoinsettia",
			AssetName = "garden_poinsettia",
			IconName = "icon_gardenpoinsettia",
			NameKey = "$GardenPoinsettia",
			DescriptionKey = "$GardenPoinsettiaDesc",
			DisplayName = "ポインセチア",
			Description = "クリスマスシーズンによく出回る。実は花に見える部分は花ではない。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenSakuraBonsai",
			AssetName = "garden_sakurabonsai",
			IconName = "icon_gardensakurabonsai",
			NameKey = "$GardenSakuraBonsai",
			DescriptionKey = "$GardenSakuraBonsaiDesc",
			DisplayName = "一才桜",
			Description = "小さい桜の園芸品種。可愛いサイズ。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenYoseue1",
			AssetName = "garden_yoseue1",
			IconName = "icon_gardenyoseue1",
			NameKey = "$GardenYoseue1",
			DescriptionKey = "$GardenYoseue1Desc",
			DisplayName = "コリウスの寄せ植え",
			Description = "秋に黄葉するコリウスの鉢植え",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenYoseue2",
			AssetName = "garden_yoseue2",
			IconName = "icon_gardenyoseue2",
			NameKey = "$GardenYoseue2",
			DescriptionKey = "$GardenYoseue2Desc",
			DisplayName = "バラ咲きプリムラの寄せ植え",
			Description = "冬向けの寄せ植え。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenRanunculus",
			AssetName = "garden_ranunculus",
			IconName = "icon_gardenranunculus",
			NameKey = "$GardenRanunculus",
			DescriptionKey = "$GardenRanunculusDesc",
			DisplayName = "ラナンキュラス",
			Description = "バラのような花弁の園芸草花。球根は戻してから植える。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenRose",
			AssetName = "garden_rose",
			IconName = "icon_gardenrose",
			NameKey = "$GardenRose",
			DescriptionKey = "$GardenroseDesc",
			DisplayName = "バラの花瓶",
			Description = "赤いバラの花瓶。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenKinmokusei",
			AssetName = "garden_kinmokusei",
			IconName = "icon_gardenkinmokusei",
			NameKey = "$GardenKinmokusei",
			DescriptionKey = "$Gardenkinmokusei3Desc",
			DisplayName = "金木犀の鉢植え",
			Description = "秋には良い香りがする。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenPlant",
			AssetName = "garden_plant",
			IconName = "icon_gardenplant",
			NameKey = "$GardenPlant",
			DescriptionKey = "$GardenplantDesc",
			DisplayName = "ヤシの鉢植え",
			Description = "室内観葉植物。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenPlant2",
			AssetName = "garden_plant2",
			IconName = "icon_gardenplant2",
			NameKey = "$GardenPlant2",
			DescriptionKey = "$Gardenplant2Desc",
			DisplayName = "グリーン鉢植え",
			Description = "室内観葉植物。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "GardenPlant3",
			AssetName = "garden_plant3",
			IconName = "icon_gardenplant3",
			NameKey = "$GardenPlant3",
			DescriptionKey = "$Gardenplant3Desc",
			DisplayName = "サボテンの鉢植え",
			Description = "室内観葉植物。",
			Category = "Garden",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherTatami",
			AssetName = "other_tatami",
			IconName = "icon_othertatami",
			NameKey = "$OtherTatami",
			DescriptionKey = "$OtherTatamiDesc",
			DisplayName = "たたみ",
			Description = "昔ながらの日本の家屋の床。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherSign1",
			AssetName = "other_sign1",
			IconName = "icon_othersign1",
			NameKey = "$OtherSign1",
			DescriptionKey = "$OtherSign1Desc",
			DisplayName = "看板1 イノシシ",
			Description = "壁付け看板",
			Category = "Other",
			Material = "Wood",
			Amount = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherSign2",
			AssetName = "other_sign2",
			IconName = "icon_othersign2",
			NameKey = "$OtherSign2",
			DescriptionKey = "$OtherSign2Desc",
			DisplayName = "看板2 ネック",
			Description = "壁付け看板",
			Category = "Other",
			Material = "Wood",
			Amount = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherSign3",
			AssetName = "other_sign3",
			IconName = "icon_othersign3",
			NameKey = "$OtherSign3",
			DescriptionKey = "$OtherSign3Desc",
			DisplayName = "看板3 オオカミ",
			Description = "壁付け看板",
			Category = "Other",
			Material = "Wood",
			Amount = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherSign4",
			AssetName = "other_sign4",
			IconName = "icon_othersign4",
			NameKey = "$OtherSign4",
			DescriptionKey = "$OtherSign4Desc",
			DisplayName = "看板4 ロックス",
			Description = "壁付け看板",
			Category = "Other",
			Material = "Wood",
			Amount = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherSign5",
			AssetName = "other_sign5",
			IconName = "icon_othersign5",
			NameKey = "$OtherSign5",
			DescriptionKey = "$OtherSign5Desc",
			DisplayName = "看板5 アスクスヴィン",
			Description = "壁付け看板",
			Category = "Other",
			Material = "Wood",
			Amount = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherSign6",
			AssetName = "other_sign6",
			IconName = "icon_othersign6",
			NameKey = "$OtherSign6",
			DescriptionKey = "$OtherSign6Desc",
			DisplayName = "看板6 Noトロル",
			Description = "壁付け看板",
			Category = "Other",
			Material = "Wood",
			Amount = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherBirikensan",
			AssetName = "other_birikensan",
			IconName = "icon_otherbirikensan",
			NameKey = "$OtherBirikensan",
			DescriptionKey = "$OtherBirikensanDesc",
			DisplayName = "ビリケンさん(ミニ)",
			Description = "小さいビリケンさん。気軽に飾れる。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherBirikensanBig",
			AssetName = "other_birikensanbig",
			IconName = "icon_otherbirikensanbig",
			NameKey = "$OtherBirikensanBig",
			DescriptionKey = "$OtherBirikensanBigDesc",
			DisplayName = "ビリケンさん",
			Description = "通天閣に登らなくても実はあちこちある。足の裏をなでなでしよう。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "OtherKadomatsu",
			AssetName = "other_kadomatsu",
			IconName = "icon_otherkadomatsu",
			NameKey = "$OtherKadomatsu",
			DescriptionKey = "$OtherKadomatsuDesc",
			DisplayName = "角松(ミニ)",
			Description = "小型の角松。気軽に飾れる。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherKadomatsuBig",
			AssetName = "other_kadomatsubig",
			IconName = "icon_otherkadomatsubig",
			NameKey = "$OtherKadomatsuBig",
			DescriptionKey = "$OtherKadomatsuBigDesc",
			DisplayName = "角松",
			Description = "日本の新年の飾り物。もはやコンビニでもどこでも飾られる。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "OtherManekineko",
			AssetName = "other_manekineko",
			IconName = "icon_othermanekineko",
			NameKey = "$OtherManekineko",
			DescriptionKey = "$OtherManekinekoDesc",
			DisplayName = "招き猫(ミニ)",
			Description = "小さめの招き猫。気軽に飾れる。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherManekinekoBig",
			AssetName = "other_manekinekobig",
			IconName = "icon_othermanekinekobig",
			NameKey = "$OtherManekinekoBig",
			DescriptionKey = "$OtherManekinekoBigDesc",
			DisplayName = "招き猫",
			Description = "日本のお店に飾られる伝統的な猫の置物。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 2
		},
		new ClutterItemData
		{
			PrefabName = "OtherTanuki",
			AssetName = "other_tanuki",
			IconName = "icon_othertanuki",
			NameKey = "$OtherTanuki",
			DescriptionKey = "$OtherTanukiDesc",
			DisplayName = "たぬき",
			Description = "日本のお店に飾られる伝統的な狸の像。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherHachiko",
			AssetName = "other_hachiko",
			IconName = "icon_otherhachiko",
			NameKey = "$OtherHachiko",
			DescriptionKey = "$OtherHachikoDesc",
			DisplayName = "ハチ公",
			Description = "待ってる犬の像。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherSimenawa",
			AssetName = "other_simenawa",
			IconName = "icon_othersimenawa",
			NameKey = "$OtherSimenawa",
			DescriptionKey = "$OtherSimenawaDesc",
			DisplayName = "しめ縄",
			Description = "日本の年末年始に飾るもの",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherOpenflower",
			AssetName = "other_openflower",
			IconName = "icon_otheropenflower",
			NameKey = "$OtherOpenflower",
			DescriptionKey = "$OtherOpenflowerDesc",
			DisplayName = "開店の花",
			Description = "お店がオープンするときに大体飾られる。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		},
		new ClutterItemData
		{
			PrefabName = "OtherLocker",
			AssetName = "other_locker",
			IconName = "icon_otherlocker",
			NameKey = "$OtherLocker",
			DescriptionKey = "$OtherLockerDesc",
			DisplayName = "ロッカー",
			Description = "荷物入れ。",
			Category = "Other",
			Material = "Wood",
			Amount = 1,
			Comfort = 1
		}
	};

	private static ConfigEntry<bool> enableClutterTool;

	private Harmony categoryHarmony;

	private static bool categoryRefreshNeeded;

	private void Awake()
	{
		//IL_0016: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Expected O, but got Unknown
		//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f8: Expected O, but got Unknown
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_014c: Expected O, but got Unknown
		((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] 起動しました。");
		categoryHarmony = new Harmony("com.sakey.clutter.CategoryFix");
		categoryHarmony.PatchAll();
		enableClutterTool = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "EnableClutterTool", true, "家具作成ツールを有効にするかどうか");
		string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "cozyclutter");
		((BaseUnityPlugin)this).Logger.LogInfo((object)("[Sakey's Cozy Clutter] AssetBundle読み込み開始: " + text));
		try
		{
			AssetBundle = AssetUtils.LoadAssetBundle(text);
		}
		catch (Exception ex)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("[Sakey's Cozy Clutter] AssetBundleの読み込み中に例外が発生しました:\n" + ex));
			AssetBundle = null;
		}
		if ((Object)(object)AssetBundle == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("[Sakey's Cozy Clutter] AssetBundleの読み込みに失敗しました:\n" + text));
			return;
		}
		((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] AssetBundle loaded: cozyclutter");
		try
		{
			PieceManager instance = PieceManager.Instance;
			PieceTableConfig val = new PieceTableConfig();
			val.CanRemovePieces = true;
			val.UseCategories = false;
			val.UseCustomCategories = true;
			val.CustomCategories = new string[5] { "Doll", "Hobby", "Foods", "Garden", "Other" };
			instance.AddPieceTable(new CustomPieceTable("SakeysClutterTable", val));
			((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] 専用PieceTableを登録しました。");
		}
		catch (Exception ex2)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("[Sakey's Cozy Clutter] PieceTable登録中に例外が発生しました:\n" + ex2));
			return;
		}
		LocalizationManager.OnLocalizationAdded += AddCustomLocalizations;
		AddCustomLocalizations();
		PrefabManager.OnPrefabsRegistered += OnPrefabsRegistered;
		((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] 初期化処理が完了しました。");
	}

	private void OnDestroy()
	{
		PrefabManager.OnPrefabsRegistered -= OnPrefabsRegistered;
		LocalizationManager.OnLocalizationAdded -= AddCustomLocalizations;
		if (categoryHarmony != null)
		{
			categoryHarmony.UnpatchSelf();
			categoryHarmony = null;
		}
		categoryRefreshNeeded = false;
		AssetBundle = null;
		((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] 終了しました。");
	}

	private void AddCustomLocalizations()
	{
		try
		{
			CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
			string text = "Japanese";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "SakeysClutterTool", "ツール CozyTool Stick" },
				{ "SakeysClutterToolDesc", "Sakey's Cozy Clutterのツール。雑多な家具や飾りを設置するための道具。" },
				{ "DollDverger", "ドヴェルグのぬいぐるみ" },
				{ "DollDvergerDesc", "ドヴェルグを模したかわいいぬいぐるみ。" },
				{ "DollDvergerBig", "ドヴェルグのBIGぬいぐるみ" },
				{ "DollDvergerBigDesc", "ドヴェルグを模した大きなぬいぐるみ。" },
				{ "DollTroll", "トロルのぬいぐるみ" },
				{ "DollTrollDesc", "トロルを模したかわいいぬいぐるみ。" },
				{ "DollTrollBig", "トロルのBIGぬいぐるみ" },
				{ "DollTrollBigDesc", "トロルを模した大きいぬいぐるみ。" },
				{ "DollRion", "りおんぬいぐるみ" },
				{ "DollRionDesc", "Vtuber幸島梨苑のぬいぐるみ。https://www.youtube.com/@kojima-rion/featured" },
				{ "DollRionBig", "りおんのBIGぬいぐるみ" },
				{ "DollRionBigDesc", "Vtuber幸島梨苑のBIGぬいぐるみ。https://www.youtube.com/@kojima-rion/featured" },
				{ "DollEikthyr", "エイクスュルのぬいぐるみ" },
				{ "DollEikthyrDesc", "エイクスュルを模したかわいいぬいぐるみ。" },
				{ "DollEikthyrBig", "エイクスュルのBIGぬいぐるみ" },
				{ "DollEikthyrBigDesc", "エイクスュルを模した大きいぬいぐるみ。" },
				{ "DollGoblin", "フーリングのぬいぐるみ" },
				{ "DollGoblinDesc", "フーリングを模したかわいいぬいぐるみ。" },
				{ "DollGoblinBig", "フーリングのBIGぬいぐるみ" },
				{ "DollGoblinBigDesc", "フーリングを模した大きいぬいぐるみ。" },
				{ "DollGreyling", "グレイリングのぬいぐるみ" },
				{ "DollGreylingDesc", "グレイリングを模したかわいいぬいぐるみ。" },
				{ "DollNeck", "ネックのぬいぐるみ" },
				{ "DollNeckDesc", "星2ネックを模したかわいいぬいぐるみ。" },
				{ "DollNeckBig", "ネックのBIGぬいぐるみ" },
				{ "DollNeckBigDesc", "星2ネックを模した大きいぬいぐるみ。" },
				{ "DollSheep", "おやすみ羊のぬいぐるみ" },
				{ "DollSheepDesc", "おやすみ羊のかわいいぬいぐるみ。" },
				{ "DollModer", "モデルのぬいぐるみ" },
				{ "DollModerDesc", "モデルを模したかわいいぬいぐるみ。" },
				{ "DollModerBig", "モデルのBIGぬいぐるみ" },
				{ "DollModerBigDesc", "モデルを模した大きいぬいぐるみ。" },
				{ "DollElder", "長老のぬいぐるみ" },
				{ "DollElderDesc", "長老を模したかわいいぬいぐるみ。" },
				{ "DollElderBig", "長老のBIGぬいぐるみ" },
				{ "DollElderBigDesc", "長老を模した大きいぬいぐるみ。" },
				{ "DollLox", "ロックスのぬいぐるみ" },
				{ "DollLoxDesc", "ロックスを模したかわいいぬいぐるみ" },
				{ "DollLoxBig", "ロックスのBIGぬいぐるみ" },
				{ "DollLoxBigDesc", "ロックスを模した大きいぬいぐるみ" },
				{ "DollHildir", "ヒルディルのぬいぐるみ" },
				{ "DollHildirDesc", "ヒルディルを模したかわいいぬいぐるみ" },
				{ "DollHildirBig", "ヒルディルのBIGぬいぐるみ" },
				{ "DollHildirBigDesc", "ヒルディルを模した大きいぬいぐるみ" },
				{ "DollDraugr", "ドラウグルのぬいぐるみ" },
				{ "DollDraugrDesc", "ドラウグルを模したかわいいぬいぐるみ。" },
				{ "DollDraugrBig", "ドラウグルのBIGぬいぐるみ" },
				{ "DollDraugrBigDesc", "ドラウグルを模した大きなぬいぐるみ。" },
				{ "DollGreyShaman", "灰色ドワーフのシャーマンのぬいぐるみ" },
				{ "DollGreyShamanDesc", "灰色ドワーフのシャーマンを模したかわいいぬいぐるみ。" },
				{ "DollGreyShamanBig", "灰色ドワーフのシャーマンのBIGぬいぐるみ" },
				{ "DollGreyShamanBigDesc", "灰色ドワーフのシャーマンを模した大きなぬいぐるみ。" },
				{ "DollGreyBrute", "灰色ドワーフの暴漢のぬいぐるみ" },
				{ "DollGreyBruteDesc", "灰色ドワーフの暴漢を模したかわいいぬいぐるみ。" },
				{ "DollGreyBruteBig", "灰色ドワーフの暴漢のBIGぬいぐるみ" },
				{ "DollGreyBruteBigDesc", "灰色ドワーフの暴漢を模した大きなぬいぐるみ。" },
				{ "DollValkyrie", "堕ちたヴァルキリー人形" },
				{ "DollValkyrieDesc", "堕ちたヴァルキリーを模した人形。" },
				{ "DollValkyrieBig", "堕ちたヴァルキリーBIG人形" },
				{ "DollValkyrieBigDesc", "堕ちたヴァルキリーを模した大きな人形。" },
				{ "DollCat", "猫のぬいぐるみ" },
				{ "DollCatDesc", "猫のぬいぐるみ。" },
				{ "DollCatBig", "猫のBIGぬいぐるみ" },
				{ "DollCatBigDesc", "おおきな猫のぬいぐるみ。" },
				{ "DollPiggy", "ウリ坊のぬいぐるみ" },
				{ "DollPiggyDesc", "かわいいウリ坊のぬいぐるみ。" },
				{ "DollSilverArmor", "銀装備の兵士のぬいぐるみ" },
				{ "DollSilverArmorDesc", "銀装備かっこいいよね。" },
				{ "DollSilverArmorBig", "銀装備の兵士のBIGぬいぐるみ" },
				{ "DollSilverArmorBigDesc", "銀装備かっこいいよね。" },
				{ "DollSakey", "女の子のぬいぐるみ" },
				{ "DollSakeyDesc", "膝ペタ座りで無表情" },
				{ "DollSakeyBig", "女の子のBIGぬいぐるみ" },
				{ "DollSakeyBigDesc", "膝ペタ座りで無表情" },
				{ "DollHiryu", "男の子のぬいぐるみ" },
				{ "DollHiryuDesc", "デビルパーカーの男の子" },
				{ "DollStone", "ただの石のぬいぐるみ" },
				{ "DollStoneDesc", "海外でこういうの人気らしい…?" },
				{ "DollHimarin", "ひまりんのぬいぐるみ" },
				{ "DollHimarinDesc", "バーテン姿のぬいぐるみ" },
				{ "DollHimarinBig", "ひまりんのBIGぬいぐるみ" },
				{ "DollHimarinBigDesc", "大きいぬいぐるみ" },
				{ "HobbyDiscoball", "ディスコボール" },
				{ "HobbyDiscoballDesc", "ミラーボール" },
				{ "HobbyTank1", "ミリタリーフィギュア" },
				{ "HobbyTank1Desc", "のってきたぞ~!" },
				{ "HobbyGamepad1", "ゲームコントローラー" },
				{ "HobbyGamepad1Desc", "ゲーム用のコントローラー" },
				{ "HobbyGamepad2", "ゲームコントローラー" },
				{ "HobbyGamepad2Desc", "ゲーム用のコントローラー" },
				{ "HobbyHeadset1", "猫耳ヘッドホン" },
				{ "HobbyHeadset1Desc", "猫耳付きの飾りヘッドセット" },
				{ "HobbyHeadset2", "マイク付きゲーミングヘッドセット" },
				{ "HobbyHeadset2Desc", "マルチプレイやボイスチャットには欠かせない" },
				{ "HobbyKeyblue", "PC用キーボード(青)" },
				{ "HobbyKeyblueDesc", "青色のキーボード" },
				{ "HobbyKeygreen", "PC用キーボード(緑)" },
				{ "HobbyKeygreenDesc", "緑色のキーボード" },
				{ "HobbyKeypink", "PC用キーボード(ピンク)" },
				{ "HobbyKeypinkDesc", "ピンク色のキーボード" },
				{ "HobbyKeypurple", "PC用キーボード(パープル)" },
				{ "HobbyKeypurpleDesc", "紫色のキーボード" },
				{ "HobbyKeyred", "PC用キーボード(赤)" },
				{ "HobbyKeyredDesc", "赤いキーボード" },
				{ "HobbyKeywhite", "PC用キーボード(黒)" },
				{ "HobbyKeywhiteDesc", "黒のキーボード" },
				{ "Hobbymouse", "PC用のマウス" },
				{ "HobbymouseDesc", "動きが悪いとストレスになります。" },
				{ "HobbyMicro", "マイク" },
				{ "HobbymicroDesc", "PC用マイク" },
				{ "HobbyPCblue", "ゲーミングPC(青)" },
				{ "HobbypcblueDesc", "時々エアダスターで掃除してあげましょう。" },
				{ "HobbyPCgreen", "ゲーミングPC(緑)" },
				{ "HobbypcgreenDesc", "メモリの増設が高すぎて出来ない。" },
				{ "HobbyPCpink", "ゲーミングPC(ピンク)" },
				{ "HobbypcpinkDesc", "常に空き容量との闘い。" },
				{ "HobbyPCpurple", "ゲーミングPC(パープル)" },
				{ "HobbypcpurpleDesc", "MOD入れ過ぎて重い。" },
				{ "HobbyPCred", "ゲーミングPC(赤)" },
				{ "HobbypcredDesc", "更新後にOBSの音声周りのチェック" },
				{ "HobbyPCwhite", "ゲーミングPC(黒)" },
				{ "HobbypcwhiteDesc", "とりあえずSteam見ちゃう" },
				{ "Hobbypcmoniter", "パソコンモニター" },
				{ "HobbypcmoniterDesc", "Valheimを起動中" },
				{ "Hobbypcretro", "レトロなパソコン" },
				{ "HobbypcretroDesc", "98か95ぐらいかな?" },
				{ "HobbyPentab", "ペンタブレット" },
				{ "HobbyPentabDesc", "絵描きには必須" },
				{ "GardenChristmasRose1", "クリスマスローズ(白)" },
				{ "GardenChristmasRose1Desc", "冬に咲く人気のお花。" },
				{ "GardenChristmasRose2", "クリスマスローズ(ピンク)" },
				{ "GardenChristmasRose2Desc", "冬に咲く人気のお花。" },
				{ "GardenChristmasRose3", "クリスマスローズ(多色)" },
				{ "GardenChristmasRose3Desc", "冬に咲く人気のお花。" },
				{ "GardenCyclamen1", "ガーデンシクラメン(赤)" },
				{ "GardenCyclamen1Desc", "外に植えるのに適したシクラメン。" },
				{ "GardenCyclamen2", "ガーデンシクラメン(ピンク)" },
				{ "GardenCyclamen2Desc", "外に植えるのに適したシクラメン。" },
				{ "GardenFlowerpot1", "植木鉢1" },
				{ "GardenFlowerpot1Desc", "植物を植える鉢" },
				{ "GardenFlowerpot2", "植木鉢2" },
				{ "GardenFlowerpot2Desc", "植物を植える鉢" },
				{ "GardenFlowerpot3", "植木鉢3" },
				{ "GardenFlowerpot3Desc", "植物を植える鉢" },
				{ "GardenGlobeamaranth", "千日紅" },
				{ "GardenGlobeamaranthDesc", "夏によく植えられる園芸花。" },
				{ "GardenHeuchera", "ヒューケラ" },
				{ "GardenHeucheraDesc", "人気のカラーリーフ。" },
				{ "GardenKasumisou", "カスミソウ" },
				{ "GardenKasumisouDesc", "ピンク色の園芸向けのカスミソウ。" },
				{ "GardenLavender", "ラベンダー" },
				{ "GardenLavenderDesc", "装飾用のラベンダー。良い香り。" },
				{ "GardenOrnamentKale", "葉ボタン" },
				{ "GardenOrnamentKaleDesc", "冬の定番の園芸草花の1つ。" },
				{ "GardenPoinsettia", "ポインセチア" },
				{ "GardenPoinsettiaDesc", "クリスマスシーズンによく出回る。実は花に見える部分は花ではない。" },
				{ "GardenPrimrose1", "プリムラ(ピンク)" },
				{ "GardenPrimrose1Desc", "冬から春にかけて人気の園芸草花" },
				{ "GardenPrimrose2", "プリムラ(黄色)" },
				{ "GardenPrimrose2Desc", "冬から春にかけて人気の園芸草花。黄色はなぜか良い香りがする。" },
				{ "GardenRanunculus", "ラナンキュラス" },
				{ "GardenRanunculusDesc", "バラのような花弁の園芸草花。球根は戻してから植える。" },
				{ "GardenSakuraBonsai", "一才桜" },
				{ "GardenSakuraBonsaiDesc", "小さい桜の園芸品種。可愛いサイズ。" },
				{ "GardenSilverleaf", "シルバーリーフ" },
				{ "GardenSilverleafDesc", "寄せ植えで映えるシルバーリーフ。" },
				{ "GardenYoseue1", "コリウスの寄せ植え" },
				{ "GardenYoseue1Desc", "秋に黄葉するコリウスの鉢植え" },
				{ "GardenYoseue2", "バラ咲きプリムラの寄せ植え" },
				{ "GardenYoseue2Desc", "冬向けの寄せ植え。" },
				{ "OtherBirikensan", "ビリケンさん(ミニ)" },
				{ "OtherBirikensanDesc", "小さいビリケンさん。気軽に飾れる。" },
				{ "OtherBirikensanBig", "ビリケンさん" },
				{ "OtherBirikensanBigDesc", "通天閣に登らなくても実はあちこちある。足の裏をなでなでしよう。" },
				{ "OtherKadomatsu", "角松(ミニ)" },
				{ "OtherKadomatsuDesc", "小型の角松。気軽に飾れる。" },
				{ "OtherKadomatsuBig", "角松" },
				{ "OtherKadomatsuBigDesc", "日本の新年の飾り物。もはやコンビニでもどこでも飾られる。" },
				{ "OtherManekineko", "招き猫(ミニ)" },
				{ "OtherManekinekoDesc", "小さめの招き猫。気軽に飾れる。" },
				{ "OtherManekinekoBig", "招き猫" },
				{ "OtherManekinekoBigDesc", "日本のお店に飾られる伝統的な猫の置物。" },
				{ "OtherTanuki", "たぬき" },
				{ "OtherTanukiDesc", "日本のお店に飾られる伝統的な狸の像。" },
				{ "GardenStrawberry", "いちごの鉢植え" },
				{ "GardenStrawberryDesc", "赤いいちごの鉢植え。" },
				{ "GardenRose", "バラの鉢植え" },
				{ "GardenroseDesc", "バラの鉢植え" },
				{ "GardenPlant", "ヤシの鉢植え" },
				{ "GardenplantDesc", "室内観葉植物" },
				{ "GardenPlant2", "グリーンの鉢植え" },
				{ "Gardenplant2Desc", "室内観葉植物" },
				{ "GardenPlant3", "サボテンの鉢植え" },
				{ "Gardenplant3Desc", "室内観葉植物" },
				{ "GardenKinmokusei", "金木犀の鉢植え" },
				{ "GardenkinmokuseiDesc", "秋は良い香りがする" },
				{ "FoodBerryBowl", "ベリーボール" },
				{ "FoodBerryBowlDesc", "ミックスベリーの入ったボウル。" },
				{ "FoodStrawberry", "いちご" },
				{ "FoodStrawberryDesc", "赤いいちご。" },
				{ "FoodApple", "リンゴ" },
				{ "FoodappleDesc", "箱に入った青りんご" },
				{ "FoodLafrance", "洋ナシ" },
				{ "FoodlafranceDesc", "洋ナシの入ったカゴ" },
				{ "OtherTatami", "たたみ" },
				{ "OtherTatamiDesc", "日本の家屋の床" },
				{ "OtherTatamiBed", "寝られるたたみ" },
				{ "OtherTatamiBedDesc", "畳の上でそのまま寝られる、雑魚寝用のたたみ。" },
				{ "OtherSign1", "看板1イノシシ" },
				{ "OtherSign1Desc", "壁付けの看板" },
				{ "OtherSign2", "看板2 ネック" },
				{ "OtherSign2Desc", "壁付けの看板" },
				{ "OtherSign3", "看板3 オオカミ" },
				{ "OtherSign3Desc", "壁付けの看板" },
				{ "OtherSign4", "看板4 ロックス" },
				{ "OtherSign4Desc", "壁付けの看板" },
				{ "OtherSign5", "看板5 アスクスヴィン" },
				{ "OtherSign5Desc", "壁付けの看板" },
				{ "OtherSign6", "看板6 NOトロル" },
				{ "OtherSign6Desc", "壁付けの看板" },
				{ "GardenTulip1", "チューリップ(赤)" },
				{ "GardenTulip1Desc", "春先に咲く花" },
				{ "GardenTulip2", "チューリップ(オレンジ)" },
				{ "GardenTulip2Desc", "春先に咲く花" },
				{ "GardenTulip3", "チューリップ(ピンク)" },
				{ "GardenTulip3Desc", "春先に咲く花" },
				{ "GardenPrimrose3", "プリムラ(紫)" },
				{ "GardenPrimrose3Desc", "冬から春に咲く花" },
				{ "GardenPrimrose4", "プリムラ(薄ピンク)" },
				{ "GardenPrimrose4Desc", "冬から春に咲く花" },
				{ "GardenKasumisou2", "カスミソウ(白)" },
				{ "GardenKasumisou2Desc", "白い小花。" },
				{ "GardenLeaf", "シュガーバイン" },
				{ "GardenLeafDesc", "ツル性の葉" },
				{ "HobbyGame1", "ゲーム1" },
				{ "HobbyGame1Desc", "ゲームコンソール機" },
				{ "HobbyGame2", "ゲーム2" },
				{ "HobbyGame2Desc", "ゲームコンソール機" },
				{ "HobbyGame3", "ゲーム3" },
				{ "HobbyGame3Desc", "ゲームコンソール機" },
				{ "HobbyGame4", "ゲーム4" },
				{ "HobbyGame4Desc", "ゲームコンソール機" },
				{ "HobbyGame5", "ゲーム5" },
				{ "HobbyGame5Desc", "ゲームコンソール機" },
				{ "OtherHachiko", "ハチ公" },
				{ "OtherHachikoDesc", "待ってる犬の像。" },
				{ "OtherSimenawa", "しめ縄" },
				{ "OtherSimenawaDesc", "日本の年末年始に飾るもの" },
				{ "OtherOpenflower", "開店の花" },
				{ "OtherOpenflowerDesc", "お店がオープンするときに大体飾られる。" },
				{ "OtherLocker", "ロッカー" },
				{ "OtherLockerDesc", "荷物入れ。" },
				{ "OtherLockerBig", "ロッカー(大)" },
				{ "OtherLockerBigDesc", "大きめのロッカー。飾りとしても使いやすい。" },
				{ "jotunn_cat_doll", "Doll" },
				{ "jotunn_cat_hobby", "Hobby" },
				{ "jotunn_cat_foods", "Foods" },
				{ "jotunn_cat_garden", "Garden" },
				{ "jotunn_cat_other", "Other" }
			});
			text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "SakeysClutterTool", "CozyTool Stick" },
				{ "SakeysClutterToolDesc", "A tool for placing various decorative furniture and clutter. (Sakey's Cozy Clutter)" },
				{ "DollDverger", "Dvergr Plushie" },
				{ "DollDvergerDesc", "A cute plushie modeled after a Dvergr." },
				{ "DollDvergerBig", "Big Dvergr Plushie" },
				{ "DollDvergerBigDesc", "A large plushie modeled after a Dvergr." },
				{ "DollTroll", "Troll Plushie" },
				{ "DollTrollDesc", "A cute plushie modeled after a Troll." },
				{ "DollTrollBig", "Big Troll Plushie" },
				{ "DollTrollBigDesc", "A large plushie modeled after a Troll." },
				{ "DollRion", "Rion Plushie" },
				{ "DollRionDesc", "A cute plushie modeled after Japanese Vtuber Kojima Rion. https://www.youtube.com/@kojima-rion/featured" },
				{ "DollRionBig", "Rion BIG Plushie" },
				{ "DollRionBigDesc", "A large Rion plushie. Japanese Vtuber Kojima Rion. https://www.youtube.com/@kojima-rion/featured" },
				{ "DollGreyling", "Greyling Plushie" },
				{ "DollGreylingDesc", "A cute plushie modeled after a Greyling." },
				{ "DollGoblin", "Goblin Plushie" },
				{ "DollGoblinDesc", "A cute plushie modeled after a Goblin." },
				{ "DollGoblinBig", "Big Goblin Plushie" },
				{ "DollGoblinBigDesc", "A large plushie modeled after a Goblin." },
				{ "DollNeck", "Neck Plushie" },
				{ "DollNeckDesc", "A cute plushie modeled after a Neck." },
				{ "DollNeckBig", "Big Neck Plushie" },
				{ "DollNeckBigDesc", "A large plushie modeled after a Neck." },
				{ "DollEikthyr", "Eikthyr Plushie" },
				{ "DollEikthyrDesc", "A cute plushie modeled after Eikthyr." },
				{ "DollEikthyrBig", "Big Eikthyr Plushie" },
				{ "DollEikthyrBigDesc", "A large plushie modeled after Eikthyr." },
				{ "DollElder", "Elder Plushie" },
				{ "DollElderDesc", "A cute plushie modeled after the Elder." },
				{ "DollElderBig", "Big Elder Plushie" },
				{ "DollElderBigDesc", "A large plushie modeled after the Elder." },
				{ "DollModer", "Moder Plushie" },
				{ "DollModerDesc", "A cute plushie modeled after Moder." },
				{ "DollModerBig", "Big Moder Plushie" },
				{ "DollModerBigDesc", "A large plushie modeled after Moder." },
				{ "DollLox", "Lox Plushie" },
				{ "DollLoxDesc", "A cute plushie modeled after Lox." },
				{ "DollLoxBig", "Big Lox Plushie" },
				{ "DollLoxBigDesc", "A large plushie modeled after Lox." },
				{ "DollHildir", "Hildir Plushie" },
				{ "DollHildirDesc", "A cute plushie modeled after Hildir." },
				{ "DollHildirBig", "Big Hildir Plushie" },
				{ "DollHildirBigDesc", "A large plushie modeled after Hildir." },
				{ "DollSheep", "Sleep Sheep Plushie" },
				{ "DollSheepDesc", "A cute sleeping sheep plushie." },
				{ "DollDraugr", "Draugr Plushie" },
				{ "DollDraugrDesc", "A cute plushie modeled after a Draugr." },
				{ "DollDraugrBig", "Big Draugr Plushie" },
				{ "DollDraugrBigDesc", "A large plushie modeled after a Draugr." },
				{ "DollGreyShaman", "Grey Dwarf Shaman Plushie" },
				{ "DollGreyShamanDesc", "A cute plushie modeled after a Grey Dwarf Shaman." },
				{ "DollGreyShamanBig", "Big Grey Dwarf Shaman Plushie" },
				{ "DollGreyShamanBigDesc", "A large plushie modeled after a Grey Dwarf Shaman." },
				{ "DollGreyBrute", "Grey Dwarf Brute Plushie" },
				{ "DollGreyBruteDesc", "A cute plushie modeled after a Grey Dwarf Brute." },
				{ "DollGreyBruteBig", "Big Grey Dwarf Brute Plushie" },
				{ "DollGreyBruteBigDesc", "A large plushie modeled after a Grey Dwarf Brute." },
				{ "DollValkyrie", "Fallen Valkyrie Doll" },
				{ "DollValkyrieDesc", "A doll modeled after a Fallen Valkyrie." },
				{ "DollValkyrieBig", "Big Fallen Valkyrie Doll" },
				{ "DollValkyrieBigDesc", "A large doll modeled after a Fallen Valkyrie." },
				{ "DollPiggy", "Piglet Plushie" },
				{ "DollPiggyDesc", "A cute piglet plushie." },
				{ "DollCat", "Cat Doll" },
				{ "DollCatDesc", "A doll modeled after a Cat." },
				{ "DollCatBig", "Big Cat Doll" },
				{ "DollCatBigDesc", "A large doll modeled after a Cat." },
				{ "DollSilverArmor", "Silver Armor Warrior Plushie" },
				{ "DollSilverArmorDesc", "So Cool Armor! " },
				{ "DollSilverArmorBig", "Big Silver Armor Warrior Plushie" },
				{ "DollSilverArmorBigDesc", "So Cool Armor!" },
				{ "DollSakey", "Girl Plushie" },
				{ "DollSakeyDesc", "Girl Plushie" },
				{ "DollSakeyBig", "Big Girl Plushie" },
				{ "DollSakeyBigDesc", "Big Girl Plushie" },
				{ "DollHiryu", "Boy Plushie" },
				{ "DollHiryuDesc", "Boy Plushie" },
				{ "DollStone", "Rocky!?" },
				{ "DollStoneDesc", "like a Pet ROCK Plushie" },
				{ "DollHimarin", "Himarin Plushie" },
				{ "DollHimarinDesc", "Himarin Plushie" },
				{ "DollHimarinBig", "Big Himarin Plushie" },
				{ "DollHimarinBigDesc", "Big Himarin Plushie" },
				{ "HobbyDiscoball", "Disco Ball" },
				{ "HobbyDiscoballDesc", "Mirror ball" },
				{ "HobbyTank1", "Military Figure" },
				{ "HobbyTank1Desc", "Military figure" },
				{ "HobbyGamepad1", "Game Controller 1" },
				{ "HobbyGamepad1Desc", "Gaming controller" },
				{ "HobbyGamepad2", "Game Controller 2" },
				{ "HobbyGamepad2Desc", "Gaming controller" },
				{ "HobbyHeadset1", "Cat Ear Headphones" },
				{ "HobbyHeadset1Desc", "Decorative cat-ear headset" },
				{ "HobbyHeadset2", "Gaming Headset" },
				{ "HobbyHeadset2Desc", "Essential for multiplayer and voice chat" },
				{ "HobbyKeyblue", "PC Keyboard (Blue)" },
				{ "HobbyKeyblueDesc", "Blue keyboard" },
				{ "HobbyKeygreen", "PC Keyboard (Green)" },
				{ "HobbyKeygreenDesc", "Green keyboard" },
				{ "HobbyKeypink", "PC Keyboard (Pink)" },
				{ "HobbyKeypinkDesc", "Pink keyboard" },
				{ "HobbyKeypurple", "PC Keyboard (Purple)" },
				{ "HobbyKeypurpleDesc", "Purple keyboard" },
				{ "HobbyKeyred", "PC Keyboard (Red)" },
				{ "HobbyKeyredDesc", "Red keyboard" },
				{ "HobbyKeywhite", "PC Keyboard (Black & White)" },
				{ "HobbyKeywhiteDesc", "Black and white keyboard" },
				{ "Hobbymouse", "PC Mouse" },
				{ "HobbymouseDesc", "A PC mouse" },
				{ "HobbyMicro", "Microphone" },
				{ "HobbymicroDesc", "PC microphone" },
				{ "HobbyPCblue", "Gaming PC (Blue)" },
				{ "HobbypcblueDesc", "Gaming PC" },
				{ "HobbyPCgreen", "Gaming PC (Green)" },
				{ "HobbypcgreenDesc", "Gaming PC" },
				{ "HobbyPCpink", "Gaming PC (Pink)" },
				{ "HobbypcpinkDesc", "Gaming PC" },
				{ "HobbyPCpurple", "Gaming PC (Purple)" },
				{ "HobbypcpurpleDesc", "Gaming PC" },
				{ "HobbyPCred", "Gaming PC (Red)" },
				{ "HobbypcredDesc", "Gaming PC" },
				{ "HobbyPCwhite", "Gaming PC (Black & White)" },
				{ "HobbypcwhiteDesc", "Gaming PC" },
				{ "Hobbypcmoniter", "PC Monitor" },
				{ "HobbypcmoniterDesc", "PC Monitor" },
				{ "Hobbypcretro", "Retro PC" },
				{ "HobbypcretroDesc", "Maybe Windows 98 or 95?" },
				{ "HobbyPentab", "Pen Tablet" },
				{ "HobbyPentabDesc", "Essential for drawing" },
				{ "GardenChristmasRose1", "Christmas Rose (White)" },
				{ "GardenChristmasRose1Desc", "A popular flower that blooms in winter." },
				{ "GardenChristmasRose2", "Christmas Rose (Pink)" },
				{ "GardenChristmasRose2Desc", "A popular flower that blooms in winter." },
				{ "GardenChristmasRose3", "Christmas Rose (Multi-color)" },
				{ "GardenChristmasRose3Desc", "A popular flower that blooms in winter." },
				{ "GardenCyclamen1", "Garden Cyclamen (Red)" },
				{ "GardenCyclamen1Desc", "A cyclamen suitable for planting outdoors." },
				{ "GardenCyclamen2", "Garden Cyclamen (Pink)" },
				{ "GardenCyclamen2Desc", "A cyclamen suitable for planting outdoors." },
				{ "GardenFlowerpot1", "Flower Pot 1" },
				{ "GardenFlowerpot1Desc", "A pot for planting flowers." },
				{ "GardenFlowerpot2", "Flower Pot 2" },
				{ "GardenFlowerpot2Desc", "A pot for planting flowers." },
				{ "GardenFlowerpot3", "Flower Pot 3" },
				{ "GardenFlowerpot3Desc", "A pot for planting flowers." },
				{ "GardenGlobeamaranth", "Globe Amaranth" },
				{ "GardenGlobeamaranthDesc", "An ornamental flower often planted in summer." },
				{ "GardenHeuchera", "Heuchera" },
				{ "GardenHeucheraDesc", "A popular colorful foliage plant." },
				{ "GardenKasumisou", "Baby’s Breath" },
				{ "GardenKasumisouDesc", "Pink baby’s breath for gardening." },
				{ "GardenLavender", "Lavender" },
				{ "GardenLavenderDesc", "Decorative lavender with a pleasant scent." },
				{ "GardenOrnamentKale", "Ornamental Kale" },
				{ "GardenOrnamentKaleDesc", "One of the classic ornamental plants for winter." },
				{ "GardenPoinsettia", "Poinsettia" },
				{ "GardenPoinsettiaDesc", "Commonly seen during the Christmas season. The colorful parts are not actually flowers." },
				{ "GardenPrimrose1", "Primrose (Pink)" },
				{ "GardenPrimrose1Desc", "A popular ornamental flower from winter to spring." },
				{ "GardenPrimrose2", "Primrose (Yellow)" },
				{ "GardenPrimrose2Desc", "A popular ornamental flower from winter to spring. The yellow variety has a surprisingly pleasant scent." },
				{ "GardenRanunculus", "Ranunculus" },
				{ "GardenRanunculusDesc", "An ornamental flower with rose-like petals. Soak the bulb before planting." },
				{ "GardenSakuraBonsai", "Miniature Cherry Blossom" },
				{ "GardenSakuraBonsaiDesc", "A small ornamental variety of cherry tree. Cute and compact." },
				{ "GardenSilverleaf", "Silver Leaf" },
				{ "GardenSilverleafDesc", "Silver foliage that looks great in mixed plantings." },
				{ "GardenYoseue1", "Potted Coleus Arrangement" },
				{ "GardenYoseue1Desc", "A potted coleus arrangement that turns yellow in autumn." },
				{ "GardenYoseue2", "Potted Primrose Arrangement" },
				{ "GardenYoseue2Desc", "A mixed planting for winter." },
				{ "OtherBirikensan", "Mini Billiken" },
				{ "OtherBirikensanDesc", "A small Billiken that is easy to display." },
				{ "OtherBirikensanBig", "Billiken" },
				{ "OtherBirikensanBigDesc", "You can find them in many places without climbing Tsutenkaku. Give the soles of his feet a rub." },
				{ "OtherKadomatsu", "Mini Kadomatsu" },
				{ "OtherKadomatsuDesc", "A small kadomatsu that is easy to display." },
				{ "OtherKadomatsuBig", "Kadomatsu" },
				{ "OtherKadomatsuBigDesc", "A traditional Japanese New Year decoration, now seen everywhere from convenience stores to homes." },
				{ "OtherManekineko", "Mini Maneki-neko" },
				{ "OtherManekinekoDesc", "A small maneki-neko that is easy to display." },
				{ "OtherManekinekoBig", "Maneki-neko" },
				{ "OtherManekinekoBigDesc", "A traditional Japanese cat figurine displayed in shops." },
				{ "OtherTanuki", "Tanuki" },
				{ "OtherTanukiDesc", "A traditional Japanese tanuki statue displayed at shops." },
				{ "GardenStrawberry", "Potted Strawberry Plant" },
				{ "GardenStrawberryDesc", "A potted strawberry plant." },
				{ "GardenRose", "Rose" },
				{ "GardenroseDesc", "Rose in a vase" },
				{ "GardenPlant", "Plant" },
				{ "GardenplantDesc", "Indoor plant" },
				{ "GardenPlant2", "Plant" },
				{ "Gardenplant2Desc", "Indoor plant" },
				{ "GardenPlant3", "Plant" },
				{ "Gardenplant3Desc", "Indoor plant" },
				{ "GardenKinmokusei", "fragrant olive" },
				{ "GardenkinmokuseiDesc", "Autumn has a pleasant scent." },
				{ "FoodBerryBowl", "Berry Bowl" },
				{ "FoodBerryBowlDesc", "A bowl of mixed berries." },
				{ "FoodStrawberry", "Strawberry" },
				{ "FoodStrawberryDesc", "A ripe strawberry." },
				{ "FoodApple", "Apple" },
				{ "FoodAppleDesc", "Green apples in a box" },
				{ "FoodLafrance", "La France Pear" },
				{ "FoodlafranceDesc", "La France pears in a basket" },
				{ "OtherTatami", "Tatami" },
				{ "OtherTatamiDesc", "Flooring in traditional Japanese houses" },
				{ "OtherTatamiBed", "Tatami Bed" },
				{ "OtherTatamiBedDesc", "A tatami floor you can sleep on. Perfect for a casual nap." },
				{ "OtherSign1", "Sign2 Boar " },
				{ "OtherSign1Desc", "Wall-mounted sign" },
				{ "OtherSign2", "Sign2 Neck" },
				{ "OtherSign2Desc", "Wall-mounted sign" },
				{ "OtherSign3", "Sign3 Wolf" },
				{ "OtherSign3Desc", "Wall-mounted sign" },
				{ "OtherSign4", "Sign4 Lox" },
				{ "OtherSign4Desc", "Wall-mounted sign" },
				{ "OtherSign5", "Sign5 Asksvin" },
				{ "OtherSign5Desc", "Wall-mounted sign" },
				{ "OtherSign6", "Sign6 NO!Troll" },
				{ "OtherSign6Desc", "Wall-mounted sign" },
				{ "GardenTulip1", "Red Tulip" },
				{ "GardenTulip1Desc", "A flower that blooms in early spring." },
				{ "GardenTulip2", "Orange Tulip" },
				{ "GardenTulip2Desc", "A flower that blooms in early spring." },
				{ "GardenTulip3", "Pink Tulip" },
				{ "GardenTulip3Desc", "A flower that blooms in early spring." },
				{ "GardenPrimrose3", "Purple Primrose" },
				{ "GardenPrimrose3Desc", "A flower that blooms from winter to spring." },
				{ "GardenPrimrose4", "Light Pink Primrose" },
				{ "GardenPrimrose4Desc", "A flower that blooms from winter to spring." },
				{ "GardenKasumisou2", "White Baby's Breath" },
				{ "GardenKasumisou2Desc", "Small white flowers." },
				{ "GardenLeaf", "Sugar Vine" },
				{ "GardenLeafDesc", "Trailing vine leaves." },
				{ "HobbyGame1", "Game Console 1" },
				{ "HobbyGame1Desc", "A game console." },
				{ "HobbyGame2", "Game Console 2" },
				{ "HobbyGame2Desc", "A game console." },
				{ "HobbyGame3", "Game Console 3" },
				{ "HobbyGame3Desc", "A game console." },
				{ "HobbyGame4", "Game Console 4" },
				{ "HobbyGame4Desc", "A game console." },
				{ "HobbyGame5", "Game Console 5" },
				{ "HobbyGame5Desc", "A game console." },
				{ "OtherHachiko", "Hachiko" },
				{ "OtherHachikoDesc", "A statue of a dog waiting for its owner." },
				{ "OtherSimenawa", "Shimenawa" },
				{ "OtherSimenawaDesc", "A traditional New Year's decoration in Japan." },
				{ "OtherOpenflower", "Opening Flower Stand" },
				{ "OtherOpenflowerDesc", "Flowers commonly displayed when a shop opens." },
				{ "OtherLocker", "Locker" },
				{ "OtherLockerDesc", "A storage locker." },
				{ "OtherLockerBig", "Large Locker" },
				{ "OtherLockerBigDesc", "A larger storage locker, useful as decoration." },
				{ "jotunn_cat_doll", "Doll" },
				{ "jotunn_cat_hobby", "Hobby" },
				{ "jotunn_cat_foods", "Foods" },
				{ "jotunn_cat_garden", "Garden" },
				{ "jotunn_cat_other", "Other" }
			});
			((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] 日本語・英語のLocalizationを登録しました。");
		}
		catch (Exception ex)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("[Sakey's Cozy Clutter] Localization登録中にエラー:\n" + ex));
		}
	}

	private static int GetVanillaMaxCategoryOrDefault()
	{
		try
		{
			return (int)Enum.Parse(typeof(PieceCategory), "Max");
		}
		catch (ArgumentException)
		{
			return 9;
		}
	}

	private static int GetModifiedMaxCategory()
	{
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0028: Expected I4, but got Unknown
		int num = 0;
		foreach (PieceCategory key in PieceManager.Instance.GetPieceCategoriesMap().Keys)
		{
			num = Math.Max(num, (int)key);
		}
		return num + 1;
	}

	private static IEnumerable<CodeInstruction> CozyUpdateAvailableTranspiler(IEnumerable<CodeInstruction> instructions)
	{
		int vanillaMax = GetVanillaMaxCategoryOrDefault();
		MethodInfo replacement = AccessTools.Method(typeof(SakeysClutterPlugin), "GetModifiedMaxCategory", (Type[])null, (Type[])null);
		foreach (CodeInstruction instruction in instructions)
		{
			if (CodeInstructionExtensions.LoadsConstant(instruction, (long)vanillaMax))
			{
				yield return new CodeInstruction(OpCodes.Call, (object)replacement);
			}
			else
			{
				yield return instruction;
			}
		}
	}

	[HarmonyPatch(typeof(PieceTable), "UpdateAvailable")]
	[HarmonyPrefix]
	[HarmonyPriority(800)]
	private static void InitializePieceCategoryLists(PieceTable __instance)
	{
		if (!((Object)(object)__instance == (Object)null) && __instance.m_availablePiecesByCategory != null)
		{
			int modifiedMaxCategory = GetModifiedMaxCategory();
			while (__instance.m_availablePiecesByCategory.Count < modifiedMaxCategory)
			{
				__instance.m_availablePiecesByCategory.Add(new List<Piece>());
			}
			if (__instance.m_selectedPiece.Length < modifiedMaxCategory)
			{
				Array.Resize(ref __instance.m_selectedPiece, modifiedMaxCategory);
			}
			if (__instance.m_lastSelectedPiece.Length < modifiedMaxCategory)
			{
				Array.Resize(ref __instance.m_lastSelectedPiece, modifiedMaxCategory);
			}
		}
	}

	[HarmonyPatch(typeof(PieceTable), "UpdateAvailable")]
	[HarmonyTranspiler]
	private static IEnumerable<CodeInstruction> PatchPieceTableUpdateAvailable(IEnumerable<CodeInstruction> instructions)
	{
		return CozyUpdateAvailableTranspiler(instructions);
	}

	private static void ApplyCozyCategory(Piece piece, string categoryName)
	{
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Unknown result type (might be due to invalid IL or missing references)
		if (!((Object)(object)piece == (Object)null) && !string.IsNullOrEmpty(categoryName))
		{
			PieceCategory? pieceCategory = PieceManager.Instance.GetPieceCategory(categoryName);
			if (pieceCategory.HasValue)
			{
				piece.m_category = pieceCategory.Value;
			}
		}
	}

	private static void RebuildCozyPieceTableCategories(PieceTable pieceTable)
	{
		//IL_012a: Unknown result type (might be due to invalid IL or missing references)
		//IL_012f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0137: Unknown result type (might be due to invalid IL or missing references)
		//IL_013e: Unknown result type (might be due to invalid IL or missing references)
		//IL_00af: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)pieceTable == (Object)null || ((Object)pieceTable).name != "SakeysClutterTable")
		{
			return;
		}
		List<PieceCategory> list = new List<PieceCategory>();
		string[] array = new string[5] { "Doll", "Hobby", "Foods", "Garden", "Other" };
		foreach (string text in array)
		{
			PieceCategory? pieceCategory = PieceManager.Instance.GetPieceCategory(text);
			if (!pieceCategory.HasValue)
			{
				continue;
			}
			bool flag = false;
			foreach (GameObject piece in pieceTable.m_pieces)
			{
				if (!((Object)(object)piece == (Object)null))
				{
					Piece component = piece.GetComponent<Piece>();
					if ((Object)(object)component != (Object)null && component.m_category == pieceCategory.Value)
					{
						flag = true;
						break;
					}
				}
			}
			if (flag && !list.Contains(pieceCategory.Value))
			{
				list.Add(pieceCategory.Value);
			}
		}
		pieceTable.m_categories.Clear();
		pieceTable.m_categoryLabels.Clear();
		foreach (PieceCategory item2 in list)
		{
			pieceTable.m_categories.Add(item2);
			string item = PieceCategoryLabelFor(item2);
			pieceTable.m_categoryLabels.Add(item);
		}
	}

	private static string PieceCategoryLabelFor(PieceCategory category)
	{
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		if (PieceManager.Instance.GetPieceCategoriesMap().TryGetValue(category, out var value))
		{
			if (string.Equals(value, "Doll", StringComparison.OrdinalIgnoreCase))
			{
				return "$jotunn_cat_doll";
			}
			if (string.Equals(value, "Hobby", StringComparison.OrdinalIgnoreCase))
			{
				return "$jotunn_cat_hobby";
			}
			if (string.Equals(value, "Foods", StringComparison.OrdinalIgnoreCase))
			{
				return "$jotunn_cat_foods";
			}
			if (string.Equals(value, "Garden", StringComparison.OrdinalIgnoreCase))
			{
				return "$jotunn_cat_garden";
			}
			if (string.Equals(value, "Other", StringComparison.OrdinalIgnoreCase))
			{
				return "$jotunn_cat_other";
			}
		}
		return string.Empty;
	}

	[HarmonyPatch(typeof(Player), "SetPlaceMode")]
	[HarmonyPostfix]
	private static void RefreshCozyCategoriesAfterSetPlaceMode(Player __instance)
	{
		if (!((Object)(object)__instance == (Object)null) && !((Object)(object)__instance.m_buildPieces == (Object)null) && !(((Object)__instance.m_buildPieces).name != "SakeysClutterTable"))
		{
			RebuildCozyPieceTableCategories(__instance.m_buildPieces);
			categoryRefreshNeeded = true;
			CreateCozyCategoryTabs();
			RepositionCozyCategories();
			__instance.UpdateAvailablePiecesList();
		}
	}

	private static void CreateCozyCategoryTabs()
	{
		if ((Object)(object)Hud.instance == (Object)null || Hud.instance.m_pieceCategoryTabs == null || Hud.instance.m_pieceCategoryTabs.Length == 0)
		{
			return;
		}
		int modifiedMaxCategory = GetModifiedMaxCategory();
		while (Hud.instance.m_pieceCategoryTabs.Length < modifiedMaxCategory)
		{
			GameObject val = Hud.instance.m_pieceCategoryTabs[0];
			if ((Object)(object)val == (Object)null)
			{
				break;
			}
			GameObject val2 = Object.Instantiate<GameObject>(val, val.transform.parent);
			val2.SetActive(false);
			Hud.instance.m_pieceCategoryTabs = Hud.instance.m_pieceCategoryTabs.Concat((IEnumerable<GameObject>)(object)new GameObject[1] { val2 }).ToArray();
		}
	}

	private static void RepositionCozyCategories()
	{
		//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)Hud.instance == (Object)null || Hud.instance.m_pieceCategoryTabs == null || Hud.instance.m_pieceCategoryTabs.Length == 0 || (Object)(object)Player.m_localPlayer == (Object)null || (Object)(object)Player.m_localPlayer.m_buildPieces == (Object)null)
		{
			return;
		}
		PieceTable buildPieces = Player.m_localPlayer.m_buildPieces;
		if (((Object)buildPieces).name != "SakeysClutterTable")
		{
			return;
		}
		RebuildCozyPieceTableCategories(buildPieces);
		GameObject val = Hud.instance.m_pieceCategoryTabs[0];
		if ((Object)(object)val == (Object)null)
		{
			return;
		}
		Transform parent = val.transform.parent;
		if ((Object)(object)parent == (Object)null)
		{
			return;
		}
		GridLayoutGroup val2 = ((Component)parent).GetComponent<GridLayoutGroup>();
		if ((Object)(object)val2 == (Object)null)
		{
			val2 = ((Component)parent).gameObject.AddComponent<GridLayoutGroup>();
		}
		RectTransform component = val.GetComponent<RectTransform>();
		if ((Object)(object)component != (Object)null)
		{
			GridLayoutGroup obj = val2;
			Rect rect = component.rect;
			obj.cellSize = ((Rect)(ref rect)).size;
		}
		val2.spacing = new Vector2(0f, 1f);
		val2.constraint = (Constraint)1;
		val2.constraintCount = 5;
		((LayoutGroup)val2).childAlignment = (TextAnchor)4;
		int count = buildPieces.m_categories.Count;
		for (int i = 0; i < Hud.instance.m_pieceCategoryTabs.Length; i++)
		{
			GameObject val3 = Hud.instance.m_pieceCategoryTabs[i];
			if ((Object)(object)val3 == (Object)null)
			{
				continue;
			}
			if (i >= count)
			{
				val3.SetActive(false);
				continue;
			}
			val3.SetActive(true);
			string text = ((i < buildPieces.m_categoryLabels.Count) ? buildPieces.m_categoryLabels[i] : string.Empty);
			TMP_Text componentInChildren = val3.GetComponentInChildren<TMP_Text>(true);
			if ((Object)(object)componentInChildren != (Object)null)
			{
				componentInChildren.text = Localization.instance.Localize(text);
			}
		}
		Player.m_localPlayer.UpdateAvailablePiecesList();
	}

	[HarmonyPatch(typeof(Hud), "Awake")]
	[HarmonyPostfix]
	private static void RefreshCozyCategoriesAfterHudAwake()
	{
		categoryRefreshNeeded = true;
		CreateCozyCategoryTabs();
		if ((Object)(object)Player.m_localPlayer != (Object)null && (Object)(object)Player.m_localPlayer.m_buildPieces != (Object)null && ((Object)Player.m_localPlayer.m_buildPieces).name == "SakeysClutterTable")
		{
			RepositionCozyCategories();
		}
	}

	[HarmonyPatch(typeof(Hud), "UpdateBuild")]
	[HarmonyPostfix]
	private static void RefreshCozyCategoriesAfterHudUpdateBuild()
	{
		if (categoryRefreshNeeded && !((Object)(object)Player.m_localPlayer == (Object)null) && !((Object)(object)Player.m_localPlayer.m_buildPieces == (Object)null) && !(((Object)Player.m_localPlayer.m_buildPieces).name != "SakeysClutterTable"))
		{
			categoryRefreshNeeded = false;
			CreateCozyCategoryTabs();
			RepositionCozyCategories();
		}
	}

	private void OnPrefabsRegistered()
	{
		PrefabManager.OnPrefabsRegistered -= OnPrefabsRegistered;
		((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] Prefab登録処理を開始します。");
		try
		{
			if (enableClutterTool.Value)
			{
				((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] 家具作成ツール登録開始。");
				CreateClutterTool();
			}
			int num = 0;
			int num2 = 0;
			ClutterItemData[] array = clutterItems;
			foreach (ClutterItemData clutterItemData in array)
			{
				if (clutterItemData == null)
				{
					((BaseUnityPlugin)this).Logger.LogError((object)"[Sakey's Cozy Clutter] 家具データがnullです。");
					num2++;
					continue;
				}
				((BaseUnityPlugin)this).Logger.LogInfo((object)("[Sakey's Cozy Clutter] 家具登録開始: " + clutterItemData.PrefabName));
				try
				{
					RegisterClutterPiece(clutterItemData);
					num++;
				}
				catch (Exception ex)
				{
					num2++;
					((BaseUnityPlugin)this).Logger.LogError((object)("[Sakey's Cozy Clutter] 家具登録中に例外が発生しました: " + clutterItemData.PrefabName + "\n" + ex));
				}
			}
			((BaseUnityPlugin)this).Logger.LogInfo((object)("[Sakey's Cozy Clutter] 家具登録処理終了。成功: " + num + " / 失敗: " + num2));
			RegisterTatamiBed();
			PieceTable pieceTable = PieceManager.Instance.GetPieceTable("SakeysClutterTable");
			if ((Object)(object)pieceTable != (Object)null)
			{
				RebuildCozyPieceTableCategories(pieceTable);
				categoryRefreshNeeded = true;
				if ((Object)(object)Hud.instance != (Object)null)
				{
					CreateCozyCategoryTabs();
					RepositionCozyCategories();
				}
			}
		}
		catch (Exception ex2)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("[Sakey's Cozy Clutter] Prefab登録中にエラー:\n" + ex2));
		}
	}

	private void CreateClutterTool()
	{
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_0099: Expected O, but got Unknown
		//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f5: Expected O, but got Unknown
		//IL_0108: Unknown result type (might be due to invalid IL or missing references)
		//IL_010e: Expected O, but got Unknown
		//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0275: Unknown result type (might be due to invalid IL or missing references)
		//IL_0286: Unknown result type (might be due to invalid IL or missing references)
		//IL_0297: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0362: Unknown result type (might be due to invalid IL or missing references)
		//IL_037f: Unknown result type (might be due to invalid IL or missing references)
		//IL_039a: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a6: Unknown result type (might be due to invalid IL or missing references)
		((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] CreateClutterTool開始。");
		if ((Object)(object)AssetBundle == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)"[Sakey's Cozy Clutter] AssetBundleが読み込まれていないため、家具作成ツールを作成できません。");
			return;
		}
		GameObject val = AssetBundle.LoadAsset<GameObject>("clutter_tool");
		if ((Object)(object)val == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)"[Sakey's Cozy Clutter] clutter_tool がAssetBundleにありません。");
			return;
		}
		((BaseUnityPlugin)this).Logger.LogInfo((object)"[Sakey's Cozy Clutter] ツールモデルを発見しました: clutter_tool");
		Sprite val2 = AssetBundle.LoadAsset<Sprite>("icon_clutter_tool");
		if ((Object)(object)val2 == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)"[Sakey's Cozy Clutter] icon_clutter_tool がAssetBundleにありません。");
			return;
		}
		ItemConfig val3 = new ItemConfig();
		val3.Name = "$SakeysClutterTool";
		val3.Description = "$SakeysClutterToolDesc";
		val3.PieceTable = "SakeysClutterTable";
		val3.CraftingStation = "piece_workbench";
		val3.MinStationLevel = 1;
		val3.Weight = 1f;
		val3.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig("Wood", 1, 0, true)
		};
		ItemConfig val4 = val3;
		CustomItem val5 = new CustomItem("SakeysClutterTool", "Hammer", val4);
		if (val5 == null || (Object)(object)val5.ItemPrefab == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)"[Sakey's Cozy Clutter] 家具作成ツールPrefabの作成に失敗しました。");
			return;
		}
		GameObject itemPrefab = val5.ItemPrefab;
		ItemDrop component = itemPrefab.GetComponent<ItemDrop>();
		if ((Object)(object)component == (Object)null || component.m_itemData == null || component.m_itemData.m_shared == null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)"[Sakey's Cozy Clutter] 家具作成ツールのItemDataが正常に取得できません。");
			return;
		}
		component.m_itemData.m_shared.m_name = "$SakeysClutterTool";
		component.m_itemData.m_shared.m_description = "$SakeysClutterToolDesc";
		component.m_itemData.m_shared.m_maxStackSize = 1;
		component.m_itemData.m_shared.m_weight = 1f;
		component.m_itemData.m_shared.m_itemType = (ItemType)19;
		component.m_itemData.m_quality = 1;
		component.m_itemData.m_stack = 1;
		component.m_itemData.m_dropPrefab = itemPrefab;
		component.m_itemData.m_shared.m_icons = (Sprite[])(object)new Sprite[1] { val2 };
		Renderer[] componentsInChildren = itemPrefab.GetComponentsInChildren<Renderer>(true);
		foreach (Renderer val6 in componentsInChildren)
		{
			if ((Object)(object)val6 != (Object)null)
			{
				val6.enabled = false;
			}
		}
		GameObject val7 = Object.Instantiate<GameObject>(val, itemPrefab.transform);
		((Object)val7).name = "ClutterToolModel";
		val7.transform.localPosition = Vector3.zero;
		val7.transform.localRotation = Quaternion.identity;
		val7.transform.localScale = Vector3.one;
		Collider[] componentsInChildren2 = val7.GetComponentsInChildren<Collider>(true);
		foreach (Collider val8 in componentsInChildren2)
		{
			if ((Object)(object)val8 != (Object)null)
			{
				Object.DestroyImmediate((Object)(object)val8);
			}
		}
		Rigidbody[] componentsInChildren3 = val7.GetComponentsInChildren<Rigidbody>(true);
		foreach (Rigidbody val9 in componentsInChildren3)
		{
			if ((Object)(object)val9 != (Object)null)
			{
				Object.DestroyImmediate((Object)(object)val9);
			}
		}
		LODGroup[] componentsInChildren4 = val7.GetComponentsInChildren<LODGroup>(true);
		foreach (LODGroup val10 in componentsInChildren4)
		{
			if ((Object)(object)val10 != (Object)null)
			{
				Object.DestroyImmediate((Object)(object)val10);
			}
		}
		Transform val11 = itemPrefab.transform.Find("attach");
		if ((Object)(object)val11 == (Object)null)
		{
			val11 = new GameObject("attach").transform;
			val11.SetParent(itemPrefab.transform, false);
			val11.localPosition = Vector3.zero;
			val11.localRotation = Quaternion.Euler(0f, 0f, 90f);
			val11.localScale = Vector3.one;
		}
		GameObject val12 = Object.Instantiate<GameObject>(val7, val11);
		((Object)val12).name = "ClutterToolStandMode