From a9a7a2206c0fd154df76d2694daa84105eaee4ab Mon Sep 17 00:00:00 2001
From: Justine MEURET
Date: Fri, 25 Nov 2022 14:57:31 +0100
Subject: [PATCH] BlazorTP
---
.dockerignore | 25 +
.vs/BlazorTP/FileContentIndex/read.lock | 0
.vs/BlazorTP/v17/.suo | Bin 0 -> 11264 bytes
.vs/VSWorkspaceState.json | 6 +
BlazorTP.sln | 31 +
BlazorTP/App.razor | 14 +
BlazorTP/BlazorTP.csproj | 36 +
BlazorTP/BlazorTP.csproj.user | 9 +
BlazorTP/Components/Card.razor | 8 +
BlazorTP/Components/Card.razor.cs | 19 +
BlazorTP/Components/Crafting.razor | 53 +
BlazorTP/Components/Crafting.razor.cs | 79 +
BlazorTP/Components/Crafting.razor.css | 23 +
BlazorTP/Components/Crafting.razor.js | 16 +
BlazorTP/Components/CraftingAction.cs | 9 +
BlazorTP/Components/CraftingItem.razor | 16 +
BlazorTP/Components/CraftingItem.razor.cs | 62 +
BlazorTP/Components/CraftingItem.razor.css | 12 +
BlazorTP/Components/CraftingRecipe.cs | 8 +
BlazorTP/Components/ShowItems.razor | 13 +
BlazorTP/Components/ShowItems.razor.cs | 13 +
BlazorTP/Controller/CultureController.cs | 34 +
BlazorTP/Data/WeatherForecast.cs | 13 +
BlazorTP/Data/WeatherForecastService.cs | 20 +
BlazorTP/Dockerfile | 22 +
BlazorTP/Factories/ItemFactory.cs | 51 +
BlazorTP/Modals/DeleteConfirmation.razor | 10 +
BlazorTP/Modals/DeleteConfirmation.razor.cs | 37 +
BlazorTP/Models/Cake.cs | 9 +
BlazorTP/Models/Item.cs | 14 +
BlazorTP/Models/ItemModel.cs | 40 +
BlazorTP/Pages/Add.razor | 73 +
BlazorTP/Pages/Add.razor.cs | 139 +
BlazorTP/Pages/BlazorRoute.razor | 4 +
BlazorTP/Pages/Counter.razor | 18 +
BlazorTP/Pages/CreateLog.razor | 5 +
BlazorTP/Pages/CreateLog.razor.cs | 21 +
BlazorTP/Pages/Edit.razor | 90 +
BlazorTP/Pages/Edit.razor.cs | 105 +
BlazorTP/Pages/Error.cshtml | 42 +
BlazorTP/Pages/Error.cshtml.cs | 27 +
BlazorTP/Pages/FetchData.razor | 48 +
BlazorTP/Pages/Index.razor | 106 +
BlazorTP/Pages/Index.razor.cs | 61 +
BlazorTP/Pages/List.razor | 53 +
BlazorTP/Pages/List.razor.cs | 106 +
BlazorTP/Pages/_Host.cshtml | 8 +
BlazorTP/Pages/_Layout.cshtml | 40 +
BlazorTP/Program.cs | 93 +
BlazorTP/Properties/launchSettings.json | 35 +
BlazorTP/Resources/Pages.List.Designer.cs | 81 +
BlazorTP/Resources/Pages.List.fr-FR.resx | 126 +
BlazorTP/Resources/Pages.List.resx | 126 +
BlazorTP/Services/DataApiService.cs | 59 +
BlazorTP/Services/DataLocalService.cs | 147 +
BlazorTP/Services/IDataService.cs | 22 +
BlazorTP/Shared/Config.razor | 10 +
BlazorTP/Shared/Config.razor.cs | 24 +
BlazorTP/Shared/CultureSelector.razor | 43 +
BlazorTP/Shared/MainLayout.razor | 23 +
BlazorTP/Shared/MainLayout.razor.css | 70 +
BlazorTP/Shared/NavMenu.razor | 44 +
BlazorTP/Shared/NavMenu.razor.css | 62 +
BlazorTP/Shared/PositionOptions.cs | 10 +
BlazorTP/Shared/SurveyPrompt.razor | 16 +
BlazorTP/_Imports.razor | 13 +
BlazorTP/appsettings.Development.json | 9 +
BlazorTP/appsettings.json | 32 +
BlazorTP/bin/Debug/net6.0/BlazorTP.deps.json | 441 +
BlazorTP/bin/Debug/net6.0/BlazorTP.dll | Bin 0 -> 119808 bytes
BlazorTP/bin/Debug/net6.0/BlazorTP.exe | Bin 0 -> 148992 bytes
BlazorTP/bin/Debug/net6.0/BlazorTP.pdb | Bin 0 -> 77992 bytes
.../Debug/net6.0/BlazorTP.runtimeconfig.json | 19 +
.../BlazorTP.staticwebassets.runtime.json | 1 +
.../Debug/net6.0/Blazored.LocalStorage.dll | Bin 0 -> 30208 bytes
BlazorTP/bin/Debug/net6.0/Blazored.Modal.dll | Bin 0 -> 45056 bytes
.../bin/Debug/net6.0/Blazorise.Bootstrap.dll | Bin 0 -> 104960 bytes
.../bin/Debug/net6.0/Blazorise.DataGrid.dll | Bin 0 -> 253440 bytes
.../net6.0/Blazorise.Icons.FontAwesome.dll | Bin 0 -> 66048 bytes
BlazorTP/bin/Debug/net6.0/Blazorise.dll | Bin 0 -> 1238016 bytes
.../Microsoft.AspNetCore.Authorization.dll | Bin 0 -> 46208 bytes
.../Microsoft.AspNetCore.Components.Forms.dll | Bin 0 -> 33416 bytes
.../Microsoft.AspNetCore.Components.Web.dll | Bin 0 -> 132232 bytes
.../Microsoft.AspNetCore.Components.dll | Bin 0 -> 218240 bytes
.../net6.0/Microsoft.AspNetCore.Metadata.dll | Bin 0 -> 17032 bytes
...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 45200 bytes
...t.Extensions.Localization.Abstractions.dll | Bin 0 -> 21152 bytes
.../Microsoft.Extensions.Localization.dll | Bin 0 -> 33408 bytes
...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 64120 bytes
.../net6.0/Microsoft.Extensions.Options.dll | Bin 0 -> 61560 bytes
.../Microsoft.Extensions.Primitives.dll | Bin 0 -> 42624 bytes
.../Microsoft.JSInterop.WebAssembly.dll | Bin 0 -> 21616 bytes
.../bin/Debug/net6.0/Microsoft.JSInterop.dll | Bin 0 -> 63120 bytes
.../bin/Debug/net6.0/System.IO.Pipelines.dll | Bin 0 -> 79512 bytes
.../Debug/net6.0/appsettings.Development.json | 9 +
BlazorTP/bin/Debug/net6.0/appsettings.json | 32 +
.../Debug/net6.0/fr-FR/BlazorTP.resources.dll | Bin 0 -> 3584 bytes
.../obj/BlazorTP.csproj.nuget.dgspec.json | 99 +
BlazorTP/obj/BlazorTP.csproj.nuget.g.props | 26 +
BlazorTP/obj/BlazorTP.csproj.nuget.g.targets | 8 +
.../Container/ContainerCreationResult.cache | 0
.../Container/ContainerDevelopmentMode.cache | 0
BlazorTP/obj/Container/ContainerId.cache | 0
BlazorTP/obj/Container/ContainerName.cache | 0
.../ContainerOperatingSystemFlavor.cache | 1 +
.../obj/Container/ContainerRunContext.cache | 0
.../obj/Container/OperatingSystemName.cache | 1 +
BlazorTP/obj/Container/TargetFramework.cache | 1 +
...CoreApp,Version=v6.0.AssemblyAttributes.cs | 4 +
.../obj/Debug/net6.0/BlazorTP.AssemblyInfo.cs | 24 +
.../net6.0/BlazorTP.AssemblyInfoInputs.cache | 1 +
....GeneratedMSBuildEditorConfig.editorconfig | 108 +
.../Debug/net6.0/BlazorTP.GlobalUsings.g.cs | 17 +
...orTP.MvcApplicationPartsAssemblyInfo.cache | 0
.../net6.0/BlazorTP.RazorAssemblyInfo.cache | 1 +
.../net6.0/BlazorTP.RazorAssemblyInfo.cs | 18 +
...zorTP.Resources.Pages.List.fr-FR.resources | Bin 0 -> 267 bytes
.../BlazorTP.Resources.Pages.List.resources | Bin 0 -> 253 bytes
.../obj/Debug/net6.0/BlazorTP.assets.cache | Bin 0 -> 11002 bytes
.../BlazorTP.csproj.AssemblyReference.cache | Bin 0 -> 177065 bytes
.../BlazorTP.csproj.BuildWithSkipAnalyzers | 0
.../Debug/net6.0/BlazorTP.csproj.CopyComplete | 0
.../BlazorTP.csproj.CoreCompileInputs.cache | 1 +
.../BlazorTP.csproj.FileListAbsolute.txt | 110 +
.../BlazorTP.csproj.GenerateResource.cache | Bin 0 -> 168 bytes
BlazorTP/obj/Debug/net6.0/BlazorTP.dll | Bin 0 -> 119808 bytes
.../net6.0/BlazorTP.genruntimeconfig.cache | 1 +
BlazorTP/obj/Debug/net6.0/BlazorTP.pdb | Bin 0 -> 77992 bytes
.../Resources.Pages.List.Designer.cs.dll | Bin 0 -> 3584 bytes
BlazorTP/obj/Debug/net6.0/_IsIncrementalBuild | 1 +
BlazorTP/obj/Debug/net6.0/apphost.exe | Bin 0 -> 148992 bytes
.../Debug/net6.0/fr-FR/BlazorTP.resources.dll | Bin 0 -> 3584 bytes
.../obj/Debug/net6.0/project.razor.vs.json | 1 +
BlazorTP/obj/Debug/net6.0/ref/BlazorTP.dll | Bin 0 -> 33792 bytes
BlazorTP/obj/Debug/net6.0/refint/BlazorTP.dll | Bin 0 -> 33792 bytes
.../Components/Crafting.razor.rz.scp.css | 23 +
.../Components/CraftingItem.razor.rz.scp.css | 12 +
.../Shared/MainLayout.razor.rz.scp.css | 70 +
.../scopedcss/Shared/NavMenu.razor.rz.scp.css | 62 +
.../scopedcss/bundle/BlazorTP.styles.css | 173 +
.../projectbundle/BlazorTP.bundle.scp.css | 171 +
.../Debug/net6.0/staticwebassets.build.json | 1006 +
.../net6.0/staticwebassets.development.json | 1 +
...CoreApp,Version=v6.0.AssemblyAttributes.cs | 4 +
.../Release/net6.0/BlazorTP.AssemblyInfo.cs | 23 +
.../net6.0/BlazorTP.AssemblyInfoInputs.cache | 1 +
....GeneratedMSBuildEditorConfig.editorconfig | 84 +
.../Release/net6.0/BlazorTP.GlobalUsings.g.cs | 17 +
.../net6.0/BlazorTP.RazorAssemblyInfo.cache | 1 +
.../net6.0/BlazorTP.RazorAssemblyInfo.cs | 18 +
.../obj/Release/net6.0/BlazorTP.assets.cache | Bin 0 -> 48 bytes
.../BlazorTP.csproj.AssemblyReference.cache | Bin 0 -> 173738 bytes
BlazorTP/obj/project.assets.json | 1065 +
BlazorTP/obj/project.nuget.cache | 33 +
BlazorTP/obj/staticwebassets.pack.sentinel | 112 +
.../wwwroot/css/bootstrap/bootstrap.min.css | 7 +
.../css/bootstrap/bootstrap.min.css.map | 1 +
BlazorTP/wwwroot/css/open-iconic/FONT-LICENSE | 86 +
BlazorTP/wwwroot/css/open-iconic/ICON-LICENSE | 21 +
BlazorTP/wwwroot/css/open-iconic/README.md | 114 +
.../font/css/open-iconic-bootstrap.min.css | 1 +
.../open-iconic/font/fonts/open-iconic.eot | Bin 0 -> 28196 bytes
.../open-iconic/font/fonts/open-iconic.otf | Bin 0 -> 20996 bytes
.../open-iconic/font/fonts/open-iconic.svg | 543 +
.../open-iconic/font/fonts/open-iconic.ttf | Bin 0 -> 28028 bytes
.../open-iconic/font/fonts/open-iconic.woff | Bin 0 -> 14984 bytes
BlazorTP/wwwroot/css/site.css | 64 +
BlazorTP/wwwroot/fake-data.json | 418 +
BlazorTP/wwwroot/favicon.ico | Bin 0 -> 5430 bytes
BlazorTP/wwwroot/images/barbapapa.png | Bin 0 -> 34617 bytes
BlazorTP/wwwroot/images/default.png | Bin 0 -> 2267 bytes
.../Controllers/CraftingController.cs | 364 +
.../Controllers/InventoryController.cs | 143 +
.../Data/convert-recipes.json | 20402 ++++++++++++
.../Data/items-original.json | 2709 ++
Minecraft.Crafting.Api/Data/items.json | 3438 ++
Minecraft.Crafting.Api/Data/recipes.json | 26871 ++++++++++++++++
Minecraft.Crafting.Api/Dockerfile | 22 +
.../Images/activatorRail.png | Bin 0 -> 3416 bytes
.../Images/activatorRail_powered.png | Bin 0 -> 3419 bytes
Minecraft.Crafting.Api/Images/anvil_base.png | Bin 0 -> 3204 bytes
Minecraft.Crafting.Api/Images/anvil_top.png | Bin 0 -> 3105 bytes
.../Images/anvil_top_damaged_1.png | Bin 0 -> 3177 bytes
.../Images/anvil_top_damaged_2.png | Bin 0 -> 3158 bytes
Minecraft.Crafting.Api/Images/apple.png | Bin 0 -> 3133 bytes
Minecraft.Crafting.Api/Images/appleGold.png | Bin 0 -> 3248 bytes
Minecraft.Crafting.Api/Images/arrow.png | Bin 0 -> 3020 bytes
Minecraft.Crafting.Api/Images/beacon.png | Bin 0 -> 3187 bytes
Minecraft.Crafting.Api/Images/bed.png | Bin 0 -> 3301 bytes
.../Images/bed_feet_end.png | Bin 0 -> 3095 bytes
.../Images/bed_feet_side.png | Bin 0 -> 3055 bytes
.../Images/bed_feet_top.png | Bin 0 -> 3436 bytes
.../Images/bed_head_end.png | Bin 0 -> 3115 bytes
.../Images/bed_head_side.png | Bin 0 -> 3113 bytes
.../Images/bed_head_top.png | Bin 0 -> 3441 bytes
Minecraft.Crafting.Api/Images/bedrock.png | Bin 0 -> 3610 bytes
Minecraft.Crafting.Api/Images/beefCooked.png | Bin 0 -> 3202 bytes
Minecraft.Crafting.Api/Images/beefRaw.png | Bin 0 -> 3330 bytes
Minecraft.Crafting.Api/Images/blazePowder.png | Bin 0 -> 3233 bytes
Minecraft.Crafting.Api/Images/blazeRod.png | Bin 0 -> 3088 bytes
.../Images/blockDiamond.png | Bin 0 -> 3458 bytes
.../Images/blockEmerald.png | Bin 0 -> 3311 bytes
Minecraft.Crafting.Api/Images/blockGold.png | Bin 0 -> 3351 bytes
Minecraft.Crafting.Api/Images/blockIron.png | Bin 0 -> 3289 bytes
Minecraft.Crafting.Api/Images/blockLapis.png | Bin 0 -> 3293 bytes
.../Images/blockRedstone.png | Bin 0 -> 3392 bytes
Minecraft.Crafting.Api/Images/boat.png | Bin 0 -> 3158 bytes
Minecraft.Crafting.Api/Images/bone.png | Bin 0 -> 3020 bytes
Minecraft.Crafting.Api/Images/book.png | Bin 0 -> 3122 bytes
Minecraft.Crafting.Api/Images/bookshelf.png | Bin 0 -> 3452 bytes
Minecraft.Crafting.Api/Images/bootsChain.png | Bin 0 -> 3089 bytes
Minecraft.Crafting.Api/Images/bootsCloth.png | Bin 0 -> 2808 bytes
.../Images/bootsCloth_overlay.png | Bin 0 -> 3013 bytes
.../Images/bootsDiamond.png | Bin 0 -> 3114 bytes
Minecraft.Crafting.Api/Images/bootsGold.png | Bin 0 -> 3003 bytes
Minecraft.Crafting.Api/Images/bootsIron.png | Bin 0 -> 3089 bytes
Minecraft.Crafting.Api/Images/bow.png | Bin 0 -> 3015 bytes
Minecraft.Crafting.Api/Images/bow_pull_0.png | Bin 0 -> 3139 bytes
Minecraft.Crafting.Api/Images/bow_pull_1.png | Bin 0 -> 3184 bytes
Minecraft.Crafting.Api/Images/bow_pull_2.png | Bin 0 -> 3164 bytes
Minecraft.Crafting.Api/Images/bowl.png | Bin 0 -> 2978 bytes
Minecraft.Crafting.Api/Images/bread.png | Bin 0 -> 3174 bytes
.../Images/brewingStand.png | Bin 0 -> 3301 bytes
.../Images/brewingStand_base.png | Bin 0 -> 3431 bytes
Minecraft.Crafting.Api/Images/brick.png | Bin 0 -> 3308 bytes
Minecraft.Crafting.Api/Images/bucket.png | Bin 0 -> 3205 bytes
Minecraft.Crafting.Api/Images/bucketLava.png | Bin 0 -> 3266 bytes
Minecraft.Crafting.Api/Images/bucketWater.png | Bin 0 -> 3203 bytes
.../Images/cactus_bottom.png | Bin 0 -> 3340 bytes
Minecraft.Crafting.Api/Images/cactus_side.png | Bin 0 -> 3259 bytes
Minecraft.Crafting.Api/Images/cactus_top.png | Bin 0 -> 3325 bytes
Minecraft.Crafting.Api/Images/cake.png | Bin 0 -> 3284 bytes
Minecraft.Crafting.Api/Images/cake_bottom.png | Bin 0 -> 3459 bytes
Minecraft.Crafting.Api/Images/cake_inner.png | Bin 0 -> 3210 bytes
Minecraft.Crafting.Api/Images/cake_side.png | Bin 0 -> 3170 bytes
Minecraft.Crafting.Api/Images/cake_top.png | Bin 0 -> 2983 bytes
.../Images/carrotGolden.png | Bin 0 -> 3233 bytes
.../Images/carrotOnAStick.png | Bin 0 -> 3224 bytes
Minecraft.Crafting.Api/Images/carrots.png | Bin 0 -> 3108 bytes
Minecraft.Crafting.Api/Images/carrots_0.png | Bin 0 -> 3017 bytes
Minecraft.Crafting.Api/Images/carrots_1.png | Bin 0 -> 3119 bytes
Minecraft.Crafting.Api/Images/carrots_2.png | Bin 0 -> 3233 bytes
Minecraft.Crafting.Api/Images/carrots_3.png | Bin 0 -> 3147 bytes
Minecraft.Crafting.Api/Images/cauldron.png | Bin 0 -> 3074 bytes
.../Images/cauldron_bottom.png | Bin 0 -> 2926 bytes
.../Images/cauldron_inner.png | Bin 0 -> 3221 bytes
.../Images/cauldron_side.png | Bin 0 -> 3307 bytes
.../Images/cauldron_top.png | Bin 0 -> 3039 bytes
.../Images/chestplateChain.png | Bin 0 -> 3179 bytes
.../Images/chestplateCloth.png | Bin 0 -> 2808 bytes
.../Images/chestplateCloth_overlay.png | Bin 0 -> 3226 bytes
.../Images/chestplateDiamond.png | Bin 0 -> 3262 bytes
.../Images/chestplateGold.png | Bin 0 -> 3195 bytes
.../Images/chestplateIron.png | Bin 0 -> 3179 bytes
.../Images/chickenCooked.png | Bin 0 -> 3164 bytes
Minecraft.Crafting.Api/Images/chickenRaw.png | Bin 0 -> 3130 bytes
Minecraft.Crafting.Api/Images/clay.png | Bin 0 -> 3154 bytes
Minecraft.Crafting.Api/Images/clock.png | Bin 0 -> 5874 bytes
Minecraft.Crafting.Api/Images/clock.txt | 0
Minecraft.Crafting.Api/Images/cloth_0.png | Bin 0 -> 3403 bytes
Minecraft.Crafting.Api/Images/cloth_1.png | Bin 0 -> 3366 bytes
Minecraft.Crafting.Api/Images/cloth_10.png | Bin 0 -> 3278 bytes
Minecraft.Crafting.Api/Images/cloth_11.png | Bin 0 -> 3249 bytes
Minecraft.Crafting.Api/Images/cloth_12.png | Bin 0 -> 3370 bytes
Minecraft.Crafting.Api/Images/cloth_13.png | Bin 0 -> 3233 bytes
Minecraft.Crafting.Api/Images/cloth_14.png | Bin 0 -> 3129 bytes
Minecraft.Crafting.Api/Images/cloth_15.png | Bin 0 -> 3182 bytes
Minecraft.Crafting.Api/Images/cloth_2.png | Bin 0 -> 3282 bytes
Minecraft.Crafting.Api/Images/cloth_3.png | Bin 0 -> 3407 bytes
Minecraft.Crafting.Api/Images/cloth_4.png | Bin 0 -> 3403 bytes
Minecraft.Crafting.Api/Images/cloth_5.png | Bin 0 -> 3405 bytes
Minecraft.Crafting.Api/Images/cloth_6.png | Bin 0 -> 3408 bytes
Minecraft.Crafting.Api/Images/cloth_7.png | Bin 0 -> 3400 bytes
Minecraft.Crafting.Api/Images/cloth_8.png | Bin 0 -> 3408 bytes
Minecraft.Crafting.Api/Images/cloth_9.png | Bin 0 -> 3409 bytes
Minecraft.Crafting.Api/Images/coal.png | Bin 0 -> 3035 bytes
Minecraft.Crafting.Api/Images/coal_ore.png | Bin 0 -> 9016 bytes
Minecraft.Crafting.Api/Images/cobblestone.png | Bin 0 -> 9034 bytes
Minecraft.Crafting.Api/Images/cocoa_0.png | Bin 0 -> 2975 bytes
Minecraft.Crafting.Api/Images/cocoa_1.png | Bin 0 -> 3046 bytes
Minecraft.Crafting.Api/Images/cocoa_2.png | Bin 0 -> 3108 bytes
.../Images/commandBlock.png | Bin 0 -> 3449 bytes
Minecraft.Crafting.Api/Images/comparator.png | Bin 0 -> 3321 bytes
.../Images/comparator_lit.png | Bin 0 -> 3500 bytes
Minecraft.Crafting.Api/Images/compass.png | Bin 0 -> 3985 bytes
Minecraft.Crafting.Api/Images/compass.txt | 0
Minecraft.Crafting.Api/Images/cookie.png | Bin 0 -> 3274 bytes
Minecraft.Crafting.Api/Images/crops_0.png | Bin 0 -> 3244 bytes
Minecraft.Crafting.Api/Images/crops_1.png | Bin 0 -> 3260 bytes
Minecraft.Crafting.Api/Images/crops_2.png | Bin 0 -> 3289 bytes
Minecraft.Crafting.Api/Images/crops_3.png | Bin 0 -> 3334 bytes
Minecraft.Crafting.Api/Images/crops_4.png | Bin 0 -> 3395 bytes
Minecraft.Crafting.Api/Images/crops_5.png | Bin 0 -> 3513 bytes
Minecraft.Crafting.Api/Images/crops_6.png | Bin 0 -> 3523 bytes
Minecraft.Crafting.Api/Images/crops_7.png | Bin 0 -> 3534 bytes
.../Images/daylightDetector_side.png | Bin 0 -> 3175 bytes
.../Images/daylightDetector_top.png | Bin 0 -> 3503 bytes
Minecraft.Crafting.Api/Images/deadbush.png | Bin 0 -> 3046 bytes
Minecraft.Crafting.Api/Images/default.png | Bin 0 -> 2267 bytes
Minecraft.Crafting.Api/Images/destroy_0.png | Bin 0 -> 2836 bytes
Minecraft.Crafting.Api/Images/destroy_1.png | Bin 0 -> 2864 bytes
Minecraft.Crafting.Api/Images/destroy_2.png | Bin 0 -> 2898 bytes
Minecraft.Crafting.Api/Images/destroy_3.png | Bin 0 -> 2923 bytes
Minecraft.Crafting.Api/Images/destroy_4.png | Bin 0 -> 2947 bytes
Minecraft.Crafting.Api/Images/destroy_5.png | Bin 0 -> 2973 bytes
Minecraft.Crafting.Api/Images/destroy_6.png | Bin 0 -> 3004 bytes
Minecraft.Crafting.Api/Images/destroy_7.png | Bin 0 -> 3000 bytes
Minecraft.Crafting.Api/Images/destroy_8.png | Bin 0 -> 3068 bytes
Minecraft.Crafting.Api/Images/destroy_9.png | Bin 0 -> 3049 bytes
.../Images/detectorRail.png | Bin 0 -> 3448 bytes
Minecraft.Crafting.Api/Images/diamond.png | Bin 0 -> 3180 bytes
Minecraft.Crafting.Api/Images/diode.png | Bin 0 -> 3320 bytes
Minecraft.Crafting.Api/Images/dirt.png | Bin 0 -> 3593 bytes
Minecraft.Crafting.Api/Images/dispenser.png | Bin 0 -> 8131 bytes
.../Images/dispenser_front.png | Bin 0 -> 3492 bytes
.../Images/dispenser_front_vertical.png | Bin 0 -> 3541 bytes
Minecraft.Crafting.Api/Images/doorIron.png | Bin 0 -> 3032 bytes
.../Images/doorIron_lower.png | Bin 0 -> 3164 bytes
.../Images/doorIron_upper.png | Bin 0 -> 3169 bytes
Minecraft.Crafting.Api/Images/doorWood.png | Bin 0 -> 3208 bytes
.../Images/doorWood_lower.png | Bin 0 -> 3455 bytes
.../Images/doorWood_upper.png | Bin 0 -> 3352 bytes
Minecraft.Crafting.Api/Images/dragonEgg.png | Bin 0 -> 3498 bytes
.../Images/dropper_front.png | Bin 0 -> 3467 bytes
.../Images/dropper_front_vertical.png | Bin 0 -> 3591 bytes
.../Images/dyePowder_black.png | Bin 0 -> 2947 bytes
.../Images/dyePowder_blue.png | Bin 0 -> 3132 bytes
.../Images/dyePowder_brown.png | Bin 0 -> 3180 bytes
.../Images/dyePowder_cyan.png | Bin 0 -> 3036 bytes
.../Images/dyePowder_gray.png | Bin 0 -> 3025 bytes
.../Images/dyePowder_green.png | Bin 0 -> 3126 bytes
.../Images/dyePowder_lightBlue.png | Bin 0 -> 3028 bytes
.../Images/dyePowder_lime.png | Bin 0 -> 3026 bytes
.../Images/dyePowder_magenta.png | Bin 0 -> 3030 bytes
.../Images/dyePowder_orange.png | Bin 0 -> 3090 bytes
.../Images/dyePowder_pink.png | Bin 0 -> 3032 bytes
.../Images/dyePowder_purple.png | Bin 0 -> 3028 bytes
.../Images/dyePowder_red.png | Bin 0 -> 3053 bytes
.../Images/dyePowder_silver.png | Bin 0 -> 3031 bytes
.../Images/dyePowder_white.png | Bin 0 -> 3052 bytes
.../Images/dyePowder_yellow.png | Bin 0 -> 3092 bytes
Minecraft.Crafting.Api/Images/egg.png | Bin 0 -> 2966 bytes
Minecraft.Crafting.Api/Images/emerald.png | Bin 0 -> 3240 bytes
Minecraft.Crafting.Api/Images/emptyMap.png | Bin 0 -> 3126 bytes
.../Images/enchantedBook.png | Bin 0 -> 3312 bytes
.../Images/enchantment_bottom.png | Bin 0 -> 3158 bytes
.../Images/enchantment_side.png | Bin 0 -> 3224 bytes
.../Images/enchantment_top.png | Bin 0 -> 3425 bytes
Minecraft.Crafting.Api/Images/enderPearl.png | Bin 0 -> 3253 bytes
.../Images/endframe_eye.png | Bin 0 -> 3198 bytes
.../Images/endframe_side.png | Bin 0 -> 3417 bytes
.../Images/endframe_top.png | Bin 0 -> 3455 bytes
Minecraft.Crafting.Api/Images/expBottle.png | Bin 0 -> 3287 bytes
Minecraft.Crafting.Api/Images/eyeOfEnder.png | Bin 0 -> 3210 bytes
.../Images/farmland_dry.png | Bin 0 -> 3541 bytes
.../Images/farmland_wet.png | Bin 0 -> 3453 bytes
Minecraft.Crafting.Api/Images/feather.png | Bin 0 -> 3184 bytes
Minecraft.Crafting.Api/Images/fenceIron.png | Bin 0 -> 3126 bytes
.../Images/fermentedSpiderEye.png | Bin 0 -> 3245 bytes
Minecraft.Crafting.Api/Images/fern.png | Bin 0 -> 2988 bytes
Minecraft.Crafting.Api/Images/fire_0.png | Bin 0 -> 23053 bytes
Minecraft.Crafting.Api/Images/fire_0.txt | 16 +
Minecraft.Crafting.Api/Images/fire_1.png | Bin 0 -> 23413 bytes
Minecraft.Crafting.Api/Images/fire_1.txt | 0
Minecraft.Crafting.Api/Images/fireball.png | Bin 0 -> 3274 bytes
Minecraft.Crafting.Api/Images/fireworks.png | Bin 0 -> 3101 bytes
.../Images/fireworksCharge.png | Bin 0 -> 3155 bytes
.../Images/fireworksCharge_overlay.png | Bin 0 -> 3096 bytes
Minecraft.Crafting.Api/Images/fishCooked.png | Bin 0 -> 3255 bytes
Minecraft.Crafting.Api/Images/fishRaw.png | Bin 0 -> 3221 bytes
Minecraft.Crafting.Api/Images/fishingRod.png | Bin 0 -> 3261 bytes
.../Images/fishingRod_empty.png | Bin 0 -> 3128 bytes
Minecraft.Crafting.Api/Images/flint.png | Bin 0 -> 3141 bytes
.../Images/flintAndSteel.png | Bin 0 -> 3166 bytes
Minecraft.Crafting.Api/Images/flower.png | Bin 0 -> 3327 bytes
Minecraft.Crafting.Api/Images/flowerPot.png | Bin 0 -> 3149 bytes
Minecraft.Crafting.Api/Images/frame.png | Bin 0 -> 3065 bytes
.../Images/furnace_front.png | Bin 0 -> 3325 bytes
.../Images/furnace_front_lit.png | Bin 0 -> 3476 bytes
.../Images/furnace_side.png | Bin 0 -> 3368 bytes
Minecraft.Crafting.Api/Images/furnace_top.png | Bin 0 -> 3555 bytes
Minecraft.Crafting.Api/Images/ghastTear.png | Bin 0 -> 2909 bytes
Minecraft.Crafting.Api/Images/glass.png | Bin 0 -> 3027 bytes
Minecraft.Crafting.Api/Images/glassBottle.png | Bin 0 -> 3088 bytes
Minecraft.Crafting.Api/Images/goldNugget.png | Bin 0 -> 2987 bytes
Minecraft.Crafting.Api/Images/gold_ore.png | Bin 0 -> 9141 bytes
Minecraft.Crafting.Api/Images/goldenRail.png | Bin 0 -> 3363 bytes
.../Images/goldenRail_powered.png | Bin 0 -> 3360 bytes
Minecraft.Crafting.Api/Images/grass.png | Bin 0 -> 34672 bytes
Minecraft.Crafting.Api/Images/grass_side.png | Bin 0 -> 3485 bytes
.../Images/grass_side_overlay.png | Bin 0 -> 3315 bytes
Minecraft.Crafting.Api/Images/grass_top.png | Bin 0 -> 3325 bytes
Minecraft.Crafting.Api/Images/gravel.png | Bin 0 -> 3620 bytes
.../Images/hatchetDiamond.png | Bin 0 -> 3146 bytes
Minecraft.Crafting.Api/Images/hatchetGold.png | Bin 0 -> 3242 bytes
Minecraft.Crafting.Api/Images/hatchetIron.png | Bin 0 -> 3044 bytes
.../Images/hatchetStone.png | Bin 0 -> 3044 bytes
Minecraft.Crafting.Api/Images/hatchetWood.png | Bin 0 -> 3030 bytes
Minecraft.Crafting.Api/Images/hellrock.png | Bin 0 -> 3575 bytes
Minecraft.Crafting.Api/Images/hellsand.png | Bin 0 -> 3393 bytes
Minecraft.Crafting.Api/Images/helmetChain.png | Bin 0 -> 3050 bytes
Minecraft.Crafting.Api/Images/helmetCloth.png | Bin 0 -> 2808 bytes
.../Images/helmetCloth_overlay.png | Bin 0 -> 3114 bytes
.../Images/helmetDiamond.png | Bin 0 -> 3133 bytes
Minecraft.Crafting.Api/Images/helmetGold.png | Bin 0 -> 3109 bytes
Minecraft.Crafting.Api/Images/helmetIron.png | Bin 0 -> 3131 bytes
Minecraft.Crafting.Api/Images/hoeDiamond.png | Bin 0 -> 3149 bytes
Minecraft.Crafting.Api/Images/hoeGold.png | Bin 0 -> 3154 bytes
Minecraft.Crafting.Api/Images/hoeIron.png | Bin 0 -> 3038 bytes
Minecraft.Crafting.Api/Images/hoeStone.png | Bin 0 -> 3058 bytes
Minecraft.Crafting.Api/Images/hoeWood.png | Bin 0 -> 2984 bytes
Minecraft.Crafting.Api/Images/hopper.png | Bin 0 -> 3277 bytes
.../Images/hopper_inside.png | Bin 0 -> 3226 bytes
Minecraft.Crafting.Api/Images/hopper_top.png | Bin 0 -> 3039 bytes
Minecraft.Crafting.Api/Images/ice.png | Bin 0 -> 3467 bytes
Minecraft.Crafting.Api/Images/ingotGold.png | Bin 0 -> 3213 bytes
Minecraft.Crafting.Api/Images/ingotIron.png | Bin 0 -> 3144 bytes
Minecraft.Crafting.Api/Images/iron_ore.png | Bin 0 -> 8759 bytes
.../Images/itemframe_back.png | Bin 0 -> 3308 bytes
Minecraft.Crafting.Api/Images/jukebox_top.png | Bin 0 -> 3451 bytes
Minecraft.Crafting.Api/Images/ladder.png | Bin 0 -> 3363 bytes
Minecraft.Crafting.Api/Images/lapis_block.png | Bin 0 -> 62857 bytes
Minecraft.Crafting.Api/Images/lapis_ore.png | Bin 0 -> 78737 bytes
Minecraft.Crafting.Api/Images/lava.png | Bin 0 -> 23211 bytes
Minecraft.Crafting.Api/Images/lava.txt | 0
Minecraft.Crafting.Api/Images/lava_flow.png | Bin 0 -> 18963 bytes
Minecraft.Crafting.Api/Images/lava_flow.txt | 0
Minecraft.Crafting.Api/Images/leather.png | Bin 0 -> 3154 bytes
Minecraft.Crafting.Api/Images/leaves.png | Bin 0 -> 3615 bytes
.../Images/leaves_jungle.png | Bin 0 -> 3570 bytes
.../Images/leaves_jungle_opaque.png | Bin 0 -> 3542 bytes
.../Images/leaves_opaque.png | Bin 0 -> 3600 bytes
.../Images/leaves_spruce.png | Bin 0 -> 3288 bytes
.../Images/leaves_spruce_opaque.png | Bin 0 -> 3265 bytes
.../Images/leggingsChain.png | Bin 0 -> 3080 bytes
.../Images/leggingsCloth.png | Bin 0 -> 2808 bytes
.../Images/leggingsCloth_overlay.png | Bin 0 -> 2954 bytes
.../Images/leggingsDiamond.png | Bin 0 -> 3092 bytes
.../Images/leggingsGold.png | Bin 0 -> 3047 bytes
.../Images/leggingsIron.png | Bin 0 -> 3080 bytes
Minecraft.Crafting.Api/Images/lever.png | Bin 0 -> 2887 bytes
Minecraft.Crafting.Api/Images/lightgem.png | Bin 0 -> 3645 bytes
Minecraft.Crafting.Api/Images/log.png | Bin 0 -> 5959 bytes
Minecraft.Crafting.Api/Images/magmaCream.png | Bin 0 -> 3373 bytes
Minecraft.Crafting.Api/Images/map.png | Bin 0 -> 3175 bytes
Minecraft.Crafting.Api/Images/melon.png | Bin 0 -> 3343 bytes
Minecraft.Crafting.Api/Images/melon_side.png | Bin 0 -> 3407 bytes
Minecraft.Crafting.Api/Images/melon_top.png | Bin 0 -> 3524 bytes
Minecraft.Crafting.Api/Images/milk.png | Bin 0 -> 3202 bytes
Minecraft.Crafting.Api/Images/minecart.png | Bin 0 -> 3148 bytes
.../Images/minecartChest.png | Bin 0 -> 3315 bytes
.../Images/minecartFurnace.png | Bin 0 -> 3397 bytes
.../Images/minecartHopper.png | Bin 0 -> 3280 bytes
Minecraft.Crafting.Api/Images/minecartTnt.png | Bin 0 -> 3304 bytes
Minecraft.Crafting.Api/Images/mobSpawner.png | Bin 0 -> 3325 bytes
.../Images/monsterPlacer.png | Bin 0 -> 3040 bytes
.../Images/monsterPlacer_overlay.png | Bin 0 -> 3078 bytes
.../Images/mushroomStew.png | Bin 0 -> 3177 bytes
.../Images/mushroom_brown.png | Bin 0 -> 2954 bytes
.../Images/mushroom_inside.png | Bin 0 -> 3560 bytes
.../Images/mushroom_red.png | Bin 0 -> 2959 bytes
.../Images/mushroom_skin_brown.png | Bin 0 -> 3341 bytes
.../Images/mushroom_skin_red.png | Bin 0 -> 3332 bytes
.../Images/mushroom_skin_stem.png | Bin 0 -> 3439 bytes
Minecraft.Crafting.Api/Images/musicBlock.png | Bin 0 -> 3421 bytes
Minecraft.Crafting.Api/Images/mycel_side.png | Bin 0 -> 3353 bytes
Minecraft.Crafting.Api/Images/mycel_top.png | Bin 0 -> 3167 bytes
Minecraft.Crafting.Api/Images/netherBrick.png | Bin 0 -> 3347 bytes
.../Images/netherStalkSeeds.png | Bin 0 -> 3117 bytes
.../Images/netherStalk_0.png | Bin 0 -> 3126 bytes
.../Images/netherStalk_1.png | Bin 0 -> 3192 bytes
.../Images/netherStalk_2.png | Bin 0 -> 3347 bytes
Minecraft.Crafting.Api/Images/netherStar.png | Bin 0 -> 3428 bytes
.../Images/netherquartz.png | Bin 0 -> 3256 bytes
Minecraft.Crafting.Api/Images/obsidian.png | Bin 0 -> 441 bytes
.../Images/offlawn.beanstalk.png | Bin 0 -> 3386 bytes
.../Images/offlawn.lawn.png | Bin 0 -> 3375 bytes
.../Images/offlawn.sunflower-bottom.png | Bin 0 -> 3390 bytes
.../Images/offlawn.sunflower-top.png | Bin 0 -> 3284 bytes
.../Images/offlawn.sunflowerseed.png | Bin 0 -> 3112 bytes
Minecraft.Crafting.Api/Images/oreCoal.png | Bin 0 -> 3582 bytes
Minecraft.Crafting.Api/Images/oreDiamond.png | Bin 0 -> 3635 bytes
Minecraft.Crafting.Api/Images/oreEmerald.png | Bin 0 -> 3536 bytes
Minecraft.Crafting.Api/Images/oreGold.png | Bin 0 -> 3538 bytes
Minecraft.Crafting.Api/Images/oreIron.png | Bin 0 -> 3604 bytes
Minecraft.Crafting.Api/Images/oreLapis.png | Bin 0 -> 3629 bytes
Minecraft.Crafting.Api/Images/oreRedstone.png | Bin 0 -> 3590 bytes
Minecraft.Crafting.Api/Images/painting.png | Bin 0 -> 3123 bytes
Minecraft.Crafting.Api/Images/paper.png | Bin 0 -> 3001 bytes
.../Images/pickaxeDiamond.png | Bin 0 -> 3128 bytes
Minecraft.Crafting.Api/Images/pickaxeGold.png | Bin 0 -> 3212 bytes
Minecraft.Crafting.Api/Images/pickaxeIron.png | Bin 0 -> 3031 bytes
.../Images/pickaxeStone.png | Bin 0 -> 3045 bytes
Minecraft.Crafting.Api/Images/pickaxeWood.png | Bin 0 -> 3034 bytes
.../Images/piston_bottom.png | Bin 0 -> 3501 bytes
.../Images/piston_inner_top.png | Bin 0 -> 3463 bytes
Minecraft.Crafting.Api/Images/piston_side.png | Bin 0 -> 3469 bytes
Minecraft.Crafting.Api/Images/piston_top.png | Bin 0 -> 3565 bytes
.../Images/piston_top_sticky.png | Bin 0 -> 3642 bytes
Minecraft.Crafting.Api/Images/planks.png | Bin 0 -> 8294 bytes
.../Images/porkchopCooked.png | Bin 0 -> 3215 bytes
Minecraft.Crafting.Api/Images/porkchopRaw.png | Bin 0 -> 3222 bytes
Minecraft.Crafting.Api/Images/potato.png | Bin 0 -> 3210 bytes
Minecraft.Crafting.Api/Images/potatoBaked.png | Bin 0 -> 3444 bytes
.../Images/potatoPoisonous.png | Bin 0 -> 3336 bytes
Minecraft.Crafting.Api/Images/potatoes_0.png | Bin 0 -> 3017 bytes
Minecraft.Crafting.Api/Images/potatoes_1.png | Bin 0 -> 3119 bytes
Minecraft.Crafting.Api/Images/potatoes_2.png | Bin 0 -> 3233 bytes
Minecraft.Crafting.Api/Images/potatoes_3.png | Bin 0 -> 3314 bytes
Minecraft.Crafting.Api/Images/potion.png | Bin 0 -> 3130 bytes
.../Images/potion_contents.png | Bin 0 -> 2908 bytes
.../Images/potion_splash.png | Bin 0 -> 3284 bytes
Minecraft.Crafting.Api/Images/pumpkinPie.png | Bin 0 -> 3223 bytes
.../Images/pumpkin_face.png | Bin 0 -> 3374 bytes
.../Images/pumpkin_jack.png | Bin 0 -> 3509 bytes
.../Images/pumpkin_side.png | Bin 0 -> 3433 bytes
Minecraft.Crafting.Api/Images/pumpkin_top.png | Bin 0 -> 3462 bytes
.../Images/quartzblock_bottom.png | Bin 0 -> 3423 bytes
.../Images/quartzblock_chiseled.png | Bin 0 -> 3378 bytes
.../Images/quartzblock_chiseled_top.png | Bin 0 -> 3530 bytes
.../Images/quartzblock_lines.png | Bin 0 -> 3228 bytes
.../Images/quartzblock_lines_top.png | Bin 0 -> 3423 bytes
.../Images/quartzblock_side.png | Bin 0 -> 3355 bytes
.../Images/quartzblock_top.png | Bin 0 -> 3387 bytes
Minecraft.Crafting.Api/Images/quiver.png | Bin 0 -> 3263 bytes
Minecraft.Crafting.Api/Images/rail.png | Bin 0 -> 3346 bytes
Minecraft.Crafting.Api/Images/rail_turn.png | Bin 0 -> 3379 bytes
Minecraft.Crafting.Api/Images/record_11.png | Bin 0 -> 3390 bytes
Minecraft.Crafting.Api/Images/record_13.png | Bin 0 -> 3292 bytes
.../Images/record_blocks.png | Bin 0 -> 3416 bytes
Minecraft.Crafting.Api/Images/record_cat.png | Bin 0 -> 3376 bytes
.../Images/record_chirp.png | Bin 0 -> 3370 bytes
Minecraft.Crafting.Api/Images/record_far.png | Bin 0 -> 3459 bytes
Minecraft.Crafting.Api/Images/record_mall.png | Bin 0 -> 3324 bytes
.../Images/record_mellohi.png | Bin 0 -> 3339 bytes
Minecraft.Crafting.Api/Images/record_stal.png | Bin 0 -> 3492 bytes
.../Images/record_strad.png | Bin 0 -> 3446 bytes
Minecraft.Crafting.Api/Images/record_wait.png | Bin 0 -> 3456 bytes
Minecraft.Crafting.Api/Images/record_ward.png | Bin 0 -> 3267 bytes
Minecraft.Crafting.Api/Images/redstone.png | Bin 0 -> 3041 bytes
.../Images/redstoneDust_cross.png | Bin 0 -> 3296 bytes
.../Images/redstoneDust_cross_overlay.png | Bin 0 -> 3487 bytes
.../Images/redstoneDust_line.png | Bin 0 -> 2911 bytes
.../Images/redstoneDust_line_overlay.png | Bin 0 -> 3024 bytes
.../Images/redstoneLight.png | Bin 0 -> 3394 bytes
.../Images/redstoneLight_lit.png | Bin 0 -> 3452 bytes
Minecraft.Crafting.Api/Images/redtorch.png | Bin 0 -> 2906 bytes
.../Images/redtorch_lit.png | Bin 0 -> 2924 bytes
Minecraft.Crafting.Api/Images/reeds.png | Bin 0 -> 3207 bytes
Minecraft.Crafting.Api/Images/repeater.png | Bin 0 -> 3517 bytes
.../Images/repeater_lit.png | Bin 0 -> 3505 bytes
Minecraft.Crafting.Api/Images/rose.png | Bin 0 -> 2998 bytes
Minecraft.Crafting.Api/Images/rottenFlesh.png | Bin 0 -> 3167 bytes
Minecraft.Crafting.Api/Images/ruby.png | Bin 0 -> 3035 bytes
Minecraft.Crafting.Api/Images/saddle.png | Bin 0 -> 3103 bytes
Minecraft.Crafting.Api/Images/sand.png | Bin 0 -> 3388 bytes
Minecraft.Crafting.Api/Images/sandstone.png | Bin 0 -> 8002 bytes
.../Images/sandstone_bottom.png | Bin 0 -> 3480 bytes
.../Images/sandstone_carved.png | Bin 0 -> 3504 bytes
.../Images/sandstone_side.png | Bin 0 -> 3418 bytes
.../Images/sandstone_smooth.png | Bin 0 -> 3524 bytes
.../Images/sandstone_top.png | Bin 0 -> 3480 bytes
Minecraft.Crafting.Api/Images/sapling.png | Bin 0 -> 3192 bytes
.../Images/sapling_birch.png | Bin 0 -> 3161 bytes
.../Images/sapling_jungle.png | Bin 0 -> 3257 bytes
.../Images/sapling_spruce.png | Bin 0 -> 3054 bytes
Minecraft.Crafting.Api/Images/seeds.png | Bin 0 -> 3014 bytes
Minecraft.Crafting.Api/Images/seeds_melon.png | Bin 0 -> 3180 bytes
.../Images/seeds_pumpkin.png | Bin 0 -> 3364 bytes
Minecraft.Crafting.Api/Images/shears.png | Bin 0 -> 3060 bytes
.../Images/shovelDiamond.png | Bin 0 -> 3114 bytes
Minecraft.Crafting.Api/Images/shovelGold.png | Bin 0 -> 3064 bytes
Minecraft.Crafting.Api/Images/shovelIron.png | Bin 0 -> 3083 bytes
Minecraft.Crafting.Api/Images/shovelStone.png | Bin 0 -> 3065 bytes
Minecraft.Crafting.Api/Images/shovelWood.png | Bin 0 -> 3034 bytes
Minecraft.Crafting.Api/Images/sign.png | Bin 0 -> 3180 bytes
Minecraft.Crafting.Api/Images/skull_char.png | Bin 0 -> 3175 bytes
.../Images/skull_creeper.png | Bin 0 -> 3207 bytes
.../Images/skull_skeleton.png | Bin 0 -> 3231 bytes
.../Images/skull_wither.png | Bin 0 -> 3216 bytes
.../Images/skull_zombie.png | Bin 0 -> 3169 bytes
Minecraft.Crafting.Api/Images/slimeball.png | Bin 0 -> 3144 bytes
.../Images/slot_empty_boots.png | Bin 0 -> 2890 bytes
.../Images/slot_empty_chestplate.png | Bin 0 -> 2921 bytes
.../Images/slot_empty_helmet.png | Bin 0 -> 2898 bytes
.../Images/slot_empty_leggings.png | Bin 0 -> 2897 bytes
Minecraft.Crafting.Api/Images/snow.png | Bin 0 -> 3256 bytes
Minecraft.Crafting.Api/Images/snow_side.png | Bin 0 -> 3496 bytes
Minecraft.Crafting.Api/Images/snowball.png | Bin 0 -> 3128 bytes
.../Images/speckledMelon.png | Bin 0 -> 3236 bytes
Minecraft.Crafting.Api/Images/spiderEye.png | Bin 0 -> 3167 bytes
Minecraft.Crafting.Api/Images/sponge.png | Bin 0 -> 3665 bytes
Minecraft.Crafting.Api/Images/stem_bent.png | Bin 0 -> 2995 bytes
.../Images/stem_straight.png | Bin 0 -> 3012 bytes
Minecraft.Crafting.Api/Images/stick.png | Bin 0 -> 2929 bytes
Minecraft.Crafting.Api/Images/stone.png | Bin 0 -> 3541 bytes
Minecraft.Crafting.Api/Images/stoneMoss.png | Bin 0 -> 3339 bytes
Minecraft.Crafting.Api/Images/stonebrick.png | Bin 0 -> 3518 bytes
.../Images/stonebricksmooth.png | Bin 0 -> 3536 bytes
.../Images/stonebricksmooth_carved.png | Bin 0 -> 3526 bytes
.../Images/stonebricksmooth_cracked.png | Bin 0 -> 3642 bytes
.../Images/stonebricksmooth_mossy.png | Bin 0 -> 3594 bytes
.../Images/stoneslab_side.png | Bin 0 -> 3215 bytes
.../Images/stoneslab_top.png | Bin 0 -> 3215 bytes
Minecraft.Crafting.Api/Images/string.png | Bin 0 -> 3091 bytes
Minecraft.Crafting.Api/Images/sugar.png | Bin 0 -> 3204 bytes
Minecraft.Crafting.Api/Images/sulphur.png | Bin 0 -> 3155 bytes
.../Images/swordDiamond.png | Bin 0 -> 3231 bytes
Minecraft.Crafting.Api/Images/swordGold.png | Bin 0 -> 3055 bytes
Minecraft.Crafting.Api/Images/swordIron.png | Bin 0 -> 3036 bytes
Minecraft.Crafting.Api/Images/swordStone.png | Bin 0 -> 3115 bytes
Minecraft.Crafting.Api/Images/swordWood.png | Bin 0 -> 2989 bytes
Minecraft.Crafting.Api/Images/tallgrass.png | Bin 0 -> 2877 bytes
.../Images/thinglass_top.png | Bin 0 -> 2904 bytes
Minecraft.Crafting.Api/Images/tnt_bottom.png | Bin 0 -> 3433 bytes
Minecraft.Crafting.Api/Images/tnt_side.png | Bin 0 -> 3476 bytes
Minecraft.Crafting.Api/Images/tnt_top.png | Bin 0 -> 3338 bytes
Minecraft.Crafting.Api/Images/torch.png | Bin 0 -> 3024 bytes
Minecraft.Crafting.Api/Images/trapdoor.png | Bin 0 -> 3351 bytes
Minecraft.Crafting.Api/Images/tree_birch.png | Bin 0 -> 3543 bytes
Minecraft.Crafting.Api/Images/tree_jungle.png | Bin 0 -> 3580 bytes
Minecraft.Crafting.Api/Images/tree_side.png | Bin 0 -> 3459 bytes
Minecraft.Crafting.Api/Images/tree_spruce.png | Bin 0 -> 3547 bytes
Minecraft.Crafting.Api/Images/tree_top.png | Bin 0 -> 3380 bytes
Minecraft.Crafting.Api/Images/tripWire.png | Bin 0 -> 2892 bytes
.../Images/tripWireSource.png | Bin 0 -> 2990 bytes
Minecraft.Crafting.Api/Images/vine.png | Bin 0 -> 3168 bytes
Minecraft.Crafting.Api/Images/water.png | Bin 0 -> 13475 bytes
Minecraft.Crafting.Api/Images/water.txt | 0
Minecraft.Crafting.Api/Images/water_flow.png | Bin 0 -> 16633 bytes
Minecraft.Crafting.Api/Images/water_flow.txt | 0
Minecraft.Crafting.Api/Images/waterlily.png | Bin 0 -> 3173 bytes
Minecraft.Crafting.Api/Images/web.png | Bin 0 -> 3172 bytes
Minecraft.Crafting.Api/Images/wheat.png | Bin 0 -> 3196 bytes
Minecraft.Crafting.Api/Images/whiteStone.png | Bin 0 -> 3477 bytes
Minecraft.Crafting.Api/Images/wood.png | Bin 0 -> 3315 bytes
Minecraft.Crafting.Api/Images/wood_birch.png | Bin 0 -> 3478 bytes
Minecraft.Crafting.Api/Images/wood_jungle.png | Bin 0 -> 3459 bytes
Minecraft.Crafting.Api/Images/wood_spruce.png | Bin 0 -> 3362 bytes
.../Images/workbench_front.png | Bin 0 -> 3463 bytes
.../Images/workbench_side.png | Bin 0 -> 3426 bytes
.../Images/workbench_top.png | Bin 0 -> 3445 bytes
Minecraft.Crafting.Api/Images/writingBook.png | Bin 0 -> 3325 bytes
Minecraft.Crafting.Api/Images/writtenBook.png | Bin 0 -> 3220 bytes
Minecraft.Crafting.Api/Images/yellowDust.png | Bin 0 -> 3177 bytes
.../Minecraft.Crafting.Api.csproj | 40 +
.../Models/InventoryModel.cs | 24 +
Minecraft.Crafting.Api/Models/Item.cs | 73 +
Minecraft.Crafting.Api/Models/Recipe.cs | 26 +
Minecraft.Crafting.Api/Program.cs | 25 +
.../Properties/launchSettings.json | 38 +
Minecraft.Crafting.Api/RecipeConverter.cs | 177 +
.../appsettings.Development.json | 8 +
Minecraft.Crafting.Api/appsettings.json | 9 +
.../Debug/net6.0/Data/convert-recipes.json | 20402 ++++++++++++
.../bin/Debug/net6.0/Data/items-original.json | 2709 ++
.../bin/Debug/net6.0/Data/items.json | 3438 ++
.../bin/Debug/net6.0/Data/recipes.json | 26871 ++++++++++++++++
.../bin/Debug/net6.0/Images/activatorRail.png | Bin 0 -> 3416 bytes
.../net6.0/Images/activatorRail_powered.png | Bin 0 -> 3419 bytes
.../bin/Debug/net6.0/Images/anvil_base.png | Bin 0 -> 3204 bytes
.../bin/Debug/net6.0/Images/anvil_top.png | Bin 0 -> 3105 bytes
.../net6.0/Images/anvil_top_damaged_1.png | Bin 0 -> 3177 bytes
.../net6.0/Images/anvil_top_damaged_2.png | Bin 0 -> 3158 bytes
.../bin/Debug/net6.0/Images/apple.png | Bin 0 -> 3133 bytes
.../bin/Debug/net6.0/Images/appleGold.png | Bin 0 -> 3248 bytes
.../bin/Debug/net6.0/Images/arrow.png | Bin 0 -> 3020 bytes
.../bin/Debug/net6.0/Images/beacon.png | Bin 0 -> 3187 bytes
.../bin/Debug/net6.0/Images/bed.png | Bin 0 -> 3301 bytes
.../bin/Debug/net6.0/Images/bed_feet_end.png | Bin 0 -> 3095 bytes
.../bin/Debug/net6.0/Images/bed_feet_side.png | Bin 0 -> 3055 bytes
.../bin/Debug/net6.0/Images/bed_feet_top.png | Bin 0 -> 3436 bytes
.../bin/Debug/net6.0/Images/bed_head_end.png | Bin 0 -> 3115 bytes
.../bin/Debug/net6.0/Images/bed_head_side.png | Bin 0 -> 3113 bytes
.../bin/Debug/net6.0/Images/bed_head_top.png | Bin 0 -> 3441 bytes
.../bin/Debug/net6.0/Images/bedrock.png | Bin 0 -> 3610 bytes
.../bin/Debug/net6.0/Images/beefCooked.png | Bin 0 -> 3202 bytes
.../bin/Debug/net6.0/Images/beefRaw.png | Bin 0 -> 3330 bytes
.../bin/Debug/net6.0/Images/blazePowder.png | Bin 0 -> 3233 bytes
.../bin/Debug/net6.0/Images/blazeRod.png | Bin 0 -> 3088 bytes
.../bin/Debug/net6.0/Images/blockDiamond.png | Bin 0 -> 3458 bytes
.../bin/Debug/net6.0/Images/blockEmerald.png | Bin 0 -> 3311 bytes
.../bin/Debug/net6.0/Images/blockGold.png | Bin 0 -> 3351 bytes
.../bin/Debug/net6.0/Images/blockIron.png | Bin 0 -> 3289 bytes
.../bin/Debug/net6.0/Images/blockLapis.png | Bin 0 -> 3293 bytes
.../bin/Debug/net6.0/Images/blockRedstone.png | Bin 0 -> 3392 bytes
.../bin/Debug/net6.0/Images/boat.png | Bin 0 -> 3158 bytes
.../bin/Debug/net6.0/Images/bone.png | Bin 0 -> 3020 bytes
.../bin/Debug/net6.0/Images/book.png | Bin 0 -> 3122 bytes
.../bin/Debug/net6.0/Images/bookshelf.png | Bin 0 -> 3452 bytes
.../bin/Debug/net6.0/Images/bootsChain.png | Bin 0 -> 3089 bytes
.../bin/Debug/net6.0/Images/bootsCloth.png | Bin 0 -> 2808 bytes
.../net6.0/Images/bootsCloth_overlay.png | Bin 0 -> 3013 bytes
.../bin/Debug/net6.0/Images/bootsDiamond.png | Bin 0 -> 3114 bytes
.../bin/Debug/net6.0/Images/bootsGold.png | Bin 0 -> 3003 bytes
.../bin/Debug/net6.0/Images/bootsIron.png | Bin 0 -> 3089 bytes
.../bin/Debug/net6.0/Images/bow.png | Bin 0 -> 3015 bytes
.../bin/Debug/net6.0/Images/bow_pull_0.png | Bin 0 -> 3139 bytes
.../bin/Debug/net6.0/Images/bow_pull_1.png | Bin 0 -> 3184 bytes
.../bin/Debug/net6.0/Images/bow_pull_2.png | Bin 0 -> 3164 bytes
.../bin/Debug/net6.0/Images/bowl.png | Bin 0 -> 2978 bytes
.../bin/Debug/net6.0/Images/bread.png | Bin 0 -> 3174 bytes
.../bin/Debug/net6.0/Images/brewingStand.png | Bin 0 -> 3301 bytes
.../Debug/net6.0/Images/brewingStand_base.png | Bin 0 -> 3431 bytes
.../bin/Debug/net6.0/Images/brick.png | Bin 0 -> 3308 bytes
.../bin/Debug/net6.0/Images/bucket.png | Bin 0 -> 3205 bytes
.../bin/Debug/net6.0/Images/bucketLava.png | Bin 0 -> 3266 bytes
.../bin/Debug/net6.0/Images/bucketWater.png | Bin 0 -> 3203 bytes
.../bin/Debug/net6.0/Images/cactus_bottom.png | Bin 0 -> 3340 bytes
.../bin/Debug/net6.0/Images/cactus_side.png | Bin 0 -> 3259 bytes
.../bin/Debug/net6.0/Images/cactus_top.png | Bin 0 -> 3325 bytes
.../bin/Debug/net6.0/Images/cake.png | Bin 0 -> 3284 bytes
.../bin/Debug/net6.0/Images/cake_bottom.png | Bin 0 -> 3459 bytes
.../bin/Debug/net6.0/Images/cake_inner.png | Bin 0 -> 3210 bytes
.../bin/Debug/net6.0/Images/cake_side.png | Bin 0 -> 3170 bytes
.../bin/Debug/net6.0/Images/cake_top.png | Bin 0 -> 2983 bytes
.../bin/Debug/net6.0/Images/carrotGolden.png | Bin 0 -> 3233 bytes
.../Debug/net6.0/Images/carrotOnAStick.png | Bin 0 -> 3224 bytes
.../bin/Debug/net6.0/Images/carrots.png | Bin 0 -> 3108 bytes
.../bin/Debug/net6.0/Images/carrots_0.png | Bin 0 -> 3017 bytes
.../bin/Debug/net6.0/Images/carrots_1.png | Bin 0 -> 3119 bytes
.../bin/Debug/net6.0/Images/carrots_2.png | Bin 0 -> 3233 bytes
.../bin/Debug/net6.0/Images/carrots_3.png | Bin 0 -> 3147 bytes
.../bin/Debug/net6.0/Images/cauldron.png | Bin 0 -> 3074 bytes
.../Debug/net6.0/Images/cauldron_bottom.png | Bin 0 -> 2926 bytes
.../Debug/net6.0/Images/cauldron_inner.png | Bin 0 -> 3221 bytes
.../bin/Debug/net6.0/Images/cauldron_side.png | Bin 0 -> 3307 bytes
.../bin/Debug/net6.0/Images/cauldron_top.png | Bin 0 -> 3039 bytes
.../Debug/net6.0/Images/chestplateChain.png | Bin 0 -> 3179 bytes
.../Debug/net6.0/Images/chestplateCloth.png | Bin 0 -> 2808 bytes
.../net6.0/Images/chestplateCloth_overlay.png | Bin 0 -> 3226 bytes
.../Debug/net6.0/Images/chestplateDiamond.png | Bin 0 -> 3262 bytes
.../Debug/net6.0/Images/chestplateGold.png | Bin 0 -> 3195 bytes
.../Debug/net6.0/Images/chestplateIron.png | Bin 0 -> 3179 bytes
.../bin/Debug/net6.0/Images/chickenCooked.png | Bin 0 -> 3164 bytes
.../bin/Debug/net6.0/Images/chickenRaw.png | Bin 0 -> 3130 bytes
.../bin/Debug/net6.0/Images/clay.png | Bin 0 -> 3154 bytes
.../bin/Debug/net6.0/Images/clock.png | Bin 0 -> 5874 bytes
.../bin/Debug/net6.0/Images/clock.txt | 0
.../bin/Debug/net6.0/Images/cloth_0.png | Bin 0 -> 3403 bytes
.../bin/Debug/net6.0/Images/cloth_1.png | Bin 0 -> 3366 bytes
.../bin/Debug/net6.0/Images/cloth_10.png | Bin 0 -> 3278 bytes
.../bin/Debug/net6.0/Images/cloth_11.png | Bin 0 -> 3249 bytes
.../bin/Debug/net6.0/Images/cloth_12.png | Bin 0 -> 3370 bytes
.../bin/Debug/net6.0/Images/cloth_13.png | Bin 0 -> 3233 bytes
.../bin/Debug/net6.0/Images/cloth_14.png | Bin 0 -> 3129 bytes
.../bin/Debug/net6.0/Images/cloth_15.png | Bin 0 -> 3182 bytes
.../bin/Debug/net6.0/Images/cloth_2.png | Bin 0 -> 3282 bytes
.../bin/Debug/net6.0/Images/cloth_3.png | Bin 0 -> 3407 bytes
.../bin/Debug/net6.0/Images/cloth_4.png | Bin 0 -> 3403 bytes
.../bin/Debug/net6.0/Images/cloth_5.png | Bin 0 -> 3405 bytes
.../bin/Debug/net6.0/Images/cloth_6.png | Bin 0 -> 3408 bytes
.../bin/Debug/net6.0/Images/cloth_7.png | Bin 0 -> 3400 bytes
.../bin/Debug/net6.0/Images/cloth_8.png | Bin 0 -> 3408 bytes
.../bin/Debug/net6.0/Images/cloth_9.png | Bin 0 -> 3409 bytes
.../bin/Debug/net6.0/Images/coal.png | Bin 0 -> 3035 bytes
.../bin/Debug/net6.0/Images/coal_ore.png | Bin 0 -> 9016 bytes
.../bin/Debug/net6.0/Images/cobblestone.png | Bin 0 -> 9034 bytes
.../bin/Debug/net6.0/Images/cocoa_0.png | Bin 0 -> 2975 bytes
.../bin/Debug/net6.0/Images/cocoa_1.png | Bin 0 -> 3046 bytes
.../bin/Debug/net6.0/Images/cocoa_2.png | Bin 0 -> 3108 bytes
.../bin/Debug/net6.0/Images/commandBlock.png | Bin 0 -> 3449 bytes
.../bin/Debug/net6.0/Images/comparator.png | Bin 0 -> 3321 bytes
.../Debug/net6.0/Images/comparator_lit.png | Bin 0 -> 3500 bytes
.../bin/Debug/net6.0/Images/compass.png | Bin 0 -> 3985 bytes
.../bin/Debug/net6.0/Images/compass.txt | 0
.../bin/Debug/net6.0/Images/cookie.png | Bin 0 -> 3274 bytes
.../bin/Debug/net6.0/Images/crops_0.png | Bin 0 -> 3244 bytes
.../bin/Debug/net6.0/Images/crops_1.png | Bin 0 -> 3260 bytes
.../bin/Debug/net6.0/Images/crops_2.png | Bin 0 -> 3289 bytes
.../bin/Debug/net6.0/Images/crops_3.png | Bin 0 -> 3334 bytes
.../bin/Debug/net6.0/Images/crops_4.png | Bin 0 -> 3395 bytes
.../bin/Debug/net6.0/Images/crops_5.png | Bin 0 -> 3513 bytes
.../bin/Debug/net6.0/Images/crops_6.png | Bin 0 -> 3523 bytes
.../bin/Debug/net6.0/Images/crops_7.png | Bin 0 -> 3534 bytes
.../net6.0/Images/daylightDetector_side.png | Bin 0 -> 3175 bytes
.../net6.0/Images/daylightDetector_top.png | Bin 0 -> 3503 bytes
.../bin/Debug/net6.0/Images/deadbush.png | Bin 0 -> 3046 bytes
.../bin/Debug/net6.0/Images/default.png | Bin 0 -> 2267 bytes
.../bin/Debug/net6.0/Images/destroy_0.png | Bin 0 -> 2836 bytes
.../bin/Debug/net6.0/Images/destroy_1.png | Bin 0 -> 2864 bytes
.../bin/Debug/net6.0/Images/destroy_2.png | Bin 0 -> 2898 bytes
.../bin/Debug/net6.0/Images/destroy_3.png | Bin 0 -> 2923 bytes
.../bin/Debug/net6.0/Images/destroy_4.png | Bin 0 -> 2947 bytes
.../bin/Debug/net6.0/Images/destroy_5.png | Bin 0 -> 2973 bytes
.../bin/Debug/net6.0/Images/destroy_6.png | Bin 0 -> 3004 bytes
.../bin/Debug/net6.0/Images/destroy_7.png | Bin 0 -> 3000 bytes
.../bin/Debug/net6.0/Images/destroy_8.png | Bin 0 -> 3068 bytes
.../bin/Debug/net6.0/Images/destroy_9.png | Bin 0 -> 3049 bytes
.../bin/Debug/net6.0/Images/detectorRail.png | Bin 0 -> 3448 bytes
.../bin/Debug/net6.0/Images/diamond.png | Bin 0 -> 3180 bytes
.../bin/Debug/net6.0/Images/diode.png | Bin 0 -> 3320 bytes
.../bin/Debug/net6.0/Images/dirt.png | Bin 0 -> 3593 bytes
.../bin/Debug/net6.0/Images/dispenser.png | Bin 0 -> 8131 bytes
.../Debug/net6.0/Images/dispenser_front.png | Bin 0 -> 3492 bytes
.../Images/dispenser_front_vertical.png | Bin 0 -> 3541 bytes
.../bin/Debug/net6.0/Images/doorIron.png | Bin 0 -> 3032 bytes
.../Debug/net6.0/Images/doorIron_lower.png | Bin 0 -> 3164 bytes
.../Debug/net6.0/Images/doorIron_upper.png | Bin 0 -> 3169 bytes
.../bin/Debug/net6.0/Images/doorWood.png | Bin 0 -> 3208 bytes
.../Debug/net6.0/Images/doorWood_lower.png | Bin 0 -> 3455 bytes
.../Debug/net6.0/Images/doorWood_upper.png | Bin 0 -> 3352 bytes
.../bin/Debug/net6.0/Images/dragonEgg.png | Bin 0 -> 3498 bytes
.../bin/Debug/net6.0/Images/dropper_front.png | Bin 0 -> 3467 bytes
.../net6.0/Images/dropper_front_vertical.png | Bin 0 -> 3591 bytes
.../Debug/net6.0/Images/dyePowder_black.png | Bin 0 -> 2947 bytes
.../Debug/net6.0/Images/dyePowder_blue.png | Bin 0 -> 3132 bytes
.../Debug/net6.0/Images/dyePowder_brown.png | Bin 0 -> 3180 bytes
.../Debug/net6.0/Images/dyePowder_cyan.png | Bin 0 -> 3036 bytes
.../Debug/net6.0/Images/dyePowder_gray.png | Bin 0 -> 3025 bytes
.../Debug/net6.0/Images/dyePowder_green.png | Bin 0 -> 3126 bytes
.../net6.0/Images/dyePowder_lightBlue.png | Bin 0 -> 3028 bytes
.../Debug/net6.0/Images/dyePowder_lime.png | Bin 0 -> 3026 bytes
.../Debug/net6.0/Images/dyePowder_magenta.png | Bin 0 -> 3030 bytes
.../Debug/net6.0/Images/dyePowder_orange.png | Bin 0 -> 3090 bytes
.../Debug/net6.0/Images/dyePowder_pink.png | Bin 0 -> 3032 bytes
.../Debug/net6.0/Images/dyePowder_purple.png | Bin 0 -> 3028 bytes
.../bin/Debug/net6.0/Images/dyePowder_red.png | Bin 0 -> 3053 bytes
.../Debug/net6.0/Images/dyePowder_silver.png | Bin 0 -> 3031 bytes
.../Debug/net6.0/Images/dyePowder_white.png | Bin 0 -> 3052 bytes
.../Debug/net6.0/Images/dyePowder_yellow.png | Bin 0 -> 3092 bytes
.../bin/Debug/net6.0/Images/egg.png | Bin 0 -> 2966 bytes
.../bin/Debug/net6.0/Images/emerald.png | Bin 0 -> 3240 bytes
.../bin/Debug/net6.0/Images/emptyMap.png | Bin 0 -> 3126 bytes
.../bin/Debug/net6.0/Images/enchantedBook.png | Bin 0 -> 3312 bytes
.../net6.0/Images/enchantment_bottom.png | Bin 0 -> 3158 bytes
.../Debug/net6.0/Images/enchantment_side.png | Bin 0 -> 3224 bytes
.../Debug/net6.0/Images/enchantment_top.png | Bin 0 -> 3425 bytes
.../bin/Debug/net6.0/Images/enderPearl.png | Bin 0 -> 3253 bytes
.../bin/Debug/net6.0/Images/endframe_eye.png | Bin 0 -> 3198 bytes
.../bin/Debug/net6.0/Images/endframe_side.png | Bin 0 -> 3417 bytes
.../bin/Debug/net6.0/Images/endframe_top.png | Bin 0 -> 3455 bytes
.../bin/Debug/net6.0/Images/expBottle.png | Bin 0 -> 3287 bytes
.../bin/Debug/net6.0/Images/eyeOfEnder.png | Bin 0 -> 3210 bytes
.../bin/Debug/net6.0/Images/farmland_dry.png | Bin 0 -> 3541 bytes
.../bin/Debug/net6.0/Images/farmland_wet.png | Bin 0 -> 3453 bytes
.../bin/Debug/net6.0/Images/feather.png | Bin 0 -> 3184 bytes
.../bin/Debug/net6.0/Images/fenceIron.png | Bin 0 -> 3126 bytes
.../net6.0/Images/fermentedSpiderEye.png | Bin 0 -> 3245 bytes
.../bin/Debug/net6.0/Images/fern.png | Bin 0 -> 2988 bytes
.../bin/Debug/net6.0/Images/fire_0.png | Bin 0 -> 23053 bytes
.../bin/Debug/net6.0/Images/fire_0.txt | 16 +
.../bin/Debug/net6.0/Images/fire_1.png | Bin 0 -> 23413 bytes
.../bin/Debug/net6.0/Images/fire_1.txt | 0
.../bin/Debug/net6.0/Images/fireball.png | Bin 0 -> 3274 bytes
.../bin/Debug/net6.0/Images/fireworks.png | Bin 0 -> 3101 bytes
.../Debug/net6.0/Images/fireworksCharge.png | Bin 0 -> 3155 bytes
.../net6.0/Images/fireworksCharge_overlay.png | Bin 0 -> 3096 bytes
.../bin/Debug/net6.0/Images/fishCooked.png | Bin 0 -> 3255 bytes
.../bin/Debug/net6.0/Images/fishRaw.png | Bin 0 -> 3221 bytes
.../bin/Debug/net6.0/Images/fishingRod.png | Bin 0 -> 3261 bytes
.../Debug/net6.0/Images/fishingRod_empty.png | Bin 0 -> 3128 bytes
.../bin/Debug/net6.0/Images/flint.png | Bin 0 -> 3141 bytes
.../bin/Debug/net6.0/Images/flintAndSteel.png | Bin 0 -> 3166 bytes
.../bin/Debug/net6.0/Images/flower.png | Bin 0 -> 3327 bytes
.../bin/Debug/net6.0/Images/flowerPot.png | Bin 0 -> 3149 bytes
.../bin/Debug/net6.0/Images/frame.png | Bin 0 -> 3065 bytes
.../bin/Debug/net6.0/Images/furnace_front.png | Bin 0 -> 3325 bytes
.../Debug/net6.0/Images/furnace_front_lit.png | Bin 0 -> 3476 bytes
.../bin/Debug/net6.0/Images/furnace_side.png | Bin 0 -> 3368 bytes
.../bin/Debug/net6.0/Images/furnace_top.png | Bin 0 -> 3555 bytes
.../bin/Debug/net6.0/Images/ghastTear.png | Bin 0 -> 2909 bytes
.../bin/Debug/net6.0/Images/glass.png | Bin 0 -> 3027 bytes
.../bin/Debug/net6.0/Images/glassBottle.png | Bin 0 -> 3088 bytes
.../bin/Debug/net6.0/Images/goldNugget.png | Bin 0 -> 2987 bytes
.../bin/Debug/net6.0/Images/gold_ore.png | Bin 0 -> 9141 bytes
.../bin/Debug/net6.0/Images/goldenRail.png | Bin 0 -> 3363 bytes
.../net6.0/Images/goldenRail_powered.png | Bin 0 -> 3360 bytes
.../bin/Debug/net6.0/Images/grass.png | Bin 0 -> 34672 bytes
.../bin/Debug/net6.0/Images/grass_side.png | Bin 0 -> 3485 bytes
.../net6.0/Images/grass_side_overlay.png | Bin 0 -> 3315 bytes
.../bin/Debug/net6.0/Images/grass_top.png | Bin 0 -> 3325 bytes
.../bin/Debug/net6.0/Images/gravel.png | Bin 0 -> 3620 bytes
.../Debug/net6.0/Images/hatchetDiamond.png | Bin 0 -> 3146 bytes
.../bin/Debug/net6.0/Images/hatchetGold.png | Bin 0 -> 3242 bytes
.../bin/Debug/net6.0/Images/hatchetIron.png | Bin 0 -> 3044 bytes
.../bin/Debug/net6.0/Images/hatchetStone.png | Bin 0 -> 3044 bytes
.../bin/Debug/net6.0/Images/hatchetWood.png | Bin 0 -> 3030 bytes
.../bin/Debug/net6.0/Images/hellrock.png | Bin 0 -> 3575 bytes
.../bin/Debug/net6.0/Images/hellsand.png | Bin 0 -> 3393 bytes
.../bin/Debug/net6.0/Images/helmetChain.png | Bin 0 -> 3050 bytes
.../bin/Debug/net6.0/Images/helmetCloth.png | Bin 0 -> 2808 bytes
.../net6.0/Images/helmetCloth_overlay.png | Bin 0 -> 3114 bytes
.../bin/Debug/net6.0/Images/helmetDiamond.png | Bin 0 -> 3133 bytes
.../bin/Debug/net6.0/Images/helmetGold.png | Bin 0 -> 3109 bytes
.../bin/Debug/net6.0/Images/helmetIron.png | Bin 0 -> 3131 bytes
.../bin/Debug/net6.0/Images/hoeDiamond.png | Bin 0 -> 3149 bytes
.../bin/Debug/net6.0/Images/hoeGold.png | Bin 0 -> 3154 bytes
.../bin/Debug/net6.0/Images/hoeIron.png | Bin 0 -> 3038 bytes
.../bin/Debug/net6.0/Images/hoeStone.png | Bin 0 -> 3058 bytes
.../bin/Debug/net6.0/Images/hoeWood.png | Bin 0 -> 2984 bytes
.../bin/Debug/net6.0/Images/hopper.png | Bin 0 -> 3277 bytes
.../bin/Debug/net6.0/Images/hopper_inside.png | Bin 0 -> 3226 bytes
.../bin/Debug/net6.0/Images/hopper_top.png | Bin 0 -> 3039 bytes
.../bin/Debug/net6.0/Images/ice.png | Bin 0 -> 3467 bytes
.../bin/Debug/net6.0/Images/ingotGold.png | Bin 0 -> 3213 bytes
.../bin/Debug/net6.0/Images/ingotIron.png | Bin 0 -> 3144 bytes
.../bin/Debug/net6.0/Images/iron_ore.png | Bin 0 -> 8759 bytes
.../Debug/net6.0/Images/itemframe_back.png | Bin 0 -> 3308 bytes
.../bin/Debug/net6.0/Images/jukebox_top.png | Bin 0 -> 3451 bytes
.../bin/Debug/net6.0/Images/ladder.png | Bin 0 -> 3363 bytes
.../bin/Debug/net6.0/Images/lapis_block.png | Bin 0 -> 62857 bytes
.../bin/Debug/net6.0/Images/lapis_ore.png | Bin 0 -> 78737 bytes
.../bin/Debug/net6.0/Images/lava.png | Bin 0 -> 23211 bytes
.../bin/Debug/net6.0/Images/lava.txt | 0
.../bin/Debug/net6.0/Images/lava_flow.png | Bin 0 -> 18963 bytes
.../bin/Debug/net6.0/Images/lava_flow.txt | 0
.../bin/Debug/net6.0/Images/leather.png | Bin 0 -> 3154 bytes
.../bin/Debug/net6.0/Images/leaves.png | Bin 0 -> 3615 bytes
.../bin/Debug/net6.0/Images/leaves_jungle.png | Bin 0 -> 3570 bytes
.../net6.0/Images/leaves_jungle_opaque.png | Bin 0 -> 3542 bytes
.../bin/Debug/net6.0/Images/leaves_opaque.png | Bin 0 -> 3600 bytes
.../bin/Debug/net6.0/Images/leaves_spruce.png | Bin 0 -> 3288 bytes
.../net6.0/Images/leaves_spruce_opaque.png | Bin 0 -> 3265 bytes
.../bin/Debug/net6.0/Images/leggingsChain.png | Bin 0 -> 3080 bytes
.../bin/Debug/net6.0/Images/leggingsCloth.png | Bin 0 -> 2808 bytes
.../net6.0/Images/leggingsCloth_overlay.png | Bin 0 -> 2954 bytes
.../Debug/net6.0/Images/leggingsDiamond.png | Bin 0 -> 3092 bytes
.../bin/Debug/net6.0/Images/leggingsGold.png | Bin 0 -> 3047 bytes
.../bin/Debug/net6.0/Images/leggingsIron.png | Bin 0 -> 3080 bytes
.../bin/Debug/net6.0/Images/lever.png | Bin 0 -> 2887 bytes
.../bin/Debug/net6.0/Images/lightgem.png | Bin 0 -> 3645 bytes
.../bin/Debug/net6.0/Images/log.png | Bin 0 -> 5959 bytes
.../bin/Debug/net6.0/Images/magmaCream.png | Bin 0 -> 3373 bytes
.../bin/Debug/net6.0/Images/map.png | Bin 0 -> 3175 bytes
.../bin/Debug/net6.0/Images/melon.png | Bin 0 -> 3343 bytes
.../bin/Debug/net6.0/Images/melon_side.png | Bin 0 -> 3407 bytes
.../bin/Debug/net6.0/Images/melon_top.png | Bin 0 -> 3524 bytes
.../bin/Debug/net6.0/Images/milk.png | Bin 0 -> 3202 bytes
.../bin/Debug/net6.0/Images/minecart.png | Bin 0 -> 3148 bytes
.../bin/Debug/net6.0/Images/minecartChest.png | Bin 0 -> 3315 bytes
.../Debug/net6.0/Images/minecartFurnace.png | Bin 0 -> 3397 bytes
.../Debug/net6.0/Images/minecartHopper.png | Bin 0 -> 3280 bytes
.../bin/Debug/net6.0/Images/minecartTnt.png | Bin 0 -> 3304 bytes
.../bin/Debug/net6.0/Images/mobSpawner.png | Bin 0 -> 3325 bytes
.../bin/Debug/net6.0/Images/monsterPlacer.png | Bin 0 -> 3040 bytes
.../net6.0/Images/monsterPlacer_overlay.png | Bin 0 -> 3078 bytes
.../bin/Debug/net6.0/Images/mushroomStew.png | Bin 0 -> 3177 bytes
.../Debug/net6.0/Images/mushroom_brown.png | Bin 0 -> 2954 bytes
.../Debug/net6.0/Images/mushroom_inside.png | Bin 0 -> 3560 bytes
.../bin/Debug/net6.0/Images/mushroom_red.png | Bin 0 -> 2959 bytes
.../net6.0/Images/mushroom_skin_brown.png | Bin 0 -> 3341 bytes
.../Debug/net6.0/Images/mushroom_skin_red.png | Bin 0 -> 3332 bytes
.../net6.0/Images/mushroom_skin_stem.png | Bin 0 -> 3439 bytes
.../bin/Debug/net6.0/Images/musicBlock.png | Bin 0 -> 3421 bytes
.../bin/Debug/net6.0/Images/mycel_side.png | Bin 0 -> 3353 bytes
.../bin/Debug/net6.0/Images/mycel_top.png | Bin 0 -> 3167 bytes
.../bin/Debug/net6.0/Images/netherBrick.png | Bin 0 -> 3347 bytes
.../Debug/net6.0/Images/netherStalkSeeds.png | Bin 0 -> 3117 bytes
.../bin/Debug/net6.0/Images/netherStalk_0.png | Bin 0 -> 3126 bytes
.../bin/Debug/net6.0/Images/netherStalk_1.png | Bin 0 -> 3192 bytes
.../bin/Debug/net6.0/Images/netherStalk_2.png | Bin 0 -> 3347 bytes
.../bin/Debug/net6.0/Images/netherStar.png | Bin 0 -> 3428 bytes
.../bin/Debug/net6.0/Images/netherquartz.png | Bin 0 -> 3256 bytes
.../bin/Debug/net6.0/Images/obsidian.png | Bin 0 -> 441 bytes
.../Debug/net6.0/Images/offlawn.beanstalk.png | Bin 0 -> 3386 bytes
.../bin/Debug/net6.0/Images/offlawn.lawn.png | Bin 0 -> 3375 bytes
.../Images/offlawn.sunflower-bottom.png | Bin 0 -> 3390 bytes
.../net6.0/Images/offlawn.sunflower-top.png | Bin 0 -> 3284 bytes
.../net6.0/Images/offlawn.sunflowerseed.png | Bin 0 -> 3112 bytes
.../bin/Debug/net6.0/Images/oreCoal.png | Bin 0 -> 3582 bytes
.../bin/Debug/net6.0/Images/oreDiamond.png | Bin 0 -> 3635 bytes
.../bin/Debug/net6.0/Images/oreEmerald.png | Bin 0 -> 3536 bytes
.../bin/Debug/net6.0/Images/oreGold.png | Bin 0 -> 3538 bytes
.../bin/Debug/net6.0/Images/oreIron.png | Bin 0 -> 3604 bytes
.../bin/Debug/net6.0/Images/oreLapis.png | Bin 0 -> 3629 bytes
.../bin/Debug/net6.0/Images/oreRedstone.png | Bin 0 -> 3590 bytes
.../bin/Debug/net6.0/Images/painting.png | Bin 0 -> 3123 bytes
.../bin/Debug/net6.0/Images/paper.png | Bin 0 -> 3001 bytes
.../Debug/net6.0/Images/pickaxeDiamond.png | Bin 0 -> 3128 bytes
.../bin/Debug/net6.0/Images/pickaxeGold.png | Bin 0 -> 3212 bytes
.../bin/Debug/net6.0/Images/pickaxeIron.png | Bin 0 -> 3031 bytes
.../bin/Debug/net6.0/Images/pickaxeStone.png | Bin 0 -> 3045 bytes
.../bin/Debug/net6.0/Images/pickaxeWood.png | Bin 0 -> 3034 bytes
.../bin/Debug/net6.0/Images/piston_bottom.png | Bin 0 -> 3501 bytes
.../Debug/net6.0/Images/piston_inner_top.png | Bin 0 -> 3463 bytes
.../bin/Debug/net6.0/Images/piston_side.png | Bin 0 -> 3469 bytes
.../bin/Debug/net6.0/Images/piston_top.png | Bin 0 -> 3565 bytes
.../Debug/net6.0/Images/piston_top_sticky.png | Bin 0 -> 3642 bytes
.../bin/Debug/net6.0/Images/planks.png | Bin 0 -> 8294 bytes
.../Debug/net6.0/Images/porkchopCooked.png | Bin 0 -> 3215 bytes
.../bin/Debug/net6.0/Images/porkchopRaw.png | Bin 0 -> 3222 bytes
.../bin/Debug/net6.0/Images/potato.png | Bin 0 -> 3210 bytes
.../bin/Debug/net6.0/Images/potatoBaked.png | Bin 0 -> 3444 bytes
.../Debug/net6.0/Images/potatoPoisonous.png | Bin 0 -> 3336 bytes
.../bin/Debug/net6.0/Images/potatoes_0.png | Bin 0 -> 3017 bytes
.../bin/Debug/net6.0/Images/potatoes_1.png | Bin 0 -> 3119 bytes
.../bin/Debug/net6.0/Images/potatoes_2.png | Bin 0 -> 3233 bytes
.../bin/Debug/net6.0/Images/potatoes_3.png | Bin 0 -> 3314 bytes
.../bin/Debug/net6.0/Images/potion.png | Bin 0 -> 3130 bytes
.../Debug/net6.0/Images/potion_contents.png | Bin 0 -> 2908 bytes
.../bin/Debug/net6.0/Images/potion_splash.png | Bin 0 -> 3284 bytes
.../bin/Debug/net6.0/Images/pumpkinPie.png | Bin 0 -> 3223 bytes
.../bin/Debug/net6.0/Images/pumpkin_face.png | Bin 0 -> 3374 bytes
.../bin/Debug/net6.0/Images/pumpkin_jack.png | Bin 0 -> 3509 bytes
.../bin/Debug/net6.0/Images/pumpkin_side.png | Bin 0 -> 3433 bytes
.../bin/Debug/net6.0/Images/pumpkin_top.png | Bin 0 -> 3462 bytes
.../net6.0/Images/quartzblock_bottom.png | Bin 0 -> 3423 bytes
.../net6.0/Images/quartzblock_chiseled.png | Bin 0 -> 3378 bytes
.../Images/quartzblock_chiseled_top.png | Bin 0 -> 3530 bytes
.../Debug/net6.0/Images/quartzblock_lines.png | Bin 0 -> 3228 bytes
.../net6.0/Images/quartzblock_lines_top.png | Bin 0 -> 3423 bytes
.../Debug/net6.0/Images/quartzblock_side.png | Bin 0 -> 3355 bytes
.../Debug/net6.0/Images/quartzblock_top.png | Bin 0 -> 3387 bytes
.../bin/Debug/net6.0/Images/quiver.png | Bin 0 -> 3263 bytes
.../bin/Debug/net6.0/Images/rail.png | Bin 0 -> 3346 bytes
.../bin/Debug/net6.0/Images/rail_turn.png | Bin 0 -> 3379 bytes
.../bin/Debug/net6.0/Images/record_11.png | Bin 0 -> 3390 bytes
.../bin/Debug/net6.0/Images/record_13.png | Bin 0 -> 3292 bytes
.../bin/Debug/net6.0/Images/record_blocks.png | Bin 0 -> 3416 bytes
.../bin/Debug/net6.0/Images/record_cat.png | Bin 0 -> 3376 bytes
.../bin/Debug/net6.0/Images/record_chirp.png | Bin 0 -> 3370 bytes
.../bin/Debug/net6.0/Images/record_far.png | Bin 0 -> 3459 bytes
.../bin/Debug/net6.0/Images/record_mall.png | Bin 0 -> 3324 bytes
.../Debug/net6.0/Images/record_mellohi.png | Bin 0 -> 3339 bytes
.../bin/Debug/net6.0/Images/record_stal.png | Bin 0 -> 3492 bytes
.../bin/Debug/net6.0/Images/record_strad.png | Bin 0 -> 3446 bytes
.../bin/Debug/net6.0/Images/record_wait.png | Bin 0 -> 3456 bytes
.../bin/Debug/net6.0/Images/record_ward.png | Bin 0 -> 3267 bytes
.../bin/Debug/net6.0/Images/redstone.png | Bin 0 -> 3041 bytes
.../net6.0/Images/redstoneDust_cross.png | Bin 0 -> 3296 bytes
.../Images/redstoneDust_cross_overlay.png | Bin 0 -> 3487 bytes
.../Debug/net6.0/Images/redstoneDust_line.png | Bin 0 -> 2911 bytes
.../Images/redstoneDust_line_overlay.png | Bin 0 -> 3024 bytes
.../bin/Debug/net6.0/Images/redstoneLight.png | Bin 0 -> 3394 bytes
.../Debug/net6.0/Images/redstoneLight_lit.png | Bin 0 -> 3452 bytes
.../bin/Debug/net6.0/Images/redtorch.png | Bin 0 -> 2906 bytes
.../bin/Debug/net6.0/Images/redtorch_lit.png | Bin 0 -> 2924 bytes
.../bin/Debug/net6.0/Images/reeds.png | Bin 0 -> 3207 bytes
.../bin/Debug/net6.0/Images/repeater.png | Bin 0 -> 3517 bytes
.../bin/Debug/net6.0/Images/repeater_lit.png | Bin 0 -> 3505 bytes
.../bin/Debug/net6.0/Images/rose.png | Bin 0 -> 2998 bytes
.../bin/Debug/net6.0/Images/rottenFlesh.png | Bin 0 -> 3167 bytes
.../bin/Debug/net6.0/Images/ruby.png | Bin 0 -> 3035 bytes
.../bin/Debug/net6.0/Images/saddle.png | Bin 0 -> 3103 bytes
.../bin/Debug/net6.0/Images/sand.png | Bin 0 -> 3388 bytes
.../bin/Debug/net6.0/Images/sandstone.png | Bin 0 -> 8002 bytes
.../Debug/net6.0/Images/sandstone_bottom.png | Bin 0 -> 3480 bytes
.../Debug/net6.0/Images/sandstone_carved.png | Bin 0 -> 3504 bytes
.../Debug/net6.0/Images/sandstone_side.png | Bin 0 -> 3418 bytes
.../Debug/net6.0/Images/sandstone_smooth.png | Bin 0 -> 3524 bytes
.../bin/Debug/net6.0/Images/sandstone_top.png | Bin 0 -> 3480 bytes
.../bin/Debug/net6.0/Images/sapling.png | Bin 0 -> 3192 bytes
.../bin/Debug/net6.0/Images/sapling_birch.png | Bin 0 -> 3161 bytes
.../Debug/net6.0/Images/sapling_jungle.png | Bin 0 -> 3257 bytes
.../Debug/net6.0/Images/sapling_spruce.png | Bin 0 -> 3054 bytes
.../bin/Debug/net6.0/Images/seeds.png | Bin 0 -> 3014 bytes
.../bin/Debug/net6.0/Images/seeds_melon.png | Bin 0 -> 3180 bytes
.../bin/Debug/net6.0/Images/seeds_pumpkin.png | Bin 0 -> 3364 bytes
.../bin/Debug/net6.0/Images/shears.png | Bin 0 -> 3060 bytes
.../bin/Debug/net6.0/Images/shovelDiamond.png | Bin 0 -> 3114 bytes
.../bin/Debug/net6.0/Images/shovelGold.png | Bin 0 -> 3064 bytes
.../bin/Debug/net6.0/Images/shovelIron.png | Bin 0 -> 3083 bytes
.../bin/Debug/net6.0/Images/shovelStone.png | Bin 0 -> 3065 bytes
.../bin/Debug/net6.0/Images/shovelWood.png | Bin 0 -> 3034 bytes
.../bin/Debug/net6.0/Images/sign.png | Bin 0 -> 3180 bytes
.../bin/Debug/net6.0/Images/skull_char.png | Bin 0 -> 3175 bytes
.../bin/Debug/net6.0/Images/skull_creeper.png | Bin 0 -> 3207 bytes
.../Debug/net6.0/Images/skull_skeleton.png | Bin 0 -> 3231 bytes
.../bin/Debug/net6.0/Images/skull_wither.png | Bin 0 -> 3216 bytes
.../bin/Debug/net6.0/Images/skull_zombie.png | Bin 0 -> 3169 bytes
.../bin/Debug/net6.0/Images/slimeball.png | Bin 0 -> 3144 bytes
.../Debug/net6.0/Images/slot_empty_boots.png | Bin 0 -> 2890 bytes
.../net6.0/Images/slot_empty_chestplate.png | Bin 0 -> 2921 bytes
.../Debug/net6.0/Images/slot_empty_helmet.png | Bin 0 -> 2898 bytes
.../net6.0/Images/slot_empty_leggings.png | Bin 0 -> 2897 bytes
.../bin/Debug/net6.0/Images/snow.png | Bin 0 -> 3256 bytes
.../bin/Debug/net6.0/Images/snow_side.png | Bin 0 -> 3496 bytes
.../bin/Debug/net6.0/Images/snowball.png | Bin 0 -> 3128 bytes
.../bin/Debug/net6.0/Images/speckledMelon.png | Bin 0 -> 3236 bytes
.../bin/Debug/net6.0/Images/spiderEye.png | Bin 0 -> 3167 bytes
.../bin/Debug/net6.0/Images/sponge.png | Bin 0 -> 3665 bytes
.../bin/Debug/net6.0/Images/stem_bent.png | Bin 0 -> 2995 bytes
.../bin/Debug/net6.0/Images/stem_straight.png | Bin 0 -> 3012 bytes
.../bin/Debug/net6.0/Images/stick.png | Bin 0 -> 2929 bytes
.../bin/Debug/net6.0/Images/stone.png | Bin 0 -> 3541 bytes
.../bin/Debug/net6.0/Images/stoneMoss.png | Bin 0 -> 3339 bytes
.../bin/Debug/net6.0/Images/stonebrick.png | Bin 0 -> 3518 bytes
.../Debug/net6.0/Images/stonebricksmooth.png | Bin 0 -> 3536 bytes
.../net6.0/Images/stonebricksmooth_carved.png | Bin 0 -> 3526 bytes
.../Images/stonebricksmooth_cracked.png | Bin 0 -> 3642 bytes
.../net6.0/Images/stonebricksmooth_mossy.png | Bin 0 -> 3594 bytes
.../Debug/net6.0/Images/stoneslab_side.png | Bin 0 -> 3215 bytes
.../bin/Debug/net6.0/Images/stoneslab_top.png | Bin 0 -> 3215 bytes
.../bin/Debug/net6.0/Images/string.png | Bin 0 -> 3091 bytes
.../bin/Debug/net6.0/Images/sugar.png | Bin 0 -> 3204 bytes
.../bin/Debug/net6.0/Images/sulphur.png | Bin 0 -> 3155 bytes
.../bin/Debug/net6.0/Images/swordDiamond.png | Bin 0 -> 3231 bytes
.../bin/Debug/net6.0/Images/swordGold.png | Bin 0 -> 3055 bytes
.../bin/Debug/net6.0/Images/swordIron.png | Bin 0 -> 3036 bytes
.../bin/Debug/net6.0/Images/swordStone.png | Bin 0 -> 3115 bytes
.../bin/Debug/net6.0/Images/swordWood.png | Bin 0 -> 2989 bytes
.../bin/Debug/net6.0/Images/tallgrass.png | Bin 0 -> 2877 bytes
.../bin/Debug/net6.0/Images/thinglass_top.png | Bin 0 -> 2904 bytes
.../bin/Debug/net6.0/Images/tnt_bottom.png | Bin 0 -> 3433 bytes
.../bin/Debug/net6.0/Images/tnt_side.png | Bin 0 -> 3476 bytes
.../bin/Debug/net6.0/Images/tnt_top.png | Bin 0 -> 3338 bytes
.../bin/Debug/net6.0/Images/torch.png | Bin 0 -> 3024 bytes
.../bin/Debug/net6.0/Images/trapdoor.png | Bin 0 -> 3351 bytes
.../bin/Debug/net6.0/Images/tree_birch.png | Bin 0 -> 3543 bytes
.../bin/Debug/net6.0/Images/tree_jungle.png | Bin 0 -> 3580 bytes
.../bin/Debug/net6.0/Images/tree_side.png | Bin 0 -> 3459 bytes
.../bin/Debug/net6.0/Images/tree_spruce.png | Bin 0 -> 3547 bytes
.../bin/Debug/net6.0/Images/tree_top.png | Bin 0 -> 3380 bytes
.../bin/Debug/net6.0/Images/tripWire.png | Bin 0 -> 2892 bytes
.../Debug/net6.0/Images/tripWireSource.png | Bin 0 -> 2990 bytes
.../bin/Debug/net6.0/Images/vine.png | Bin 0 -> 3168 bytes
.../bin/Debug/net6.0/Images/water.png | Bin 0 -> 13475 bytes
.../bin/Debug/net6.0/Images/water.txt | 0
.../bin/Debug/net6.0/Images/water_flow.png | Bin 0 -> 16633 bytes
.../bin/Debug/net6.0/Images/water_flow.txt | 0
.../bin/Debug/net6.0/Images/waterlily.png | Bin 0 -> 3173 bytes
.../bin/Debug/net6.0/Images/web.png | Bin 0 -> 3172 bytes
.../bin/Debug/net6.0/Images/wheat.png | Bin 0 -> 3196 bytes
.../bin/Debug/net6.0/Images/whiteStone.png | Bin 0 -> 3477 bytes
.../bin/Debug/net6.0/Images/wood.png | Bin 0 -> 3315 bytes
.../bin/Debug/net6.0/Images/wood_birch.png | Bin 0 -> 3478 bytes
.../bin/Debug/net6.0/Images/wood_jungle.png | Bin 0 -> 3459 bytes
.../bin/Debug/net6.0/Images/wood_spruce.png | Bin 0 -> 3362 bytes
.../Debug/net6.0/Images/workbench_front.png | Bin 0 -> 3463 bytes
.../Debug/net6.0/Images/workbench_side.png | Bin 0 -> 3426 bytes
.../bin/Debug/net6.0/Images/workbench_top.png | Bin 0 -> 3445 bytes
.../bin/Debug/net6.0/Images/writingBook.png | Bin 0 -> 3325 bytes
.../bin/Debug/net6.0/Images/writtenBook.png | Bin 0 -> 3220 bytes
.../bin/Debug/net6.0/Images/yellowDust.png | Bin 0 -> 3177 bytes
.../bin/Debug/net6.0/Microsoft.OpenApi.dll | Bin 0 -> 173960 bytes
.../net6.0/Minecraft.Crafting.Api.deps.json | 140 +
.../Debug/net6.0/Minecraft.Crafting.Api.dll | Bin 0 -> 23552 bytes
.../Debug/net6.0/Minecraft.Crafting.Api.exe | Bin 0 -> 148992 bytes
.../Debug/net6.0/Minecraft.Crafting.Api.pdb | Bin 0 -> 25364 bytes
.../Minecraft.Crafting.Api.runtimeconfig.json | 19 +
.../bin/Debug/net6.0/Newtonsoft.Json.dll | Bin 0 -> 695336 bytes
.../net6.0/Swashbuckle.AspNetCore.Swagger.dll | Bin 0 -> 14848 bytes
.../Swashbuckle.AspNetCore.SwaggerGen.dll | Bin 0 -> 86016 bytes
.../Swashbuckle.AspNetCore.SwaggerUI.dll | Bin 0 -> 3724800 bytes
.../Debug/net6.0/appsettings.Development.json | 8 +
.../bin/Debug/net6.0/appsettings.json | 9 +
.../Container/ContainerDevelopmentMode.cache | 0
.../obj/Container/ContainerId.cache | 0
.../obj/Container/ContainerName.cache | 0
.../obj/Container/ContainerRunContext.cache | 0
...CoreApp,Version=v6.0.AssemblyAttributes.cs | 4 +
.../Minecraft.Crafting.Api.AssemblyInfo.cs | 24 +
...raft.Crafting.Api.AssemblyInfoInputs.cache | 1 +
....GeneratedMSBuildEditorConfig.editorconfig | 16 +
.../Minecraft.Crafting.Api.GlobalUsings.g.cs | 17 +
....Api.MvcApplicationPartsAssemblyInfo.cache | 0
...ing.Api.MvcApplicationPartsAssemblyInfo.cs | 17 +
.../Minecraft.Crafting.Api.assets.cache | Bin 0 -> 2671 bytes
...rafting.Api.csproj.AssemblyReference.cache | Bin 0 -> 176762 bytes
...Crafting.Api.csproj.BuildWithSkipAnalyzers | 0
...Minecraft.Crafting.Api.csproj.CopyComplete | 0
...rafting.Api.csproj.CoreCompileInputs.cache | 1 +
...t.Crafting.Api.csproj.FileListAbsolute.txt | 998 +
.../Debug/net6.0/Minecraft.Crafting.Api.dll | Bin 0 -> 23552 bytes
...ecraft.Crafting.Api.genruntimeconfig.cache | 1 +
.../Debug/net6.0/Minecraft.Crafting.Api.pdb | Bin 0 -> 25364 bytes
.../obj/Debug/net6.0/_IsIncrementalBuild | 1 +
.../obj/Debug/net6.0/apphost.exe | Bin 0 -> 148992 bytes
.../obj/Debug/net6.0/project.razor.vs.json | 1 +
.../net6.0/ref/Minecraft.Crafting.Api.dll | Bin 0 -> 12288 bytes
.../net6.0/refint/Minecraft.Crafting.Api.dll | Bin 0 -> 12288 bytes
.../Debug/net6.0/staticwebassets.build.json | 11 +
...raft.Crafting.Api.csproj.nuget.dgspec.json | 83 +
...inecraft.Crafting.Api.csproj.nuget.g.props | 25 +
...ecraft.Crafting.Api.csproj.nuget.g.targets | 7 +
.../obj/project.assets.json | 414 +
.../obj/project.nuget.cache | 17 +
.../obj/staticwebassets.pack.sentinel | 54 +
1169 files changed, 117438 insertions(+)
create mode 100644 .dockerignore
create mode 100644 .vs/BlazorTP/FileContentIndex/read.lock
create mode 100644 .vs/BlazorTP/v17/.suo
create mode 100644 .vs/VSWorkspaceState.json
create mode 100644 BlazorTP.sln
create mode 100644 BlazorTP/App.razor
create mode 100644 BlazorTP/BlazorTP.csproj
create mode 100644 BlazorTP/BlazorTP.csproj.user
create mode 100644 BlazorTP/Components/Card.razor
create mode 100644 BlazorTP/Components/Card.razor.cs
create mode 100644 BlazorTP/Components/Crafting.razor
create mode 100644 BlazorTP/Components/Crafting.razor.cs
create mode 100644 BlazorTP/Components/Crafting.razor.css
create mode 100644 BlazorTP/Components/Crafting.razor.js
create mode 100644 BlazorTP/Components/CraftingAction.cs
create mode 100644 BlazorTP/Components/CraftingItem.razor
create mode 100644 BlazorTP/Components/CraftingItem.razor.cs
create mode 100644 BlazorTP/Components/CraftingItem.razor.css
create mode 100644 BlazorTP/Components/CraftingRecipe.cs
create mode 100644 BlazorTP/Components/ShowItems.razor
create mode 100644 BlazorTP/Components/ShowItems.razor.cs
create mode 100644 BlazorTP/Controller/CultureController.cs
create mode 100644 BlazorTP/Data/WeatherForecast.cs
create mode 100644 BlazorTP/Data/WeatherForecastService.cs
create mode 100644 BlazorTP/Dockerfile
create mode 100644 BlazorTP/Factories/ItemFactory.cs
create mode 100644 BlazorTP/Modals/DeleteConfirmation.razor
create mode 100644 BlazorTP/Modals/DeleteConfirmation.razor.cs
create mode 100644 BlazorTP/Models/Cake.cs
create mode 100644 BlazorTP/Models/Item.cs
create mode 100644 BlazorTP/Models/ItemModel.cs
create mode 100644 BlazorTP/Pages/Add.razor
create mode 100644 BlazorTP/Pages/Add.razor.cs
create mode 100644 BlazorTP/Pages/BlazorRoute.razor
create mode 100644 BlazorTP/Pages/Counter.razor
create mode 100644 BlazorTP/Pages/CreateLog.razor
create mode 100644 BlazorTP/Pages/CreateLog.razor.cs
create mode 100644 BlazorTP/Pages/Edit.razor
create mode 100644 BlazorTP/Pages/Edit.razor.cs
create mode 100644 BlazorTP/Pages/Error.cshtml
create mode 100644 BlazorTP/Pages/Error.cshtml.cs
create mode 100644 BlazorTP/Pages/FetchData.razor
create mode 100644 BlazorTP/Pages/Index.razor
create mode 100644 BlazorTP/Pages/Index.razor.cs
create mode 100644 BlazorTP/Pages/List.razor
create mode 100644 BlazorTP/Pages/List.razor.cs
create mode 100644 BlazorTP/Pages/_Host.cshtml
create mode 100644 BlazorTP/Pages/_Layout.cshtml
create mode 100644 BlazorTP/Program.cs
create mode 100644 BlazorTP/Properties/launchSettings.json
create mode 100644 BlazorTP/Resources/Pages.List.Designer.cs
create mode 100644 BlazorTP/Resources/Pages.List.fr-FR.resx
create mode 100644 BlazorTP/Resources/Pages.List.resx
create mode 100644 BlazorTP/Services/DataApiService.cs
create mode 100644 BlazorTP/Services/DataLocalService.cs
create mode 100644 BlazorTP/Services/IDataService.cs
create mode 100644 BlazorTP/Shared/Config.razor
create mode 100644 BlazorTP/Shared/Config.razor.cs
create mode 100644 BlazorTP/Shared/CultureSelector.razor
create mode 100644 BlazorTP/Shared/MainLayout.razor
create mode 100644 BlazorTP/Shared/MainLayout.razor.css
create mode 100644 BlazorTP/Shared/NavMenu.razor
create mode 100644 BlazorTP/Shared/NavMenu.razor.css
create mode 100644 BlazorTP/Shared/PositionOptions.cs
create mode 100644 BlazorTP/Shared/SurveyPrompt.razor
create mode 100644 BlazorTP/_Imports.razor
create mode 100644 BlazorTP/appsettings.Development.json
create mode 100644 BlazorTP/appsettings.json
create mode 100644 BlazorTP/bin/Debug/net6.0/BlazorTP.deps.json
create mode 100644 BlazorTP/bin/Debug/net6.0/BlazorTP.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/BlazorTP.exe
create mode 100644 BlazorTP/bin/Debug/net6.0/BlazorTP.pdb
create mode 100644 BlazorTP/bin/Debug/net6.0/BlazorTP.runtimeconfig.json
create mode 100644 BlazorTP/bin/Debug/net6.0/BlazorTP.staticwebassets.runtime.json
create mode 100644 BlazorTP/bin/Debug/net6.0/Blazored.LocalStorage.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Blazored.Modal.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Blazorise.Bootstrap.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Blazorise.DataGrid.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Blazorise.Icons.FontAwesome.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Blazorise.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Web.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.AspNetCore.Components.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.Extensions.Localization.Abstractions.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.Extensions.Localization.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.Extensions.Logging.Abstractions.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.Extensions.Options.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.Extensions.Primitives.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/Microsoft.JSInterop.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/System.IO.Pipelines.dll
create mode 100644 BlazorTP/bin/Debug/net6.0/appsettings.Development.json
create mode 100644 BlazorTP/bin/Debug/net6.0/appsettings.json
create mode 100644 BlazorTP/bin/Debug/net6.0/fr-FR/BlazorTP.resources.dll
create mode 100644 BlazorTP/obj/BlazorTP.csproj.nuget.dgspec.json
create mode 100644 BlazorTP/obj/BlazorTP.csproj.nuget.g.props
create mode 100644 BlazorTP/obj/BlazorTP.csproj.nuget.g.targets
create mode 100644 BlazorTP/obj/Container/ContainerCreationResult.cache
create mode 100644 BlazorTP/obj/Container/ContainerDevelopmentMode.cache
create mode 100644 BlazorTP/obj/Container/ContainerId.cache
create mode 100644 BlazorTP/obj/Container/ContainerName.cache
create mode 100644 BlazorTP/obj/Container/ContainerOperatingSystemFlavor.cache
create mode 100644 BlazorTP/obj/Container/ContainerRunContext.cache
create mode 100644 BlazorTP/obj/Container/OperatingSystemName.cache
create mode 100644 BlazorTP/obj/Container/TargetFramework.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.AssemblyInfo.cs
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.AssemblyInfoInputs.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.GeneratedMSBuildEditorConfig.editorconfig
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.GlobalUsings.g.cs
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.MvcApplicationPartsAssemblyInfo.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.RazorAssemblyInfo.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.RazorAssemblyInfo.cs
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.Resources.Pages.List.fr-FR.resources
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.Resources.Pages.List.resources
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.assets.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.csproj.AssemblyReference.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.csproj.BuildWithSkipAnalyzers
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.csproj.CopyComplete
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.csproj.CoreCompileInputs.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.csproj.FileListAbsolute.txt
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.csproj.GenerateResource.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.dll
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.genruntimeconfig.cache
create mode 100644 BlazorTP/obj/Debug/net6.0/BlazorTP.pdb
create mode 100644 BlazorTP/obj/Debug/net6.0/TempPE/Resources.Pages.List.Designer.cs.dll
create mode 100644 BlazorTP/obj/Debug/net6.0/_IsIncrementalBuild
create mode 100644 BlazorTP/obj/Debug/net6.0/apphost.exe
create mode 100644 BlazorTP/obj/Debug/net6.0/fr-FR/BlazorTP.resources.dll
create mode 100644 BlazorTP/obj/Debug/net6.0/project.razor.vs.json
create mode 100644 BlazorTP/obj/Debug/net6.0/ref/BlazorTP.dll
create mode 100644 BlazorTP/obj/Debug/net6.0/refint/BlazorTP.dll
create mode 100644 BlazorTP/obj/Debug/net6.0/scopedcss/Components/Crafting.razor.rz.scp.css
create mode 100644 BlazorTP/obj/Debug/net6.0/scopedcss/Components/CraftingItem.razor.rz.scp.css
create mode 100644 BlazorTP/obj/Debug/net6.0/scopedcss/Shared/MainLayout.razor.rz.scp.css
create mode 100644 BlazorTP/obj/Debug/net6.0/scopedcss/Shared/NavMenu.razor.rz.scp.css
create mode 100644 BlazorTP/obj/Debug/net6.0/scopedcss/bundle/BlazorTP.styles.css
create mode 100644 BlazorTP/obj/Debug/net6.0/scopedcss/projectbundle/BlazorTP.bundle.scp.css
create mode 100644 BlazorTP/obj/Debug/net6.0/staticwebassets.build.json
create mode 100644 BlazorTP/obj/Debug/net6.0/staticwebassets.development.json
create mode 100644 BlazorTP/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.AssemblyInfo.cs
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.AssemblyInfoInputs.cache
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.GeneratedMSBuildEditorConfig.editorconfig
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.GlobalUsings.g.cs
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.RazorAssemblyInfo.cache
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.RazorAssemblyInfo.cs
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.assets.cache
create mode 100644 BlazorTP/obj/Release/net6.0/BlazorTP.csproj.AssemblyReference.cache
create mode 100644 BlazorTP/obj/project.assets.json
create mode 100644 BlazorTP/obj/project.nuget.cache
create mode 100644 BlazorTP/obj/staticwebassets.pack.sentinel
create mode 100644 BlazorTP/wwwroot/css/bootstrap/bootstrap.min.css
create mode 100644 BlazorTP/wwwroot/css/bootstrap/bootstrap.min.css.map
create mode 100644 BlazorTP/wwwroot/css/open-iconic/FONT-LICENSE
create mode 100644 BlazorTP/wwwroot/css/open-iconic/ICON-LICENSE
create mode 100644 BlazorTP/wwwroot/css/open-iconic/README.md
create mode 100644 BlazorTP/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
create mode 100644 BlazorTP/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
create mode 100644 BlazorTP/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
create mode 100644 BlazorTP/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
create mode 100644 BlazorTP/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
create mode 100644 BlazorTP/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
create mode 100644 BlazorTP/wwwroot/css/site.css
create mode 100644 BlazorTP/wwwroot/fake-data.json
create mode 100644 BlazorTP/wwwroot/favicon.ico
create mode 100644 BlazorTP/wwwroot/images/barbapapa.png
create mode 100644 BlazorTP/wwwroot/images/default.png
create mode 100644 Minecraft.Crafting.Api/Controllers/CraftingController.cs
create mode 100644 Minecraft.Crafting.Api/Controllers/InventoryController.cs
create mode 100644 Minecraft.Crafting.Api/Data/convert-recipes.json
create mode 100644 Minecraft.Crafting.Api/Data/items-original.json
create mode 100644 Minecraft.Crafting.Api/Data/items.json
create mode 100644 Minecraft.Crafting.Api/Data/recipes.json
create mode 100644 Minecraft.Crafting.Api/Dockerfile
create mode 100644 Minecraft.Crafting.Api/Images/activatorRail.png
create mode 100644 Minecraft.Crafting.Api/Images/activatorRail_powered.png
create mode 100644 Minecraft.Crafting.Api/Images/anvil_base.png
create mode 100644 Minecraft.Crafting.Api/Images/anvil_top.png
create mode 100644 Minecraft.Crafting.Api/Images/anvil_top_damaged_1.png
create mode 100644 Minecraft.Crafting.Api/Images/anvil_top_damaged_2.png
create mode 100644 Minecraft.Crafting.Api/Images/apple.png
create mode 100644 Minecraft.Crafting.Api/Images/appleGold.png
create mode 100644 Minecraft.Crafting.Api/Images/arrow.png
create mode 100644 Minecraft.Crafting.Api/Images/beacon.png
create mode 100644 Minecraft.Crafting.Api/Images/bed.png
create mode 100644 Minecraft.Crafting.Api/Images/bed_feet_end.png
create mode 100644 Minecraft.Crafting.Api/Images/bed_feet_side.png
create mode 100644 Minecraft.Crafting.Api/Images/bed_feet_top.png
create mode 100644 Minecraft.Crafting.Api/Images/bed_head_end.png
create mode 100644 Minecraft.Crafting.Api/Images/bed_head_side.png
create mode 100644 Minecraft.Crafting.Api/Images/bed_head_top.png
create mode 100644 Minecraft.Crafting.Api/Images/bedrock.png
create mode 100644 Minecraft.Crafting.Api/Images/beefCooked.png
create mode 100644 Minecraft.Crafting.Api/Images/beefRaw.png
create mode 100644 Minecraft.Crafting.Api/Images/blazePowder.png
create mode 100644 Minecraft.Crafting.Api/Images/blazeRod.png
create mode 100644 Minecraft.Crafting.Api/Images/blockDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/blockEmerald.png
create mode 100644 Minecraft.Crafting.Api/Images/blockGold.png
create mode 100644 Minecraft.Crafting.Api/Images/blockIron.png
create mode 100644 Minecraft.Crafting.Api/Images/blockLapis.png
create mode 100644 Minecraft.Crafting.Api/Images/blockRedstone.png
create mode 100644 Minecraft.Crafting.Api/Images/boat.png
create mode 100644 Minecraft.Crafting.Api/Images/bone.png
create mode 100644 Minecraft.Crafting.Api/Images/book.png
create mode 100644 Minecraft.Crafting.Api/Images/bookshelf.png
create mode 100644 Minecraft.Crafting.Api/Images/bootsChain.png
create mode 100644 Minecraft.Crafting.Api/Images/bootsCloth.png
create mode 100644 Minecraft.Crafting.Api/Images/bootsCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/bootsDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/bootsGold.png
create mode 100644 Minecraft.Crafting.Api/Images/bootsIron.png
create mode 100644 Minecraft.Crafting.Api/Images/bow.png
create mode 100644 Minecraft.Crafting.Api/Images/bow_pull_0.png
create mode 100644 Minecraft.Crafting.Api/Images/bow_pull_1.png
create mode 100644 Minecraft.Crafting.Api/Images/bow_pull_2.png
create mode 100644 Minecraft.Crafting.Api/Images/bowl.png
create mode 100644 Minecraft.Crafting.Api/Images/bread.png
create mode 100644 Minecraft.Crafting.Api/Images/brewingStand.png
create mode 100644 Minecraft.Crafting.Api/Images/brewingStand_base.png
create mode 100644 Minecraft.Crafting.Api/Images/brick.png
create mode 100644 Minecraft.Crafting.Api/Images/bucket.png
create mode 100644 Minecraft.Crafting.Api/Images/bucketLava.png
create mode 100644 Minecraft.Crafting.Api/Images/bucketWater.png
create mode 100644 Minecraft.Crafting.Api/Images/cactus_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/cactus_side.png
create mode 100644 Minecraft.Crafting.Api/Images/cactus_top.png
create mode 100644 Minecraft.Crafting.Api/Images/cake.png
create mode 100644 Minecraft.Crafting.Api/Images/cake_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/cake_inner.png
create mode 100644 Minecraft.Crafting.Api/Images/cake_side.png
create mode 100644 Minecraft.Crafting.Api/Images/cake_top.png
create mode 100644 Minecraft.Crafting.Api/Images/carrotGolden.png
create mode 100644 Minecraft.Crafting.Api/Images/carrotOnAStick.png
create mode 100644 Minecraft.Crafting.Api/Images/carrots.png
create mode 100644 Minecraft.Crafting.Api/Images/carrots_0.png
create mode 100644 Minecraft.Crafting.Api/Images/carrots_1.png
create mode 100644 Minecraft.Crafting.Api/Images/carrots_2.png
create mode 100644 Minecraft.Crafting.Api/Images/carrots_3.png
create mode 100644 Minecraft.Crafting.Api/Images/cauldron.png
create mode 100644 Minecraft.Crafting.Api/Images/cauldron_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/cauldron_inner.png
create mode 100644 Minecraft.Crafting.Api/Images/cauldron_side.png
create mode 100644 Minecraft.Crafting.Api/Images/cauldron_top.png
create mode 100644 Minecraft.Crafting.Api/Images/chestplateChain.png
create mode 100644 Minecraft.Crafting.Api/Images/chestplateCloth.png
create mode 100644 Minecraft.Crafting.Api/Images/chestplateCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/chestplateDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/chestplateGold.png
create mode 100644 Minecraft.Crafting.Api/Images/chestplateIron.png
create mode 100644 Minecraft.Crafting.Api/Images/chickenCooked.png
create mode 100644 Minecraft.Crafting.Api/Images/chickenRaw.png
create mode 100644 Minecraft.Crafting.Api/Images/clay.png
create mode 100644 Minecraft.Crafting.Api/Images/clock.png
create mode 100644 Minecraft.Crafting.Api/Images/clock.txt
create mode 100644 Minecraft.Crafting.Api/Images/cloth_0.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_1.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_10.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_11.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_12.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_13.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_14.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_15.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_2.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_3.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_4.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_5.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_6.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_7.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_8.png
create mode 100644 Minecraft.Crafting.Api/Images/cloth_9.png
create mode 100644 Minecraft.Crafting.Api/Images/coal.png
create mode 100644 Minecraft.Crafting.Api/Images/coal_ore.png
create mode 100644 Minecraft.Crafting.Api/Images/cobblestone.png
create mode 100644 Minecraft.Crafting.Api/Images/cocoa_0.png
create mode 100644 Minecraft.Crafting.Api/Images/cocoa_1.png
create mode 100644 Minecraft.Crafting.Api/Images/cocoa_2.png
create mode 100644 Minecraft.Crafting.Api/Images/commandBlock.png
create mode 100644 Minecraft.Crafting.Api/Images/comparator.png
create mode 100644 Minecraft.Crafting.Api/Images/comparator_lit.png
create mode 100644 Minecraft.Crafting.Api/Images/compass.png
create mode 100644 Minecraft.Crafting.Api/Images/compass.txt
create mode 100644 Minecraft.Crafting.Api/Images/cookie.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_0.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_1.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_2.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_3.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_4.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_5.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_6.png
create mode 100644 Minecraft.Crafting.Api/Images/crops_7.png
create mode 100644 Minecraft.Crafting.Api/Images/daylightDetector_side.png
create mode 100644 Minecraft.Crafting.Api/Images/daylightDetector_top.png
create mode 100644 Minecraft.Crafting.Api/Images/deadbush.png
create mode 100644 Minecraft.Crafting.Api/Images/default.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_0.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_1.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_2.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_3.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_4.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_5.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_6.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_7.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_8.png
create mode 100644 Minecraft.Crafting.Api/Images/destroy_9.png
create mode 100644 Minecraft.Crafting.Api/Images/detectorRail.png
create mode 100644 Minecraft.Crafting.Api/Images/diamond.png
create mode 100644 Minecraft.Crafting.Api/Images/diode.png
create mode 100644 Minecraft.Crafting.Api/Images/dirt.png
create mode 100644 Minecraft.Crafting.Api/Images/dispenser.png
create mode 100644 Minecraft.Crafting.Api/Images/dispenser_front.png
create mode 100644 Minecraft.Crafting.Api/Images/dispenser_front_vertical.png
create mode 100644 Minecraft.Crafting.Api/Images/doorIron.png
create mode 100644 Minecraft.Crafting.Api/Images/doorIron_lower.png
create mode 100644 Minecraft.Crafting.Api/Images/doorIron_upper.png
create mode 100644 Minecraft.Crafting.Api/Images/doorWood.png
create mode 100644 Minecraft.Crafting.Api/Images/doorWood_lower.png
create mode 100644 Minecraft.Crafting.Api/Images/doorWood_upper.png
create mode 100644 Minecraft.Crafting.Api/Images/dragonEgg.png
create mode 100644 Minecraft.Crafting.Api/Images/dropper_front.png
create mode 100644 Minecraft.Crafting.Api/Images/dropper_front_vertical.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_black.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_blue.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_brown.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_cyan.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_gray.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_green.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_lightBlue.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_lime.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_magenta.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_orange.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_pink.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_purple.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_red.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_silver.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_white.png
create mode 100644 Minecraft.Crafting.Api/Images/dyePowder_yellow.png
create mode 100644 Minecraft.Crafting.Api/Images/egg.png
create mode 100644 Minecraft.Crafting.Api/Images/emerald.png
create mode 100644 Minecraft.Crafting.Api/Images/emptyMap.png
create mode 100644 Minecraft.Crafting.Api/Images/enchantedBook.png
create mode 100644 Minecraft.Crafting.Api/Images/enchantment_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/enchantment_side.png
create mode 100644 Minecraft.Crafting.Api/Images/enchantment_top.png
create mode 100644 Minecraft.Crafting.Api/Images/enderPearl.png
create mode 100644 Minecraft.Crafting.Api/Images/endframe_eye.png
create mode 100644 Minecraft.Crafting.Api/Images/endframe_side.png
create mode 100644 Minecraft.Crafting.Api/Images/endframe_top.png
create mode 100644 Minecraft.Crafting.Api/Images/expBottle.png
create mode 100644 Minecraft.Crafting.Api/Images/eyeOfEnder.png
create mode 100644 Minecraft.Crafting.Api/Images/farmland_dry.png
create mode 100644 Minecraft.Crafting.Api/Images/farmland_wet.png
create mode 100644 Minecraft.Crafting.Api/Images/feather.png
create mode 100644 Minecraft.Crafting.Api/Images/fenceIron.png
create mode 100644 Minecraft.Crafting.Api/Images/fermentedSpiderEye.png
create mode 100644 Minecraft.Crafting.Api/Images/fern.png
create mode 100644 Minecraft.Crafting.Api/Images/fire_0.png
create mode 100644 Minecraft.Crafting.Api/Images/fire_0.txt
create mode 100644 Minecraft.Crafting.Api/Images/fire_1.png
create mode 100644 Minecraft.Crafting.Api/Images/fire_1.txt
create mode 100644 Minecraft.Crafting.Api/Images/fireball.png
create mode 100644 Minecraft.Crafting.Api/Images/fireworks.png
create mode 100644 Minecraft.Crafting.Api/Images/fireworksCharge.png
create mode 100644 Minecraft.Crafting.Api/Images/fireworksCharge_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/fishCooked.png
create mode 100644 Minecraft.Crafting.Api/Images/fishRaw.png
create mode 100644 Minecraft.Crafting.Api/Images/fishingRod.png
create mode 100644 Minecraft.Crafting.Api/Images/fishingRod_empty.png
create mode 100644 Minecraft.Crafting.Api/Images/flint.png
create mode 100644 Minecraft.Crafting.Api/Images/flintAndSteel.png
create mode 100644 Minecraft.Crafting.Api/Images/flower.png
create mode 100644 Minecraft.Crafting.Api/Images/flowerPot.png
create mode 100644 Minecraft.Crafting.Api/Images/frame.png
create mode 100644 Minecraft.Crafting.Api/Images/furnace_front.png
create mode 100644 Minecraft.Crafting.Api/Images/furnace_front_lit.png
create mode 100644 Minecraft.Crafting.Api/Images/furnace_side.png
create mode 100644 Minecraft.Crafting.Api/Images/furnace_top.png
create mode 100644 Minecraft.Crafting.Api/Images/ghastTear.png
create mode 100644 Minecraft.Crafting.Api/Images/glass.png
create mode 100644 Minecraft.Crafting.Api/Images/glassBottle.png
create mode 100644 Minecraft.Crafting.Api/Images/goldNugget.png
create mode 100644 Minecraft.Crafting.Api/Images/gold_ore.png
create mode 100644 Minecraft.Crafting.Api/Images/goldenRail.png
create mode 100644 Minecraft.Crafting.Api/Images/goldenRail_powered.png
create mode 100644 Minecraft.Crafting.Api/Images/grass.png
create mode 100644 Minecraft.Crafting.Api/Images/grass_side.png
create mode 100644 Minecraft.Crafting.Api/Images/grass_side_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/grass_top.png
create mode 100644 Minecraft.Crafting.Api/Images/gravel.png
create mode 100644 Minecraft.Crafting.Api/Images/hatchetDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/hatchetGold.png
create mode 100644 Minecraft.Crafting.Api/Images/hatchetIron.png
create mode 100644 Minecraft.Crafting.Api/Images/hatchetStone.png
create mode 100644 Minecraft.Crafting.Api/Images/hatchetWood.png
create mode 100644 Minecraft.Crafting.Api/Images/hellrock.png
create mode 100644 Minecraft.Crafting.Api/Images/hellsand.png
create mode 100644 Minecraft.Crafting.Api/Images/helmetChain.png
create mode 100644 Minecraft.Crafting.Api/Images/helmetCloth.png
create mode 100644 Minecraft.Crafting.Api/Images/helmetCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/helmetDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/helmetGold.png
create mode 100644 Minecraft.Crafting.Api/Images/helmetIron.png
create mode 100644 Minecraft.Crafting.Api/Images/hoeDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/hoeGold.png
create mode 100644 Minecraft.Crafting.Api/Images/hoeIron.png
create mode 100644 Minecraft.Crafting.Api/Images/hoeStone.png
create mode 100644 Minecraft.Crafting.Api/Images/hoeWood.png
create mode 100644 Minecraft.Crafting.Api/Images/hopper.png
create mode 100644 Minecraft.Crafting.Api/Images/hopper_inside.png
create mode 100644 Minecraft.Crafting.Api/Images/hopper_top.png
create mode 100644 Minecraft.Crafting.Api/Images/ice.png
create mode 100644 Minecraft.Crafting.Api/Images/ingotGold.png
create mode 100644 Minecraft.Crafting.Api/Images/ingotIron.png
create mode 100644 Minecraft.Crafting.Api/Images/iron_ore.png
create mode 100644 Minecraft.Crafting.Api/Images/itemframe_back.png
create mode 100644 Minecraft.Crafting.Api/Images/jukebox_top.png
create mode 100644 Minecraft.Crafting.Api/Images/ladder.png
create mode 100644 Minecraft.Crafting.Api/Images/lapis_block.png
create mode 100644 Minecraft.Crafting.Api/Images/lapis_ore.png
create mode 100644 Minecraft.Crafting.Api/Images/lava.png
create mode 100644 Minecraft.Crafting.Api/Images/lava.txt
create mode 100644 Minecraft.Crafting.Api/Images/lava_flow.png
create mode 100644 Minecraft.Crafting.Api/Images/lava_flow.txt
create mode 100644 Minecraft.Crafting.Api/Images/leather.png
create mode 100644 Minecraft.Crafting.Api/Images/leaves.png
create mode 100644 Minecraft.Crafting.Api/Images/leaves_jungle.png
create mode 100644 Minecraft.Crafting.Api/Images/leaves_jungle_opaque.png
create mode 100644 Minecraft.Crafting.Api/Images/leaves_opaque.png
create mode 100644 Minecraft.Crafting.Api/Images/leaves_spruce.png
create mode 100644 Minecraft.Crafting.Api/Images/leaves_spruce_opaque.png
create mode 100644 Minecraft.Crafting.Api/Images/leggingsChain.png
create mode 100644 Minecraft.Crafting.Api/Images/leggingsCloth.png
create mode 100644 Minecraft.Crafting.Api/Images/leggingsCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/leggingsDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/leggingsGold.png
create mode 100644 Minecraft.Crafting.Api/Images/leggingsIron.png
create mode 100644 Minecraft.Crafting.Api/Images/lever.png
create mode 100644 Minecraft.Crafting.Api/Images/lightgem.png
create mode 100644 Minecraft.Crafting.Api/Images/log.png
create mode 100644 Minecraft.Crafting.Api/Images/magmaCream.png
create mode 100644 Minecraft.Crafting.Api/Images/map.png
create mode 100644 Minecraft.Crafting.Api/Images/melon.png
create mode 100644 Minecraft.Crafting.Api/Images/melon_side.png
create mode 100644 Minecraft.Crafting.Api/Images/melon_top.png
create mode 100644 Minecraft.Crafting.Api/Images/milk.png
create mode 100644 Minecraft.Crafting.Api/Images/minecart.png
create mode 100644 Minecraft.Crafting.Api/Images/minecartChest.png
create mode 100644 Minecraft.Crafting.Api/Images/minecartFurnace.png
create mode 100644 Minecraft.Crafting.Api/Images/minecartHopper.png
create mode 100644 Minecraft.Crafting.Api/Images/minecartTnt.png
create mode 100644 Minecraft.Crafting.Api/Images/mobSpawner.png
create mode 100644 Minecraft.Crafting.Api/Images/monsterPlacer.png
create mode 100644 Minecraft.Crafting.Api/Images/monsterPlacer_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/mushroomStew.png
create mode 100644 Minecraft.Crafting.Api/Images/mushroom_brown.png
create mode 100644 Minecraft.Crafting.Api/Images/mushroom_inside.png
create mode 100644 Minecraft.Crafting.Api/Images/mushroom_red.png
create mode 100644 Minecraft.Crafting.Api/Images/mushroom_skin_brown.png
create mode 100644 Minecraft.Crafting.Api/Images/mushroom_skin_red.png
create mode 100644 Minecraft.Crafting.Api/Images/mushroom_skin_stem.png
create mode 100644 Minecraft.Crafting.Api/Images/musicBlock.png
create mode 100644 Minecraft.Crafting.Api/Images/mycel_side.png
create mode 100644 Minecraft.Crafting.Api/Images/mycel_top.png
create mode 100644 Minecraft.Crafting.Api/Images/netherBrick.png
create mode 100644 Minecraft.Crafting.Api/Images/netherStalkSeeds.png
create mode 100644 Minecraft.Crafting.Api/Images/netherStalk_0.png
create mode 100644 Minecraft.Crafting.Api/Images/netherStalk_1.png
create mode 100644 Minecraft.Crafting.Api/Images/netherStalk_2.png
create mode 100644 Minecraft.Crafting.Api/Images/netherStar.png
create mode 100644 Minecraft.Crafting.Api/Images/netherquartz.png
create mode 100644 Minecraft.Crafting.Api/Images/obsidian.png
create mode 100644 Minecraft.Crafting.Api/Images/offlawn.beanstalk.png
create mode 100644 Minecraft.Crafting.Api/Images/offlawn.lawn.png
create mode 100644 Minecraft.Crafting.Api/Images/offlawn.sunflower-bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/offlawn.sunflower-top.png
create mode 100644 Minecraft.Crafting.Api/Images/offlawn.sunflowerseed.png
create mode 100644 Minecraft.Crafting.Api/Images/oreCoal.png
create mode 100644 Minecraft.Crafting.Api/Images/oreDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/oreEmerald.png
create mode 100644 Minecraft.Crafting.Api/Images/oreGold.png
create mode 100644 Minecraft.Crafting.Api/Images/oreIron.png
create mode 100644 Minecraft.Crafting.Api/Images/oreLapis.png
create mode 100644 Minecraft.Crafting.Api/Images/oreRedstone.png
create mode 100644 Minecraft.Crafting.Api/Images/painting.png
create mode 100644 Minecraft.Crafting.Api/Images/paper.png
create mode 100644 Minecraft.Crafting.Api/Images/pickaxeDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/pickaxeGold.png
create mode 100644 Minecraft.Crafting.Api/Images/pickaxeIron.png
create mode 100644 Minecraft.Crafting.Api/Images/pickaxeStone.png
create mode 100644 Minecraft.Crafting.Api/Images/pickaxeWood.png
create mode 100644 Minecraft.Crafting.Api/Images/piston_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/piston_inner_top.png
create mode 100644 Minecraft.Crafting.Api/Images/piston_side.png
create mode 100644 Minecraft.Crafting.Api/Images/piston_top.png
create mode 100644 Minecraft.Crafting.Api/Images/piston_top_sticky.png
create mode 100644 Minecraft.Crafting.Api/Images/planks.png
create mode 100644 Minecraft.Crafting.Api/Images/porkchopCooked.png
create mode 100644 Minecraft.Crafting.Api/Images/porkchopRaw.png
create mode 100644 Minecraft.Crafting.Api/Images/potato.png
create mode 100644 Minecraft.Crafting.Api/Images/potatoBaked.png
create mode 100644 Minecraft.Crafting.Api/Images/potatoPoisonous.png
create mode 100644 Minecraft.Crafting.Api/Images/potatoes_0.png
create mode 100644 Minecraft.Crafting.Api/Images/potatoes_1.png
create mode 100644 Minecraft.Crafting.Api/Images/potatoes_2.png
create mode 100644 Minecraft.Crafting.Api/Images/potatoes_3.png
create mode 100644 Minecraft.Crafting.Api/Images/potion.png
create mode 100644 Minecraft.Crafting.Api/Images/potion_contents.png
create mode 100644 Minecraft.Crafting.Api/Images/potion_splash.png
create mode 100644 Minecraft.Crafting.Api/Images/pumpkinPie.png
create mode 100644 Minecraft.Crafting.Api/Images/pumpkin_face.png
create mode 100644 Minecraft.Crafting.Api/Images/pumpkin_jack.png
create mode 100644 Minecraft.Crafting.Api/Images/pumpkin_side.png
create mode 100644 Minecraft.Crafting.Api/Images/pumpkin_top.png
create mode 100644 Minecraft.Crafting.Api/Images/quartzblock_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/quartzblock_chiseled.png
create mode 100644 Minecraft.Crafting.Api/Images/quartzblock_chiseled_top.png
create mode 100644 Minecraft.Crafting.Api/Images/quartzblock_lines.png
create mode 100644 Minecraft.Crafting.Api/Images/quartzblock_lines_top.png
create mode 100644 Minecraft.Crafting.Api/Images/quartzblock_side.png
create mode 100644 Minecraft.Crafting.Api/Images/quartzblock_top.png
create mode 100644 Minecraft.Crafting.Api/Images/quiver.png
create mode 100644 Minecraft.Crafting.Api/Images/rail.png
create mode 100644 Minecraft.Crafting.Api/Images/rail_turn.png
create mode 100644 Minecraft.Crafting.Api/Images/record_11.png
create mode 100644 Minecraft.Crafting.Api/Images/record_13.png
create mode 100644 Minecraft.Crafting.Api/Images/record_blocks.png
create mode 100644 Minecraft.Crafting.Api/Images/record_cat.png
create mode 100644 Minecraft.Crafting.Api/Images/record_chirp.png
create mode 100644 Minecraft.Crafting.Api/Images/record_far.png
create mode 100644 Minecraft.Crafting.Api/Images/record_mall.png
create mode 100644 Minecraft.Crafting.Api/Images/record_mellohi.png
create mode 100644 Minecraft.Crafting.Api/Images/record_stal.png
create mode 100644 Minecraft.Crafting.Api/Images/record_strad.png
create mode 100644 Minecraft.Crafting.Api/Images/record_wait.png
create mode 100644 Minecraft.Crafting.Api/Images/record_ward.png
create mode 100644 Minecraft.Crafting.Api/Images/redstone.png
create mode 100644 Minecraft.Crafting.Api/Images/redstoneDust_cross.png
create mode 100644 Minecraft.Crafting.Api/Images/redstoneDust_cross_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/redstoneDust_line.png
create mode 100644 Minecraft.Crafting.Api/Images/redstoneDust_line_overlay.png
create mode 100644 Minecraft.Crafting.Api/Images/redstoneLight.png
create mode 100644 Minecraft.Crafting.Api/Images/redstoneLight_lit.png
create mode 100644 Minecraft.Crafting.Api/Images/redtorch.png
create mode 100644 Minecraft.Crafting.Api/Images/redtorch_lit.png
create mode 100644 Minecraft.Crafting.Api/Images/reeds.png
create mode 100644 Minecraft.Crafting.Api/Images/repeater.png
create mode 100644 Minecraft.Crafting.Api/Images/repeater_lit.png
create mode 100644 Minecraft.Crafting.Api/Images/rose.png
create mode 100644 Minecraft.Crafting.Api/Images/rottenFlesh.png
create mode 100644 Minecraft.Crafting.Api/Images/ruby.png
create mode 100644 Minecraft.Crafting.Api/Images/saddle.png
create mode 100644 Minecraft.Crafting.Api/Images/sand.png
create mode 100644 Minecraft.Crafting.Api/Images/sandstone.png
create mode 100644 Minecraft.Crafting.Api/Images/sandstone_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/sandstone_carved.png
create mode 100644 Minecraft.Crafting.Api/Images/sandstone_side.png
create mode 100644 Minecraft.Crafting.Api/Images/sandstone_smooth.png
create mode 100644 Minecraft.Crafting.Api/Images/sandstone_top.png
create mode 100644 Minecraft.Crafting.Api/Images/sapling.png
create mode 100644 Minecraft.Crafting.Api/Images/sapling_birch.png
create mode 100644 Minecraft.Crafting.Api/Images/sapling_jungle.png
create mode 100644 Minecraft.Crafting.Api/Images/sapling_spruce.png
create mode 100644 Minecraft.Crafting.Api/Images/seeds.png
create mode 100644 Minecraft.Crafting.Api/Images/seeds_melon.png
create mode 100644 Minecraft.Crafting.Api/Images/seeds_pumpkin.png
create mode 100644 Minecraft.Crafting.Api/Images/shears.png
create mode 100644 Minecraft.Crafting.Api/Images/shovelDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/shovelGold.png
create mode 100644 Minecraft.Crafting.Api/Images/shovelIron.png
create mode 100644 Minecraft.Crafting.Api/Images/shovelStone.png
create mode 100644 Minecraft.Crafting.Api/Images/shovelWood.png
create mode 100644 Minecraft.Crafting.Api/Images/sign.png
create mode 100644 Minecraft.Crafting.Api/Images/skull_char.png
create mode 100644 Minecraft.Crafting.Api/Images/skull_creeper.png
create mode 100644 Minecraft.Crafting.Api/Images/skull_skeleton.png
create mode 100644 Minecraft.Crafting.Api/Images/skull_wither.png
create mode 100644 Minecraft.Crafting.Api/Images/skull_zombie.png
create mode 100644 Minecraft.Crafting.Api/Images/slimeball.png
create mode 100644 Minecraft.Crafting.Api/Images/slot_empty_boots.png
create mode 100644 Minecraft.Crafting.Api/Images/slot_empty_chestplate.png
create mode 100644 Minecraft.Crafting.Api/Images/slot_empty_helmet.png
create mode 100644 Minecraft.Crafting.Api/Images/slot_empty_leggings.png
create mode 100644 Minecraft.Crafting.Api/Images/snow.png
create mode 100644 Minecraft.Crafting.Api/Images/snow_side.png
create mode 100644 Minecraft.Crafting.Api/Images/snowball.png
create mode 100644 Minecraft.Crafting.Api/Images/speckledMelon.png
create mode 100644 Minecraft.Crafting.Api/Images/spiderEye.png
create mode 100644 Minecraft.Crafting.Api/Images/sponge.png
create mode 100644 Minecraft.Crafting.Api/Images/stem_bent.png
create mode 100644 Minecraft.Crafting.Api/Images/stem_straight.png
create mode 100644 Minecraft.Crafting.Api/Images/stick.png
create mode 100644 Minecraft.Crafting.Api/Images/stone.png
create mode 100644 Minecraft.Crafting.Api/Images/stoneMoss.png
create mode 100644 Minecraft.Crafting.Api/Images/stonebrick.png
create mode 100644 Minecraft.Crafting.Api/Images/stonebricksmooth.png
create mode 100644 Minecraft.Crafting.Api/Images/stonebricksmooth_carved.png
create mode 100644 Minecraft.Crafting.Api/Images/stonebricksmooth_cracked.png
create mode 100644 Minecraft.Crafting.Api/Images/stonebricksmooth_mossy.png
create mode 100644 Minecraft.Crafting.Api/Images/stoneslab_side.png
create mode 100644 Minecraft.Crafting.Api/Images/stoneslab_top.png
create mode 100644 Minecraft.Crafting.Api/Images/string.png
create mode 100644 Minecraft.Crafting.Api/Images/sugar.png
create mode 100644 Minecraft.Crafting.Api/Images/sulphur.png
create mode 100644 Minecraft.Crafting.Api/Images/swordDiamond.png
create mode 100644 Minecraft.Crafting.Api/Images/swordGold.png
create mode 100644 Minecraft.Crafting.Api/Images/swordIron.png
create mode 100644 Minecraft.Crafting.Api/Images/swordStone.png
create mode 100644 Minecraft.Crafting.Api/Images/swordWood.png
create mode 100644 Minecraft.Crafting.Api/Images/tallgrass.png
create mode 100644 Minecraft.Crafting.Api/Images/thinglass_top.png
create mode 100644 Minecraft.Crafting.Api/Images/tnt_bottom.png
create mode 100644 Minecraft.Crafting.Api/Images/tnt_side.png
create mode 100644 Minecraft.Crafting.Api/Images/tnt_top.png
create mode 100644 Minecraft.Crafting.Api/Images/torch.png
create mode 100644 Minecraft.Crafting.Api/Images/trapdoor.png
create mode 100644 Minecraft.Crafting.Api/Images/tree_birch.png
create mode 100644 Minecraft.Crafting.Api/Images/tree_jungle.png
create mode 100644 Minecraft.Crafting.Api/Images/tree_side.png
create mode 100644 Minecraft.Crafting.Api/Images/tree_spruce.png
create mode 100644 Minecraft.Crafting.Api/Images/tree_top.png
create mode 100644 Minecraft.Crafting.Api/Images/tripWire.png
create mode 100644 Minecraft.Crafting.Api/Images/tripWireSource.png
create mode 100644 Minecraft.Crafting.Api/Images/vine.png
create mode 100644 Minecraft.Crafting.Api/Images/water.png
create mode 100644 Minecraft.Crafting.Api/Images/water.txt
create mode 100644 Minecraft.Crafting.Api/Images/water_flow.png
create mode 100644 Minecraft.Crafting.Api/Images/water_flow.txt
create mode 100644 Minecraft.Crafting.Api/Images/waterlily.png
create mode 100644 Minecraft.Crafting.Api/Images/web.png
create mode 100644 Minecraft.Crafting.Api/Images/wheat.png
create mode 100644 Minecraft.Crafting.Api/Images/whiteStone.png
create mode 100644 Minecraft.Crafting.Api/Images/wood.png
create mode 100644 Minecraft.Crafting.Api/Images/wood_birch.png
create mode 100644 Minecraft.Crafting.Api/Images/wood_jungle.png
create mode 100644 Minecraft.Crafting.Api/Images/wood_spruce.png
create mode 100644 Minecraft.Crafting.Api/Images/workbench_front.png
create mode 100644 Minecraft.Crafting.Api/Images/workbench_side.png
create mode 100644 Minecraft.Crafting.Api/Images/workbench_top.png
create mode 100644 Minecraft.Crafting.Api/Images/writingBook.png
create mode 100644 Minecraft.Crafting.Api/Images/writtenBook.png
create mode 100644 Minecraft.Crafting.Api/Images/yellowDust.png
create mode 100644 Minecraft.Crafting.Api/Minecraft.Crafting.Api.csproj
create mode 100644 Minecraft.Crafting.Api/Models/InventoryModel.cs
create mode 100644 Minecraft.Crafting.Api/Models/Item.cs
create mode 100644 Minecraft.Crafting.Api/Models/Recipe.cs
create mode 100644 Minecraft.Crafting.Api/Program.cs
create mode 100644 Minecraft.Crafting.Api/Properties/launchSettings.json
create mode 100644 Minecraft.Crafting.Api/RecipeConverter.cs
create mode 100644 Minecraft.Crafting.Api/appsettings.Development.json
create mode 100644 Minecraft.Crafting.Api/appsettings.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Data/convert-recipes.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Data/items-original.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Data/items.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Data/recipes.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/activatorRail.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/activatorRail_powered.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/anvil_base.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/anvil_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/anvil_top_damaged_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/anvil_top_damaged_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/apple.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/appleGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/arrow.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/beacon.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bed.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bed_feet_end.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bed_feet_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bed_feet_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bed_head_end.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bed_head_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bed_head_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bedrock.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/beefCooked.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/beefRaw.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blazePowder.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blazeRod.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blockDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blockEmerald.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blockGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blockIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blockLapis.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/blockRedstone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/boat.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/book.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bookshelf.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bootsChain.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bootsCloth.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bootsCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bootsDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bootsGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bootsIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bow.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bow_pull_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bow_pull_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bow_pull_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bowl.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bread.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/brewingStand.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/brewingStand_base.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/brick.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bucket.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bucketLava.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/bucketWater.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cactus_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cactus_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cactus_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cake.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cake_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cake_inner.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cake_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cake_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/carrotGolden.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/carrotOnAStick.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/carrots.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/carrots_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/carrots_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/carrots_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/carrots_3.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cauldron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cauldron_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cauldron_inner.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cauldron_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cauldron_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chestplateChain.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chestplateCloth.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chestplateCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chestplateDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chestplateGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chestplateIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chickenCooked.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/chickenRaw.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/clay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/clock.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/clock.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_10.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_11.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_12.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_13.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_14.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_15.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_3.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_4.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_5.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_6.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_7.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_8.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cloth_9.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/coal.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/coal_ore.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cobblestone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cocoa_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cocoa_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cocoa_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/commandBlock.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/comparator.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/comparator_lit.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/compass.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/compass.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/cookie.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_3.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_4.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_5.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_6.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/crops_7.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/daylightDetector_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/daylightDetector_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/deadbush.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/default.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_3.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_4.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_5.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_6.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_7.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_8.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/destroy_9.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/detectorRail.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/diamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/diode.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dirt.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dispenser.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dispenser_front.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dispenser_front_vertical.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/doorIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/doorIron_lower.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/doorIron_upper.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/doorWood.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/doorWood_lower.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/doorWood_upper.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dragonEgg.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dropper_front.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dropper_front_vertical.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_black.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_blue.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_brown.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_cyan.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_gray.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_green.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_lightBlue.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_lime.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_magenta.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_orange.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_pink.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_purple.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_red.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_silver.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_white.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/dyePowder_yellow.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/egg.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/emerald.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/emptyMap.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/enchantedBook.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/enchantment_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/enchantment_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/enchantment_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/enderPearl.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/endframe_eye.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/endframe_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/endframe_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/expBottle.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/eyeOfEnder.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/farmland_dry.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/farmland_wet.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/feather.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fenceIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fermentedSpiderEye.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fern.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fire_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fire_0.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fire_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fire_1.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fireball.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fireworks.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fireworksCharge.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fireworksCharge_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fishCooked.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fishRaw.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fishingRod.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/fishingRod_empty.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/flint.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/flintAndSteel.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/flower.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/flowerPot.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/frame.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/furnace_front.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/furnace_front_lit.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/furnace_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/furnace_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/ghastTear.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/glass.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/glassBottle.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/goldNugget.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/gold_ore.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/goldenRail.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/goldenRail_powered.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/grass.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/grass_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/grass_side_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/grass_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/gravel.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hatchetDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hatchetGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hatchetIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hatchetStone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hatchetWood.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hellrock.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hellsand.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/helmetChain.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/helmetCloth.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/helmetCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/helmetDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/helmetGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/helmetIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hoeDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hoeGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hoeIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hoeStone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hoeWood.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hopper.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hopper_inside.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/hopper_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/ice.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/ingotGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/ingotIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/iron_ore.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/itemframe_back.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/jukebox_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/ladder.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lapis_block.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lapis_ore.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lava.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lava.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lava_flow.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lava_flow.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leather.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leaves.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leaves_jungle.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leaves_jungle_opaque.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leaves_opaque.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leaves_spruce.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leaves_spruce_opaque.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leggingsChain.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leggingsCloth.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leggingsCloth_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leggingsDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leggingsGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/leggingsIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lever.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/lightgem.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/log.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/magmaCream.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/map.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/melon.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/melon_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/melon_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/milk.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/minecart.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/minecartChest.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/minecartFurnace.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/minecartHopper.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/minecartTnt.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mobSpawner.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/monsterPlacer.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/monsterPlacer_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mushroomStew.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mushroom_brown.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mushroom_inside.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mushroom_red.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mushroom_skin_brown.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mushroom_skin_red.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mushroom_skin_stem.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/musicBlock.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mycel_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/mycel_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/netherBrick.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/netherStalkSeeds.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/netherStalk_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/netherStalk_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/netherStalk_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/netherStar.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/netherquartz.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/obsidian.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/offlawn.beanstalk.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/offlawn.lawn.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/offlawn.sunflower-bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/offlawn.sunflower-top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/offlawn.sunflowerseed.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/oreCoal.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/oreDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/oreEmerald.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/oreGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/oreIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/oreLapis.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/oreRedstone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/painting.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/paper.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pickaxeDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pickaxeGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pickaxeIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pickaxeStone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pickaxeWood.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/piston_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/piston_inner_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/piston_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/piston_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/piston_top_sticky.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/planks.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/porkchopCooked.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/porkchopRaw.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potato.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potatoBaked.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potatoPoisonous.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potatoes_0.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potatoes_1.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potatoes_2.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potatoes_3.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potion.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potion_contents.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/potion_splash.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pumpkinPie.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pumpkin_face.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pumpkin_jack.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pumpkin_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/pumpkin_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quartzblock_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quartzblock_chiseled.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quartzblock_chiseled_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quartzblock_lines.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quartzblock_lines_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quartzblock_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quartzblock_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/quiver.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/rail.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/rail_turn.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_11.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_13.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_blocks.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_cat.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_chirp.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_far.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_mall.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_mellohi.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_stal.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_strad.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_wait.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/record_ward.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redstone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redstoneDust_cross.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redstoneDust_cross_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redstoneDust_line.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redstoneDust_line_overlay.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redstoneLight.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redstoneLight_lit.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redtorch.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/redtorch_lit.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/reeds.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/repeater.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/repeater_lit.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/rose.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/rottenFlesh.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/ruby.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/saddle.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sand.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sandstone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sandstone_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sandstone_carved.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sandstone_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sandstone_smooth.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sandstone_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sapling.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sapling_birch.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sapling_jungle.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sapling_spruce.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/seeds.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/seeds_melon.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/seeds_pumpkin.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/shears.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/shovelDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/shovelGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/shovelIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/shovelStone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/shovelWood.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sign.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/skull_char.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/skull_creeper.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/skull_skeleton.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/skull_wither.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/skull_zombie.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/slimeball.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/slot_empty_boots.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/slot_empty_chestplate.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/slot_empty_helmet.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/slot_empty_leggings.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/snow.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/snow_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/snowball.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/speckledMelon.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/spiderEye.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sponge.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stem_bent.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stem_straight.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stick.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stoneMoss.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stonebrick.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stonebricksmooth.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stonebricksmooth_carved.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stonebricksmooth_cracked.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stonebricksmooth_mossy.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stoneslab_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/stoneslab_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/string.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sugar.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/sulphur.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/swordDiamond.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/swordGold.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/swordIron.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/swordStone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/swordWood.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tallgrass.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/thinglass_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tnt_bottom.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tnt_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tnt_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/torch.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/trapdoor.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tree_birch.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tree_jungle.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tree_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tree_spruce.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tree_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tripWire.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/tripWireSource.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/vine.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/water.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/water.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/water_flow.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/water_flow.txt
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/waterlily.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/web.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/wheat.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/whiteStone.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/wood.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/wood_birch.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/wood_jungle.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/wood_spruce.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/workbench_front.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/workbench_side.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/workbench_top.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/writingBook.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/writtenBook.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Images/yellowDust.png
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Microsoft.OpenApi.dll
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Minecraft.Crafting.Api.deps.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Minecraft.Crafting.Api.dll
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Minecraft.Crafting.Api.exe
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Minecraft.Crafting.Api.pdb
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Minecraft.Crafting.Api.runtimeconfig.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Newtonsoft.Json.dll
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Swashbuckle.AspNetCore.Swagger.dll
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/appsettings.Development.json
create mode 100644 Minecraft.Crafting.Api/bin/Debug/net6.0/appsettings.json
create mode 100644 Minecraft.Crafting.Api/obj/Container/ContainerDevelopmentMode.cache
create mode 100644 Minecraft.Crafting.Api/obj/Container/ContainerId.cache
create mode 100644 Minecraft.Crafting.Api/obj/Container/ContainerName.cache
create mode 100644 Minecraft.Crafting.Api/obj/Container/ContainerRunContext.cache
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.AssemblyInfo.cs
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.AssemblyInfoInputs.cache
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.GeneratedMSBuildEditorConfig.editorconfig
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.GlobalUsings.g.cs
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.MvcApplicationPartsAssemblyInfo.cache
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.MvcApplicationPartsAssemblyInfo.cs
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.assets.cache
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.csproj.AssemblyReference.cache
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.csproj.BuildWithSkipAnalyzers
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.csproj.CopyComplete
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.csproj.CoreCompileInputs.cache
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.csproj.FileListAbsolute.txt
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.dll
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.genruntimeconfig.cache
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/Minecraft.Crafting.Api.pdb
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/_IsIncrementalBuild
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/apphost.exe
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/project.razor.vs.json
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/ref/Minecraft.Crafting.Api.dll
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/refint/Minecraft.Crafting.Api.dll
create mode 100644 Minecraft.Crafting.Api/obj/Debug/net6.0/staticwebassets.build.json
create mode 100644 Minecraft.Crafting.Api/obj/Minecraft.Crafting.Api.csproj.nuget.dgspec.json
create mode 100644 Minecraft.Crafting.Api/obj/Minecraft.Crafting.Api.csproj.nuget.g.props
create mode 100644 Minecraft.Crafting.Api/obj/Minecraft.Crafting.Api.csproj.nuget.g.targets
create mode 100644 Minecraft.Crafting.Api/obj/project.assets.json
create mode 100644 Minecraft.Crafting.Api/obj/project.nuget.cache
create mode 100644 Minecraft.Crafting.Api/obj/staticwebassets.pack.sentinel
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..bdca33b
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,25 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
\ No newline at end of file
diff --git a/.vs/BlazorTP/FileContentIndex/read.lock b/.vs/BlazorTP/FileContentIndex/read.lock
new file mode 100644
index 0000000..e69de29
diff --git a/.vs/BlazorTP/v17/.suo b/.vs/BlazorTP/v17/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..92517de483e10cf628af898f72f2b54b3abea4d6
GIT binary patch
literal 11264
zcmeHNOLH4V5NW*3}dxjzl8EXCIcu_HoA#xJ?++C!22~kw0G_`-{AP+FfAAmL|J%^h#Qq@!kk(Re2hRc8^s6Y-zG>I2)BgF^_K#u@
zjbhAMJUtyr!;zK%_ciFz`)>Br=hJoCkS_OoA88>x!;8zqA`0E(EIQ|=mTgG`V8r5;`x$sTbHE>?=J^5+r_5OMNhOT>yqvH*4ywd@aa$L
zv&Y--SLb@^FOinOeF0cR+XnKzo>e&Gf_}sQYV%GR1dTJ>X)C&Z6_`axdJ{kNJ2#ZX
zOR|MpQx6JxkH^5L&qrU4w21w#!yByv*Ty@l-|KuWasl#Z+^2m&-5&OS1DzM$0jo;-
zyK)24Z(`T;;G8~qOG-*B`^kX*?+MJs`zNaW$ve+B68(N^oDH2TKo_oK9eYalIx?`Z
zl2)KrT#h0C?)|STPOHGA)^7m6CS}Oro~+<^6ZIAz+NPf@GT@*0GI@&1KYjRFJS4CF
zk$>Xn5eHVGnLHiB=)Ix&@7DhuVU-bSDg3o)Zg%g{%at*8A!aP@E;J=0M-0%y0Qrm4c8?}rGx6oF?
zLmofJo>L;c8=LJ@8WXsb1wQW+&KZ?|^ZX0j{}rIt@MA&h*A>?tz0>&6|AFOC-Pijc
zhQF>jZ{e&c;3U*H6u&4#GFwUuA^+4nF7HwK=Y7TVniPh=p}c^aEJNeD8loeuAmy3hFyPTpn!p$bq5TH(5zz_bLcQ_<~)a8P8mBF2TS`galYj@l>ZGp
zOLAH6$QsUc-gZrtcX0FZzF`z>;k>^CU%A^?=cq;aBn9~rJvQ!%6|@XS!|p%hUgs<~
zHF*uKocYrX0&Vjr-LAQ%u)Ga@6mNgr{14|z=;%oxiT|JN_&*14e@(`F;+=6L6M|zP
zkmAJuj2C%YJt;D+>PgKx$UMgx-tT?XRcPqpI-hu_>uE}O8yrHz&GQ6FMg8$W6tC0<^R0$KZf={aQ^3i
zX8);S>>u$!PfXB`5jv3rtov|?e~ZiEq;oR6d7S#pMz+w>aI>;I81WJQ86z(E+3eJOWwxM#qV9<6_9LFg@oA#x
vFKA78Q|n5EQ^+G{WGZy>?$v}24egAZzZ*9H$Ge>OKX1Mye;B$&N3!!@7{SwF
literal 0
HcmV?d00001
diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
new file mode 100644
index 0000000..9568b22
--- /dev/null
+++ b/.vs/VSWorkspaceState.json
@@ -0,0 +1,6 @@
+{
+ "ExpandedNodes": [
+ ""
+ ],
+ "PreviewInSolutionExplorer": false
+}
\ No newline at end of file
diff --git a/BlazorTP.sln b/BlazorTP.sln
new file mode 100644
index 0000000..16cb37e
--- /dev/null
+++ b/BlazorTP.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.2.32616.157
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorTP", "BlazorTP\BlazorTP.csproj", "{644E4FA0-4B48-4F21-BC84-61BFE9C92B84}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Minecraft.Crafting.Api", "Minecraft.Crafting.Api\Minecraft.Crafting.Api.csproj", "{F12E13AF-7957-43B9-BEC2-6C2254F94045}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {644E4FA0-4B48-4F21-BC84-61BFE9C92B84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {644E4FA0-4B48-4F21-BC84-61BFE9C92B84}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {644E4FA0-4B48-4F21-BC84-61BFE9C92B84}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {644E4FA0-4B48-4F21-BC84-61BFE9C92B84}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F12E13AF-7957-43B9-BEC2-6C2254F94045}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F12E13AF-7957-43B9-BEC2-6C2254F94045}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F12E13AF-7957-43B9-BEC2-6C2254F94045}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F12E13AF-7957-43B9-BEC2-6C2254F94045}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C340FDE8-3F5A-4561-B2EB-AF7525240195}
+ EndGlobalSection
+EndGlobal
diff --git a/BlazorTP/App.razor b/BlazorTP/App.razor
new file mode 100644
index 0000000..54966a1
--- /dev/null
+++ b/BlazorTP/App.razor
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+ Not found
+
+ Sorry, there's nothing at this address.
+
+
+
+
diff --git a/BlazorTP/BlazorTP.csproj b/BlazorTP/BlazorTP.csproj
new file mode 100644
index 0000000..8ec8165
--- /dev/null
+++ b/BlazorTP/BlazorTP.csproj
@@ -0,0 +1,36 @@
+
+
+
+ net6.0
+ enable
+ enable
+ 994ca6ff-cc31-47d5-ac18-c044358f59f4
+ Linux
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Pages.List.resx
+
+
+
+
+
+ PublicResXFileCodeGenerator
+ Pages.List.Designer.cs
+
+
+
+
diff --git a/BlazorTP/BlazorTP.csproj.user b/BlazorTP/BlazorTP.csproj.user
new file mode 100644
index 0000000..0117f44
--- /dev/null
+++ b/BlazorTP/BlazorTP.csproj.user
@@ -0,0 +1,9 @@
+
+
+
+ BlazorTP
+
+
+ ProjectDebugger
+
+
\ No newline at end of file
diff --git a/BlazorTP/Components/Card.razor b/BlazorTP/Components/Card.razor
new file mode 100644
index 0000000..813b0cc
--- /dev/null
+++ b/BlazorTP/Components/Card.razor
@@ -0,0 +1,8 @@
+@*Card *@
+
+@typeparam TItem
+
+ @CardHeader(Item)
+ @CardBody(Item)
+ @CardFooter
+
\ No newline at end of file
diff --git a/BlazorTP/Components/Card.razor.cs b/BlazorTP/Components/Card.razor.cs
new file mode 100644
index 0000000..4718fdc
--- /dev/null
+++ b/BlazorTP/Components/Card.razor.cs
@@ -0,0 +1,19 @@
+using Microsoft.AspNetCore.Components;
+
+namespace BlazorTP.Components
+{
+ public partial class Card
+ {
+ [Parameter]
+ public RenderFragment CardBody { get; set; }
+
+ [Parameter]
+ public RenderFragment CardFooter { get; set; }
+
+ [Parameter]
+ public RenderFragment CardHeader { get; set; }
+
+ [Parameter]
+ public TItem Item { get; set; }
+ }
+}
diff --git a/BlazorTP/Components/Crafting.razor b/BlazorTP/Components/Crafting.razor
new file mode 100644
index 0000000..bb16d54
--- /dev/null
+++ b/BlazorTP/Components/Crafting.razor
@@ -0,0 +1,53 @@
+Crafting
+
+
+
+
+
+
+
Available items:
+
+
+
+ @foreach (var item in Items)
+ {
+
+ }
+
+
+
+
+
+
+
Recipe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Result
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BlazorTP/Components/Crafting.razor.cs b/BlazorTP/Components/Crafting.razor.cs
new file mode 100644
index 0000000..ad2af6e
--- /dev/null
+++ b/BlazorTP/Components/Crafting.razor.cs
@@ -0,0 +1,79 @@
+using Microsoft.AspNetCore.Components;
+using Microsoft.JSInterop;
+using System.Collections.ObjectModel;
+using System.Collections.Specialized;
+
+namespace BlazorTP.Components
+{
+ public partial class Crafting
+ {
+ private Item _recipeResult;
+
+ public Crafting()
+ {
+ Actions = new ObservableCollection();
+ Actions.CollectionChanged += OnActionsCollectionChanged;
+ this.RecipeItems = new List- { null, null, null, null, null, null, null, null, null };
+ }
+
+ public ObservableCollection
Actions { get; set; }
+ public Item CurrentDragItem { get; set; }
+
+ [Parameter]
+ public List- Items { get; set; }
+
+ public List
- RecipeItems { get; set; }
+
+ public Item RecipeResult
+ {
+ get => this._recipeResult;
+ set
+ {
+ if (this._recipeResult == value)
+ {
+ return;
+ }
+
+ this._recipeResult = value;
+ this.StateHasChanged();
+ }
+ }
+
+ [Parameter]
+ public List
Recipes { get; set; }
+
+ ///
+ /// Gets or sets the java script runtime.
+ ///
+ [Inject]
+ internal IJSRuntime JavaScriptRuntime { get; set; }
+
+ public void CheckRecipe()
+ {
+ RecipeResult = null;
+
+ // Get the current model
+ var currentModel = string.Join("|", this.RecipeItems.Select(s => s != null ? s.Name : string.Empty));
+
+ this.Actions.Add(new CraftingAction { Action = $"Items : {currentModel}" });
+
+ foreach (var craftingRecipe in Recipes)
+ {
+ // Get the recipe model
+ var recipeModel = string.Join("|", craftingRecipe.Have.SelectMany(s => s));
+
+ this.Actions.Add(new CraftingAction { Action = $"Recipe model : {recipeModel}" });
+
+ if (currentModel == recipeModel)
+ {
+ RecipeResult = craftingRecipe.Give;
+ }
+ }
+ }
+
+ private void OnActionsCollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
+ {
+ JavaScriptRuntime.InvokeVoidAsync("Crafting.AddActions", e.NewItems);
+ }
+ }
+}
diff --git a/BlazorTP/Components/Crafting.razor.css b/BlazorTP/Components/Crafting.razor.css
new file mode 100644
index 0000000..c73d823
--- /dev/null
+++ b/BlazorTP/Components/Crafting.razor.css
@@ -0,0 +1,23 @@
+.css-grid {
+ grid-template-columns: repeat(8,minmax(0,1fr));
+ gap: 10px;
+ display: grid;
+ width: 600px;
+}
+
+.css-recipe {
+ grid-template-columns: repeat(3,minmax(0,1fr));
+ gap: 10px;
+ display: grid;
+ width: 212px;
+}
+
+.actions {
+ border: 1px solid black;
+ height: 250px;
+ overflow: scroll;
+}
+.css-result {
+ position: fixed;
+ float: left;
+}
\ No newline at end of file
diff --git a/BlazorTP/Components/Crafting.razor.js b/BlazorTP/Components/Crafting.razor.js
new file mode 100644
index 0000000..3fcb76d
--- /dev/null
+++ b/BlazorTP/Components/Crafting.razor.js
@@ -0,0 +1,16 @@
+window.Crafting =
+{
+ AddActions: function (data) {
+
+ data.forEach(element => {
+ var div = document.createElement('div');
+ div.innerHTML = 'Action: ' + element.action + ' - Index: ' + element.index;
+
+ if (element.item) {
+ div.innerHTML += ' - Item Name: ' + element.item.name;
+ }
+
+ document.getElementById('actions').appendChild(div);
+ });
+ }
+}
\ No newline at end of file
diff --git a/BlazorTP/Components/CraftingAction.cs b/BlazorTP/Components/CraftingAction.cs
new file mode 100644
index 0000000..5cecc8b
--- /dev/null
+++ b/BlazorTP/Components/CraftingAction.cs
@@ -0,0 +1,9 @@
+namespace BlazorTP.Components
+{
+ public class CraftingAction
+ {
+ public string Action { get; set; }
+ public int Index { get; set; }
+ public Item Item { get; set; }
+ }
+}
diff --git a/BlazorTP/Components/CraftingItem.razor b/BlazorTP/Components/CraftingItem.razor
new file mode 100644
index 0000000..b862161
--- /dev/null
+++ b/BlazorTP/Components/CraftingItem.razor
@@ -0,0 +1,16 @@
+@*CraftingItem *@
+
+
+
+ @if (Item != null)
+ {
+ @Item.DisplayName
+ }
+
diff --git a/BlazorTP/Components/CraftingItem.razor.cs b/BlazorTP/Components/CraftingItem.razor.cs
new file mode 100644
index 0000000..e9cd413
--- /dev/null
+++ b/BlazorTP/Components/CraftingItem.razor.cs
@@ -0,0 +1,62 @@
+using Microsoft.AspNetCore.Components;
+
+namespace BlazorTP.Components
+{
+ public partial class CraftingItem
+ {
+ [Parameter]
+ public int Index { get; set; }
+
+ [Parameter]
+ public Item Item { get; set; }
+
+ [Parameter]
+ public bool NoDrop { get; set; }
+
+ [CascadingParameter]
+ public Crafting Parent { get; set; }
+
+ internal void OnDragEnter()
+ {
+ if (NoDrop)
+ {
+ return;
+ }
+
+ Parent.Actions.Add(new CraftingAction { Action = "Drag Enter", Item = this.Item, Index = this.Index });
+ }
+
+ internal void OnDragLeave()
+ {
+ if (NoDrop)
+ {
+ return;
+ }
+
+ Parent.Actions.Add(new CraftingAction { Action = "Drag Leave", Item = this.Item, Index = this.Index });
+ }
+
+ internal void OnDrop()
+ {
+ if (NoDrop)
+ {
+ return;
+ }
+
+ this.Item = Parent.CurrentDragItem;
+ Parent.RecipeItems[this.Index] = this.Item;
+
+ Parent.Actions.Add(new CraftingAction { Action = "Drop", Item = this.Item, Index = this.Index });
+
+ // Check recipe
+ Parent.CheckRecipe();
+ }
+
+ private void OnDragStart()
+ {
+ Parent.CurrentDragItem = this.Item;
+
+ Parent.Actions.Add(new CraftingAction { Action = "Drag Start", Item = this.Item, Index = this.Index });
+ }
+ }
+}
diff --git a/BlazorTP/Components/CraftingItem.razor.css b/BlazorTP/Components/CraftingItem.razor.css
new file mode 100644
index 0000000..63db761
--- /dev/null
+++ b/BlazorTP/Components/CraftingItem.razor.css
@@ -0,0 +1,12 @@
+.item {
+ width: 64px;
+ height: 64px;
+ border: 1px solid;
+ background: white;
+}
+
+.div {
+ position: fixed;
+ float: right;
+}
+
\ No newline at end of file
diff --git a/BlazorTP/Components/CraftingRecipe.cs b/BlazorTP/Components/CraftingRecipe.cs
new file mode 100644
index 0000000..89f4bf2
--- /dev/null
+++ b/BlazorTP/Components/CraftingRecipe.cs
@@ -0,0 +1,8 @@
+namespace BlazorTP.Components
+{
+ public class CraftingRecipe
+ {
+ public Item Give { get; set; }
+ public List> Have { get; set; }
+ }
+}
diff --git a/BlazorTP/Components/ShowItems.razor b/BlazorTP/Components/ShowItems.razor
new file mode 100644
index 0000000..5ce9ef5
--- /dev/null
+++ b/BlazorTP/Components/ShowItems.razor
@@ -0,0 +1,13 @@
+ShowItems
+
+@typeparam TItem
+
+
+ @if ((Items?.Count ?? 0) != 0)
+ {
+ @foreach (var item in Items)
+ {
+ @ShowTemplate(item);
+ }
+ }
+
diff --git a/BlazorTP/Components/ShowItems.razor.cs b/BlazorTP/Components/ShowItems.razor.cs
new file mode 100644
index 0000000..459f9e6
--- /dev/null
+++ b/BlazorTP/Components/ShowItems.razor.cs
@@ -0,0 +1,13 @@
+using Microsoft.AspNetCore.Components;
+
+namespace BlazorTP.Components
+{
+ public partial class ShowItems
+ {
+ [Parameter]
+ public List Items { get; set; }
+
+ [Parameter]
+ public RenderFragment ShowTemplate { get; set; }
+ }
+}
diff --git a/BlazorTP/Controller/CultureController.cs b/BlazorTP/Controller/CultureController.cs
new file mode 100644
index 0000000..e823ee4
--- /dev/null
+++ b/BlazorTP/Controller/CultureController.cs
@@ -0,0 +1,34 @@
+namespace BlazorTP.Controller
+{
+ using Microsoft.AspNetCore.Localization;
+ using Microsoft.AspNetCore.Mvc;
+
+ ///
+ /// The culture controller.
+ ///
+ [Route("[controller]/[action]")]
+ public class CultureController : Controller
+ {
+ ///
+ /// Sets the culture.
+ ///
+ /// The culture.
+ /// The redirect URI.
+ ///
+ /// The action result.
+ ///
+ public IActionResult SetCulture(string culture, string redirectUri)
+ {
+ if (culture != null)
+ {
+ // Define a cookie with the selected culture
+ this.HttpContext.Response.Cookies.Append(
+ CookieRequestCultureProvider.DefaultCookieName,
+ CookieRequestCultureProvider.MakeCookieValue(
+ new RequestCulture(culture)));
+ }
+
+ return this.LocalRedirect(redirectUri);
+ }
+ }
+}
diff --git a/BlazorTP/Data/WeatherForecast.cs b/BlazorTP/Data/WeatherForecast.cs
new file mode 100644
index 0000000..6c297c3
--- /dev/null
+++ b/BlazorTP/Data/WeatherForecast.cs
@@ -0,0 +1,13 @@
+namespace BlazorTP.Data
+{
+ public class WeatherForecast
+ {
+ public DateTime Date { get; set; }
+
+ public int TemperatureC { get; set; }
+
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+
+ public string? Summary { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/BlazorTP/Data/WeatherForecastService.cs b/BlazorTP/Data/WeatherForecastService.cs
new file mode 100644
index 0000000..8251cdd
--- /dev/null
+++ b/BlazorTP/Data/WeatherForecastService.cs
@@ -0,0 +1,20 @@
+namespace BlazorTP.Data
+{
+ public class WeatherForecastService
+ {
+ private static readonly string[] Summaries = new[]
+ {
+ "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
+ };
+
+ public Task GetForecastAsync(DateTime startDate)
+ {
+ return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = Summaries[Random.Shared.Next(Summaries.Length)]
+ }).ToArray());
+ }
+ }
+}
\ No newline at end of file
diff --git a/BlazorTP/Dockerfile b/BlazorTP/Dockerfile
new file mode 100644
index 0000000..b92c12d
--- /dev/null
+++ b/BlazorTP/Dockerfile
@@ -0,0 +1,22 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+COPY ["BlazorTP/BlazorTP.csproj", "BlazorTP/"]
+RUN dotnet restore "BlazorTP/BlazorTP.csproj"
+COPY . .
+WORKDIR "/src/BlazorTP"
+RUN dotnet build "BlazorTP.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "BlazorTP.csproj" -c Release -o /app/publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "BlazorTP.dll"]
\ No newline at end of file
diff --git a/BlazorTP/Factories/ItemFactory.cs b/BlazorTP/Factories/ItemFactory.cs
new file mode 100644
index 0000000..f350fb5
--- /dev/null
+++ b/BlazorTP/Factories/ItemFactory.cs
@@ -0,0 +1,51 @@
+using BlazorTP.Models;
+
+namespace BlazorTP.Factories
+{
+ public static class ItemFactory
+ {
+ public static ItemModel ToModel(Item item, byte[] imageContent)
+ {
+ return new ItemModel
+ {
+ Id = item.Id,
+ DisplayName = item.DisplayName,
+ Name = item.Name,
+ RepairWith = item.RepairWith,
+ EnchantCategories = item.EnchantCategories,
+ MaxDurability = item.MaxDurability,
+ StackSize = item.StackSize,
+ ImageContent = imageContent,
+ ImageBase64 = string.IsNullOrWhiteSpace(item.ImageBase64) ? Convert.ToBase64String(imageContent) : item.ImageBase64
+ };
+ }
+
+ public static Item Create(ItemModel model)
+ {
+ return new Item
+ {
+ Id = model.Id,
+ DisplayName = model.DisplayName,
+ Name = model.Name,
+ RepairWith = model.RepairWith,
+ EnchantCategories = model.EnchantCategories,
+ MaxDurability = model.MaxDurability,
+ StackSize = model.StackSize,
+ CreatedDate = DateTime.Now,
+ ImageBase64 = Convert.ToBase64String(model.ImageContent)
+ };
+ }
+
+ public static void Update(Item item, ItemModel model)
+ {
+ item.DisplayName = model.DisplayName;
+ item.Name = model.Name;
+ item.RepairWith = model.RepairWith;
+ item.EnchantCategories = model.EnchantCategories;
+ item.MaxDurability = model.MaxDurability;
+ item.StackSize = model.StackSize;
+ item.UpdatedDate = DateTime.Now;
+ item.ImageBase64 = Convert.ToBase64String(model.ImageContent);
+ }
+ }
+}
diff --git a/BlazorTP/Modals/DeleteConfirmation.razor b/BlazorTP/Modals/DeleteConfirmation.razor
new file mode 100644
index 0000000..b565665
--- /dev/null
+++ b/BlazorTP/Modals/DeleteConfirmation.razor
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/BlazorTP/Modals/DeleteConfirmation.razor.cs b/BlazorTP/Modals/DeleteConfirmation.razor.cs
new file mode 100644
index 0000000..bc8da19
--- /dev/null
+++ b/BlazorTP/Modals/DeleteConfirmation.razor.cs
@@ -0,0 +1,37 @@
+using Blazored.Modal;
+using Blazored.Modal.Services;
+using BlazorTP.Services;
+using Microsoft.AspNetCore.Components;
+
+namespace BlazorTP.Modals
+{
+ public partial class DeleteConfirmation
+ {
+ [CascadingParameter]
+ public BlazoredModalInstance ModalInstance { get; set; }
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ [Parameter]
+ public int Id { get; set; }
+
+ private Item item = new Item();
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Get the item
+ item = await DataService.GetById(Id);
+ }
+
+ void ConfirmDelete()
+ {
+ ModalInstance.CloseAsync(ModalResult.Ok(true));
+ }
+
+ void Cancel()
+ {
+ ModalInstance.CancelAsync();
+ }
+ }
+}
diff --git a/BlazorTP/Models/Cake.cs b/BlazorTP/Models/Cake.cs
new file mode 100644
index 0000000..0931505
--- /dev/null
+++ b/BlazorTP/Models/Cake.cs
@@ -0,0 +1,9 @@
+namespace BlazorTP.Models
+{
+ public class Cake
+ {
+ public int Id { get; set; }
+ public string Name { get; set; }
+ public decimal Cost { get; set; }
+ }
+}
diff --git a/BlazorTP/Models/Item.cs b/BlazorTP/Models/Item.cs
new file mode 100644
index 0000000..7af5f0a
--- /dev/null
+++ b/BlazorTP/Models/Item.cs
@@ -0,0 +1,14 @@
+public class Item
+{
+ public int Id { get; set; }
+ public string DisplayName { get; set; }
+ public string Name { get; set; }
+ public int StackSize { get; set; }
+ public int MaxDurability { get; set; }
+ public List EnchantCategories { get; set; }
+ public List RepairWith { get; set; }
+ public DateTime CreatedDate { get; set; }
+ public DateTime? UpdatedDate { get; set; }
+
+ public string ImageBase64 { get; set; }
+}
\ No newline at end of file
diff --git a/BlazorTP/Models/ItemModel.cs b/BlazorTP/Models/ItemModel.cs
new file mode 100644
index 0000000..b4cc620
--- /dev/null
+++ b/BlazorTP/Models/ItemModel.cs
@@ -0,0 +1,40 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace BlazorTP.Models
+{
+ public class ItemModel
+ {
+ public int Id { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The display name must not exceed 50 characters.")]
+ public string DisplayName { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The name must not exceed 50 characters.")]
+ [RegularExpression(@"^[a-z''-'\s]{1,40}$", ErrorMessage = "Only lowercase characters are accepted.")]
+ public string Name { get; set; }
+
+ [Required]
+ [Range(1, 64)]
+ public int StackSize { get; set; }
+
+ [Required]
+ [Range(1, 125)]
+ public int MaxDurability { get; set; }
+
+ public List EnchantCategories { get; set; }
+
+ public List RepairWith { get; set; }
+
+ [Required]
+ [Range(typeof(bool), "true", "true", ErrorMessage = "You must agree to the terms.")]
+ public bool AcceptCondition { get; set; }
+
+ [Required(ErrorMessage = "The image of the item is mandatory!")]
+ public byte[] ImageContent { get; set; }
+
+ public string ImageBase64 { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/BlazorTP/Pages/Add.razor b/BlazorTP/Pages/Add.razor
new file mode 100644
index 0000000..561f3aa
--- /dev/null
+++ b/BlazorTP/Pages/Add.razor
@@ -0,0 +1,73 @@
+@page "/add"
+
+Add
+
+
+
+
+
+
+
+ Display name:
+
+
+
+
+
+ Name:
+
+
+
+
+
+ Stack size:
+
+
+
+
+
+ Max durability:
+
+
+
+
+ Enchant categories:
+
+ @foreach (var item in enchantCategories)
+ {
+
+
+ OnEnchantCategoriesChange(item, e.Value))" />@item
+
+
+ }
+
+
+
+ Repair with:
+
+ @foreach (var item in repairWith)
+ {
+
+
+ OnRepairWithChange(item, e.Value))" />@item
+
+
+ }
+
+
+
+
+ Item image:
+
+
+
+
+
+ Accept Condition:
+
+
+
+
+ Submit
+
\ No newline at end of file
diff --git a/BlazorTP/Pages/Add.razor.cs b/BlazorTP/Pages/Add.razor.cs
new file mode 100644
index 0000000..2a649ad
--- /dev/null
+++ b/BlazorTP/Pages/Add.razor.cs
@@ -0,0 +1,139 @@
+using Blazored.LocalStorage;
+using BlazorTP.Models;
+using BlazorTP.Services;
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Forms;
+
+namespace BlazorTP.Pages
+{
+ public partial class Add
+ {
+ ///
+ /// [Inject]
+ ///public ILocalStorageService LocalStorage { get; set; }
+ ///
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ ///
+ ///[Inject]
+ ///public IWebHostEnvironment WebHostEnvironment { get; set; }
+ ///
+
+ ///
+ /// The default enchant categories.
+ ///
+ private List enchantCategories = new List() { "armor", "armor_head", "armor_chest", "weapon", "digger", "breakable", "vanishable" };
+
+ ///
+ /// The default repair with.
+ ///
+ private List repairWith = new List() { "oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks", "crimson_planks", "warped_planks" };
+
+ ///
+ /// The current item model
+ ///
+ private ItemModel itemModel = new()
+ {
+ EnchantCategories = new List(),
+ RepairWith = new List()
+ };
+
+ private async void HandleValidSubmit()
+ {
+ ///// Get the current data
+ ///var currentData = await LocalStorage.GetItemAsync>("data");
+ ///
+ ///// Simulate the Id
+ ///itemModel.Id = currentData.Max(s => s.Id) + 1;
+ ///
+ ///// Add the item to the current data
+ ///currentData.Add(new Item
+ ///{
+ /// Id = itemModel.Id,
+ /// DisplayName = itemModel.DisplayName,
+ /// Name = itemModel.Name,
+ /// RepairWith = itemModel.RepairWith,
+ /// EnchantCategories = itemModel.EnchantCategories,
+ /// MaxDurability = itemModel.MaxDurability,
+ /// StackSize = itemModel.StackSize,
+ /// CreatedDate = DateTime.Now
+ ///});
+ ///
+ ///// Save the image
+ ///var imagePathInfo = new DirectoryInfo($"{WebHostEnvironment.WebRootPath}/images");
+ ///
+ ///// Check if the folder "images" exist
+ ///if (!imagePathInfo.Exists)
+ ///{
+ /// imagePathInfo.Create();
+ ///}
+ ///
+ ///// Determine the image name
+ ///var fileName = new FileInfo($"{imagePathInfo}/{itemModel.Name}.png");
+ ///
+ ///// Write the file content
+ ///await File.WriteAllBytesAsync(fileName.FullName, itemModel.ImageContent);
+ ///
+ ///// Save the data
+ ///await LocalStorage.SetItemAsync("data", currentData);
+ ///
+ ///NavigationManager.NavigateTo("list");
+ ///
+
+ await DataService.Add(itemModel);
+
+ NavigationManager.NavigateTo("list");
+ }
+
+ private async Task LoadImage(InputFileChangeEventArgs e)
+ {
+ // Set the content of the image to the model
+ using (var memoryStream = new MemoryStream())
+ {
+ await e.File.OpenReadStream().CopyToAsync(memoryStream);
+ itemModel.ImageContent = memoryStream.ToArray();
+ }
+ }
+
+ private void OnEnchantCategoriesChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Remove(item);
+ }
+ }
+
+ private void OnRepairWithChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Remove(item);
+ }
+ }
+ }
+}
diff --git a/BlazorTP/Pages/BlazorRoute.razor b/BlazorTP/Pages/BlazorRoute.razor
new file mode 100644
index 0000000..fc73866
--- /dev/null
+++ b/BlazorTP/Pages/BlazorRoute.razor
@@ -0,0 +1,4 @@
+@page "/BlazorRoute"
+@page "/DifferentBlazorRoute"
+
+Blazor routing
\ No newline at end of file
diff --git a/BlazorTP/Pages/Counter.razor b/BlazorTP/Pages/Counter.razor
new file mode 100644
index 0000000..b21f052
--- /dev/null
+++ b/BlazorTP/Pages/Counter.razor
@@ -0,0 +1,18 @@
+@page "/counter"
+
+Counter
+
+Counter
+
+Current count: @currentCount
+
+Click me
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/BlazorTP/Pages/CreateLog.razor b/BlazorTP/Pages/CreateLog.razor
new file mode 100644
index 0000000..fb4c410
--- /dev/null
+++ b/BlazorTP/Pages/CreateLog.razor
@@ -0,0 +1,5 @@
+@page "/logs"
+
+CreateLog
+
+Create logs
\ No newline at end of file
diff --git a/BlazorTP/Pages/CreateLog.razor.cs b/BlazorTP/Pages/CreateLog.razor.cs
new file mode 100644
index 0000000..7a268fc
--- /dev/null
+++ b/BlazorTP/Pages/CreateLog.razor.cs
@@ -0,0 +1,21 @@
+namespace BlazorTP.Pages
+{
+ using Microsoft.AspNetCore.Components;
+ using Microsoft.Extensions.Logging;
+
+ public partial class CreateLog
+ {
+ [Inject]
+ public ILogger Logger { get; set; }
+
+ private void CreateLogs()
+ {
+ var logLevels = Enum.GetValues(typeof(LogLevel)).Cast();
+
+ foreach (var logLevel in logLevels.Where(l => l != LogLevel.None))
+ {
+ Logger.Log(logLevel, $"Log message for the level: {logLevel}");
+ }
+ }
+ }
+}
diff --git a/BlazorTP/Pages/Edit.razor b/BlazorTP/Pages/Edit.razor
new file mode 100644
index 0000000..820830e
--- /dev/null
+++ b/BlazorTP/Pages/Edit.razor
@@ -0,0 +1,90 @@
+@page "/edit/{Id:int}"
+
+Edit
+
+My parameter: @Id
+
+
+
+
+
+
+
+ Display name:
+
+
+
+
+
+ Current Item image:
+
+
+
+
+
+ Name:
+
+
+
+
+
+ Stack size:
+
+
+
+
+
+ Max durability:
+
+
+
+
+ Enchant categories:
+
+ @foreach (var item in enchantCategories)
+ {
+
+ OnEnchantCategoriesChange(item, e.Value))" checked="@(itemModel.EnchantCategories.Contains(item) ? "checked" : null)" />@item
+
+ }
+
+
+
+ Repair with:
+
+ @foreach (var item in repairWith)
+ {
+
+ OnRepairWithChange(item, e.Value))" checked="@(itemModel.RepairWith.Contains(item) ? "checked" : null)" />@item
+
+ }
+
+
+
+
+ Current Item image:
+ @if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{itemModel.Name}.png"))
+ {
+
+ }
+ else
+ {
+
+ }
+
+
+
+
+ Item image:
+
+
+
+
+
+ Accept Condition:
+
+
+
+
+ Submit
+
\ No newline at end of file
diff --git a/BlazorTP/Pages/Edit.razor.cs b/BlazorTP/Pages/Edit.razor.cs
new file mode 100644
index 0000000..d7e183a
--- /dev/null
+++ b/BlazorTP/Pages/Edit.razor.cs
@@ -0,0 +1,105 @@
+using BlazorTP.Factories;
+using BlazorTP.Models;
+using BlazorTP.Services;
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Forms;
+
+namespace BlazorTP.Pages
+{
+ public partial class Edit
+ {
+ [Parameter]
+ public int Id { get; set; }
+
+ ///
+ /// The default enchant categories.
+ ///
+ private List enchantCategories = new List() { "armor", "armor_head", "armor_chest", "weapon", "digger", "breakable", "vanishable" };
+
+ ///
+ /// The current item model
+ ///
+ private ItemModel itemModel = new()
+ {
+ EnchantCategories = new List(),
+ RepairWith = new List()
+ };
+
+ ///
+ /// The default repair with.
+ ///
+ private List repairWith = new List() { "oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks", "crimson_planks", "warped_planks" };
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ [Inject]
+ public IWebHostEnvironment WebHostEnvironment { get; set; }
+
+ protected override async Task OnInitializedAsync()
+ {
+ var item = await DataService.GetById(Id);
+
+ var fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/default.png");
+
+ // Set the model with the item
+ itemModel = ItemFactory.ToModel(item, fileContent);
+ }
+
+ private async void HandleValidSubmit()
+ {
+ await DataService.Update(Id, itemModel);
+
+ NavigationManager.NavigateTo("list");
+ }
+
+ private async Task LoadImage(InputFileChangeEventArgs e)
+ {
+ // Set the content of the image to the model
+ using (var memoryStream = new MemoryStream())
+ {
+ await e.File.OpenReadStream().CopyToAsync(memoryStream);
+ itemModel.ImageContent = memoryStream.ToArray();
+ }
+ }
+
+ private void OnEnchantCategoriesChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Remove(item);
+ }
+ }
+
+ private void OnRepairWithChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Remove(item);
+ }
+ }
+ }
+}
diff --git a/BlazorTP/Pages/Error.cshtml b/BlazorTP/Pages/Error.cshtml
new file mode 100644
index 0000000..48b737b
--- /dev/null
+++ b/BlazorTP/Pages/Error.cshtml
@@ -0,0 +1,42 @@
+@page
+@model BlazorTP.Pages.ErrorModel
+
+
+
+
+
+
+
+ Error
+
+
+
+
+
+
+
+
Error.
+
An error occurred while processing your request.
+
+ @if (Model.ShowRequestId)
+ {
+
+ Request ID: @Model.RequestId
+
+ }
+
+
Development Mode
+
+ Swapping to the Development environment displays detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+
+
+
+
diff --git a/BlazorTP/Pages/Error.cshtml.cs b/BlazorTP/Pages/Error.cshtml.cs
new file mode 100644
index 0000000..9d2f060
--- /dev/null
+++ b/BlazorTP/Pages/Error.cshtml.cs
@@ -0,0 +1,27 @@
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.RazorPages;
+using System.Diagnostics;
+
+namespace BlazorTP.Pages
+{
+ [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
+ [IgnoreAntiforgeryToken]
+ public class ErrorModel : PageModel
+ {
+ public string? RequestId { get; set; }
+
+ public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ private readonly ILogger _logger;
+
+ public ErrorModel(ILogger logger)
+ {
+ _logger = logger;
+ }
+
+ public void OnGet()
+ {
+ RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
+ }
+ }
+}
\ No newline at end of file
diff --git a/BlazorTP/Pages/FetchData.razor b/BlazorTP/Pages/FetchData.razor
new file mode 100644
index 0000000..7628502
--- /dev/null
+++ b/BlazorTP/Pages/FetchData.razor
@@ -0,0 +1,48 @@
+@page "/fetchdata"
+
+Weather forecast
+
+@using BlazorTP.Data
+@inject WeatherForecastService ForecastService
+
+Weather forecast
+
+This component demonstrates fetching data from a service.
+
+@if (forecasts == null)
+{
+ Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
+ }
+}
diff --git a/BlazorTP/Pages/Index.razor b/BlazorTP/Pages/Index.razor
new file mode 100644
index 0000000..a8a559d
--- /dev/null
+++ b/BlazorTP/Pages/Index.razor
@@ -0,0 +1,106 @@
+@using System.Globalization
+@using System.Globalization
+@using BlazorTP.Components
+
+@page "/"
+
+Index
+
+Hello, world!
+
+Welcome to your new app.
+
+
+
+@*
+ CurrentCulture : @CultureInfo.CurrentCulture
+
+
+
+
+
+
+
+
+
Welcome To Template Component
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *@
+
+
+
+
+
+
+
+
+
+
+
+
+
+@*
+
+
+
+
+
+
@cakeContext.Name
+
$ @cakeContext.Cost
+
+
+
+
+
+
+
+
+
+
+
@bodyContext.Name
+
$ @bodyContext.Cost
+
+
+
+
+
+
+
+
+
+
@CakeContext.Name
+
Price $@CakeContext.Cost
+
+
+
+
+
+*@
\ No newline at end of file
diff --git a/BlazorTP/Pages/Index.razor.cs b/BlazorTP/Pages/Index.razor.cs
new file mode 100644
index 0000000..ecbc8e7
--- /dev/null
+++ b/BlazorTP/Pages/Index.razor.cs
@@ -0,0 +1,61 @@
+using BlazorTP.Components;
+using BlazorTP.Models;
+using BlazorTP.Services;
+using Microsoft.AspNetCore.Components;
+
+namespace BlazorTP.Pages
+{
+ public partial class Index
+ {
+ private Cake CakeItem = new Cake
+ {
+ Id = 1,
+ Name = "Black Forest",
+ Cost = 50
+ };
+
+ public List Cakes { get; set; }
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ public List- Items { get; set; } = new List
- ();
+
+ private List
Recipes { get; set; } = new List();
+
+ protected override async Task OnAfterRenderAsync(bool firstRender)
+ {
+ base.OnAfterRenderAsync(firstRender);
+
+ if (!firstRender)
+ {
+ return;
+ }
+
+ Items = await DataService.List(0, await DataService.Count());
+ Recipes = await DataService.GetRecipes();
+
+ StateHasChanged();
+ }
+
+ public void LoadCakes()
+ {
+ Cakes = new List
+ {
+ // items hidden for display purpose
+ new Cake
+ {
+ Id = 1,
+ Name = "Red Velvet",
+ Cost = 60
+ },
+ new Cake
+ {
+ Id = 1,
+ Name = "Black Forest",
+ Cost = 50,
+ }
+ };
+ }
+ }
+}
diff --git a/BlazorTP/Pages/List.razor b/BlazorTP/Pages/List.razor
new file mode 100644
index 0000000..ba45ae8
--- /dev/null
+++ b/BlazorTP/Pages/List.razor
@@ -0,0 +1,53 @@
+@page "/list"
+
+@using Models
+
+@Localizer["List"]
+
+
+
+ Ajouter
+
+
+
+
+
+
+
+
+ @if (!string.IsNullOrWhiteSpace(context.ImageBase64))
+ {
+
+ }
+ else
+ {
+
+ }
+
+
+
+
+
+
+ @(string.Join(", ", ((Item)context).EnchantCategories))
+
+
+
+
+ @(string.Join(", ", ((Item)context).RepairWith))
+
+
+
+
+
+ Editer
+ OnDelete(context.Id)"> Supprimer
+
+
+
\ No newline at end of file
diff --git a/BlazorTP/Pages/List.razor.cs b/BlazorTP/Pages/List.razor.cs
new file mode 100644
index 0000000..d546eaf
--- /dev/null
+++ b/BlazorTP/Pages/List.razor.cs
@@ -0,0 +1,106 @@
+using Blazored.LocalStorage;
+using Blazored.Modal;
+using Blazored.Modal.Services;
+using Blazorise.DataGrid;
+using BlazorTP.Modals;
+using BlazorTP.Services;
+using Microsoft.AspNetCore.Components;
+using Microsoft.Extensions.Localization;
+
+namespace BlazorTP.Pages
+{
+ public partial class List
+ {
+ private List- items;
+
+ private int totalItem;
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ [CascadingParameter]
+ public IModalService Modal { get; set; }
+
+ [Inject]
+ public HttpClient Http { get; set; }
+
+ ///
+ /// [Inject]
+ /// public ILocalStorageService LocalStorage { get; set; }
+ ///
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ [Inject]
+ public IWebHostEnvironment WebHostEnvironment { get; set; }
+
+ [Inject]
+ public IStringLocalizer
Localizer { get; set; }
+
+ ///
+ /// protected override async Task OnAfterRenderAsync(bool firstRender)
+ ///{
+ /// // Do not treat this action if is not the first render
+ /// if (!firstRender)
+ /// {
+ /// return;
+ /// }
+ ///
+ /// var currentData = await LocalStorage.GetItemAsync- ("data");
+ ///
+ /// // Check if data exist in the local storage
+ /// if (currentData == null)
+ /// {
+ /// // this code add in the local storage the fake data (we load the data sync for initialize the data before load the OnReadData method)
+ /// var originalData = Http.GetFromJsonAsync
- ($"{NavigationManager.BaseUri}fake-data.json").Result;
+ /// await LocalStorage.SetItemAsync("data", originalData);
+ /// }
+ ///}
+ ///
+
+ private async Task OnReadData(DataGridReadDataEventArgs
- e)
+ {
+ if (e.CancellationToken.IsCancellationRequested)
+ {
+ return;
+ }
+
+ // When you use a real API, we use this follow code
+ //var response = await Http.GetJsonAsync
( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" );
+ ///
+ /// var response = (await LocalStorage.GetItemAsync- ("data")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList();
+ ///
+
+ if (!e.CancellationToken.IsCancellationRequested)
+ {
+ ///
+ /// totalItem = (await LocalStorage.GetItemAsync
>("data")).Count;
+ /// items = new List- (response); // an actual data for the current page
+ ///
+
+ items = await DataService.List(e.Page, e.PageSize);
+ totalItem = await DataService.Count();
+ }
+ }
+
+ private async void OnDelete(int id)
+ {
+ var parameters = new ModalParameters();
+ parameters.Add(nameof(Item.Id), id);
+
+ var modal = Modal.Show
("Delete Confirmation", parameters);
+ var result = await modal.Result;
+
+ if (result.Cancelled)
+ {
+ return;
+ }
+
+ await DataService.Delete(id);
+
+ // Reload the page
+ NavigationManager.NavigateTo("list", true);
+ }
+ }
+}
diff --git a/BlazorTP/Pages/_Host.cshtml b/BlazorTP/Pages/_Host.cshtml
new file mode 100644
index 0000000..b7e3c43
--- /dev/null
+++ b/BlazorTP/Pages/_Host.cshtml
@@ -0,0 +1,8 @@
+@page "/"
+@namespace BlazorTP.Pages
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+@{
+ Layout = "_Layout";
+}
+
+
diff --git a/BlazorTP/Pages/_Layout.cshtml b/BlazorTP/Pages/_Layout.cshtml
new file mode 100644
index 0000000..80be8f8
--- /dev/null
+++ b/BlazorTP/Pages/_Layout.cshtml
@@ -0,0 +1,40 @@
+@using Microsoft.AspNetCore.Components.Web
+@namespace BlazorTP.Pages
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @RenderBody()
+
+
+
+ An error has occurred. This application may no longer respond until reloaded.
+
+
+ An unhandled exception has occurred. See browser dev tools for details.
+
+
Reload
+
🗙
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BlazorTP/Program.cs b/BlazorTP/Program.cs
new file mode 100644
index 0000000..2ab212c
--- /dev/null
+++ b/BlazorTP/Program.cs
@@ -0,0 +1,93 @@
+using Blazored.LocalStorage;
+using Blazorise;
+using Blazorise.Bootstrap;
+using Blazorise.Icons.FontAwesome;
+using BlazorTP.Data;
+using BlazorTP.Services;
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Web;
+using Blazored.Modal;
+using Microsoft.AspNetCore.Localization;
+using System.Globalization;
+using Microsoft.Extensions.Options;
+using BlazorTP.Shared;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+builder.Services.AddRazorPages();
+builder.Services.AddServerSideBlazor();
+builder.Services.AddSingleton();
+builder.Services.AddHttpClient();
+builder.Services
+ .AddBlazorise()
+ .AddBootstrapProviders()
+ .AddFontAwesomeIcons();
+builder.Services.AddBlazoredLocalStorage();
+builder.Services.AddScoped();
+builder.Services.AddBlazoredModal();
+
+// Add the controller of the app
+builder.Services.AddControllers();
+
+// Add the localization to the app and specify the resources path
+builder.Services.AddLocalization(opts => { opts.ResourcesPath = "Resources"; });
+
+// Configure the localtization
+builder.Services.Configure(options =>
+{
+ // Set the default culture of the web site
+ options.DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US"));
+
+ // Declare the supported culture
+ options.SupportedCultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") };
+ options.SupportedUICultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") };
+});
+
+builder.Services.AddScoped();
+
+builder.Services.Configure(option =>
+{
+ var positionOptions = builder.Configuration.GetSection(PositionOptions.Position).Get();
+
+ option.Name = positionOptions.Name;
+ option.Title = positionOptions.Title;
+});
+
+builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging"));
+
+var app = builder.Build();
+
+// Configure the HTTP request pipeline.
+if (!app.Environment.IsDevelopment())
+{
+ app.UseExceptionHandler("/Error");
+ // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
+ app.UseHsts();
+}
+
+app.UseHttpsRedirection();
+
+app.UseStaticFiles();
+
+app.UseRouting();
+
+// Get the current localization options
+var options = ((IApplicationBuilder)app).ApplicationServices.GetService>();
+
+if (options?.Value != null)
+{
+ // use the default localization
+ app.UseRequestLocalization(options.Value);
+}
+
+// Add the controller to the endpoint
+app.UseEndpoints(endpoints =>
+{
+ endpoints.MapControllers();
+});
+
+app.MapBlazorHub();
+app.MapFallbackToPage("/_Host");
+
+app.Run();
diff --git a/BlazorTP/Properties/launchSettings.json b/BlazorTP/Properties/launchSettings.json
new file mode 100644
index 0000000..5b3aa56
--- /dev/null
+++ b/BlazorTP/Properties/launchSettings.json
@@ -0,0 +1,35 @@
+{
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:53987",
+ "sslPort": 44381
+ }
+ },
+ "profiles": {
+ "BlazorTP": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ },
+ "applicationUrl": "https://localhost:7246;http://localhost:5246",
+ "dotnetRunMessages": true
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "Docker": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
+ "publishAllPorts": true,
+ "useSSL": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/BlazorTP/Resources/Pages.List.Designer.cs b/BlazorTP/Resources/Pages.List.Designer.cs
new file mode 100644
index 0000000..fc30d7f
--- /dev/null
+++ b/BlazorTP/Resources/Pages.List.Designer.cs
@@ -0,0 +1,81 @@
+//------------------------------------------------------------------------------
+//
+// Ce code a été généré par un outil.
+// Version du runtime :4.0.30319.42000
+//
+// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
+// le code est régénéré.
+//
+//------------------------------------------------------------------------------
+
+namespace BlazorTP.Resources {
+ using System;
+
+
+ ///
+ /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
+ ///
+ // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
+ // à l'aide d'un outil, tel que ResGen ou Visual Studio.
+ // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
+ // avec l'option /str ou régénérez votre projet VS.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class Pages_List {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Pages_List() {
+ }
+
+ ///
+ /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BlazorTP.Resources.Pages.List", typeof(Pages_List).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Remplace la propriété CurrentUICulture du thread actuel pour toutes
+ /// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Recherche une chaîne localisée semblable à Display Name.
+ ///
+ public static string Display {
+ get {
+ return ResourceManager.GetString("Display", resourceCulture);
+ }
+ }
+
+ ///
+ /// Recherche une chaîne localisée semblable à ItemsList.
+ ///
+ public static string List {
+ get {
+ return ResourceManager.GetString("List", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/BlazorTP/Resources/Pages.List.fr-FR.resx b/BlazorTP/Resources/Pages.List.fr-FR.resx
new file mode 100644
index 0000000..4f98b58
--- /dev/null
+++ b/BlazorTP/Resources/Pages.List.fr-FR.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Nom d'affichage
+
+
+ Liste des éléments
+
+
\ No newline at end of file
diff --git a/BlazorTP/Resources/Pages.List.resx b/BlazorTP/Resources/Pages.List.resx
new file mode 100644
index 0000000..15d740e
--- /dev/null
+++ b/BlazorTP/Resources/Pages.List.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Display Name
+
+
+ ItemsList
+
+
\ No newline at end of file
diff --git a/BlazorTP/Services/DataApiService.cs b/BlazorTP/Services/DataApiService.cs
new file mode 100644
index 0000000..63f297b
--- /dev/null
+++ b/BlazorTP/Services/DataApiService.cs
@@ -0,0 +1,59 @@
+using BlazorTP.Components;
+using BlazorTP.Factories;
+using BlazorTP.Models;
+
+namespace BlazorTP.Services
+{
+ public class DataApiService : IDataService
+ {
+ private readonly HttpClient _http;
+
+ public DataApiService(
+ HttpClient http)
+ {
+ _http = http;
+ }
+
+ public async Task Add(ItemModel model)
+ {
+ // Get the item
+ var item = ItemFactory.Create(model);
+
+ // Save the data
+ await _http.PostAsJsonAsync("https://localhost:7234/api/Crafting/", item);
+ }
+
+ public async Task Count()
+ {
+ return await _http.GetFromJsonAsync("https://localhost:7234/api/Crafting/count");
+ }
+
+ public async Task> List(int currentPage, int pageSize)
+ {
+ return await _http.GetFromJsonAsync>($"https://localhost:7234/api/Crafting/?currentPage={currentPage}&pageSize={pageSize}");
+ }
+
+ public async Task- GetById(int id)
+ {
+ return await _http.GetFromJsonAsync
- ($"https://localhost:7234/api/Crafting/{id}");
+ }
+
+ public async Task Update(int id, ItemModel model)
+ {
+ // Get the item
+ var item = ItemFactory.Create(model);
+
+ await _http.PutAsJsonAsync($"https://localhost:7234/api/Crafting/{id}", item);
+ }
+
+ public async Task Delete(int id)
+ {
+ await _http.DeleteAsync($"https://localhost:7234/api/Crafting/{id}");
+ }
+
+ public async Task
> GetRecipes()
+ {
+ return await _http.GetFromJsonAsync>("https://localhost:7234/api/Crafting/recipe");
+ }
+ }
+}
diff --git a/BlazorTP/Services/DataLocalService.cs b/BlazorTP/Services/DataLocalService.cs
new file mode 100644
index 0000000..9133e27
--- /dev/null
+++ b/BlazorTP/Services/DataLocalService.cs
@@ -0,0 +1,147 @@
+using Blazored.LocalStorage;
+using BlazorTP.Components;
+using BlazorTP.Factories;
+using BlazorTP.Models;
+using Microsoft.AspNetCore.Components;
+
+namespace BlazorTP.Services
+{
+ public class DataLocalService : IDataService
+ {
+ private readonly HttpClient _http;
+ private readonly ILocalStorageService _localStorage;
+ private readonly NavigationManager _navigationManager;
+ private readonly IWebHostEnvironment _webHostEnvironment;
+
+ public DataLocalService(
+ ILocalStorageService localStorage,
+ HttpClient http,
+ IWebHostEnvironment webHostEnvironment,
+ NavigationManager navigationManager)
+ {
+ _localStorage = localStorage;
+ _http = http;
+ _webHostEnvironment = webHostEnvironment;
+ _navigationManager = navigationManager;
+ }
+
+ public async Task Add(ItemModel model)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Simulate the Id
+ model.Id = currentData.Max(s => s.Id) + 1;
+
+ // Add the item to the current data
+ currentData.Add(ItemFactory.Create(model));
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
+
+ public async Task Count()
+ {
+ // Load data from the local storage
+ var currentData = await _localStorage.GetItemAsync- ("data");
+
+ // Check if data exist in the local storage
+ if (currentData == null)
+ {
+ // this code add in the local storage the fake data
+ var originalData = await _http.GetFromJsonAsync
- ($"{_navigationManager.BaseUri}fake-data.json");
+ await _localStorage.SetItemAsync("data", originalData);
+ }
+
+ return (await _localStorage.GetItemAsync
- ("data")).Length;
+ }
+
+ public async Task
> List(int currentPage, int pageSize)
+ {
+ // Load data from the local storage
+ var currentData = await _localStorage.GetItemAsync- ("data");
+
+ // Check if data exist in the local storage
+ if (currentData == null)
+ {
+ // this code add in the local storage the fake data
+ var originalData = await _http.GetFromJsonAsync
- ($"{_navigationManager.BaseUri}fake-data.json");
+ await _localStorage.SetItemAsync("data", originalData);
+ }
+
+ return (await _localStorage.GetItemAsync
- ("data")).Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();
+ }
+
+ public async Task
- GetById(int id)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync
>("data");
+
+ // Get the item int the list
+ var item = currentData.FirstOrDefault(w => w.Id == id);
+
+ // Check if item exist
+ if (item == null)
+ {
+ throw new Exception($"Unable to found the item with ID: {id}");
+ }
+
+ return item;
+ }
+
+ public async Task Update(int id, ItemModel model)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Get the item int the list
+ var item = currentData.FirstOrDefault(w => w.Id == id);
+
+ // Check if item exist
+ if (item == null)
+ {
+ throw new Exception($"Unable to found the item with ID: {id}");
+ }
+
+ // Modify the content of the item
+ ItemFactory.Update(item, model);
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
+
+ public async Task Delete(int id)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Get the item int the list
+ var item = currentData.FirstOrDefault(w => w.Id == id);
+
+ // Delete item in
+ currentData.Remove(item);
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
+
+ public Task> GetRecipes()
+ {
+ var items = new List
+ {
+ new CraftingRecipe
+ {
+ Give = new Item { DisplayName = "Diamond", Name = "diamond" },
+ Have = new List>
+ {
+ new List { "dirt", "dirt", "dirt" },
+ new List { "dirt", null, "dirt" },
+ new List { "dirt", "dirt", "dirt" }
+ }
+ }
+ };
+
+ return Task.FromResult(items);
+ }
+ }
+}
diff --git a/BlazorTP/Services/IDataService.cs b/BlazorTP/Services/IDataService.cs
new file mode 100644
index 0000000..8846226
--- /dev/null
+++ b/BlazorTP/Services/IDataService.cs
@@ -0,0 +1,22 @@
+using BlazorTP.Components;
+using BlazorTP.Models;
+
+namespace BlazorTP.Services
+{
+ public interface IDataService
+ {
+ Task Add(ItemModel model);
+
+ Task Count();
+
+ Task> List(int currentPage, int pageSize);
+
+ Task- GetById(int id);
+
+ Task Update(int id, ItemModel model);
+
+ Task Delete(int id);
+
+ Task
> GetRecipes();
+ }
+}
diff --git a/BlazorTP/Shared/Config.razor b/BlazorTP/Shared/Config.razor
new file mode 100644
index 0000000..fe7f053
--- /dev/null
+++ b/BlazorTP/Shared/Config.razor
@@ -0,0 +1,10 @@
+@page "/config"
+Config
+
+@if (positionOptions != null)
+{
+
+
Title: @positionOptions.Title
+
Name: @positionOptions.Name
+
+}
\ No newline at end of file
diff --git a/BlazorTP/Shared/Config.razor.cs b/BlazorTP/Shared/Config.razor.cs
new file mode 100644
index 0000000..b234a74
--- /dev/null
+++ b/BlazorTP/Shared/Config.razor.cs
@@ -0,0 +1,24 @@
+namespace BlazorTP.Shared
+{
+ using Microsoft.AspNetCore.Components;
+ using Microsoft.Extensions.Configuration;
+ using Microsoft.Extensions.Options;
+
+ public partial class Config
+ {
+ [Inject]
+ public IConfiguration Configuration { get; set; }
+
+ [Inject]
+ public IOptions OptionsPositionOptions { get; set; }
+
+ private PositionOptions positionOptions;
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+
+ positionOptions = OptionsPositionOptions.Value;
+ }
+ }
+}
diff --git a/BlazorTP/Shared/CultureSelector.razor b/BlazorTP/Shared/CultureSelector.razor
new file mode 100644
index 0000000..53d4a2c
--- /dev/null
+++ b/BlazorTP/Shared/CultureSelector.razor
@@ -0,0 +1,43 @@
+@using System.Globalization
+@inject NavigationManager NavigationManager
+
+
+
+ Select your locale:
+
+ @foreach (var culture in supportedCultures)
+ {
+ @culture.DisplayName
+ }
+
+
+
+
+@code
+{
+ private CultureInfo[] supportedCultures = new[]
+ {
+ new CultureInfo("fr-FR"),
+ new CultureInfo("en-US")
+ };
+
+ private CultureInfo Culture
+ {
+ get => CultureInfo.CurrentCulture;
+ set
+ {
+ if (CultureInfo.CurrentUICulture == value)
+ {
+ return;
+ }
+
+ var culture = value.Name.ToLower(CultureInfo.InvariantCulture);
+
+ var uri = new Uri(this.NavigationManager.Uri).GetComponents(UriComponents.PathAndQuery, UriFormat.Unescaped);
+ var query = $"?culture={Uri.EscapeDataString(culture)}&" + $"redirectUri={Uri.EscapeDataString(uri)}";
+
+ // Redirect the user to the culture controller to set the cookie
+ this.NavigationManager.NavigateTo("/Culture/SetCulture" + query, forceLoad: true);
+ }
+ }
+}
diff --git a/BlazorTP/Shared/MainLayout.razor b/BlazorTP/Shared/MainLayout.razor
new file mode 100644
index 0000000..a38e676
--- /dev/null
+++ b/BlazorTP/Shared/MainLayout.razor
@@ -0,0 +1,23 @@
+@inherits LayoutComponentBase
+
+BlazorTP
+
+
+
+
+
+
+
+
+ @Body
+
+
+
diff --git a/BlazorTP/Shared/MainLayout.razor.css b/BlazorTP/Shared/MainLayout.razor.css
new file mode 100644
index 0000000..699f17c
--- /dev/null
+++ b/BlazorTP/Shared/MainLayout.razor.css
@@ -0,0 +1,70 @@
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+main {
+ flex: 1;
+}
+
+.sidebar {
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
+}
+
+.top-row {
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+
+ .top-row ::deep a, .top-row .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+ }
+
+ .top-row a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+@media (max-width: 640.98px) {
+ .top-row:not(.auth) {
+ display: none;
+ }
+
+ .top-row.auth {
+ justify-content: space-between;
+ }
+
+ .top-row a, .top-row .btn-link {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 641px) {
+ .page {
+ flex-direction: row;
+ }
+
+ .sidebar {
+ width: 250px;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+
+ .top-row, article {
+ padding-left: 2rem !important;
+ padding-right: 1.5rem !important;
+ }
+}
diff --git a/BlazorTP/Shared/NavMenu.razor b/BlazorTP/Shared/NavMenu.razor
new file mode 100644
index 0000000..ccdb1eb
--- /dev/null
+++ b/BlazorTP/Shared/NavMenu.razor
@@ -0,0 +1,44 @@
+
+
+
+
+@code {
+ private bool collapseNavMenu = true;
+
+ private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
+
+ private void ToggleNavMenu()
+ {
+ collapseNavMenu = !collapseNavMenu;
+ }
+}
diff --git a/BlazorTP/Shared/NavMenu.razor.css b/BlazorTP/Shared/NavMenu.razor.css
new file mode 100644
index 0000000..e681f23
--- /dev/null
+++ b/BlazorTP/Shared/NavMenu.razor.css
@@ -0,0 +1,62 @@
+.navbar-toggler {
+ background-color: rgba(255, 255, 255, 0.1);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.oi {
+ width: 2rem;
+ font-size: 1.1rem;
+ vertical-align: text-top;
+ top: -2px;
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep a {
+ color: #d7d7d7;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.25);
+ color: white;
+}
+
+.nav-item ::deep a:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .collapse {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+ }
+}
diff --git a/BlazorTP/Shared/PositionOptions.cs b/BlazorTP/Shared/PositionOptions.cs
new file mode 100644
index 0000000..825801a
--- /dev/null
+++ b/BlazorTP/Shared/PositionOptions.cs
@@ -0,0 +1,10 @@
+namespace BlazorTP.Shared
+{
+ public class PositionOptions
+ {
+ public const string Position = "Position";
+
+ public string Title { get; set; }
+ public string Name { get; set; }
+ }
+}
diff --git a/BlazorTP/Shared/SurveyPrompt.razor b/BlazorTP/Shared/SurveyPrompt.razor
new file mode 100644
index 0000000..799bb62
--- /dev/null
+++ b/BlazorTP/Shared/SurveyPrompt.razor
@@ -0,0 +1,16 @@
+
+
+
@Title
+
+
+ Please take our
+ brief survey
+
+ and tell us what you think.
+
+
+@code {
+ // Demonstrates how a parent component can supply parameters
+ [Parameter]
+ public string? Title { get; set; }
+}
diff --git a/BlazorTP/_Imports.razor b/BlazorTP/_Imports.razor
new file mode 100644
index 0000000..3340c1b
--- /dev/null
+++ b/BlazorTP/_Imports.razor
@@ -0,0 +1,13 @@
+@using System.Net.Http
+@using Microsoft.AspNetCore.Authorization
+@using Microsoft.AspNetCore.Components.Authorization
+@using Microsoft.AspNetCore.Components.Forms
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using Microsoft.AspNetCore.Components.Web.Virtualization
+@using Microsoft.JSInterop
+@using BlazorTP
+@using BlazorTP.Shared
+@using Blazorise.DataGrid
+@using Blazored.Modal
+@using Blazored.Modal.Services
diff --git a/BlazorTP/appsettings.Development.json b/BlazorTP/appsettings.Development.json
new file mode 100644
index 0000000..f042c67
--- /dev/null
+++ b/BlazorTP/appsettings.Development.json
@@ -0,0 +1,9 @@
+{
+ "DetailedErrors": true,
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/BlazorTP/appsettings.json b/BlazorTP/appsettings.json
new file mode 100644
index 0000000..74555c7
--- /dev/null
+++ b/BlazorTP/appsettings.json
@@ -0,0 +1,32 @@
+{
+ "Position":
+ {
+ "Title": "Editor",
+ "Name": "Joe Smith"
+ },
+ "MyKey": "My appsettings.json Value",
+ "Logging":
+ {
+ "LogLevel":
+ { // All providers, LogLevel applies to all the enabled providers.
+ "Default": "Error", // Default logging, Error and higher.
+ "Microsoft": "Warning" // All Microsoft* categories, Warning and higher.
+ },
+ "Debug":
+ { // Debug provider.
+ "LogLevel":
+ {
+ "Default": "Information", // Overrides preceding LogLevel:Default setting.
+ "Microsoft.Hosting": "Trace" // Debug:Microsoft.Hosting category.
+ }
+ },
+ "EventSource":
+ { // EventSource provider
+ "LogLevel":
+ {
+ "Default": "Warning" // All categories of EventSource provider.
+ }
+ }
+ },
+ "AllowedHosts": "*"
+}
\ No newline at end of file
diff --git a/BlazorTP/bin/Debug/net6.0/BlazorTP.deps.json b/BlazorTP/bin/Debug/net6.0/BlazorTP.deps.json
new file mode 100644
index 0000000..bc7941f
--- /dev/null
+++ b/BlazorTP/bin/Debug/net6.0/BlazorTP.deps.json
@@ -0,0 +1,441 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v6.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v6.0": {
+ "BlazorTP/1.0.0": {
+ "dependencies": {
+ "Blazored.LocalStorage": "4.3.0",
+ "Blazored.Modal": "7.1.0",
+ "Blazorise.Bootstrap": "1.1.2",
+ "Blazorise.DataGrid": "1.1.2",
+ "Blazorise.Icons.FontAwesome": "1.1.2",
+ "Microsoft.Extensions.Localization": "7.0.0",
+ "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": "1.15.1"
+ },
+ "runtime": {
+ "BlazorTP.dll": {}
+ },
+ "resources": {
+ "fr-FR/BlazorTP.resources.dll": {
+ "locale": "fr-FR"
+ }
+ }
+ },
+ "Blazored.LocalStorage/4.3.0": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Components.Web": "6.0.9"
+ },
+ "runtime": {
+ "lib/net6.0/Blazored.LocalStorage.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "Blazored.Modal/7.1.0": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Components": "6.0.9",
+ "Microsoft.AspNetCore.Components.Web": "6.0.9",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
+ "Microsoft.JSInterop.WebAssembly": "6.0.3"
+ },
+ "runtime": {
+ "lib/net6.0/Blazored.Modal.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "Blazorise/1.1.2": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Components": "6.0.9",
+ "Microsoft.AspNetCore.Components.Web": "6.0.9",
+ "Microsoft.Extensions.Logging.Abstractions": "7.0.0"
+ },
+ "runtime": {
+ "lib/net6.0/Blazorise.dll": {
+ "assemblyVersion": "1.1.2.0",
+ "fileVersion": "1.1.2.0"
+ }
+ }
+ },
+ "Blazorise.Bootstrap/1.1.2": {
+ "dependencies": {
+ "Blazorise": "1.1.2",
+ "Microsoft.AspNetCore.Components": "6.0.9",
+ "Microsoft.AspNetCore.Components.Web": "6.0.9",
+ "Microsoft.Extensions.Logging.Abstractions": "7.0.0"
+ },
+ "runtime": {
+ "lib/net6.0/Blazorise.Bootstrap.dll": {
+ "assemblyVersion": "1.1.2.0",
+ "fileVersion": "1.1.2.0"
+ }
+ }
+ },
+ "Blazorise.DataGrid/1.1.2": {
+ "dependencies": {
+ "Blazorise": "1.1.2",
+ "Microsoft.AspNetCore.Components": "6.0.9",
+ "Microsoft.AspNetCore.Components.Web": "6.0.9",
+ "Microsoft.Extensions.Logging.Abstractions": "7.0.0"
+ },
+ "runtime": {
+ "lib/net6.0/Blazorise.DataGrid.dll": {
+ "assemblyVersion": "1.1.2.0",
+ "fileVersion": "1.1.2.0"
+ }
+ }
+ },
+ "Blazorise.Icons.FontAwesome/1.1.2": {
+ "dependencies": {
+ "Blazorise": "1.1.2",
+ "Microsoft.AspNetCore.Components": "6.0.9",
+ "Microsoft.AspNetCore.Components.Web": "6.0.9",
+ "Microsoft.Extensions.Logging.Abstractions": "7.0.0"
+ },
+ "runtime": {
+ "lib/net6.0/Blazorise.Icons.FontAwesome.dll": {
+ "assemblyVersion": "1.1.2.0",
+ "fileVersion": "1.1.2.0"
+ }
+ }
+ },
+ "Microsoft.AspNetCore.Authorization/6.0.9": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Metadata": "6.0.9",
+ "Microsoft.Extensions.Logging.Abstractions": "7.0.0",
+ "Microsoft.Extensions.Options": "7.0.0"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.AspNetCore.Authorization.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.922.41926"
+ }
+ }
+ },
+ "Microsoft.AspNetCore.Components/6.0.9": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Authorization": "6.0.9",
+ "Microsoft.AspNetCore.Components.Analyzers": "6.0.9"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.AspNetCore.Components.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.922.41926"
+ }
+ }
+ },
+ "Microsoft.AspNetCore.Components.Analyzers/6.0.9": {},
+ "Microsoft.AspNetCore.Components.Forms/6.0.9": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Components": "6.0.9"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.922.41926"
+ }
+ }
+ },
+ "Microsoft.AspNetCore.Components.Web/6.0.9": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Components": "6.0.9",
+ "Microsoft.AspNetCore.Components.Forms": "6.0.9",
+ "Microsoft.Extensions.DependencyInjection": "6.0.0",
+ "Microsoft.JSInterop": "6.0.9",
+ "System.IO.Pipelines": "6.0.3"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.AspNetCore.Components.Web.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.922.41926"
+ }
+ }
+ },
+ "Microsoft.AspNetCore.Metadata/6.0.9": {
+ "runtime": {
+ "lib/net6.0/Microsoft.AspNetCore.Metadata.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.922.41926"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection/6.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
+ "runtime": {
+ "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "assemblyVersion": "7.0.0.0",
+ "fileVersion": "7.0.22.51805"
+ }
+ }
+ },
+ "Microsoft.Extensions.Localization/7.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
+ "Microsoft.Extensions.Localization.Abstractions": "7.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "7.0.0",
+ "Microsoft.Extensions.Options": "7.0.0"
+ },
+ "runtime": {
+ "lib/netstandard2.0/Microsoft.Extensions.Localization.dll": {
+ "assemblyVersion": "7.0.0.0",
+ "fileVersion": "7.0.22.51819"
+ }
+ }
+ },
+ "Microsoft.Extensions.Localization.Abstractions/7.0.0": {
+ "runtime": {
+ "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll": {
+ "assemblyVersion": "7.0.0.0",
+ "fileVersion": "7.0.22.51819"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions/7.0.0": {
+ "runtime": {
+ "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "assemblyVersion": "7.0.0.0",
+ "fileVersion": "7.0.22.51805"
+ }
+ }
+ },
+ "Microsoft.Extensions.Options/7.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
+ "Microsoft.Extensions.Primitives": "7.0.0"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.Extensions.Options.dll": {
+ "assemblyVersion": "7.0.0.0",
+ "fileVersion": "7.0.22.51805"
+ }
+ }
+ },
+ "Microsoft.Extensions.Primitives/7.0.0": {
+ "dependencies": {
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.Extensions.Primitives.dll": {
+ "assemblyVersion": "7.0.0.0",
+ "fileVersion": "7.0.22.51805"
+ }
+ }
+ },
+ "Microsoft.JSInterop/6.0.9": {
+ "runtime": {
+ "lib/net6.0/Microsoft.JSInterop.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.922.41926"
+ }
+ }
+ },
+ "Microsoft.JSInterop.WebAssembly/6.0.3": {
+ "dependencies": {
+ "Microsoft.JSInterop": "6.0.9"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.JSInterop.WebAssembly.dll": {
+ "assemblyVersion": "6.0.3.0",
+ "fileVersion": "6.0.322.12401"
+ }
+ }
+ },
+ "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.15.1": {},
+ "System.IO.Pipelines/6.0.3": {
+ "runtime": {
+ "lib/net6.0/System.IO.Pipelines.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.522.21309"
+ }
+ }
+ },
+ "System.Runtime.CompilerServices.Unsafe/6.0.0": {}
+ }
+ },
+ "libraries": {
+ "BlazorTP/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Blazored.LocalStorage/4.3.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-CfHp9SWN45cM/TM8uw4pELQBfCRtMssCMSOjsEXVWibeYBn36TLpzw+J1vsC2Su2BEQ3Et19A5+GqK1S3kHbTQ==",
+ "path": "blazored.localstorage/4.3.0",
+ "hashPath": "blazored.localstorage.4.3.0.nupkg.sha512"
+ },
+ "Blazored.Modal/7.1.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ft5bX5barhyzpQc9jjU029ByrAQXgqSMItwhmEbr0pb7r+of8XH0E/OyS8K6O6Disq5R+p4wpt+W+NGg3/OTMA==",
+ "path": "blazored.modal/7.1.0",
+ "hashPath": "blazored.modal.7.1.0.nupkg.sha512"
+ },
+ "Blazorise/1.1.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-UGlSOaSiyg3kIN2KbwioNrAoR6Z653NCazo8Tkc5xXoWQKJvkcumhLCZmTbY9pePkOOCU7ey/BSY+cnKYMfhCQ==",
+ "path": "blazorise/1.1.2",
+ "hashPath": "blazorise.1.1.2.nupkg.sha512"
+ },
+ "Blazorise.Bootstrap/1.1.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+5LSbmSCcPaWM3KEireQa/37z/7q76Kvkx244t6bd8FUkQT9wdxIru5JrKRyn48lz7wGYFqiKYSr2EDgcXLVIw==",
+ "path": "blazorise.bootstrap/1.1.2",
+ "hashPath": "blazorise.bootstrap.1.1.2.nupkg.sha512"
+ },
+ "Blazorise.DataGrid/1.1.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-hqBiSAqNXp322MLKnAuAENVs3M2I45rtCFs5TPHHYP7z7Lmkg4TzDstZIv95/cn3DWKqVtzvdBs6GFqK+2p6fg==",
+ "path": "blazorise.datagrid/1.1.2",
+ "hashPath": "blazorise.datagrid.1.1.2.nupkg.sha512"
+ },
+ "Blazorise.Icons.FontAwesome/1.1.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3Di2jXYKffeZ+2u76JCi+BgH5M00lzoX+JUktw6wJozdksbfuPRLIVuodyzZz9WGd5bZCdYKHctrTjEWme/8lw==",
+ "path": "blazorise.icons.fontawesome/1.1.2",
+ "hashPath": "blazorise.icons.fontawesome.1.1.2.nupkg.sha512"
+ },
+ "Microsoft.AspNetCore.Authorization/6.0.9": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-paH0Zgo6yWMhVwaWZ0wqyY5az7zv89C5AlRfrpAAjAyKLvgBuTIQIK9kPSIGAoOhvt56fxcDTLws3cckauWOWw==",
+ "path": "microsoft.aspnetcore.authorization/6.0.9",
+ "hashPath": "microsoft.aspnetcore.authorization.6.0.9.nupkg.sha512"
+ },
+ "Microsoft.AspNetCore.Components/6.0.9": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ueQkgDVg30fWLRrHiK/yaDEH2J8UUZ8+5KykWTupiHoLxHBcdx60lxelmJWrLzHsiA/1aoZMhPF2r5sGDPd8nw==",
+ "path": "microsoft.aspnetcore.components/6.0.9",
+ "hashPath": "microsoft.aspnetcore.components.6.0.9.nupkg.sha512"
+ },
+ "Microsoft.AspNetCore.Components.Analyzers/6.0.9": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-yVI41+FbLzNhBUEPWNTEwFCz3+JkzCfiD1K+8MLFa66+yDSDWBUbzXtTxzVb2I8RstANXalR/6BFUvmdYjruAQ==",
+ "path": "microsoft.aspnetcore.components.analyzers/6.0.9",
+ "hashPath": "microsoft.aspnetcore.components.analyzers.6.0.9.nupkg.sha512"
+ },
+ "Microsoft.AspNetCore.Components.Forms/6.0.9": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-uPFeDc3Ur8lReE6J5k+8Y+8xIhXiUHKBB3w2IV37bBh2vOSTpoMq9RkcKC8omeulqGRD4iPyzGxEA7OIIXqC0A==",
+ "path": "microsoft.aspnetcore.components.forms/6.0.9",
+ "hashPath": "microsoft.aspnetcore.components.forms.6.0.9.nupkg.sha512"
+ },
+ "Microsoft.AspNetCore.Components.Web/6.0.9": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-fNb8IGYDYYaWrt20ObNhwXkh5AhYyiphrIZDpNegvbtLtlJMsz2OaJztgpVDGNLmb7x20TQ3GlnGQiqHChcmeA==",
+ "path": "microsoft.aspnetcore.components.web/6.0.9",
+ "hashPath": "microsoft.aspnetcore.components.web.6.0.9.nupkg.sha512"
+ },
+ "Microsoft.AspNetCore.Metadata/6.0.9": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-cQET2vOT72zW+kOd71KQE80qBSQJEnWs86HfJEZPzHgTfn/o5UyzHHRosP1EQX8iPQ9ESxmd+AJedggkSxN93Q==",
+ "path": "microsoft.aspnetcore.metadata/6.0.9",
+ "hashPath": "microsoft.aspnetcore.metadata.6.0.9.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
+ "path": "microsoft.extensions.dependencyinjection/6.0.0",
+ "hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0",
+ "hashPath": "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Localization/7.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-hc+3uiY/ZYufz6GC39ODQ1Pk9lMnSg+ORZIIEv7W2VJpekc43GoJ3EcwDu5ggLcVvb8ff87peXt8WEtbCVsWPQ==",
+ "path": "microsoft.extensions.localization/7.0.0",
+ "hashPath": "microsoft.extensions.localization.7.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Localization.Abstractions/7.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-OhKe14cdR3aNJ2eFUrLIKEEXAmudZD7TmV+Exw9Y1OWCaV2vkvp4DLnz0GgYbRGpTPPgS50f1c/hK7JkV3uVcA==",
+ "path": "microsoft.extensions.localization.abstractions/7.0.0",
+ "hashPath": "microsoft.extensions.localization.abstractions.7.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging.Abstractions/7.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==",
+ "path": "microsoft.extensions.logging.abstractions/7.0.0",
+ "hashPath": "microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Options/7.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==",
+ "path": "microsoft.extensions.options/7.0.0",
+ "hashPath": "microsoft.extensions.options.7.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Primitives/7.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
+ "path": "microsoft.extensions.primitives/7.0.0",
+ "hashPath": "microsoft.extensions.primitives.7.0.0.nupkg.sha512"
+ },
+ "Microsoft.JSInterop/6.0.9": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-6SRDR3QEhnT3WuNittrXn0yKM2a2J7E22GAdSuKzC8tPcAjA25tHJeyFcRIJFZBmsIE0tuJzXopLrvG4sTacAg==",
+ "path": "microsoft.jsinterop/6.0.9",
+ "hashPath": "microsoft.jsinterop.6.0.9.nupkg.sha512"
+ },
+ "Microsoft.JSInterop.WebAssembly/6.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-4B7RdZ01eKShey9MllKrVjEJZN/Y1Hvku/qTwVKSwt/n+KgFmyYEkEMbSdKDWB7MbvCPZykCQbkKnKfLzML9sg==",
+ "path": "microsoft.jsinterop.webassembly/6.0.3",
+ "hashPath": "microsoft.jsinterop.webassembly.6.0.3.nupkg.sha512"
+ },
+ "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.15.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dcsF7rjxvMnqtfckpzWYvBsZsJD51yQVHSSgd2EN5/CJ/zQigJrfo313lvAwf0VL9ZOHLnJthuboadjnBAU7Ng==",
+ "path": "microsoft.visualstudio.azure.containers.tools.targets/1.15.1",
+ "hashPath": "microsoft.visualstudio.azure.containers.tools.targets.1.15.1.nupkg.sha512"
+ },
+ "System.IO.Pipelines/6.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==",
+ "path": "system.io.pipelines/6.0.3",
+ "hashPath": "system.io.pipelines.6.0.3.nupkg.sha512"
+ },
+ "System.Runtime.CompilerServices.Unsafe/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
+ "path": "system.runtime.compilerservices.unsafe/6.0.0",
+ "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/BlazorTP/bin/Debug/net6.0/BlazorTP.dll b/BlazorTP/bin/Debug/net6.0/BlazorTP.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f20ccf7d1c7d069d4a3f21792e53de35da9ade6f
GIT binary patch
literal 119808
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