diff --git a/README.md b/README.md
index 55aa71a5..c6dc3063 100644
--- a/README.md
+++ b/README.md
@@ -8,8 +8,9 @@ A self-hosted Discord bot for the Rust+ companion app.
The bot is live: it pairs with Rust+ over FCM, holds a socket per server, and
auto-provisions its own Discord channels. Pairing/connection, the chat bridge,
-in-game `!commands` and slash surfaces, live map events, and map rendering are all
-shipped. Smart devices and cameras are next.
+in-game `!commands` and slash surfaces, live map events, map rendering, smart
+devices (switches, alarms, storage monitors), and an offline item database with
+recycle/craft/research calculators are all shipped. Cameras are next.
## Features
@@ -47,12 +48,14 @@ configurable per-server prefix (default `!`) and per-command cooldowns:
- **Server** — `!pop`, `!time`, `!wipe`
- **Team** — `!online`, `!offline`, `!team`, `!alive`, `!steamid [name]`, `!prox [name]`
- **Live events** — `!cargo`, `!heli`, `!chinook`, `!small`, `!large`, `!events`
+- **Items** — `!item`, `!recycle`, `!craft`, `!research` (name or id)
- **Control** — `!mute` / `!unmute` (gate all bot→game output)
### Slash commands
- **Server data** (ephemeral, with a `server` selector when several are paired) —
`/pop`, `/time`, `/wipe`, `/online`, `/offline`, `/team`, `/alive`, `/small`, `/large`
+- **Items** (ephemeral) — `/item`, `/recycle`, `/craft`, `/research` (name or id)
- **Utility** — `/help`, `/uptime`, `/leader` (Manage Server — transfer in-game team leadership)
- **Admin** — `/setup`, `/workspace reset`, `/workspace simulate-server`
@@ -69,6 +72,17 @@ configurable per-server prefix (default `!`) and per-command cooldowns:
layers — **Grid**, **Markers**, **Monuments**, **Vendor**, **Players**, **Rigs** —
controlled from a Manage-Server-gated control message.
+### Item database & calculators
+
+- An **offline, versioned item dataset** (bundled, ~1200 items) behind one
+ lookup seam, exposing four calculators both in-game and as ephemeral slash
+ commands: item info, recycler yields, craft recipes, and research scrap cost.
+- **Name-or-id lookup** — type a name (case-insensitive, partial), an exact name,
+ or a numeric id; multiple matches return a short "did you mean" list.
+- **Provenance-aware** — each result footers the date its data was sourced, and a
+ maintainer [generator tool](tools/RustPlusBot.ItemData.Generator) regenerates the
+ bundle from upstream (with strict validation) so it never silently rots.
+
### Foundation
- Multi-guild, self-hosted, per-guild isolation everywhere; SQLite persistence;
@@ -113,8 +127,14 @@ See [docs/development/running-locally.md](docs/development/running-locally.md).
| `RustPlusBot.Features.Commands` | In-game `!commands`, slash surfaces, `/help`/`/leader` |
| `RustPlusBot.Features.Events` | Live map-event classification + `#events` feed |
| `RustPlusBot.Features.Map` | Map image rendering with toggleable layers |
+| `RustPlusBot.Features.ItemData` | Bundled item dataset, lookup seam, recycle/craft/research data |
| `RustPlusBot.Host` | Generic Host entry point, DI wiring, startup validation |
+The `tools/` folder holds maintainer utilities that are not part of the running
+bot — currently
+[`RustPlusBot.ItemData.Generator`](tools/RustPlusBot.ItemData.Generator), which
+regenerates the embedded item dataset.
+
## Roadmap
Subsystems are built in order; each has its own spec → plan → build cycle.
@@ -125,8 +145,9 @@ Subsystems are built in order; each has its own spec → plan → build cycle.
| 1 | Pairing & connection (FCM, credential pool, hot-swap, auto-failover) | Done |
| 2 | Map + live events (events feed, oil-rig detection, map render + layers) | Done |
| 3 | Chat bridge + `!commands` + slash surfaces | Done |
-| 4 | Smart devices | Planned |
+| 4 | Smart devices (switches, alarms, storage monitors) | Done |
| 5 | Cameras | Planned |
+| 6 | Item database & calculators (recycle/craft/research) | In progress |
## License
diff --git a/RustPlusBot.slnx b/RustPlusBot.slnx
index d4f64b76..53eb82f3 100644
--- a/RustPlusBot.slnx
+++ b/RustPlusBot.slnx
@@ -12,12 +12,16 @@
+
+
+
+
@@ -25,6 +29,7 @@
+
@@ -33,5 +38,6 @@
+
diff --git a/src/RustPlusBot.Features.Commands/CommandServiceCollectionExtensions.cs b/src/RustPlusBot.Features.Commands/CommandServiceCollectionExtensions.cs
index fd24d928..c38507c6 100644
--- a/src/RustPlusBot.Features.Commands/CommandServiceCollectionExtensions.cs
+++ b/src/RustPlusBot.Features.Commands/CommandServiceCollectionExtensions.cs
@@ -6,6 +6,7 @@
using RustPlusBot.Features.Commands.Hosting;
using RustPlusBot.Features.Commands.Leader;
using RustPlusBot.Features.Commands.Servers;
+using RustPlusBot.Features.ItemData;
using RustPlusBot.Localization;
namespace RustPlusBot.Features.Commands;
@@ -23,6 +24,7 @@ public static IServiceCollection AddCommands(this IServiceCollection services)
services.AddSingleton();
services.AddSingleton();
services.AddRustPlusBotLocalization();
+ services.AddItemData();
services.AddScoped();
services.AddScoped();
@@ -43,6 +45,10 @@ public static IServiceCollection AddCommands(this IServiceCollection services)
services.AddScoped();
services.AddScoped();
services.AddScoped();
+ services.AddScoped();
+ services.AddScoped();
+ services.AddScoped();
+ services.AddScoped();
services.AddScoped();
services.AddHostedService();
diff --git a/src/RustPlusBot.Features.Commands/Formatting/CraftLine.cs b/src/RustPlusBot.Features.Commands/Formatting/CraftLine.cs
new file mode 100644
index 00000000..917256eb
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Formatting/CraftLine.cs
@@ -0,0 +1,22 @@
+using System.Globalization;
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.Features.ItemData.Naming;
+
+namespace RustPlusBot.Features.Commands.Formatting;
+
+/// Formats the one-line craft-recipe reply.
+internal static class CraftLine
+{
+ /// Formats the ingredients and craft time for an item.
+ /// The item (must have non-null ).
+ /// Resolves ingredient item ids to names.
+ public static string Format(ItemRecord item, IItemNameResolver names)
+ {
+ ArgumentNullException.ThrowIfNull(item);
+ ArgumentNullException.ThrowIfNull(names);
+ ArgumentNullException.ThrowIfNull(item.Craft);
+ var parts = item.Craft.Ingredients
+ .Select(g => string.Create(CultureInfo.InvariantCulture, $"{names.Resolve(g.ItemId)} ×{g.Quantity}"));
+ return string.Create(CultureInfo.InvariantCulture, $"{item.Name}: {string.Join(", ", parts)}");
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Formatting/ItemLine.cs b/src/RustPlusBot.Features.Commands/Formatting/ItemLine.cs
new file mode 100644
index 00000000..0ee675ca
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Formatting/ItemLine.cs
@@ -0,0 +1,20 @@
+using System.Globalization;
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.Features.Commands.Formatting;
+
+/// Formats the one-line item lookup card.
+internal static class ItemLine
+{
+ /// Formats name, id, stack size, and despawn time.
+ /// The item to describe.
+ public static string Format(ItemRecord item)
+ {
+ ArgumentNullException.ThrowIfNull(item);
+ var despawn = item.DespawnSeconds is { } seconds
+ ? DurationFormat.Compact(TimeSpan.FromSeconds(seconds))
+ : "—";
+ return string.Create(CultureInfo.InvariantCulture,
+ $"{item.Name} (id {item.Id}) · stack {item.StackSize} · despawn {despawn}");
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Formatting/RecycleLine.cs b/src/RustPlusBot.Features.Commands/Formatting/RecycleLine.cs
new file mode 100644
index 00000000..15aa95c8
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Formatting/RecycleLine.cs
@@ -0,0 +1,22 @@
+using System.Globalization;
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.Features.ItemData.Naming;
+
+namespace RustPlusBot.Features.Commands.Formatting;
+
+/// Formats the one-line recycler-yield reply.
+internal static class RecycleLine
+{
+ /// Formats the recycler outputs for an item, or a "not recyclable" sentinel via the caller.
+ /// The item (must have non-null ).
+ /// Resolves output item ids to names.
+ public static string Format(ItemRecord item, IItemNameResolver names)
+ {
+ ArgumentNullException.ThrowIfNull(item);
+ ArgumentNullException.ThrowIfNull(names);
+ ArgumentNullException.ThrowIfNull(item.Recycle);
+ var parts = item.Recycle.Recycler
+ .Select(y => string.Create(CultureInfo.InvariantCulture, $"{names.Resolve(y.ItemId)} ×{y.Quantity}"));
+ return string.Create(CultureInfo.InvariantCulture, $"{item.Name} → {string.Join(", ", parts)}");
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Formatting/ResearchLine.cs b/src/RustPlusBot.Features.Commands/Formatting/ResearchLine.cs
new file mode 100644
index 00000000..cea156af
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Formatting/ResearchLine.cs
@@ -0,0 +1,17 @@
+using System.Globalization;
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.Features.Commands.Formatting;
+
+/// Formats the one-line research-cost reply.
+internal static class ResearchLine
+{
+ /// Formats the scrap research cost for an item.
+ /// The item (must have non-null ).
+ public static string Format(ItemRecord item)
+ {
+ ArgumentNullException.ThrowIfNull(item);
+ ArgumentNullException.ThrowIfNull(item.Research);
+ return string.Create(CultureInfo.InvariantCulture, $"{item.Name}: {item.Research.Scrap} scrap");
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Handlers/CraftCommandHandler.cs b/src/RustPlusBot.Features.Commands/Handlers/CraftCommandHandler.cs
new file mode 100644
index 00000000..0d9c706b
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Handlers/CraftCommandHandler.cs
@@ -0,0 +1,36 @@
+using RustPlusBot.Features.Commands.Dispatching;
+using RustPlusBot.Features.Commands.Formatting;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Lookup;
+using RustPlusBot.Features.ItemData.Naming;
+using RustPlusBot.Localization;
+
+namespace RustPlusBot.Features.Commands.Handlers;
+
+/// !craft — shows the craft recipe for an item.
+/// The item database.
+/// Resolves ingredient item ids to names.
+/// The reply localizer.
+internal sealed class CraftCommandHandler(IItemDatabase database, IItemNameResolver names, ILocalizer localizer)
+ : ICommandHandler
+{
+ ///
+ public string Name => "craft";
+
+ ///
+ public Task ExecuteAsync(CommandContext context, CancellationToken cancellationToken)
+ {
+ ArgumentNullException.ThrowIfNull(context);
+ var query = string.Join(' ', context.Args);
+ var reply = database.Resolve(query) switch
+ {
+ ItemMatch.Found { Item.Craft: not null } f =>
+ localizer.Get("command.craft.ok", context.Culture, CraftLine.Format(f.Item, names)),
+ ItemMatch.Found f => localizer.Get("command.craft.none", context.Culture, f.Item.Name),
+ ItemMatch.Ambiguous a => localizer.Get("command.item.ambiguous", context.Culture,
+ string.Join(", ", a.Candidates.Select(c => c.Name))),
+ _ => localizer.Get("command.item.notfound", context.Culture, query),
+ };
+ return Task.FromResult(reply);
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Handlers/ItemCommandHandler.cs b/src/RustPlusBot.Features.Commands/Handlers/ItemCommandHandler.cs
new file mode 100644
index 00000000..536ec326
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Handlers/ItemCommandHandler.cs
@@ -0,0 +1,31 @@
+using RustPlusBot.Features.Commands.Dispatching;
+using RustPlusBot.Features.Commands.Formatting;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Lookup;
+using RustPlusBot.Localization;
+
+namespace RustPlusBot.Features.Commands.Handlers;
+
+/// !item — looks up an item's name, id, stack size, and despawn time.
+/// The item database.
+/// The reply localizer.
+internal sealed class ItemCommandHandler(IItemDatabase database, ILocalizer localizer) : ICommandHandler
+{
+ ///
+ public string Name => "item";
+
+ ///
+ public Task ExecuteAsync(CommandContext context, CancellationToken cancellationToken)
+ {
+ ArgumentNullException.ThrowIfNull(context);
+ var query = string.Join(' ', context.Args);
+ var reply = database.Resolve(query) switch
+ {
+ ItemMatch.Found f => localizer.Get("command.item.ok", context.Culture, ItemLine.Format(f.Item)),
+ ItemMatch.Ambiguous a => localizer.Get("command.item.ambiguous", context.Culture,
+ string.Join(", ", a.Candidates.Select(c => c.Name))),
+ _ => localizer.Get("command.item.notfound", context.Culture, query),
+ };
+ return Task.FromResult(reply);
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Handlers/RecycleCommandHandler.cs b/src/RustPlusBot.Features.Commands/Handlers/RecycleCommandHandler.cs
new file mode 100644
index 00000000..28195967
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Handlers/RecycleCommandHandler.cs
@@ -0,0 +1,36 @@
+using RustPlusBot.Features.Commands.Dispatching;
+using RustPlusBot.Features.Commands.Formatting;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Lookup;
+using RustPlusBot.Features.ItemData.Naming;
+using RustPlusBot.Localization;
+
+namespace RustPlusBot.Features.Commands.Handlers;
+
+/// !recycle — shows the recycler output for an item.
+/// The item database.
+/// Resolves output item ids to names.
+/// The reply localizer.
+internal sealed class RecycleCommandHandler(IItemDatabase database, IItemNameResolver names, ILocalizer localizer)
+ : ICommandHandler
+{
+ ///
+ public string Name => "recycle";
+
+ ///
+ public Task ExecuteAsync(CommandContext context, CancellationToken cancellationToken)
+ {
+ ArgumentNullException.ThrowIfNull(context);
+ var query = string.Join(' ', context.Args);
+ var reply = database.Resolve(query) switch
+ {
+ ItemMatch.Found { Item.Recycle: not null } f =>
+ localizer.Get("command.recycle.ok", context.Culture, RecycleLine.Format(f.Item, names)),
+ ItemMatch.Found f => localizer.Get("command.recycle.none", context.Culture, f.Item.Name),
+ ItemMatch.Ambiguous a => localizer.Get("command.item.ambiguous", context.Culture,
+ string.Join(", ", a.Candidates.Select(c => c.Name))),
+ _ => localizer.Get("command.item.notfound", context.Culture, query),
+ };
+ return Task.FromResult(reply);
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Handlers/ResearchCommandHandler.cs b/src/RustPlusBot.Features.Commands/Handlers/ResearchCommandHandler.cs
new file mode 100644
index 00000000..a3352db4
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Handlers/ResearchCommandHandler.cs
@@ -0,0 +1,33 @@
+using RustPlusBot.Features.Commands.Dispatching;
+using RustPlusBot.Features.Commands.Formatting;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Lookup;
+using RustPlusBot.Localization;
+
+namespace RustPlusBot.Features.Commands.Handlers;
+
+/// !research — shows the scrap research cost for an item.
+/// The item database.
+/// The reply localizer.
+internal sealed class ResearchCommandHandler(IItemDatabase database, ILocalizer localizer) : ICommandHandler
+{
+ ///
+ public string Name => "research";
+
+ ///
+ public Task ExecuteAsync(CommandContext context, CancellationToken cancellationToken)
+ {
+ ArgumentNullException.ThrowIfNull(context);
+ var query = string.Join(' ', context.Args);
+ var reply = database.Resolve(query) switch
+ {
+ ItemMatch.Found { Item.Research: not null } f =>
+ localizer.Get("command.research.ok", context.Culture, ResearchLine.Format(f.Item)),
+ ItemMatch.Found f => localizer.Get("command.research.none", context.Culture, f.Item.Name),
+ ItemMatch.Ambiguous a => localizer.Get("command.item.ambiguous", context.Culture,
+ string.Join(", ", a.Candidates.Select(c => c.Name))),
+ _ => localizer.Get("command.item.notfound", context.Culture, query),
+ };
+ return Task.FromResult(reply);
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/Help/CommandGroup.cs b/src/RustPlusBot.Features.Commands/Help/CommandGroup.cs
index eb38943e..180398ca 100644
--- a/src/RustPlusBot.Features.Commands/Help/CommandGroup.cs
+++ b/src/RustPlusBot.Features.Commands/Help/CommandGroup.cs
@@ -14,4 +14,7 @@ internal enum CommandGroup
/// Bot-meta commands (uptime).
Bot = 3,
+
+ /// Item-database commands (item/recycle/craft/research).
+ ItemDb = 4,
}
diff --git a/src/RustPlusBot.Features.Commands/Help/CommandHelpCatalog.cs b/src/RustPlusBot.Features.Commands/Help/CommandHelpCatalog.cs
index 94e2a263..7f2b0a2a 100644
--- a/src/RustPlusBot.Features.Commands/Help/CommandHelpCatalog.cs
+++ b/src/RustPlusBot.Features.Commands/Help/CommandHelpCatalog.cs
@@ -25,6 +25,10 @@ internal static class CommandHelpCatalog
new("afk", CommandGroup.TeamIntel, "help.afk"),
new("prox", CommandGroup.TeamIntel, "help.prox"),
new("uptime", CommandGroup.Bot, "help.uptime"),
+ new("item", CommandGroup.ItemDb, "help.item"),
+ new("recycle", CommandGroup.ItemDb, "help.recycle"),
+ new("craft", CommandGroup.ItemDb, "help.craft"),
+ new("research", CommandGroup.ItemDb, "help.research"),
];
/// The Discord slash commands, in display order.
@@ -33,5 +37,9 @@ internal static class CommandHelpCatalog
new("help", CommandGroup.Bot, "help.slash.help"),
new("uptime", CommandGroup.Bot, "help.slash.uptime"),
new("leader", CommandGroup.Bot, "help.slash.leader"),
+ new("item", CommandGroup.ItemDb, "help.slash.item"),
+ new("recycle", CommandGroup.ItemDb, "help.slash.recycle"),
+ new("craft", CommandGroup.ItemDb, "help.slash.craft"),
+ new("research", CommandGroup.ItemDb, "help.slash.research"),
];
}
diff --git a/src/RustPlusBot.Features.Commands/Help/HelpEmbedRenderer.cs b/src/RustPlusBot.Features.Commands/Help/HelpEmbedRenderer.cs
index a50f3435..663adaff 100644
--- a/src/RustPlusBot.Features.Commands/Help/HelpEmbedRenderer.cs
+++ b/src/RustPlusBot.Features.Commands/Help/HelpEmbedRenderer.cs
@@ -8,12 +8,13 @@ namespace RustPlusBot.Features.Commands.Help;
/// Resolves the title, group headings, and per-command descriptions.
internal sealed class HelpEmbedRenderer(ILocalizer localizer)
{
- private static readonly (CommandGroup Group, string HeadingKey)[] GroupOrder =
+ internal static readonly (CommandGroup Group, string HeadingKey)[] GroupOrder =
[
(CommandGroup.Control, "help.group.control"),
(CommandGroup.Server, "help.group.server"),
(CommandGroup.TeamIntel, "help.group.teamintel"),
(CommandGroup.Bot, "help.group.bot"),
+ (CommandGroup.ItemDb, "help.group.itemdb"),
];
/// Renders the help embed.
diff --git a/src/RustPlusBot.Features.Commands/Modules/ItemCommandModule.cs b/src/RustPlusBot.Features.Commands/Modules/ItemCommandModule.cs
new file mode 100644
index 00000000..ae2c3f0a
--- /dev/null
+++ b/src/RustPlusBot.Features.Commands/Modules/ItemCommandModule.cs
@@ -0,0 +1,84 @@
+using Discord;
+using Discord.Interactions;
+using Microsoft.Extensions.DependencyInjection;
+using RustPlusBot.Features.Commands.Formatting;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.Features.ItemData.Lookup;
+using RustPlusBot.Features.ItemData.Naming;
+using RustPlusBot.Localization;
+using RustPlusBot.Persistence.Workspace;
+
+namespace RustPlusBot.Features.Commands.Modules;
+
+/// The /item, /recycle, /craft, and /research slash commands.
+/// Creates a short-lived DI scope per interaction.
+public sealed class ItemCommandModule(IServiceScopeFactory scopeFactory)
+ : InteractionModuleBase
+{
+ /// Looks up an item's name, id, stack size, and despawn time.
+ /// The item name or id.
+ [SlashCommand("item", "Look up an item")]
+ public Task ItemAsync([Summary("item", "Item name or id")] string item) =>
+ RespondForAsync(item, (_, _, rec, loc, culture) =>
+ loc.Get("command.item.ok", culture, ItemLine.Format(rec)));
+
+ /// Shows recycler output for an item.
+ /// The item name or id.
+ [SlashCommand("recycle", "Show recycler output for an item")]
+ public Task RecycleAsync([Summary("item", "Item name or id")] string item) =>
+ RespondForAsync(item, (_, names, rec, loc, culture) => rec.Recycle is not null
+ ? loc.Get("command.recycle.ok", culture, RecycleLine.Format(rec, names))
+ : loc.Get("command.recycle.none", culture, rec.Name));
+
+ /// Shows an item's craft recipe.
+ /// The item name or id.
+ [SlashCommand("craft", "Show an item's craft recipe")]
+ public Task CraftAsync([Summary("item", "Item name or id")] string item) =>
+ RespondForAsync(item, (_, names, rec, loc, culture) => rec.Craft is not null
+ ? loc.Get("command.craft.ok", culture, CraftLine.Format(rec, names))
+ : loc.Get("command.craft.none", culture, rec.Name));
+
+ /// Shows an item's research scrap cost.
+ /// The item name or id.
+ [SlashCommand("research", "Show an item's research scrap cost")]
+ public Task ResearchAsync([Summary("item", "Item name or id")] string item) =>
+ RespondForAsync(item, (_, _, rec, loc, culture) => rec.Research is not null
+ ? loc.Get("command.research.ok", culture, ResearchLine.Format(rec))
+ : loc.Get("command.research.none", culture, rec.Name));
+
+ private async Task RespondForAsync(
+ string query,
+ Func onFound)
+ {
+ if (Context.Guild is null)
+ {
+ await RespondAsync("This command must be used in a server.", ephemeral: true).ConfigureAwait(false);
+ return;
+ }
+
+ var scope = scopeFactory.CreateAsyncScope();
+ await using (scope.ConfigureAwait(false))
+ {
+ var db = scope.ServiceProvider.GetRequiredService();
+ var names = scope.ServiceProvider.GetRequiredService();
+ var loc = scope.ServiceProvider.GetRequiredService();
+ var workspace = scope.ServiceProvider.GetRequiredService();
+ var culture = await workspace.GetCultureAsync(Context.Guild.Id).ConfigureAwait(false);
+
+ var text = db.Resolve(query) switch
+ {
+ ItemMatch.Found f => onFound(db, names, f.Item, loc, culture),
+ ItemMatch.Ambiguous a => loc.Get("command.item.ambiguous", culture,
+ string.Join(", ", a.Candidates.Select(c => c.Name))),
+ _ => loc.Get("command.item.notfound", culture, query),
+ };
+
+ var embed = new EmbedBuilder()
+ .WithDescription(text)
+ .WithFooter($"data as of {db.Sources.NamesAsOf:yyyy-MM-dd}")
+ .Build();
+ await RespondAsync(ephemeral: true, embed: embed).ConfigureAwait(false);
+ }
+ }
+}
diff --git a/src/RustPlusBot.Features.Commands/RustPlusBot.Features.Commands.csproj b/src/RustPlusBot.Features.Commands/RustPlusBot.Features.Commands.csproj
index 28eb3106..e7664987 100644
--- a/src/RustPlusBot.Features.Commands/RustPlusBot.Features.Commands.csproj
+++ b/src/RustPlusBot.Features.Commands/RustPlusBot.Features.Commands.csproj
@@ -11,6 +11,7 @@
+
diff --git a/src/RustPlusBot.Features.ItemData/Data/ItemDataset.cs b/src/RustPlusBot.Features.ItemData/Data/ItemDataset.cs
new file mode 100644
index 00000000..553d3a7d
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/Data/ItemDataset.cs
@@ -0,0 +1,60 @@
+namespace RustPlusBot.Features.ItemData.Data;
+
+/// The full bundled item dataset. Deserialized from the embedded item-data.json.
+/// The schema version; the loader rejects a mismatched bundle.
+/// Per-section provenance dates.
+/// Every known item, one record each.
+public sealed record ItemDataset(int SchemaVersion, DatasetSources Sources, IReadOnlyList Items);
+
+/// When each section of the dataset was last sourced, for "data as of" display.
+/// Names/ids/stack source date.
+/// Recycle data source date.
+/// Craft data source date.
+/// Research data source date.
+public sealed record DatasetSources(
+ DateOnly NamesAsOf,
+ DateOnly RecycleAsOf,
+ DateOnly CraftAsOf,
+ DateOnly ResearchAsOf);
+
+/// One item, with all 6a calculator data inlined (null where not applicable).
+/// The Rust item id.
+/// The display name.
+/// Max stack size.
+/// Despawn time in seconds, or null if it does not despawn / unknown.
+/// Recycler yield, or null if not recyclable.
+/// Craft recipe, or null if not craftable.
+/// Research cost, or null if not researchable.
+public sealed record ItemRecord(
+ int Id,
+ string Name,
+ int StackSize,
+ int? DespawnSeconds,
+ RecycleYield? Recycle,
+ CraftRecipe? Craft,
+ ResearchCost? Research);
+
+/// Recycler output for an item (6a covers the standard recycler only).
+/// The yield entries produced by the standard recycler.
+public sealed record RecycleYield(IReadOnlyList Recycler);
+
+/// One recycler output entry.
+/// The produced item id.
+/// The produced quantity.
+/// The probability (0..1) of receiving this output.
+public sealed record YieldEntry(int ItemId, int Quantity, double Probability);
+
+/// A craft recipe.
+/// The required ingredients.
+/// The craft time in seconds.
+/// Required workbench level (1-3), or null if none.
+public sealed record CraftRecipe(IReadOnlyList Ingredients, double TimeSeconds, int? WorkbenchLevel);
+
+/// One craft ingredient.
+/// The ingredient item id.
+/// The required quantity.
+public sealed record Ingredient(int ItemId, int Quantity);
+
+/// The research cost for an item.
+/// The scrap cost to research.
+public sealed record ResearchCost(int Scrap);
diff --git a/src/RustPlusBot.Features.ItemData/Data/item-data.json b/src/RustPlusBot.Features.ItemData/Data/item-data.json
new file mode 100644
index 00000000..bcde8f0d
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/Data/item-data.json
@@ -0,0 +1,24898 @@
+{
+ "schemaVersion": 1,
+ "sources": {
+ "namesAsOf": "2026-04-08",
+ "recycleAsOf": "2024-09-07",
+ "craftAsOf": "2024-09-07",
+ "researchAsOf": "2024-09-07"
+ },
+ "items": [
+ {
+ "id": 3222790,
+ "name": "Hide Halterneck",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 3380160,
+ "name": "Card Movember Moustache",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 4384538,
+ "name": "Apple Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 14241751,
+ "name": "Fire Arrow",
+ "stackSize": 64,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 20
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 2
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 1.875,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 15388698,
+ "name": "Stone Barricade",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 20489901,
+ "name": "Purple Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 21402876,
+ "name": "Burlap Gloves",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 22947882,
+ "name": "White ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 23352662,
+ "name": "Large Banner Hanging",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 23391694,
+ "name": "Bunny Hat",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 28201841,
+ "name": "M39 Rifle",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1021495308,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 37122747,
+ "name": "Green Keycard",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 39600618,
+ "name": "Microphone Stand",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 42535890,
+ "name": "Medium Animated Neon Sign",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 300
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 11.25,
+ "workbenchLevel": 2
+ },
+ "research": null
+ },
+ {
+ "id": 51984655,
+ "name": "Incendiary Pistol Bullet",
+ "stackSize": 128,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 1,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 2.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 54265286,
+ "name": "Crocodile Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 54436981,
+ "name": "Fairy Lights",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 60528587,
+ "name": "Roadsign Horse Armor",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1199391518,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1199391518,
+ "quantity": 4
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 62577426,
+ "name": "Photograph",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 69511070,
+ "name": "Metal Fragments",
+ "stackSize": 1000,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 70102328,
+ "name": "Red ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 73681876,
+ "name": "Tech Trash",
+ "stackSize": 50,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 81423963,
+ "name": "Yellow ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 82772055,
+ "name": "Horse",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 86840834,
+ "name": "NVGM Scientist Suit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 94971664,
+ "name": "Stone Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 95950017,
+ "name": "Metal Pipe",
+ "stackSize": 20,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 1,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 97903330,
+ "name": "Pure Crafting Quality Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 98508942,
+ "name": "XXL Picture Frame",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 105,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 175
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 99588025,
+ "name": "High External Wooden Wall",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 900,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 1500
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 104856514,
+ "name": "Bulb String Lights",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 106959911,
+ "name": "Light Frankenstein Legs",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 110116923,
+ "name": "Ice Metal Facemask",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 120820987,
+ "name": "Chicken Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 121049755,
+ "name": "Tall Picture Frame",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 122783240,
+ "name": "Black Berry Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 140006625,
+ "name": "PTZ CCTV Camera",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": 634478325,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 634478325,
+ "quantity": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 0.75,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 143803535,
+ "name": "F1 Grenade",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 146221721,
+ "name": "Heavy Scientist Plushie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 158303804,
+ "name": "Obsidian Bone Knife",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 162882477,
+ "name": "#50cal",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 170758448,
+ "name": "Cockpit With Engine Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 171931394,
+ "name": "Stone Pickaxe",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 174866732,
+ "name": "Variable Zoom Scope",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 48,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 176787552,
+ "name": "Rifle Body",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 177226991,
+ "name": "Scarecrow",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 180752235,
+ "name": "Pink ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 184516676,
+ "name": "Beehive",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 185586769,
+ "name": "Inner Tube",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 190184021,
+ "name": "Kayak",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 192249897,
+ "name": "Green",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 196700171,
+ "name": "Hide Vest",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 196784377,
+ "name": "Improvised Shield",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 198438816,
+ "name": "Vending Machine",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 20
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 200773292,
+ "name": "Hammer",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 204391461,
+ "name": "Coal :(",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -321733511,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 204970153,
+ "name": "Wrapped Gift",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 209218760,
+ "name": "Head Bag",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 210787554,
+ "name": "Engineering Workbench",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 215754713,
+ "name": "Bone Arrow",
+ "stackSize": 64,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 5,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 25
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 1.875,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 223891266,
+ "name": "T-Shirt",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 236677901,
+ "name": "Prototype Pickaxe",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 237239288,
+ "name": "Pants",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 40
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 240752557,
+ "name": "Tall Weapon Rack",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 105,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 175
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 242421166,
+ "name": "Light-Up Frame Large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 242933621,
+ "name": "Frontier Mirror Large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 248643189,
+ "name": "Spoiled Big Cat Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 254522515,
+ "name": "Large Medkit",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1079279582,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1079279582,
+ "quantity": 2
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 11.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 255305250,
+ "name": "Wooden Boat Ladder",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 261913429,
+ "name": "White Volcano Firework",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 263834859,
+ "name": "Basic Scrap Tea",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 268565518,
+ "name": "Storage Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 75,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 271048478,
+ "name": "Rat Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 273172220,
+ "name": "Plumber\u0027s Trumpet",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 273951840,
+ "name": "Scarecrow Suit",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 277730763,
+ "name": "Mummy Suit",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 281099360,
+ "name": "Bread Loaf",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 282103175,
+ "name": "Giant Lollipop Decor",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 286193827,
+ "name": "Pickles",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 286648290,
+ "name": "Disco Floor",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 296519935,
+ "name": "Diving Fins",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 301063058,
+ "name": "Wanted Poster 2",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 304481038,
+ "name": "Flare",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 309017792,
+ "name": "Big Cat Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 317398316,
+ "name": "High Quality Metal",
+ "stackSize": 100,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 320438357,
+ "name": "Hunters Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 340210699,
+ "name": "Frontier Mirror Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 342438846,
+ "name": "Anchovy",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 343045591,
+ "name": "MLRS Aiming Module",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 349762871,
+ "name": "40mm HE Grenade",
+ "stackSize": 12,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.3
+ },
+ {
+ "itemId": -592016202,
+ "quantity": 1,
+ "probability": 0.3
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 352130972,
+ "name": "Rotten Apple",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 352321488,
+ "name": "Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 352499047,
+ "name": "Shotgun Trap",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 150,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 500
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 250
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 355877490,
+ "name": "Minigun Ammo Pack",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 359723196,
+ "name": "Chippy Arcade Game",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 362863314,
+ "name": "Heart Balloon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 363163265,
+ "name": "Hose Tool",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 368008432,
+ "name": "Basic Crafting Quality Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 375473148,
+ "name": "Scrap Transport Helicopter",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 377750553,
+ "name": "Pure Harvesting Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 381595627,
+ "name": "Twitch Rivals Neon Sign",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 385099196,
+ "name": "4 Module Car Chassis",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 385645417,
+ "name": "Paintball",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 390728933,
+ "name": "Yellow Berry Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 392828520,
+ "name": "Cooked Crocodile Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 405904531,
+ "name": "Soccer Ball",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 405905095,
+ "name": "Sail",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 418081930,
+ "name": "Wood Chestplate",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1414245522,
+ "quantity": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 442289265,
+ "name": "Holosight",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 8,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 12
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 442886268,
+ "name": "Rocket Launcher",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 40
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 45,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 443432036,
+ "name": "Fluid Switch \u0026 Pump",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 445662288,
+ "name": "Scientist Plushie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 446206234,
+ "name": "Torch Holder",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 40
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 450531685,
+ "name": "Light-Up Mirror Large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 468313189,
+ "name": "Twitch Rivals Hazmat Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 472505338,
+ "name": "Medieval AR",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 476066818,
+ "name": "Cassette - Long",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 479143914,
+ "name": "Gears",
+ "stackSize": 20,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 1,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 479292118,
+ "name": "Large Loot Bag",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 486661382,
+ "name": "Clan Table",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 240,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 240,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 491263800,
+ "name": "Nomad Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 492357192,
+ "name": "RAND Switch",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 494161326,
+ "name": "RPG Launcher",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 504109620,
+ "name": "Ice Sculpture",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 507284030,
+ "name": "Coconut Armor Pants",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 524678627,
+ "name": "Advanced Scrap Tea",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 528668503,
+ "name": "Flame Turret",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 2
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 533993281,
+ "name": "Space LR-300 Assault Rifle",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 537946062,
+ "name": "Flight Recorder Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 547862680,
+ "name": "Knights armour cuirass",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 550753330,
+ "name": "Snowball Gun Ammo",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 553270375,
+ "name": "Large Rechargeable Battery",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 553887414,
+ "name": "Skull Fire Pit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 996293980,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 996293980,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 553967074,
+ "name": "Wallpaper Wall",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 559147458,
+ "name": "Survival Fish Trap",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 567235583,
+ "name": "8x Zoom Scope",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 567871954,
+ "name": "Secretlab Chair",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 571949408,
+ "name": "Clump of Mixed Balloons",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 573676040,
+ "name": "Coffin",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 480,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 573926264,
+ "name": "Semi Automatic Body",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 574701440,
+ "name": "Scrap Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 576509618,
+ "name": "Portable Boom Box",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 588596902,
+ "name": "Handmade Shell",
+ "stackSize": 64,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 5
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 1.875,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 593465182,
+ "name": "Table",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 594041190,
+ "name": "Compass",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 596469572,
+ "name": "RF Transmitter",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 602628465,
+ "name": "Parachute",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 2019042823,
+ "quantity": 2
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 11.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 602741290,
+ "name": "Burlap Shirt",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 603811464,
+ "name": "Advanced Max Health Tea",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 605467368,
+ "name": "Incendiary 5.56 Rifle Ammo",
+ "stackSize": 128,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 3,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 607400343,
+ "name": "Legacy Wood Shelter",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 360,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 600
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 607785075,
+ "name": "Armored Ladder Hatch",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 609049394,
+ "name": "Battery - Small",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 610102428,
+ "name": "Industrial Conveyor",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 613961768,
+ "name": "Bota Bag",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 615112838,
+ "name": "Rail Road Planter",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 621915341,
+ "name": "Raw Pork",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 625599716,
+ "name": "Metal Shield",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 634478325,
+ "name": "CCTV Camera",
+ "stackSize": 64,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 73681876,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 640470230,
+ "name": "Ceiling Fluorescent Light",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 642482233,
+ "name": "Sticks",
+ "stackSize": 100,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 647240052,
+ "name": "Triangle Rail Road Planter",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 649912614,
+ "name": "Revolver",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 652793345,
+ "name": "Krieg Storage Crates",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 656371026,
+ "name": "High Quality Carburetor",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 102,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 170
+ }
+ ],
+ "timeSeconds": 10,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 656371027,
+ "name": "Medium Quality Carburetor",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 656371028,
+ "name": "Low Quality Carburetor",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 24,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 40
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 656829501,
+ "name": "Wall Cabinet",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 657352755,
+ "name": "Beach Table",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 665332906,
+ "name": "Timer",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 671063303,
+ "name": "Riot Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 671706427,
+ "name": "Reinforced Glass Window",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 15,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 674734128,
+ "name": "Festive Doorway Garland",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 678698219,
+ "name": "M4 Shotgun",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 679690962,
+ "name": "Tools Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 680234026,
+ "name": "Yellow Perch",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 695450239,
+ "name": "Lunar New Year Spear",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 696029452,
+ "name": "Paper Map",
+ "stackSize": 1,
+ "despawnSeconds": 30,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 696029539,
+ "name": "Hot Air Balloon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 699075597,
+ "name": "Wooden Cross",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 240,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 703057617,
+ "name": "Military Flame Thrower",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 21,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 5,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 709206314,
+ "name": "Tiger Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 721798950,
+ "name": "Car Radio",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 722955039,
+ "name": "Water Gun",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 75,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 723407026,
+ "name": "Wood Mirror Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 734320711,
+ "name": "Orchid",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 738611016,
+ "name": "Paintable Window",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 742745918,
+ "name": "Industrial Splitter",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 755224797,
+ "name": "Vodka Bottle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 756125481,
+ "name": "Wood Mirror Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 756517185,
+ "name": "Medium Present",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 756890702,
+ "name": "High External Adobe Wall",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 762289806,
+ "name": "Siren Light",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 782422285,
+ "name": "Sofa - Pattern",
+ "stackSize": 2,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 785728077,
+ "name": "Pistol Bullet",
+ "stackSize": 128,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 1,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 1.875,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 789333045,
+ "name": "Sunken Combat Knife",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 794356786,
+ "name": "Hide Boots",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 794443127,
+ "name": "Christmas Tree",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 795236088,
+ "name": "Torch",
+ "stackSize": 1,
+ "despawnSeconds": 30,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 30
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 795371088,
+ "name": "Pump Shotgun",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 15
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 803222026,
+ "name": "Repair Bench",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 75,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 803954639,
+ "name": "Blue Berry Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 809199956,
+ "name": "Gravestone",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 240,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 809689733,
+ "name": "Mummy Mask",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 809942731,
+ "name": "Scarecrow Wrap",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 813023040,
+ "name": "Cooked Wolf Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 814297925,
+ "name": "Medieval Large Wood Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 818733919,
+ "name": "Industrial Door",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 818877484,
+ "name": "Semi-Automatic Pistol",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 573926264,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 573926264,
+ "quantity": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 4
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 821588319,
+ "name": "Bicycle",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 826309791,
+ "name": "Two Sided Town Sign Post",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 829641693,
+ "name": "Anchor",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 830839496,
+ "name": "Red Berry Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 831955134,
+ "name": "Sky Lantern - Purple",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 832133926,
+ "name": "Wood Armor Pants",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1414245522,
+ "quantity": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 833533164,
+ "name": "Large Wood Box",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 150,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 250
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 835042040,
+ "name": "Medium Frankenstein Legs",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 838308300,
+ "name": "Burst Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 838831151,
+ "name": "Blue Berry Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 839738457,
+ "name": "Scrap Mirror Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 844440409,
+ "name": "Bronze Egg",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 850280505,
+ "name": "Bucket Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 21,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 35
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 853471967,
+ "name": "Laser Light",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 854447607,
+ "name": "White Berry",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 858486327,
+ "name": "Green Berry",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 861513346,
+ "name": "Lumberjack Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 866332017,
+ "name": "Large Neon Sign",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 150,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 250
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 866889860,
+ "name": "Wooden Barricade",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 878301596,
+ "name": "Generic vehicle module",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 882559853,
+ "name": "Spider Webs",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 884424049,
+ "name": "Compound Bow",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 888415708,
+ "name": "RF Receiver",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 895374329,
+ "name": "Passenger Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 105,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 75,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 175
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 912235912,
+ "name": "Sunflower Clone",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 915408809,
+ "name": "40mm Smoke Grenade",
+ "stackSize": 12,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.3
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 920930831,
+ "name": "Blue Industrial Wall Light",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 924598634,
+ "name": "Wheat Clone",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 926800282,
+ "name": "Medium Quality Valves",
+ "stackSize": 15,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 42,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 70
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 935606207,
+ "name": "Minigun",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 8,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 935692442,
+ "name": "Longsleeve T-Shirt",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 936496778,
+ "name": "Floor grill",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 952603248,
+ "name": "Weapon flashlight",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 960673498,
+ "name": "Large Hunting Trophy",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 962186730,
+ "name": "Tin Can Alarm",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -1557377697,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1
+ },
+ {
+ "itemId": -1557377697,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 963400638,
+ "name": "Speech Bubble Balloon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 963906841,
+ "name": "Rock",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 968019378,
+ "name": "Clatter Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 21,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 35
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 968421290,
+ "name": "Connected Speaker",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 969768382,
+ "name": "Reinforced Wooden Shield",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 971362526,
+ "name": "Skull Trophy",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 972302244,
+ "name": "Kick Hazmat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 975983052,
+ "name": "Twitch Rivals Trophy",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 980333378,
+ "name": "Hide Poncho",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 988652725,
+ "name": "Smart Switch",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 989925924,
+ "name": "Raw Fish",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 992944937,
+ "name": "Ore Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 996293980,
+ "name": "Human Skull",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 996757362,
+ "name": "Wagon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 998894949,
+ "name": "Corn Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 999690781,
+ "name": "Geiger Counter",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1004843240,
+ "name": "Orchid Seed",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1015352446,
+ "name": "Duo Submarine",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1023919015,
+ "name": "Food Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1028889957,
+ "name": "Light-Up Mirror Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1036321299,
+ "name": "Blue Dog Tags",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1044081720,
+ "name": "Wood Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1046904719,
+ "name": "Abyss Metal Hatchet",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1052926200,
+ "name": "Mining Quarry",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1055319033,
+ "name": "40mm Shotgun Round",
+ "stackSize": 24,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1058261682,
+ "name": "Christmas Lights",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1065594600,
+ "name": "Pilot Hazmat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1072924620,
+ "name": "High Quality Spark Plugs",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 10,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1079279582,
+ "name": "Medical Syringe",
+ "stackSize": 2,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1081315464,
+ "name": "Nest Hat",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1081921512,
+ "name": "Card Table",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1090916276,
+ "name": "Pitchfork",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1094293920,
+ "name": "Wrapping Paper",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1099314009,
+ "name": "Barbeque",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 40
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1099611828,
+ "name": "Metal Armor Insert",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1103488722,
+ "name": "Snowball Gun",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1104520648,
+ "name": "Chainsaw",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 4,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 6
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1107575710,
+ "name": "Arctic Scientist Suit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1110385766,
+ "name": "Metal Chest Plate",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 11,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 50
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 18
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 8
+ }
+ ],
+ "timeSeconds": 45,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1112162468,
+ "name": "Blue Berry",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1113514903,
+ "name": "Attack Helicopter",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1115193056,
+ "name": "Wall Divider Pack",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1121416193,
+ "name": "Pure Cooling Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1121925526,
+ "name": "Candy Cane",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1127417055,
+ "name": "Armoured Ladder Hatch",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1130729138,
+ "name": "Spoiled Fish Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1132603396,
+ "name": "Weapon Rack Stand",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1142993169,
+ "name": "Ceiling Light",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1145722690,
+ "name": "Catapult",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1149964039,
+ "name": "Storage Monitor",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1153652756,
+ "name": "Large Wooden Sign",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1158340331,
+ "name": "Medium Quality Crankshaft",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 42,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 70
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1158340332,
+ "name": "High Quality Crankshaft",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 10,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1158340334,
+ "name": "Low Quality Crankshaft",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1159991980,
+ "name": "Code Lock",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1160881421,
+ "name": "Hitch \u0026 Trough",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1168856825,
+ "name": "Metal Detector",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1414245522,
+ "quantity": 2
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1168916338,
+ "name": "Bee Grenade",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1171735914,
+ "name": "AND Switch",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1174484438,
+ "name": "Mini Fridge",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1174957864,
+ "name": "Shockbyte Tool Cupboard",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1176355476,
+ "name": "Concrete Hatchet",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1177596584,
+ "name": "Elevator",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1178325727,
+ "name": "Wheat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1181207482,
+ "name": "Heavy Plate Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1994909036,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1994909036,
+ "quantity": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 33.75,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1184215560,
+ "name": "Spoiled Produce",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1186655046,
+ "name": "Fuel Tank Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 105,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 175
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1189981699,
+ "name": "Crate Costume",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1199391518,
+ "name": "Road Signs",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 1,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1205084994,
+ "name": "Large Photo Frame",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1205607945,
+ "name": "Two Sided Hanging Sign",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1221063409,
+ "name": "Armored Double Door",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 25
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1223729384,
+ "name": "Lavender ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1223900335,
+ "name": "Dog Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1230323789,
+ "name": "SMG Body",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1230691307,
+ "name": "Captain\u0027s Log",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1234878710,
+ "name": "Telephone",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1234880403,
+ "name": "Sewing Kit",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 1,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1242482355,
+ "name": "Jack O Lantern Angry",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -567909622,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -567909622,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1242522330,
+ "name": "Cursed Cauldron",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 15.625,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1248356124,
+ "name": "Timed Explosive Charge",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -592016202,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -592016202,
+ "quantity": 20
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1248383659,
+ "name": "#50cal",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1254295946,
+ "name": "Armor Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1258768145,
+ "name": "Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1259919256,
+ "name": "Mixing Table",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1263920163,
+ "name": "Smoke Grenade",
+ "stackSize": 3,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 21,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -265876753,
+ "quantity": 35
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1266491000,
+ "name": "Hazmat Suit",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 2019042823,
+ "quantity": 5
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 8
+ }
+ ],
+ "timeSeconds": 15,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1268178466,
+ "name": "Green Industrial Wall Light",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1272194103,
+ "name": "Red Berry",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1272430949,
+ "name": "Wheelbarrow Piano",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1272768630,
+ "name": "Spoiled Human Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1277159544,
+ "name": "Weapon Rack Double Light",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1285226495,
+ "name": "Bunny Costume",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1293102274,
+ "name": "XOR Switch",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1295301598,
+ "name": "Latex Balloon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1296788329,
+ "name": "Homing Missile",
+ "stackSize": 4,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.3
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 2
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 100
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1305578813,
+ "name": "Small Neon Sign",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1305765685,
+ "name": "Krieg Storage Barrel",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1307626005,
+ "name": "Storage Barrel Vertical",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1312679249,
+ "name": "Wood Mirror Large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1312843609,
+ "name": "Skull",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1315082560,
+ "name": "Ox Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1318558775,
+ "name": "MP5A4",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1230323789,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 15
+ },
+ {
+ "itemId": 1230323789,
+ "quantity": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1319617282,
+ "name": "Small Loot Bag",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1324203999,
+ "name": "Champagne Boomer",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 75
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1326180354,
+ "name": "Salvaged Sword",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 15
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1327005675,
+ "name": "Short Ice Wall",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 180,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1330084809,
+ "name": "Low Quality Valves",
+ "stackSize": 15,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1346158228,
+ "name": "Pumpkin Basket",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1348294923,
+ "name": "Spoiled Bear Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1350707894,
+ "name": "Jungle Rock",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1353298668,
+ "name": "Armored Door",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 20
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1358643074,
+ "name": "Snow Machine",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 75,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 125
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 30
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1361520181,
+ "name": "Minecart Planter",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1364514421,
+ "name": "Blue ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1365234594,
+ "name": "Gold Mirror large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1366282552,
+ "name": "Leather Gloves",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 20
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1367190888,
+ "name": "Corn",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1371909803,
+ "name": "Tesla Coil",
+ "stackSize": 3,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1373240771,
+ "name": "Wooden Barricade Cover",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 150,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 250
+ }
+ ],
+ "timeSeconds": 15.625,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1373971859,
+ "name": "Python Revolver",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 3
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1376065505,
+ "name": "Rear Seats Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1381010055,
+ "name": "Leather",
+ "stackSize": 1000,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1382263453,
+ "name": "Barbed Wooden Barricade",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1390353317,
+ "name": "Sheet Metal Double Door",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1391703481,
+ "name": "Burnt Pork",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1394042569,
+ "name": "RHIB",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1397052267,
+ "name": "Supply Signal",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1400460850,
+ "name": "Saddle bag",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1401987718,
+ "name": "Duct Tape",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1899491405,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1409529282,
+ "name": "Door Closer",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1412103380,
+ "name": "Sunflower Seed",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1413014235,
+ "name": "Fridge",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1414245162,
+ "name": "Note",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1414245519,
+ "name": "Rose",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1414245522,
+ "name": "Rope",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1420547167,
+ "name": "Horse Costume",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1422530437,
+ "name": "Raw Deer Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1424075905,
+ "name": "Water Bucket",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1426097945,
+ "name": "Coconut Armor Chestplate",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1426574435,
+ "name": "Minicopter",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1428574144,
+ "name": "Hopper",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1430085198,
+ "name": "Industrial Crafter",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1443579727,
+ "name": "Hunting Bow",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1447138977,
+ "name": "Light-Up Frame XXL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1451568081,
+ "name": "Chainlink Fence Gate",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1456143403,
+ "name": "Cooking Workbench",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1463862472,
+ "name": "Wanted Poster 4",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1465782238,
+ "name": "Metal Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1467878256,
+ "name": "Pork Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1478091698,
+ "name": "Muzzle Brake",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 8
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1480022580,
+ "name": "Basic Ore Tea",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1482871705,
+ "name": "3 Module Car Chassis",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1488606552,
+ "name": "Retro Tool Cupboard",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1488979457,
+ "name": "Jackhammer",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1491189398,
+ "name": "Paddle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 15
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1491753484,
+ "name": "Medium Frankenstein Torso",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1494014226,
+ "name": "Discord Trophy",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1512054436,
+ "name": "Potato Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1516531815,
+ "name": "Basic Harvesting Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1516985844,
+ "name": "Netting",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1414245522,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1414245522,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1521286012,
+ "name": "Double Sign Post",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1523195708,
+ "name": "Targeting Computer",
+ "stackSize": 64,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 73681876,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1523403414,
+ "name": "Cassette - Short",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1524187186,
+ "name": "Workbench Level 1",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 500
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1524980732,
+ "name": "Carvable Pumpkin",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -567909622,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -567909622,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1525520776,
+ "name": "Building Plan",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1533551194,
+ "name": "White Berry Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1534542921,
+ "name": "Chair",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1536610005,
+ "name": "Cooked Human Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1538126328,
+ "name": "Industrial Combiner",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1540934679,
+ "name": "Wooden Spear",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1542290441,
+ "name": "Single Sign Post",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1545779598,
+ "name": "Assault Rifle",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 50
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 45,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1548091822,
+ "name": "Apple",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1553078977,
+ "name": "Bleach",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1556365900,
+ "name": "Molotov Cocktail",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1557173737,
+ "name": "Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1559779253,
+ "name": "Engine Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1559915778,
+ "name": "Single Horse Saddle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1199391518,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1561022037,
+ "name": "Abyss Metal Pickaxe",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1562867678,
+ "name": "Artist Canvas XL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1568388703,
+ "name": "Diesel Fuel",
+ "stackSize": 20,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1569882109,
+ "name": "Handmade Fishing Rod",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1414245522,
+ "quantity": 2
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1572152877,
+ "name": "Mint ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1575635062,
+ "name": "Frankenstein Table",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1578317134,
+ "name": "Hazmat Plushy",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1581210395,
+ "name": "Large Planter Box",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1586884551,
+ "name": "Flight Control Codelock",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1588298435,
+ "name": "Bolt Action Rifle",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 20
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 3
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 45,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1588492232,
+ "name": "Drone",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 634478325,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 634478325,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1601468620,
+ "name": "Blue Jumpsuit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1601800933,
+ "name": "Jar of Honey",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1602646136,
+ "name": "Stone Spear",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 1540934679,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1540934679,
+ "quantity": 1
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1603174987,
+ "name": "Confetti Cannon",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1604092540,
+ "name": "Twitch Rivals 2025 Sofa",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1604837581,
+ "name": "Wooden Shield",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1608640313,
+ "name": "Tank Top",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1609921845,
+ "name": "Artist Canvas Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1614528785,
+ "name": "Heavy Frankenstein Torso",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1619039771,
+ "name": "Digital Clock",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1621942085,
+ "name": "Outbreak Sprayer",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1623701499,
+ "name": "Industrial Wall Light",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1629293099,
+ "name": "Snowman",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1938052175,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1938052175,
+ "quantity": 50
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1629564540,
+ "name": "Wallpaper Tool",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1633553557,
+ "name": "Birthday Candle Hat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1638322904,
+ "name": "Incendiary Rocket",
+ "stackSize": 3,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 2
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 150
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1643667218,
+ "name": "Large Animated Neon Sign",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 210,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 350
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 11.25,
+ "workbenchLevel": 2
+ },
+ "research": null
+ },
+ {
+ "id": 1655650836,
+ "name": "Metal Barricade",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1655979682,
+ "name": "Empty Can Of Beans",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1658229558,
+ "name": "Lantern",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1659114910,
+ "name": "Gas Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 21,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1659447559,
+ "name": "Wooden Horse Armor",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1414245522,
+ "quantity": 2
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1660145984,
+ "name": "Yellow Berry",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1668129151,
+ "name": "Cooked Fish",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1668858301,
+ "name": "Small Stocking",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1673224590,
+ "name": "M15 Semi-Automatic Pistol",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1675639563,
+ "name": "Beenie Hat",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1680793490,
+ "name": "Boomerang",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1686524871,
+ "name": "Decorative Gingerbread Men",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1691223771,
+ "name": "Light-Up Frame Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1696050067,
+ "name": "Modular Car Lift",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1697996440,
+ "name": "Landscape Photo Frame",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1711033574,
+ "name": "Bone Club",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1719978075,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1719978075,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1712070256,
+ "name": "HV 5.56 Rifle Ammo",
+ "stackSize": 128,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 3,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1712261904,
+ "name": "Pure Max Health Tea",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1714496074,
+ "name": "Candle Hat",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1714509152,
+ "name": "Ballista",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1717250161,
+ "name": "Electric Table Lamp",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1719587208,
+ "name": "Targeting Attachment",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1719978075,
+ "name": "Bone Fragments",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1722154847,
+ "name": "Hide Pants",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1723747470,
+ "name": "Tree Lights",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1729120840,
+ "name": "Wooden Door",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1729374708,
+ "name": "Pure Ore Tea",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1729712564,
+ "name": "Portrait Photo Frame",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1730664641,
+ "name": "Wallpaper Ceiling",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1732236518,
+ "name": "Caboose",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1735402444,
+ "name": "Disco Floor",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1736620421,
+ "name": "Clothing Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1744298439,
+ "name": "Blue Boomer",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1746956556,
+ "name": "Bone Armor",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 42,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 70
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1751045826,
+ "name": "Hoodie",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 40
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1757265204,
+ "name": "Silver Egg",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1758333838,
+ "name": "Teal",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1762167092,
+ "name": "Green ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1768112091,
+ "name": "Tomaha Snowmobile",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1769475390,
+ "name": "Wood Frame Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1770475779,
+ "name": "Worm",
+ "stackSize": 25,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1770744540,
+ "name": "Generic vehicle chassis",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1771755747,
+ "name": "Black Berry",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1776460938,
+ "name": "Blood",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1783512007,
+ "name": "Cactus Flesh",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1784005657,
+ "name": "Parachute (Deployed)",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1784406797,
+ "name": "Sousaphone",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1787198294,
+ "name": "Frontier Mirror Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1789825282,
+ "name": "Candy Cane Club",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1796682209,
+ "name": "Custom SMG",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ },
+ {
+ "itemId": 1230323789,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 8
+ },
+ {
+ "itemId": 1230323789,
+ "quantity": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1801656689,
+ "name": "Light-Up Frame XL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1803831286,
+ "name": "Garry\u0027s Mod Tool Gun",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1811780502,
+ "name": "Radioactive Water",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1814288539,
+ "name": "Bone Knife",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1719978075,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1719978075,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1819863051,
+ "name": "Sky Lantern",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 1.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1827479659,
+ "name": "Burnt Wolf Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1831249347,
+ "name": "Scattershot",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1835946060,
+ "name": "Cable Tunnel",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1840570710,
+ "name": "Above Ground Pool",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 3
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 500
+ }
+ ],
+ "timeSeconds": 37.5,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1840822026,
+ "name": "Beancan Grenade",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -265876753,
+ "quantity": 60
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1846605708,
+ "name": "Abyss Torch",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1849409072,
+ "name": "Silly Horse Mask",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1849887541,
+ "name": "Small Generator",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1850456855,
+ "name": "Road Sign Kilt",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 10
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1856217390,
+ "name": "Egg Basket",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1858828593,
+ "name": "Egg",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1865253052,
+ "name": "Dracula Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1869224826,
+ "name": "Motorbike With Sidecar",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1873004466,
+ "name": "Coconut Armor Gloves",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1873897110,
+ "name": "Cooked Bear Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1874610722,
+ "name": "Armored Cockpit Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1877339384,
+ "name": "Burlap Headwrap",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1878053256,
+ "name": "Rowboat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1882709339,
+ "name": "Metal Blade",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 0.75,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1883981798,
+ "name": "Low Quality Pistons",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1883981800,
+ "name": "High Quality Pistons",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 10,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1883981801,
+ "name": "Medium Quality Pistons",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 42,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 70
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1884461210,
+ "name": "Charcoal Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1885488976,
+ "name": "Spooky Speaker",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 240,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 400
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1892536031,
+ "name": "Fluorescent Light",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1895235349,
+ "name": "Disco Ball",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1898094925,
+ "name": "Pumpkin Plant Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1899610628,
+ "name": "Medium Loot Bag",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1903654061,
+ "name": "Small Planter Box",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 1905387657,
+ "name": "Pure Rad. Removal Tea",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1911552868,
+ "name": "Black Berry Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1914691295,
+ "name": "Prototype 17",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 838308300,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 573926264,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1916016738,
+ "name": "Light-Up Mirror Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1917703890,
+ "name": "Burnt Horse Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1925646349,
+ "name": "Spoiled Pork Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1931713481,
+ "name": "Black Raspberries",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1933140008,
+ "name": "PT Boat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1937380239,
+ "name": "Frontier Hatchet",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1946219319,
+ "name": "Camp Fire",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1948067030,
+ "name": "Ladder Hatch",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -316250604,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -316250604,
+ "quantity": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 300
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 1950013766,
+ "name": "Light-Up Frame Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1950721418,
+ "name": "Salvaged Shelves",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1951603367,
+ "name": "Switch",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 1953903201,
+ "name": "Nailgun",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1954597876,
+ "name": "Bee Catapult Bomb",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1965232394,
+ "name": "Crossbow",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1973165031,
+ "name": "Birthday Cake",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1973684065,
+ "name": "Burnt Chicken",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1973949960,
+ "name": "Frontier Bolts Single Item Rack",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 1975934948,
+ "name": "Survey Charge",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 11.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": 1983621560,
+ "name": "Floor triangle grill",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1989785143,
+ "name": "High Quality Horse Shoes",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 1991794121,
+ "name": "Trike",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 1992974553,
+ "name": "Burlap Trousers",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 1993693904,
+ "name": "Boat Building Station",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2005491391,
+ "name": "Extended Magazine",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 2009734114,
+ "name": "Christmas Door Wreath",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 2019042823,
+ "name": "Tarp",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2021351233,
+ "name": "Advanced Rad. Removal Tea",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2023888403,
+ "name": "Medium Rechargeable Battery",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 2024467711,
+ "name": "Pure Scrap Tea",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2036395619,
+ "name": "Scatter Dart",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2039177180,
+ "name": "Bear Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2040726127,
+ "name": "Combat Knife",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 2041899972,
+ "name": "Triangle Ladder Hatch",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -316250604,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -316250604,
+ "quantity": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 300
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": 2047789913,
+ "name": "Lead Armor Insert",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2048317869,
+ "name": "Wolf Skull",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2052270186,
+ "name": "Inner Tube",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2054391128,
+ "name": "Factory Door",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2054929933,
+ "name": "Jungle Relic Assault Rifle",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2055695285,
+ "name": "Frontier Mirror Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2063916636,
+ "name": "Advanced Ore Tea",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2068884361,
+ "name": "Small Backpack",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1234880403,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1234880403,
+ "quantity": 5
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": 2070189026,
+ "name": "Large Banner on pole",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 2083256995,
+ "name": "Handmade SMG",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2087678962,
+ "name": "Search Light",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 500
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 2090395347,
+ "name": "Large Solar Panel",
+ "stackSize": 3,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": 2100007442,
+ "name": "Audio Alarm",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": 2104517339,
+ "name": "Strobe Light",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 2106561762,
+ "name": "Decorative Tinsel",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2114754781,
+ "name": "Water Purifier",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1673693549,
+ "quantity": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 15
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": 2120241887,
+ "name": "Gold Mirror Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2126889441,
+ "name": "Santa Beard",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": 2130820932,
+ "name": "Cancer Research UK Plushie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2130820933,
+ "name": "Ronald McDonald House UK Plushie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": 2133269020,
+ "name": "Red Berry Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -226151558,
+ "name": "2 Module Car Chassis",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -866121090,
+ "name": "2 Module Car",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -831725027,
+ "name": "3 Module Car",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -935322684,
+ "name": "4 Module Car",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1467876094,
+ "name": "#50cal",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -880494890,
+ "name": "Abyss Horizontal Storage Tank",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -919882824,
+ "name": "Abyss Vertical Storage Tank",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1896395719,
+ "name": "Advanced Blueprint Fragment",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1498613415,
+ "name": "Advanced Cooling Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -652889722,
+ "name": "Advanced Crafting Quality Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -334418777,
+ "name": "Advanced Warming Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1385721419,
+ "name": "Advanced Harvesting Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2097376851,
+ "name": "Nailgun Nails",
+ "stackSize": 64,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 1,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 8
+ }
+ ],
+ "timeSeconds": 1.25,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1691396643,
+ "name": "HV Pistol Ammo",
+ "stackSize": 128,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 2.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1321651331,
+ "name": "Explosive 5.56 Rifle Ammo",
+ "stackSize": 128,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 20
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 3,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1211166256,
+ "name": "5.56 Rifle Ammo",
+ "stackSize": 128,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 1,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 2.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -742865266,
+ "name": "Rocket",
+ "stackSize": 3,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -592016202,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 2
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 150
+ },
+ {
+ "itemId": -592016202,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 10,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1841918730,
+ "name": "High Velocity Rocket",
+ "stackSize": 3,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1843426638,
+ "name": "MLRS Rocket",
+ "stackSize": 6,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 95950017,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -384243979,
+ "name": "SAM Ammo",
+ "stackSize": 1000,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -17123659,
+ "name": "Smoke Rocket WIP!!!!",
+ "stackSize": 3,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 48,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1036635990,
+ "name": "12 Gauge Incendiary Shell",
+ "stackSize": 64,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 5
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 2.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1685290200,
+ "name": "12 Gauge Buckshot",
+ "stackSize": 64,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 5
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 2.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -727717969,
+ "name": "12 Gauge Slug",
+ "stackSize": 32,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 5
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 2.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1432674913,
+ "name": "Anti-Radiation Pills",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -601133933,
+ "name": "Armoured Triangle Laddder Hatch",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1023065463,
+ "name": "High Velocity Arrow",
+ "stackSize": 64,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 20
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 1.875,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1234735557,
+ "name": "Wooden Arrow",
+ "stackSize": 64,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 8,
+ "probability": 1
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 25
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 1.875,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1622110948,
+ "name": "Bandit Guard Gear",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1266045928,
+ "name": "Bunny Onesie",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 24,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1004426654,
+ "name": "Bunny Ears",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -747743875,
+ "name": "Egg Suit",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 60
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1773144852,
+ "name": "Hide Skirt",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1506417026,
+ "name": "Ninja Suit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 60
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -324675402,
+ "name": "Reindeer Antlers",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -842267147,
+ "name": "Snowman Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -2139580305,
+ "name": "Auto Turret",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1523195708,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 634478325,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1523195708,
+ "quantity": 1
+ },
+ {
+ "itemId": 634478325,
+ "quantity": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 33.75,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": -262590403,
+ "name": "Salvaged Axe",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1882709339,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -19318653,
+ "name": "Hammerhead Bolt",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1987565603,
+ "name": "Incendiary Bolt",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1127003365,
+ "name": "Piercer Bolt",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -357442017,
+ "name": "Pitchfork Bolt",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -759279626,
+ "name": "Mounted Ballista",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1652561344,
+ "name": "Bamboo Barrel",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2072273936,
+ "name": "Bandage",
+ "stackSize": 3,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1215166612,
+ "name": "A Barrel Costume",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1950721390,
+ "name": "Concrete Barricade",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -424687710,
+ "name": "Medieval Barricade",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -559599960,
+ "name": "Sandbag Barricade",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -143481979,
+ "name": "Basic Blueprint Fragment",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1274093662,
+ "name": "Bath Tub Planter",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -479314201,
+ "name": "Battering Ram Head",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -187304968,
+ "name": "Battering Ram",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -321431890,
+ "name": "Beach Chair",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1621539785,
+ "name": "Beach Parasol",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -8312704,
+ "name": "Beach Towel",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -576866254,
+ "name": "Fabric Beanbag Seat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1220928936,
+ "name": "Leather Beanbag Seat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -989755543,
+ "name": "Burnt Bear Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1520560807,
+ "name": "Raw Bear Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1273339005,
+ "name": "Bed",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 60
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1318837358,
+ "name": "Cooked Big Cat Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2095813057,
+ "name": "Raw Big Cat Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -851288382,
+ "name": "Blow Pipe",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -586342290,
+ "name": "Blueberries",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -996920608,
+ "name": "Blueprint",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -880412831,
+ "name": "Blunderbuss",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -321247698,
+ "name": "Boat Building Plan",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1478094705,
+ "name": "Boogie Board",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1113501606,
+ "name": "Boom Box",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1000573653,
+ "name": "Frog Boots",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 2019042823,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -180129657,
+ "name": "Wood Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -761829530,
+ "name": "Burlap Shoes",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -700591459,
+ "name": "Can of Beans",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1557377697,
+ "name": "Empty Tuna Can",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 10,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1941646328,
+ "name": "Can of Tuna",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -34498533,
+ "name": "Cannon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -411735114,
+ "name": "Cannonball",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -912398867,
+ "name": "Cassette - Medium",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1827561369,
+ "name": "Propane Explosive Bomb",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -484006286,
+ "name": "Firebomb",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -463012608,
+ "name": "Salvaged Ejector Seat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1944704288,
+ "name": "Ice Throne",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1938052175,
+ "name": "Charcoal",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1848736516,
+ "name": "Cooked Chicken",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -152332823,
+ "name": "Chicken Costume",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1440987069,
+ "name": "Raw Chicken Breast",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -751151717,
+ "name": "Spoiled Chicken",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2018158920,
+ "name": "Chicken Coop",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1916473915,
+ "name": "Chinese Lantern",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -770304148,
+ "name": "Chinese Lantern White",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -965336208,
+ "name": "Chocolate Bar",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -105343718,
+ "name": "Circle Balloon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -778875547,
+ "name": "Corn Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1305326964,
+ "name": "Green Berry Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -886280491,
+ "name": "Hemp Clone",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -798662404,
+ "name": "Orchid Clone",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -19360132,
+ "name": "Rose Clone",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -858312878,
+ "name": "Cloth",
+ "stackSize": 1000,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -606898372,
+ "name": "#clothingmannequin",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -903796529,
+ "name": "Asbestos Armor Insert",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -593892112,
+ "name": "Wooden Armor Insert",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -582467439,
+ "name": "Coconut Armor Helmet",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -24571537,
+ "name": "Coconut",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -803263829,
+ "name": "Coffee Can Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1247485104,
+ "name": "Command Block",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1593678393,
+ "name": "Ammo Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -413663149,
+ "name": "Comps Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1998423571,
+ "name": "Explosives Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -544295594,
+ "name": "Guns Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -800824218,
+ "name": "Meds Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -10594280,
+ "name": "Sulfur Storage Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1488398114,
+ "name": "Composter",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 2019042823,
+ "quantity": 2
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1588628467,
+ "name": "Computer Station",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1523195708,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": -1044468317,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 888415708,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": 1523195708,
+ "quantity": 1
+ },
+ {
+ "itemId": -1044468317,
+ "quantity": 1
+ },
+ {
+ "itemId": 888415708,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1360171080,
+ "name": "Concrete Pickaxe",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1260229965,
+ "name": "Basic Cooling Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1081599445,
+ "name": "Raw Crocodile Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1796837031,
+ "name": "Spoiled Crocodile Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -321733511,
+ "name": "Crude Oil",
+ "stackSize": 500,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -97956382,
+ "name": "Tool Cupboard",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 600,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 1000
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -963819285,
+ "name": "Incapacitate Dart",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -594596146,
+ "name": "Radiation Dart",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -274709858,
+ "name": "Wood Dart",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1903165497,
+ "name": "Bone Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -78533081,
+ "name": "Burnt Deer Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1509851560,
+ "name": "Cooked Deer Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2035449523,
+ "name": "Spoiled Deer Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -113413047,
+ "name": "Diving Mask",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 42,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1559420426,
+ "name": "Double Diving Tank",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2022172587,
+ "name": "Diving Tank",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1101924344,
+ "name": "Wetsuit",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -451310088,
+ "name": "Documents",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1151332840,
+ "name": "Wooden Frontier Bar Doors",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1336109173,
+ "name": "Wood Double Door",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 210,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 350
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1063073030,
+ "name": "Wooden Boat Door",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2067472972,
+ "name": "Sheet Metal Door",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1112793865,
+ "name": "Door Key",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -258574361,
+ "name": "Dracula Cape",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -854270928,
+ "name": "Dragon Door Knocker",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1519126340,
+ "name": "Drop Box",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1330640246,
+ "name": "Junkyard Drum Kit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1779203452,
+ "name": "Portable Easel",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1002156085,
+ "name": "Gold Egg",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -126305173,
+ "name": "Painted Egg",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -979302481,
+ "name": "Easter Door Wreath",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -692338819,
+ "name": "Small Rechargeable Battery",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -690968985,
+ "name": "Blocker",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1778897469,
+ "name": "Button",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1510616686,
+ "name": "Chandelier",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -216999575,
+ "name": "Counter",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -502177121,
+ "name": "Door Controller",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -939424778,
+ "name": "Flasher Light",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1196547867,
+ "name": "Electric Furnace",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -295829489,
+ "name": "Test Generator",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -629028935,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1507239837,
+ "name": "HBHF Sensor",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -784870360,
+ "name": "Electric Heater",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -44876289,
+ "name": "Igniter",
+ "stackSize": 3,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -798293154,
+ "name": "Laser Detector",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1286302544,
+ "name": "OR Switch",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -2049214035,
+ "name": "Pressure Pad",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1044468317,
+ "name": "RF Broadcaster",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -948291630,
+ "name": "Seismic Sensor",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -282113991,
+ "name": "Simple Light",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -563624462,
+ "name": "Splitter",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1258821205,
+ "name": "Spot Light",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2134097299,
+ "name": "Tripod Spot Light",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -781014061,
+ "name": "Sprinkler",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1448252298,
+ "name": "Electrical Branch",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -458565393,
+ "name": "Root Combiner",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -746647361,
+ "name": "Memory Cell",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1878475007,
+ "name": "Satchel Charge",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1840822026,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -369760990,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1840822026,
+ "quantity": 4
+ },
+ {
+ "itemId": -369760990,
+ "quantity": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -592016202,
+ "name": "Explosives",
+ "stackSize": 100,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -265876753,
+ "quantity": 50
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 3
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 10
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 5,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": -1018587433,
+ "name": "Animal Fat",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -930193596,
+ "name": "Fertilizer",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1535621066,
+ "name": "Stone Fireplace",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 500
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -656349006,
+ "name": "Green Boomer",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -7270019,
+ "name": "Orange Boomer",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -379734527,
+ "name": "Pattern Boomer",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1553999294,
+ "name": "Red Boomer",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -280223496,
+ "name": "Violet Boomer",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -515830359,
+ "name": "Blue Roman Candle",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 37.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1306288356,
+ "name": "Green Roman Candle",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 37.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1486461488,
+ "name": "Red Roman Candle",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 37.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -99886070,
+ "name": "Violet Roman Candle",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 37.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -454370658,
+ "name": "Red Volcano Firework",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1538109120,
+ "name": "Violet Volcano Firework",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -587989372,
+ "name": "Catfish",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1698937385,
+ "name": "Herring",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -542577259,
+ "name": "Minnows",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1904821376,
+ "name": "Orange Roughy",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -851988960,
+ "name": "Salmon",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1654233406,
+ "name": "Sardine",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1768880890,
+ "name": "Small Shark",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1878764039,
+ "name": "Small Trout",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1707425764,
+ "name": "Fishing Tackle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1913996738,
+ "name": "Fish Trophy",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1215753368,
+ "name": "Flame Thrower",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 15
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 6
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 100
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -196667575,
+ "name": "Flashlight",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -478923685,
+ "name": "Armored Triangle Ladder Hatch",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -265292885,
+ "name": "Fluid Combiner",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1166712463,
+ "name": "Fluid Splitter",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1973785141,
+ "name": "Fogger-3000",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 18,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 30
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1647389398,
+ "name": "Frankenstein Mask",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -134959124,
+ "name": "Light Frankenstein Head",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1624770297,
+ "name": "Light Frankenstein Torso",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1732475823,
+ "name": "Medium Frankenstein Head",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -297099594,
+ "name": "Heavy Frankenstein Head",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2024549027,
+ "name": "Heavy Frankenstein Legs",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1709878924,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": -1018587433,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1719978075,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2107018088,
+ "name": "Shovel Bass",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1530414568,
+ "name": "Cassette Recorder",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1049881973,
+ "name": "Cowbell",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 21,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 35
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -2040817543,
+ "name": "Pan Flute",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -2124352573,
+ "name": "Acoustic Guitar",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -979951147,
+ "name": "Jerry Can Guitar",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 25
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1379036069,
+ "name": "Canbourine",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1999722522,
+ "name": "Furnace",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 200
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1992717673,
+ "name": "Large Furnace",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 360,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 500
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 600
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -629028935,
+ "name": "Electric Fuse",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 24,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -401905610,
+ "name": "High External Adobe Gate",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1442339204,
+ "name": "High External Legacy Gate",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -691113464,
+ "name": "High External Stone Gate",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 1800,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 3000
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 26.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": -335089230,
+ "name": "High External Wooden Gate",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 1800,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 3000
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 21.875,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -379403794,
+ "name": "Water Wheel",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1819763926,
+ "name": "Wind Turbine",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1994909036,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 500
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 3
+ },
+ {
+ "itemId": -1994909036,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1043618880,
+ "name": "Ghost Costume",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -695124222,
+ "name": "Giant Candy Decor",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -558880549,
+ "name": "Gingerbread Suit",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -690276911,
+ "name": "Glowing Eyes",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1899491405,
+ "name": "Glue",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -996235148,
+ "name": "Ornate Frame large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1901993050,
+ "name": "Ornate Frame Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1836526520,
+ "name": "Ornate Frame Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1528767189,
+ "name": "Ornate Frame Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1430299277,
+ "name": "Ornate Frame XL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1322332389,
+ "name": "Ornate Frame XXL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1804515496,
+ "name": "Gold Mirror Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1444650226,
+ "name": "Gold Mirror Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -746030907,
+ "name": "Granola Bar",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -455286320,
+ "name": "Gray ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -936921910,
+ "name": "Flashbang",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -265876753,
+ "quantity": 25
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -568419968,
+ "name": "Grub",
+ "stackSize": 25,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -265876753,
+ "name": "Gun Powder",
+ "stackSize": 1000,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1938052175,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1938052175,
+ "quantity": 30
+ },
+ {
+ "itemId": -1581843485,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 1.25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -246672609,
+ "name": "Horizontal Weapon Rack",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -849373693,
+ "name": "Frontier Horseshoe Single Item Rack",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -52398594,
+ "name": "Frontier Horns Single Item Rack",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1719978075,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1719978075,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -96256997,
+ "name": "Wide Weapon Rack",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 105,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 175
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1989600732,
+ "name": "Hot Air Balloon Armor",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1923843855,
+ "name": "Half Height Bamboo Shelves",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -888153050,
+ "name": "Halloween Candy",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1785231475,
+ "name": "Surgeon Scrubs",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 60
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1506397857,
+ "name": "Salvaged Hammer",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -839576748,
+ "name": "Handcuffs",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 42,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 70
+ }
+ ],
+ "timeSeconds": 11.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -23994173,
+ "name": "Boonie Hat",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1022661119,
+ "name": "Baseball Cap",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -22883916,
+ "name": "Dragon Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -418359052,
+ "name": "Horse Mask",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1539025626,
+ "name": "Miners Hat",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -986782031,
+ "name": "Rabbit Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1314079879,
+ "name": "Snake mask",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -507248640,
+ "name": "Wellipets Hat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1478212975,
+ "name": "Wolf Headdress",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ },
+ {
+ "itemId": 2048317869,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1252059217,
+ "name": "Hatchet",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -902423513,
+ "name": "Krieg Hazmat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -470439097,
+ "name": "Arctic Suit",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -797592358,
+ "name": "Abyss Pack",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -105415879,
+ "name": "Frontier Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -560304835,
+ "name": "Space Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -253079493,
+ "name": "Scientist Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1937799374,
+ "name": "Naval Scientist Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1958316066,
+ "name": "Scientist Suit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1696379844,
+ "name": "Hazmat Youtooz",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -2123125470,
+ "name": "Advanced Healing Tea",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -929092070,
+ "name": "Basic Healing Tea",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1677315902,
+ "name": "Pure Healing Tea",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1102429027,
+ "name": "Heavy Plate Jacket",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1994909036,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1994909036,
+ "quantity": 2
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 33.75,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1778159885,
+ "name": "Heavy Plate Pants",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1994909036,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1994909036,
+ "quantity": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 33.75,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -722629980,
+ "name": "Heavy Scientist Youtooz",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1214542497,
+ "name": "HMLMG",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 60
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 3
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": -1442559428,
+ "name": "Hobo Barrel",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -218009552,
+ "name": "Homing Missile Launcher",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 634478325,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 20
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ },
+ {
+ "itemId": 634478325,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1513203236,
+ "name": "Honeycomb",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2068194497,
+ "name": "Lunar New Year Horse Armor",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1323101799,
+ "name": "Double Horse Saddle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1199391518,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1997543660,
+ "name": "Horse Saddle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1211268013,
+ "name": "Basic Horse Shoes",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1579932985,
+ "name": "Horse Dung",
+ "stackSize": 100,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1162759543,
+ "name": "Cooked Horse Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1130350864,
+ "name": "Raw Horse Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -724146494,
+ "name": "Spoiled Horse Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1982036270,
+ "name": "High Quality Metal Ore",
+ "stackSize": 100,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -682687162,
+ "name": "Burnt Human Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1709878924,
+ "name": "Raw Human Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -869598982,
+ "name": "Small Hunting Trophy",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1780802565,
+ "name": "Salvaged Icepick",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1882709339,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ },
+ {
+ "itemId": 1882709339,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1160621614,
+ "name": "Red Industrial Wall Light",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -697981032,
+ "name": "Inner Tube",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1163532624,
+ "name": "Jacket",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 50
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -48090175,
+ "name": "Snow Jacket",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 36,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 60
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1824943010,
+ "name": "Jack O Lantern Happy",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -567909622,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -567909622,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -97459906,
+ "name": "Jumpsuit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -874908751,
+ "name": "Waterwell NPC Jumpsuit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -484206264,
+ "name": "Blue Keycard",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1880870149,
+ "name": "Red Keycard",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -194509282,
+ "name": "Butcher Knife",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2073432256,
+ "name": "Skinning Knife",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -427072335,
+ "name": "Knights armour helmet",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -945708533,
+ "name": "Knights armour skirt plates",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1770281406,
+ "name": "Krieg chainsword",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -420889602,
+ "name": "Krieg Shotgun",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -874650016,
+ "name": "Krieg Large Backpack",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -316250604,
+ "name": "Wooden Ladder",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ },
+ {
+ "itemId": 1414245522,
+ "quantity": 3
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -907422733,
+ "name": "Large Backpack",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -489848205,
+ "name": "Large Candle Set",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1018587433,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1018587433,
+ "quantity": 20
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1440443161,
+ "name": "Clump of Latex Balloons",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -73195037,
+ "name": "Legacy Bow",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1310391395,
+ "name": "Legacy Furnace",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1294739579,
+ "name": "Light-Up Frame Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -389796733,
+ "name": "Light-Up Mirror Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2069578888,
+ "name": "M249",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -850982208,
+ "name": "Key Lock",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -110921842,
+ "name": "Locker",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -2027988285,
+ "name": "Locomotive",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1469578201,
+ "name": "Longsword",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1882709339,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1882709339,
+ "quantity": 2
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -946369541,
+ "name": "Low Grade Fuel",
+ "stackSize": 500,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1018587433,
+ "quantity": 1,
+ "probability": 0.45
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 1,
+ "probability": 0.15
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1018587433,
+ "quantity": 3
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 3.125,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -763071910,
+ "name": "Lumberjack Hoodie",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -399173933,
+ "name": "Prototype Hatchet",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1961560162,
+ "name": "Firecracker String",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2026042603,
+ "name": "Baseball Bat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1966748496,
+ "name": "Mace",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1137865085,
+ "name": "Machete",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 24,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 40
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -586784898,
+ "name": "Mail Box",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1035206446,
+ "name": "Clothing Mannequin",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2012470695,
+ "name": "Improvised Balaclava",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -702051347,
+ "name": "Bandana Mask",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1184406448,
+ "name": "Basic Max Health Tea",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -242084766,
+ "name": "Cooked Pork",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -380502678,
+ "name": "Medieval Sheet Metal Double Door",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1654401345,
+ "name": "Medieval Sheet Metal Door",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -583379016,
+ "name": "Megaphone",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1334569149,
+ "name": "Hockey Mask",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -194953424,
+ "name": "Metal Facemask",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 4,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 50
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 15
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 6
+ }
+ ],
+ "timeSeconds": 45,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": -4031221,
+ "name": "Metal Ore",
+ "stackSize": 1000,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1478855279,
+ "name": "Ice Metal Chest Plate",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1021495308,
+ "name": "Metal Spring",
+ "stackSize": 20,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 1,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1334255764,
+ "name": "Minicopter",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -482348853,
+ "name": "Mini Crossbow",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1130709577,
+ "name": "Pump Jack",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1449152644,
+ "name": "MLRS",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -20045316,
+ "name": "Mobile Phone",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 75,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1417478274,
+ "name": "Motorbike",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2047081330,
+ "name": "Movember Moustache",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -648077743,
+ "name": "Mr Spice Can",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1123473824,
+ "name": "Multiple Grenade Launcher",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1962971928,
+ "name": "Mushroom",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -961457160,
+ "name": "New Year Gong",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1518883088,
+ "name": "Night Vision Goggles",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1811234677,
+ "name": "Beehive Nucleus",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -282193997,
+ "name": "Orange ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2133781216,
+ "name": "Outbreak Scientist Suit",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -733625651,
+ "name": "Paddling Pool",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 100
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1039234836,
+ "name": "Paintable Reactive Target",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -707792719,
+ "name": "Paintball Gun",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1014934560,
+ "name": "Paintball Overalls",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1695367501,
+ "name": "Shorts",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1779183908,
+ "name": "Paper",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -575744869,
+ "name": "Party Hat",
+ "stackSize": 1,
+ "despawnSeconds": 30,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1302129395,
+ "name": "Pickaxe",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1785248332,
+ "name": "Fish Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1488408786,
+ "name": "Pumpkin Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -963820355,
+ "name": "Survivor\u0027s Pie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1442496789,
+ "name": "Pinata",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -144513264,
+ "name": "Pipe Tool",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -75944661,
+ "name": "Eoka Pistol",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 75
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -852563019,
+ "name": "M92 Pistol",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 15,
+ "probability": 1
+ },
+ {
+ "itemId": 573926264,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1815301988,
+ "name": "Water Pistol",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -952411326,
+ "name": "Plank",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -280812482,
+ "name": "Triangle Planter Box",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -804769727,
+ "name": "Plant Fiber",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -430416124,
+ "name": "Single Plant Pot",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1651220691,
+ "name": "Pookie Bear",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2086926071,
+ "name": "Potato",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -365097295,
+ "name": "Powered Water Purifier",
+ "stackSize": 3,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 300
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -892718768,
+ "name": "Prisoner Hood",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1673693549,
+ "name": "Empty Propane Tank",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 1,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 0.75,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -567909622,
+ "name": "Pumpkin",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1476814093,
+ "name": "Pure Warming Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1386082991,
+ "name": "Purple ID Tag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -496584751,
+ "name": "Rad. Removal Tea",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1729415579,
+ "name": "Advanced Anti-Rad Tea",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -487356515,
+ "name": "Basic Anti-Rad Tea",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -33009419,
+ "name": "Pure Anti-Rad Tea",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -602717596,
+ "name": "Red Dog Tags",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1861522751,
+ "name": "Research Table",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -544317637,
+ "name": "Research Paper",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -92315244,
+ "name": "High Caliber Revolver",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -566907190,
+ "name": "RF Pager",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 15,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -139037392,
+ "name": "Abyss Assault Rifle",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1335497659,
+ "name": "Ice Assault Rifle",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -778367295,
+ "name": "L96 Rifle",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1812555177,
+ "name": "LR-300 Assault Rifle",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 838308300,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 176787552,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -904863145,
+ "name": "Semi-Automatic Rifle",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 270,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 573926264,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 573926264,
+ "quantity": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 450
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 4
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -348232115,
+ "name": "SKS",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -699558439,
+ "name": "Road Sign Gloves",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 20
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -2002277461,
+ "name": "Road Sign Jacket",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 20
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 2
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1315992997,
+ "name": "Dragon Rocket Launcher",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1863063690,
+ "name": "Rocking Chair",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 78,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 130
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1104881824,
+ "name": "Bear Skin Rug",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1985799200,
+ "name": "Rug",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -173268129,
+ "name": "Rustig\u00E9 Egg - Red",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -173268132,
+ "name": "Rustig\u00E9 Egg - Blue",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -173268131,
+ "name": "Rustig\u00E9 Egg - Purple",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -173268126,
+ "name": "Rustig\u00E9 Egg - Ivory",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -173268125,
+ "name": "Rustig\u00E9 Egg - Green",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -173268128,
+ "name": "Rustig\u00E9 Egg - White",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -173268127,
+ "name": "Rustig\u00E9 Egg - Cerulean",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -173268138,
+ "name": "Rustig\u00E9 Egg - Amethyst",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2110553371,
+ "name": "Bamboo Salvaged Shelves",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1978999529,
+ "name": "Salvaged Cleaver",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": 1199391518,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1009359066,
+ "name": "SAM Site",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -575483084,
+ "name": "Santa Hat",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1772746857,
+ "name": "Heavy Scientist Suit",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 2019042823,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -932201673,
+ "name": "Scrap",
+ "stackSize": 1000,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1094453063,
+ "name": "Shutter Frame large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1060567807,
+ "name": "Shutter Frame Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -498301781,
+ "name": "Shutter Frame Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1774190142,
+ "name": "Shutter Frame Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1244287686,
+ "name": "Shutter Frame XL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1211801774,
+ "name": "Shutter Frame XXL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -82758111,
+ "name": "Scrap Mirror Large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1050697733,
+ "name": "Scrap Mirror Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1380144986,
+ "name": "Scrap Mirror Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -374457631,
+ "name": "Sedan",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1776128552,
+ "name": "Green Berry Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -237809779,
+ "name": "Hemp Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2084071424,
+ "name": "Potato Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1511285251,
+ "name": "Pumpkin Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1037472336,
+ "name": "Rose Seed",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1790885730,
+ "name": "Wheat Seed",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -992286106,
+ "name": "White Berry Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -520133715,
+ "name": "Yellow Berry Seed",
+ "stackSize": 50,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1994909036,
+ "name": "Sheet Metal",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2025184684,
+ "name": "Shirt",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1549739227,
+ "name": "Boots",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1381010055,
+ "quantity": 20
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 15
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -765183617,
+ "name": "Double Barrel Shotgun",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 105,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 175
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -41440462,
+ "name": "Spas-12 Shotgun",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 3,
+ "probability": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1367281941,
+ "name": "Waterpipe Shotgun",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1536855921,
+ "name": "Shovel",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1199897169,
+ "name": "Metal horizontal embrasure",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1199897172,
+ "name": "Metal Vertical embrasure",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1023374709,
+ "name": "Wood Shutters",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1368584029,
+ "name": "Sickle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1290278434,
+ "name": "Siege Tower",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -946599114,
+ "name": "Artist Canvas Standing",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -946599113,
+ "name": "Artist Canvas Large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -946599131,
+ "name": "Artist Canvas Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -816769770,
+ "name": "Artist Canvas XXL",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1647846966,
+ "name": "Two Sided Ornate Hanging Sign",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1423304443,
+ "name": "Medium Neon Sign",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -845557339,
+ "name": "Landscape Picture Frame",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1370759135,
+ "name": "Portrait Picture Frame",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -996185386,
+ "name": "XL Picture Frame",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1832422579,
+ "name": "One Sided Town Sign Post",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -143132326,
+ "name": "Huge Wooden Sign",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 150,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 250
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1819233322,
+ "name": "Medium Wooden Sign",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1138208076,
+ "name": "Small Wooden Sign",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -193519904,
+ "name": "Single Shallow Wall Shelves",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1056824343,
+ "name": "Diver propulsion vehicle",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -924959988,
+ "name": "Skull Trophy",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -769647921,
+ "name": "Skull Trophy",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -156748077,
+ "name": "Skull Trophy",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -216116642,
+ "name": "Skull Door Knocker",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -25740268,
+ "name": "Skull Spikes",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1073015016,
+ "name": "Skull Spikes",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": 996293980,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ },
+ {
+ "itemId": 996293980,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1078639462,
+ "name": "Skull Spikes",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1770889433,
+ "name": "Sky Lantern - Green",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1824770114,
+ "name": "Sky Lantern - Orange",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1433390281,
+ "name": "Sky Lantern - Red",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -333406828,
+ "name": "Sled",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -135252633,
+ "name": "Sled",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1754948969,
+ "name": "Sleeping Bag",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1293296287,
+ "name": "Small Oil Refinery",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 150,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 500
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 250
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -2058362263,
+ "name": "Small Candle Set",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -1018587433,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1018587433,
+ "quantity": 10
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -2115299615,
+ "name": "Small Boat Engine",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1039528932,
+ "name": "Small Water Bottle",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -158718378,
+ "name": "Small Ramp",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -695978112,
+ "name": "Smart Alarm",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1758372725,
+ "name": "Thompson",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 1230323789,
+ "quantity": 1,
+ "probability": 0.6
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 1230323789,
+ "quantity": 1
+ },
+ {
+ "itemId": -1021495308,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -170436364,
+ "name": "Cooked Snake Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2100458529,
+ "name": "Raw Snake Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1616704051,
+ "name": "Spoiled Snake Meat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -363689972,
+ "name": "Snowball",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1364246987,
+ "name": "Snowmobile",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -555122905,
+ "name": "Sofa",
+ "stackSize": 2,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -343857907,
+ "name": "Sound Light",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -89874794,
+ "name": "Low Quality Spark Plugs",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -493159321,
+ "name": "Medium Quality Spark Plugs",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 42,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 70
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1517740219,
+ "name": "Speargun",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ },
+ {
+ "itemId": -1673693549,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1800345240,
+ "name": "Speargun Spear",
+ "stackSize": 64,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 10,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 1.875,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -92759291,
+ "name": "Wooden Floor Spikes",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1850297170,
+ "name": "Small Spike Trap",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1100422738,
+ "name": "Spinning Wheel",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -596876839,
+ "name": "Spray Can",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1366326648,
+ "name": "Spray Can Decal",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1782127806,
+ "name": "Star Balloon",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -369760990,
+ "name": "Small Stash",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1866909924,
+ "name": "Steering Wheel",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -465682601,
+ "name": "SUPER Stocking",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1583967946,
+ "name": "Stone Hatchet",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ },
+ {
+ "itemId": -2099697608,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -2099697608,
+ "name": "Stones",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1049172752,
+ "name": "Storage Adaptor",
+ "stackSize": 5,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -258457936,
+ "name": "Unused Storage Barrel Vertical",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1421257350,
+ "name": "Storage Barrel Horizontal",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 300
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1671551935,
+ "name": "Torpedo",
+ "stackSize": 100,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -265876753,
+ "quantity": 4,
+ "probability": 1
+ },
+ {
+ "itemId": 95950017,
+ "quantity": 1,
+ "probability": 0.12
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 95950017,
+ "quantity": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 7.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -187031121,
+ "name": "Solo Submarine",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1581843485,
+ "name": "Sulfur",
+ "stackSize": 1000,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1157596551,
+ "name": "Sulfur Ore",
+ "stackSize": 1000,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -611118083,
+ "name": "Sunflower",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2103694546,
+ "name": "Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -176608084,
+ "name": "Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1997698639,
+ "name": "Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1408336705,
+ "name": "Sunglasses",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1003665711,
+ "name": "Super Serum",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1108136649,
+ "name": "Tactical Gloves",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1381010055,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 1234880403,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1736356576,
+ "name": "Reactive Target",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1262185308,
+ "name": "Binoculars",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 24,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 40
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1316706473,
+ "name": "Camera",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2001260025,
+ "name": "Instant Camera",
+ "stackSize": 1,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1175656359,
+ "name": "Cultist Deer Torch",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -582782051,
+ "name": "Snap Trap",
+ "stackSize": 3,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1663759755,
+ "name": "Homemade Landmine",
+ "stackSize": 5,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 18,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": -265876753,
+ "quantity": 30
+ }
+ ],
+ "timeSeconds": 15,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -901370585,
+ "name": "Twitch Rivals Trophy 2023",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -561148628,
+ "name": "Tugboat",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1478445584,
+ "name": "Tuna Can Lamp",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 6,
+ "probability": 1
+ },
+ {
+ "itemId": -1557377697,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -1557377697,
+ "quantity": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 20
+ },
+ {
+ "itemId": -946369541,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1569700847,
+ "name": "Headset",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -243540612,
+ "name": "Twitch Rivals Desk",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -739993590,
+ "name": "Twitch Rivals Flag",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1802083073,
+ "name": "High Quality Valves",
+ "stackSize": 15,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 72,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 120
+ }
+ ],
+ "timeSeconds": 10,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -885833256,
+ "name": "Vampire Stake",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1501451746,
+ "name": "Cockpit Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1880231361,
+ "name": "Flatbed Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 100
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1615281216,
+ "name": "Armored Passenger Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -626174997,
+ "name": "Taxi Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 105,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 75,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 175
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 125
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1040518150,
+ "name": "Camper Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 105,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 75,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 175
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 125
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1693832478,
+ "name": "Large Flatbed Vehicle Module",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -44066600,
+ "name": "Small Chassis",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -44066823,
+ "name": "Medium Chassis",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -44066790,
+ "name": "Large Chassis",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -870140677,
+ "name": "Snake Venom",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1416322465,
+ "name": "Walkie Talkie",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -985781766,
+ "name": "High Ice Wall",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 900,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1993883724,
+ "name": "High External Legacy Wall",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -967648160,
+ "name": "High External Stone Wall",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 900,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -2099697608,
+ "quantity": 1500
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 500
+ }
+ },
+ {
+ "id": -956706906,
+ "name": "Prison Cell Gate",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1429456799,
+ "name": "Prison Cell Wall",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1117626326,
+ "name": "Chainlink Fence",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 75
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -148794216,
+ "name": "Garage Door",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 180,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 300
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -450890885,
+ "name": "Wall Divider Pack",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2016974826,
+ "name": "Wall Divider Pack",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -796583652,
+ "name": "Shop Front",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 150
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -148229307,
+ "name": "Metal Shop Front",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 150,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 250
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1679267738,
+ "name": "Graveyard Fence",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -2099697608,
+ "quantity": 150,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 45,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -819720157,
+ "name": "Metal Window Bars",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1183726687,
+ "name": "Wooden Window Bars",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 9.375,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1614955425,
+ "name": "Strengthened Glass Window",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 11.25,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -551431036,
+ "name": "Wallpaper Flooring",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1344017968,
+ "name": "Wanted Poster",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 20
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1265020883,
+ "name": "Wanted Poster 3",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1142222427,
+ "name": "Basic Warming Tea",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -463122489,
+ "name": "Watch Tower",
+ "stackSize": 5,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 150,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 250
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1863559151,
+ "name": "Water Barrel",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 150,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 250
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1100168350,
+ "name": "Large Water Catcher",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 500
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -132247350,
+ "name": "Small Water Catcher",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 30,
+ "probability": 1
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 100
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ },
+ {
+ "itemId": 2019042823,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 20
+ }
+ },
+ {
+ "id": -1779180711,
+ "name": "Water",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -277057363,
+ "name": "Salt Water",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -119235651,
+ "name": "Water Jug",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1284169891,
+ "name": "Water Pump",
+ "stackSize": 3,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 150,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 120,
+ "probability": 1
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -151838493,
+ "quantity": 250
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 200
+ },
+ {
+ "itemId": 479143914,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -1767794021,
+ "name": "Gas Compression Overdrive",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -132516482,
+ "name": "Weapon Lasersight",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1,
+ "probability": 0.6
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 3
+ },
+ {
+ "itemId": 73681876,
+ "quantity": 1
+ }
+ ],
+ "timeSeconds": 30,
+ "workbenchLevel": 3
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -1405508498,
+ "name": "Muzzle Boost",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 6,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 10
+ }
+ ],
+ "timeSeconds": 22.5,
+ "workbenchLevel": 2
+ },
+ "research": {
+ "scrap": 125
+ }
+ },
+ {
+ "id": -781866273,
+ "name": "Oil Filter Silencer",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1850571427,
+ "name": "Military Silencer",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 5
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 75
+ }
+ },
+ {
+ "id": -855748505,
+ "name": "Simple Handmade Sight",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 4,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 6
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -1659598760,
+ "name": "Soda Can Silencer",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1163943815,
+ "name": "Weapon Rack Light",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -526026171,
+ "name": "Wicker Barrel",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -144417939,
+ "name": "Wire Tool",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 317398316,
+ "quantity": 2,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 317398316,
+ "quantity": 2
+ }
+ ],
+ "timeSeconds": 0.625,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -395377963,
+ "name": "Raw Wolf Meat",
+ "stackSize": 20,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1167031859,
+ "name": "Spoiled Wolf Meat",
+ "stackSize": 20,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2094954543,
+ "name": "Wood Armor Helmet",
+ "stackSize": 1,
+ "despawnSeconds": 1200,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 9,
+ "probability": 1
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 120,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 15
+ },
+ {
+ "itemId": -151838493,
+ "quantity": 200
+ }
+ ],
+ "timeSeconds": 12.5,
+ "workbenchLevel": null
+ },
+ "research": {
+ "scrap": 10
+ }
+ },
+ {
+ "id": -151838493,
+ "name": "Wood",
+ "stackSize": 1000,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -459159118,
+ "name": "Wood Armor Gloves",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -635951327,
+ "name": "Wood Frame Large",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1541706279,
+ "name": "Wood Frame Medium",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1476278729,
+ "name": "Wood Frame Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1497205569,
+ "name": "Wood Mirror Small",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -541206665,
+ "name": "Advanced Wood Tea",
+ "stackSize": 10,
+ "despawnSeconds": 2400,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -649128577,
+ "name": "Basic Wood Tea",
+ "stackSize": 10,
+ "despawnSeconds": 1200,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -557539629,
+ "name": "Pure Wood Tea",
+ "stackSize": 10,
+ "despawnSeconds": 3600,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -41896755,
+ "name": "Workbench Level 2",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 300,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 500
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 20
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 500
+ }
+ ],
+ "timeSeconds": 28.125,
+ "workbenchLevel": 1
+ },
+ "research": null
+ },
+ {
+ "id": -1607980696,
+ "name": "Workbench Level 3",
+ "stackSize": 1,
+ "despawnSeconds": 2400,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 600,
+ "probability": 1
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 1000
+ },
+ {
+ "itemId": 317398316,
+ "quantity": 100
+ },
+ {
+ "itemId": -932201673,
+ "quantity": 1250
+ }
+ ],
+ "timeSeconds": 45,
+ "workbenchLevel": 2
+ },
+ "research": null
+ },
+ {
+ "id": -810326667,
+ "name": "Work Cart",
+ "stackSize": 1,
+ "despawnSeconds": null,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -2027793839,
+ "name": "Advent Calendar",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ },
+ {
+ "itemId": -858312878,
+ "quantity": 12,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1667224349,
+ "name": "Decorative Baubels",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 2,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -209869746,
+ "name": "Decorative Plastic Candy Canes",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -129230242,
+ "name": "Decorative Pinecones",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -151838493,
+ "quantity": 60,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1331212963,
+ "name": "Star Tree Topper",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -932201673,
+ "quantity": 12,
+ "probability": 1
+ },
+ {
+ "itemId": 69511070,
+ "quantity": 90,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1230433643,
+ "name": "Festive Double Doorway Garland",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -151387974,
+ "name": "Deluxe Christmas Lights",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 69511070,
+ "quantity": 3,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 69511070,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 6.25,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -1622660759,
+ "name": "Large Present",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -722241321,
+ "name": "Small Present",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": null,
+ "craft": null,
+ "research": null
+ },
+ {
+ "id": -1379835144,
+ "name": "Festive Window Garland",
+ "stackSize": 10,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": -858312878,
+ "quantity": 15,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": -858312878,
+ "quantity": 25
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": null
+ },
+ "research": null
+ },
+ {
+ "id": -211235948,
+ "name": "Xylobone",
+ "stackSize": 1,
+ "despawnSeconds": 300,
+ "recycle": {
+ "recycler": [
+ {
+ "itemId": 1719978075,
+ "quantity": 30,
+ "probability": 1
+ }
+ ]
+ },
+ "craft": {
+ "ingredients": [
+ {
+ "itemId": 1719978075,
+ "quantity": 50
+ }
+ ],
+ "timeSeconds": 18.75,
+ "workbenchLevel": 1
+ },
+ "research": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/RustPlusBot.Features.ItemData/EmbeddedItemDatabase.cs b/src/RustPlusBot.Features.ItemData/EmbeddedItemDatabase.cs
new file mode 100644
index 00000000..db693a98
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/EmbeddedItemDatabase.cs
@@ -0,0 +1,74 @@
+using System.Collections.Frozen;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.Features.ItemData.Lookup;
+
+namespace RustPlusBot.Features.ItemData;
+
+/// Loads the embedded item-data.json once and serves lookups. Singleton.
+public sealed class EmbeddedItemDatabase : IItemDatabase
+{
+ private const int ExpectedSchemaVersion = 1;
+
+ private static readonly JsonSerializerOptions JsonOptions = new(JsonSerializerDefaults.Web)
+ {
+ PropertyNameCaseInsensitive = true, NumberHandling = JsonNumberHandling.AllowReadingFromString,
+ };
+
+ private static readonly ItemDataset Dataset = Load();
+
+ private static readonly FrozenDictionary ById = IndexById(Dataset.Items);
+
+ ///
+ public DatasetSources Sources => Dataset.Sources;
+
+ ///
+ public ItemRecord? GetById(int id) => ById.GetValueOrDefault(id);
+
+ ///
+ public ItemMatch Resolve(string query) => ItemLookup.Resolve(query, GetById, Dataset.Items);
+
+ ///
+ /// Deserializes and validates an item dataset from .
+ /// Throws when the schema version does not match
+ /// .
+ ///
+ /// A readable stream containing the JSON dataset.
+ /// The schema version the caller expects.
+ /// The validated .
+ ///
+ /// The stream deserializes to null, or the schema version does not match .
+ ///
+ internal static ItemDataset Parse(Stream stream, int expectedSchemaVersion)
+ {
+ var dataset = JsonSerializer.Deserialize(stream, JsonOptions)
+ ?? throw new InvalidOperationException("item-data.json deserialized to null.");
+ if (dataset.SchemaVersion != expectedSchemaVersion)
+ {
+ throw new InvalidOperationException(
+ $"item-data.json schema version {dataset.SchemaVersion} != expected {expectedSchemaVersion}.");
+ }
+
+ return dataset;
+ }
+
+ ///
+ /// Builds a frozen id→item index from .
+ /// When the same id appears more than once the last entry wins.
+ ///
+ /// The full item list.
+ /// A frozen dictionary keyed by item id.
+ internal static FrozenDictionary IndexById(IReadOnlyList items) =>
+ items.GroupBy(i => i.Id).ToFrozenDictionary(g => g.Key, g => g.Last());
+
+ private static ItemDataset Load()
+ {
+ var assembly = typeof(EmbeddedItemDatabase).Assembly;
+ var resourceName = assembly.GetManifestResourceNames()
+ .Single(n => n.EndsWith("item-data.json", StringComparison.Ordinal));
+ using var stream = assembly.GetManifestResourceStream(resourceName)
+ ?? throw new InvalidOperationException("Embedded item-data.json not found.");
+ return Parse(stream, ExpectedSchemaVersion);
+ }
+}
diff --git a/src/RustPlusBot.Features.ItemData/IItemDatabase.cs b/src/RustPlusBot.Features.ItemData/IItemDatabase.cs
new file mode 100644
index 00000000..a1842b58
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/IItemDatabase.cs
@@ -0,0 +1,20 @@
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.Features.ItemData.Lookup;
+
+namespace RustPlusBot.Features.ItemData;
+
+/// The single source of truth for bundled Rust item data. Singleton.
+public interface IItemDatabase
+{
+ /// Per-section provenance dates, for "data as of" display.
+ DatasetSources Sources { get; }
+
+ /// Gets the record for an item id, or null if unknown.
+ /// The Rust item id.
+ ItemRecord? GetById(int id);
+
+ /// Resolves a user query (name or id) to an item.
+ /// The raw user input.
+ /// A match describing the outcome.
+ ItemMatch Resolve(string query);
+}
diff --git a/src/RustPlusBot.Features.ItemData/ItemDataServiceCollectionExtensions.cs b/src/RustPlusBot.Features.ItemData/ItemDataServiceCollectionExtensions.cs
new file mode 100644
index 00000000..f955aaae
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/ItemDataServiceCollectionExtensions.cs
@@ -0,0 +1,19 @@
+using Microsoft.Extensions.DependencyInjection;
+using RustPlusBot.Features.ItemData.Naming;
+
+namespace RustPlusBot.Features.ItemData;
+
+/// DI registration for the item database.
+public static class ItemDataServiceCollectionExtensions
+{
+ /// Registers the item database and name resolver as singletons.
+ /// The service collection to add to.
+ /// The same service collection, for chaining.
+ public static IServiceCollection AddItemData(this IServiceCollection services)
+ {
+ ArgumentNullException.ThrowIfNull(services);
+ services.AddSingleton();
+ services.AddSingleton();
+ return services;
+ }
+}
diff --git a/src/RustPlusBot.Features.ItemData/Lookup/ItemLookup.cs b/src/RustPlusBot.Features.ItemData/Lookup/ItemLookup.cs
new file mode 100644
index 00000000..86b85d89
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/Lookup/ItemLookup.cs
@@ -0,0 +1,63 @@
+using System.Globalization;
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.Features.ItemData.Lookup;
+
+/// Pure name-or-id resolution. Exact name beats substring; ambiguous results are ranked and capped.
+public static class ItemLookup
+{
+ /// Resolves a user query to an item.
+ /// The raw user input (name or id).
+ /// Looks up an item by id.
+ /// All known items, for name matching.
+ /// The maximum number of ambiguous candidates to return.
+ /// A describing the outcome.
+ public static ItemMatch Resolve(string query,
+ Func byId,
+ IReadOnlyList all,
+ int cap = 10)
+ {
+ ArgumentNullException.ThrowIfNull(byId);
+ ArgumentNullException.ThrowIfNull(all);
+
+ var trimmed = (query ?? string.Empty).Trim();
+ if (trimmed.Length == 0)
+ {
+ return new ItemMatch.NotFound();
+ }
+
+ if (int.TryParse(trimmed, NumberStyles.Integer, CultureInfo.InvariantCulture, out var id)
+ && byId(id) is { } byIdHit)
+ {
+ return new ItemMatch.Found(byIdHit);
+ }
+
+ var exactMatches = all
+ .Where(i => string.Equals(i.Name, trimmed, StringComparison.OrdinalIgnoreCase))
+ .OrderBy(i => i.Id)
+ .ToList();
+ if (exactMatches.Count == 1)
+ {
+ return new ItemMatch.Found(exactMatches[0]);
+ }
+
+ if (exactMatches.Count > 1)
+ {
+ return new ItemMatch.Ambiguous([.. exactMatches.Take(cap)]);
+ }
+
+ var matches = all
+ .Where(i => i.Name.Contains(trimmed, StringComparison.OrdinalIgnoreCase))
+ .OrderByDescending(i => i.Name.StartsWith(trimmed, StringComparison.OrdinalIgnoreCase))
+ .ThenBy(i => i.Name.Length)
+ .ThenBy(i => i.Name, StringComparer.OrdinalIgnoreCase)
+ .ToList();
+
+ return matches.Count switch
+ {
+ 0 => new ItemMatch.NotFound(),
+ 1 => new ItemMatch.Found(matches[0]),
+ _ => new ItemMatch.Ambiguous([.. matches.Take(cap)]),
+ };
+ }
+}
diff --git a/src/RustPlusBot.Features.ItemData/Lookup/ItemMatch.cs b/src/RustPlusBot.Features.ItemData/Lookup/ItemMatch.cs
new file mode 100644
index 00000000..ed926251
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/Lookup/ItemMatch.cs
@@ -0,0 +1,23 @@
+using System.Diagnostics.CodeAnalysis;
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.Features.ItemData.Lookup;
+
+/// The outcome of resolving a user query to an item.
+[SuppressMessage("Design", "CA1034:Nested types should not be visible",
+ Justification = "Discriminated-union pattern: nested sealed records are the intended public surface.")]
+public abstract record ItemMatch
+{
+ private ItemMatch() { }
+
+ /// Exactly one item resolved.
+ /// The resolved item.
+ public sealed record Found(ItemRecord Item) : ItemMatch;
+
+ /// Several items matched; present candidates for disambiguation.
+ /// The candidate items, capped and ranked.
+ public sealed record Ambiguous(IReadOnlyList Candidates) : ItemMatch;
+
+ /// No item matched.
+ public sealed record NotFound : ItemMatch;
+}
diff --git a/src/RustPlusBot.Features.StorageMonitors/Naming/IItemNameResolver.cs b/src/RustPlusBot.Features.ItemData/Naming/IItemNameResolver.cs
similarity index 88%
rename from src/RustPlusBot.Features.StorageMonitors/Naming/IItemNameResolver.cs
rename to src/RustPlusBot.Features.ItemData/Naming/IItemNameResolver.cs
index bbe9a013..6ed3d87b 100644
--- a/src/RustPlusBot.Features.StorageMonitors/Naming/IItemNameResolver.cs
+++ b/src/RustPlusBot.Features.ItemData/Naming/IItemNameResolver.cs
@@ -1,4 +1,4 @@
-namespace RustPlusBot.Features.StorageMonitors.Naming;
+namespace RustPlusBot.Features.ItemData.Naming;
/// Resolves a Rust item id to a human-readable display name.
public interface IItemNameResolver
diff --git a/src/RustPlusBot.Features.ItemData/Naming/ItemDatabaseNameResolver.cs b/src/RustPlusBot.Features.ItemData/Naming/ItemDatabaseNameResolver.cs
new file mode 100644
index 00000000..354a867c
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/Naming/ItemDatabaseNameResolver.cs
@@ -0,0 +1,12 @@
+using System.Globalization;
+
+namespace RustPlusBot.Features.ItemData.Naming;
+
+/// Resolves item names from the . Singleton.
+/// The item database.
+public sealed class ItemDatabaseNameResolver(IItemDatabase database) : IItemNameResolver
+{
+ ///
+ public string Resolve(int itemId) =>
+ database.GetById(itemId)?.Name ?? "Item " + itemId.ToString(CultureInfo.InvariantCulture);
+}
diff --git a/src/RustPlusBot.Features.ItemData/RustPlusBot.Features.ItemData.csproj b/src/RustPlusBot.Features.ItemData/RustPlusBot.Features.ItemData.csproj
new file mode 100644
index 00000000..fc2ab692
--- /dev/null
+++ b/src/RustPlusBot.Features.ItemData/RustPlusBot.Features.ItemData.csproj
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/RustPlusBot.Features.StorageMonitors/Naming/EmbeddedItemNameResolver.cs b/src/RustPlusBot.Features.StorageMonitors/Naming/EmbeddedItemNameResolver.cs
deleted file mode 100644
index cbfed0a7..00000000
--- a/src/RustPlusBot.Features.StorageMonitors/Naming/EmbeddedItemNameResolver.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Collections.Frozen;
-using System.Globalization;
-using System.Text.Json;
-
-namespace RustPlusBot.Features.StorageMonitors.Naming;
-
-/// Resolves item ids from the bundled items.json (Facepunch's published item names). Singleton.
-public sealed class EmbeddedItemNameResolver : IItemNameResolver
-{
- private static readonly FrozenDictionary Names = Load();
-
- ///
- public string Resolve(int itemId) =>
- Names.TryGetValue(itemId, out var name)
- ? name
- : "Item " + itemId.ToString(CultureInfo.InvariantCulture);
-
- private static FrozenDictionary Load()
- {
- var assembly = typeof(EmbeddedItemNameResolver).Assembly;
- var resourceName = assembly.GetManifestResourceNames()
- .Single(n => n.EndsWith("items.json", StringComparison.Ordinal));
- using var stream = assembly.GetManifestResourceStream(resourceName)
- ?? throw new InvalidOperationException("Embedded items.json not found.");
- var raw = JsonSerializer.Deserialize>(stream)
- ?? throw new InvalidOperationException("items.json deserialized to null.");
- // Group by the parsed id (last wins) before freezing: two distinct string keys can parse to the
- // same int (NumberStyles.Integer allows leading sign/whitespace), and ToFrozenDictionary throws on a
- // duplicate key — which, in a static initializer, would hard-fault the feature. Degrade, never crash.
- return raw
- .Select(kvp => (Parsed: int.TryParse(kvp.Key, NumberStyles.Integer, CultureInfo.InvariantCulture,
- out var id), Id: id, kvp.Value))
- .Where(x => x.Parsed)
- .GroupBy(x => x.Id, x => x.Value)
- .ToFrozenDictionary(g => g.Key, g => g.Last());
- }
-}
diff --git a/src/RustPlusBot.Features.StorageMonitors/Naming/items.json b/src/RustPlusBot.Features.StorageMonitors/Naming/items.json
deleted file mode 100644
index 531d7b06..00000000
--- a/src/RustPlusBot.Features.StorageMonitors/Naming/items.json
+++ /dev/null
@@ -1,1207 +0,0 @@
-{
-"-2139580305":"Auto Turret",
-"-2134097299":"Tripod Spot Light",
-"-2133781216":"Outbreak Scientist Suit",
-"-2124352573":"Acoustic Guitar",
-"-2123125470":"Advanced Healing Tea",
-"-2115299615":"Small Boat Engine",
-"-2110553371":"Bamboo Salvaged Shelves",
-"-2107018088":"Shovel Bass",
-"-2103694546":"Sunglasses",
-"-2100458529":"Raw Snake Meat",
-"-2099697608":"Stones",
-"-2097376851":"Nailgun Nails",
-"-2095813057":"Raw Big Cat Meat",
-"-2094954543":"Wood Armor Helmet",
-"-2086926071":"Potato",
-"-2084071424":"Potato Seed",
-"-2073432256":"Skinning Knife",
-"-2072273936":"Bandage",
-"-2069578888":"M249",
-"-2068194497":"Lunar New Year Horse Armor",
-"-2067472972":"Sheet Metal Door",
-"-2058362263":"Small Candle Set",
-"-2049214035":"Pressure Pad",
-"-2047081330":"Movember Moustache",
-"-2040817543":"Pan Flute",
-"-2035449523":"Spoiled Deer Meat",
-"-2027988285":"Locomotive",
-"-2027793839":"Advent Calendar",
-"-2026042603":"Baseball Bat",
-"-2025184684":"Shirt",
-"-2024549027":"Heavy Frankenstein Legs",
-"-2022172587":"Diving Tank",
-"-2018158920":"Chicken Coop",
-"-2016974826":"Wall Divider Pack",
-"-2012470695":"Improvised Balaclava",
-"-2002277461":"Road Sign Jacket",
-"-2001260025":"Instant Camera",
-"-1999722522":"Furnace",
-"-1998423571":"Explosives Storage Box",
-"-1997698639":"Sunglasses",
-"-1997543660":"Horse Saddle",
-"-1994909036":"Sheet Metal",
-"-1993883724":"High External Legacy Wall",
-"-1992717673":"Large Furnace",
-"-1989600732":"Hot Air Balloon Armor",
-"-1987565603":"Incendiary Bolt",
-"-1985799200":"Rug",
-"-1982036270":"High Quality Metal Ore",
-"-1978999529":"Salvaged Cleaver",
-"-1973785141":"Fogger-3000",
-"-1966748496":"Mace",
-"-1962971928":"Mushroom",
-"-1961560162":"Firecracker String",
-"-1958316066":"Scientist Suit",
-"-1950721390":"Concrete Barricade",
-"-1944704288":"Ice Throne",
-"-1941646328":"Can of Tuna",
-"-1938052175":"Charcoal",
-"-1937799374":"Naval Scientist Suit",
-"-1923843855":"Half Height Bamboo Shelves",
-"-1916473915":"Chinese Lantern",
-"-1913996738":"Fish Trophy",
-"-1904821376":"Orange Roughy",
-"-1903165497":"Bone Helmet",
-"-1901993050":"Ornate Frame Medium",
-"-1899491405":"Glue",
-"-1896395719":"Advanced Blueprint Fragment",
-"-1880870149":"Red Keycard",
-"-1880231361":"Flatbed Vehicle Module",
-"-1878764039":"Small Trout",
-"-1878475007":"Satchel Charge",
-"-1866909924":"Steering Wheel",
-"-1863559151":"Water Barrel",
-"-1863063690":"Rocking Chair",
-"-1861522751":"Research Table",
-"-1850571427":"Military Silencer",
-"-1850297170":"Small Spike Trap",
-"-1848736516":"Cooked Chicken",
-"-1843426638":"MLRS Rocket",
-"-1841918730":"High Velocity Rocket",
-"-1836526520":"Ornate Frame Small",
-"-1832422579":"One Sided Town Sign Post",
-"-1827561369":"Propane Explosive Bomb",
-"-1824943010":"Jack O Lantern Happy",
-"-1824770114":"Sky Lantern - Orange",
-"-1819763926":"Wind Turbine",
-"-1819233322":"Medium Wooden Sign",
-"-1815301988":"Water Pistol",
-"-1812555177":"LR-300 Assault Rifle",
-"-1811234677":"Beehive Nucleus",
-"-1804515496":"Gold Mirror Medium",
-"-1802083073":"High Quality Valves",
-"-1800345240":"Speargun Spear",
-"-1796837031":"Spoiled Crocodile Meat",
-"-1790885730":"Wheat Seed",
-"-1785248332":"Fish Pie",
-"-1785231475":"Surgeon Scrubs",
-"-1782127806":"Star Balloon",
-"-1780802565":"Salvaged Icepick",
-"-1779203452":"Portable Easel",
-"-1779183908":"Paper",
-"-1779180711":"Water",
-"-1778897469":"Button",
-"-1778159885":"Heavy Plate Pants",
-"-1776128552":"Green Berry Seed",
-"-1774190142":"Shutter Frame Standing",
-"-1773144852":"Hide Skirt",
-"-1772746857":"Heavy Scientist Suit",
-"-1770889433":"Sky Lantern - Green",
-"-1770281406":"Krieg chainsword",
-"-1768880890":"Small Shark",
-"-1767794021":"Gas Compression Overdrive",
-"-1758372725":"Thompson",
-"-1754948969":"Sleeping Bag",
-"-1736356576":"Reactive Target",
-"-1732475823":"Medium Frankenstein Head",
-"-1729415579":"Advanced Anti-Rad Tea",
-"-1709878924":"Raw Human Meat",
-"-1707425764":"Fishing Tackle",
-"-1698937385":"Herring",
-"-1696379844":"Hazmat Youtooz",
-"-1695367501":"Shorts",
-"-1693832478":"Large Flatbed Vehicle Module",
-"-1691396643":"HV Pistol Ammo",
-"-1685290200":"12 Gauge Buckshot",
-"-1679267738":"Graveyard Fence",
-"-1677315902":"Pure Healing Tea",
-"-1673693549":"Empty Propane Tank",
-"-1671551935":"Torpedo",
-"-1667224349":"Decorative Baubels",
-"-1663759755":"Homemade Landmine",
-"-1659598760":"Soda Can Silencer",
-"-1654401345":"Medieval Sheet Metal Door",
-"-1654233406":"Sardine",
-"-1652561344":"Bamboo Barrel",
-"-1651220691":"Pookie Bear",
-"-1647846966":"Two Sided Ornate Hanging Sign",
-"-1647389398":"Frankenstein Mask",
-"-1624770297":"Light Frankenstein Torso",
-"-1622660759":"Large Present",
-"-1622110948":"Bandit Guard Gear",
-"-1621539785":"Beach Parasol",
-"-1616704051":"Spoiled Snake Meat",
-"-1615281216":"Armored Passenger Vehicle Module",
-"-1614955425":"Strengthened Glass Window",
-"-1607980696":"Workbench Level 3",
-"-1593678393":"Ammo Storage Box",
-"-1588628467":"Computer Station",
-"-1583967946":"Stone Hatchet",
-"-1581843485":"Sulfur",
-"-1579932985":"Horse Dung",
-"-1569700847":"Headset",
-"-1559420426":"Double Diving Tank",
-"-1557377697":"Empty Tuna Can",
-"-1553999294":"Red Boomer",
-"-1549739227":"Boots",
-"-1541706279":"Wood Frame Medium",
-"-1539025626":"Miners Hat",
-"-1538109120":"Violet Volcano Firework",
-"-1536855921":"Shovel",
-"-1535621066":"Stone Fireplace",
-"-1530414568":"Cassette Recorder",
-"-1528767189":"Ornate Frame Standing",
-"-1520560807":"Raw Bear Meat",
-"-1519126340":"Drop Box",
-"-1518883088":"Night Vision Goggles",
-"-1517740219":"Speargun",
-"-1513203236":"Honeycomb",
-"-1511285251":"Pumpkin Seed",
-"-1510616686":"Chandelier",
-"-1509851560":"Cooked Deer Meat",
-"-1507239837":"HBHF Sensor",
-"-1506417026":"Ninja Suit",
-"-1506397857":"Salvaged Hammer",
-"-1501451746":"Cockpit Vehicle Module",
-"-1498613415":"Advanced Cooling Tea",
-"-1497205569":"Wood Mirror Small",
-"-1488408786":"Pumpkin Pie",
-"-1488398114":"Composter",
-"-1486461488":"Red Roman Candle",
-"-1478855279":"Ice Metal Chest Plate",
-"-1478445584":"Tuna Can Lamp",
-"-1478212975":"Wolf Headdress",
-"-1478094705":"Boogie Board",
-"-1476814093":"Pure Warming Tea",
-"-1476278729":"Wood Frame Small",
-"-1469578201":"Longsword",
-"-1467876094":"#50cal",
-"-1449152644":"MLRS",
-"-1448252298":"Electrical Branch",
-"-1444650226":"Gold Mirror Small",
-"-1442559428":"Hobo Barrel",
-"-1442496789":"Pinata",
-"-1442339204":"High External Legacy Gate",
-"-1440987069":"Raw Chicken Breast",
-"-1440443161":"Clump of Latex Balloons",
-"-1433390281":"Sky Lantern - Red",
-"-1432674913":"Anti-Radiation Pills",
-"-1430299277":"Ornate Frame XL",
-"-1429456799":"Prison Cell Wall",
-"-1423304443":"Medium Neon Sign",
-"-1421257350":"Storage Barrel Horizontal",
-"-1417478274":"Motorbike",
-"-1416322465":"Walkie Talkie",
-"-1408336705":"Sunglasses",
-"-1405508498":"Muzzle Boost",
-"-1386082991":"Purple ID Tag",
-"-1385721419":"Advanced Harvesting Tea",
-"-1380144986":"Scrap Mirror Standing",
-"-1379835144":"Festive Window Garland",
-"-1379036069":"Canbourine",
-"-1370759135":"Portrait Picture Frame",
-"-1368584029":"Sickle",
-"-1367281941":"Waterpipe Shotgun",
-"-1366326648":"Spray Can Decal",
-"-1364246987":"Snowmobile",
-"-1360171080":"Concrete Pickaxe",
-"-1344017968":"Wanted Poster",
-"-1336109173":"Wood Double Door",
-"-1335497659":"Ice Assault Rifle",
-"-1334569149":"Hockey Mask",
-"-1334255764":"Minicopter",
-"-1331212963":"Star Tree Topper",
-"-1330640246":"Junkyard Drum Kit",
-"-1323101799":"Double Horse Saddle",
-"-1322332389":"Ornate Frame XXL",
-"-1321651331":"Explosive 5.56 Rifle Ammo",
-"-1318837358":"Cooked Big Cat Meat",
-"-1316706473":"Camera",
-"-1315992997":"Dragon Rocket Launcher",
-"-1314079879":"Snake mask",
-"-1310391395":"Legacy Furnace",
-"-1306288356":"Green Roman Candle",
-"-1305326964":"Green Berry Clone",
-"-1302129395":"Pickaxe",
-"-1294739579":"Light-Up Frame Medium",
-"-1293296287":"Small Oil Refinery",
-"-1290278434":"Siege Tower",
-"-1286302544":"OR Switch",
-"-1284169891":"Water Pump",
-"-1274093662":"Bath Tub Planter",
-"-1273339005":"Bed",
-"-1266045928":"Bunny Onesie",
-"-1265020883":"Wanted Poster 3",
-"-1262185308":"Binoculars",
-"-1260229965":"Basic Cooling Tea",
-"-1258821205":"Spot Light",
-"-1252059217":"Hatchet",
-"-1247485104":"Command Block",
-"-1244287686":"Shutter Frame XL",
-"-1234735557":"Wooden Arrow",
-"-1230433643":"Festive Double Doorway Garland",
-"-1220928936":"Leather Beanbag Seat",
-"-1215753368":"Flame Thrower",
-"-1215166612":"A Barrel Costume",
-"-1214542497":"HMLMG",
-"-1211801774":"Shutter Frame XXL",
-"-1211268013":"Basic Horse Shoes",
-"-1211166256":"5.56 Rifle Ammo",
-"-1199897172":"Metal Vertical embrasure",
-"-1199897169":"Metal horizontal embrasure",
-"-1196547867":"Electric Furnace",
-"-1184406448":"Basic Max Health Tea",
-"-1183726687":"Wooden Window Bars",
-"-1175656359":"Cultist Deer Torch",
-"-1167031859":"Spoiled Wolf Meat",
-"-1166712463":"Fluid Splitter",
-"-1163943815":"Weapon Rack Light",
-"-1163532624":"Jacket",
-"-1162759543":"Cooked Horse Meat",
-"-1160621614":"Red Industrial Wall Light",
-"-1157596551":"Sulfur Ore",
-"-1151332840":"Wooden Frontier Bar Doors",
-"-1142222427":"Basic Warming Tea",
-"-1138208076":"Small Wooden Sign",
-"-1137865085":"Machete",
-"-1130709577":"Pump Jack",
-"-1130350864":"Raw Horse Meat",
-"-1127003365":"Piercer Bolt",
-"-1123473824":"Multiple Grenade Launcher",
-"-1117626326":"Chainlink Fence",
-"-1113501606":"Boom Box",
-"-1112793865":"Door Key",
-"-1108136649":"Tactical Gloves",
-"-1104881824":"Bear Skin Rug",
-"-1102429027":"Heavy Plate Jacket",
-"-1101924344":"Wetsuit",
-"-1100422738":"Spinning Wheel",
-"-1100168350":"Large Water Catcher",
-"-1094453063":"Shutter Frame large",
-"-1081599445":"Raw Crocodile Meat",
-"-1078639462":"Skull Spikes",
-"-1073015016":"Skull Spikes",
-"-1063073030":"Wooden Boat Door",
-"-1060567807":"Shutter Frame Medium",
-"-1056824343":"Diver propulsion vehicle",
-"-1050697733":"Scrap Mirror Small",
-"-1049881973":"Cowbell",
-"-1049172752":"Storage Adaptor",
-"-1044468317":"RF Broadcaster",
-"-1043618880":"Ghost Costume",
-"-1040518150":"Camper Vehicle Module",
-"-1039528932":"Small Water Bottle",
-"-1039234836":"Paintable Reactive Target",
-"-1037472336":"Rose Seed",
-"-1036635990":"12 Gauge Incendiary Shell",
-"-1035206446":"Clothing Mannequin",
-"-1023374709":"Wood Shutters",
-"-1023065463":"High Velocity Arrow",
-"-1022661119":"Baseball Cap",
-"-1021495308":"Metal Spring",
-"-1018587433":"Animal Fat",
-"-1014934560":"Paintball Overalls",
-"-1009359066":"SAM Site",
-"-1004426654":"Bunny Ears",
-"-1003665711":"Super Serum",
-"-1002156085":"Gold Egg",
-"-1000573653":"Frog Boots",
-"-996920608":"Blueprint",
-"-996235148":"Ornate Frame large",
-"-996185386":"XL Picture Frame",
-"-992286106":"White Berry Seed",
-"-989755543":"Burnt Bear Meat",
-"-986782031":"Rabbit Mask",
-"-985781766":"High Ice Wall",
-"-979951147":"Jerry Can Guitar",
-"-979302481":"Easter Door Wreath",
-"-967648160":"High External Stone Wall",
-"-965336208":"Chocolate Bar",
-"-963820355":"Survivor's Pie",
-"-963819285":"Incapacitate Dart",
-"-961457160":"New Year Gong",
-"-956706906":"Prison Cell Gate",
-"-952411326":"Plank",
-"-948291630":"Seismic Sensor",
-"-946599131":"Artist Canvas Medium",
-"-946599114":"Artist Canvas Standing",
-"-946599113":"Artist Canvas Large",
-"-946369541":"Low Grade Fuel",
-"-945708533":"Knights armour skirt plates",
-"-939424778":"Flasher Light",
-"-936921910":"Flashbang",
-"-935322684":"4 Module Car",
-"-932201673":"Scrap",
-"-930193596":"Fertilizer",
-"-929092070":"Basic Healing Tea",
-"-924959988":"Skull Trophy",
-"-919882824":"Abyss Vertical Storage Tank",
-"-912398867":"Cassette - Medium",
-"-907422733":"Large Backpack",
-"-904863145":"Semi-Automatic Rifle",
-"-903796529":"Asbestos Armor Insert",
-"-902423513":"Krieg Hazmat",
-"-901370585":"Twitch Rivals Trophy 2023",
-"-892718768":"Prisoner Hood",
-"-888153050":"Halloween Candy",
-"-886280491":"Hemp Clone",
-"-885833256":"Vampire Stake",
-"-880494890":"Abyss Horizontal Storage Tank",
-"-880412831":"Blunderbuss",
-"-874908751":"Waterwell NPC Jumpsuit",
-"-874650016":"Krieg Large Backpack",
-"-870140677":"Snake Venom",
-"-869598982":"Small Hunting Trophy",
-"-866121090":"2 Module Car",
-"-858312878":"Cloth",
-"-855748505":"Simple Handmade Sight",
-"-854270928":"Dragon Door Knocker",
-"-852563019":"M92 Pistol",
-"-851988960":"Salmon",
-"-851288382":"Blow Pipe",
-"-850982208":"Key Lock",
-"-849373693":"Frontier Horseshoe Single Item Rack",
-"-845557339":"Landscape Picture Frame",
-"-842267147":"Snowman Helmet",
-"-839576748":"Handcuffs",
-"-831725027":"3 Module Car",
-"-819720157":"Metal Window Bars",
-"-816769770":"Artist Canvas XXL",
-"-810326667":"Work Cart",
-"-804769727":"Plant Fiber",
-"-803263829":"Coffee Can Helmet",
-"-800824218":"Meds Storage Box",
-"-798662404":"Orchid Clone",
-"-798293154":"Laser Detector",
-"-797592358":"Abyss Pack",
-"-796583652":"Shop Front",
-"-784870360":"Electric Heater",
-"-781866273":"Oil Filter Silencer",
-"-781014061":"Sprinkler",
-"-778875547":"Corn Clone",
-"-778367295":"L96 Rifle",
-"-770304148":"Chinese Lantern White",
-"-769647921":"Skull Trophy",
-"-765183617":"Double Barrel Shotgun",
-"-763071910":"Lumberjack Hoodie",
-"-761829530":"Burlap Shoes",
-"-759279626":"Mounted Ballista",
-"-751151717":"Spoiled Chicken",
-"-747743875":"Egg Suit",
-"-746647361":"Memory Cell",
-"-746030907":"Granola Bar",
-"-742865266":"Rocket",
-"-739993590":"Twitch Rivals Flag",
-"-733625651":"Paddling Pool",
-"-727717969":"12 Gauge Slug",
-"-724146494":"Spoiled Horse Meat",
-"-722629980":"Heavy Scientist Youtooz",
-"-722241321":"Small Present",
-"-707792719":"Paintball Gun",
-"-702051347":"Bandana Mask",
-"-700591459":"Can of Beans",
-"-699558439":"Road Sign Gloves",
-"-697981032":"Inner Tube",
-"-695978112":"Smart Alarm",
-"-695124222":"Giant Candy Decor",
-"-692338819":"Small Rechargeable Battery",
-"-691113464":"High External Stone Gate",
-"-690968985":"Blocker",
-"-690276911":"Glowing Eyes",
-"-682687162":"Burnt Human Meat",
-"-656349006":"Green Boomer",
-"-652889722":"Advanced Crafting Quality Tea",
-"-649128577":"Basic Wood Tea",
-"-648077743":"Mr Spice Can",
-"-635951327":"Wood Frame Large",
-"-629028935":"Electric Fuse",
-"-626174997":"Taxi Vehicle Module",
-"-611118083":"Sunflower",
-"-606898372":"#clothingmannequin",
-"-602717596":"Red Dog Tags",
-"-601133933":"Armoured Triangle Laddder Hatch",
-"-596876839":"Spray Can",
-"-594596146":"Radiation Dart",
-"-593892112":"Wooden Armor Insert",
-"-592016202":"Explosives",
-"-587989372":"Catfish",
-"-586784898":"Mail Box",
-"-586342290":"Blueberries",
-"-583379016":"Megaphone",
-"-582782051":"Snap Trap",
-"-582467439":"Coconut Armor Helmet",
-"-576866254":"Fabric Beanbag Seat",
-"-575744869":"Party Hat",
-"-575483084":"Santa Hat",
-"-568419968":"Grub",
-"-567909622":"Pumpkin",
-"-566907190":"RF Pager",
-"-563624462":"Splitter",
-"-561148628":"Tugboat",
-"-560304835":"Space Suit",
-"-559599960":"Sandbag Barricade",
-"-558880549":"Gingerbread Suit",
-"-557539629":"Pure Wood Tea",
-"-555122905":"Sofa",
-"-551431036":"Wallpaper Flooring",
-"-544317637":"Research Paper",
-"-544295594":"Guns Storage Box",
-"-542577259":"Minnows",
-"-541206665":"Advanced Wood Tea",
-"-526026171":"Wicker Barrel",
-"-520133715":"Yellow Berry Seed",
-"-515830359":"Blue Roman Candle",
-"-507248640":"Wellipets Hat",
-"-502177121":"Door Controller",
-"-498301781":"Shutter Frame Small",
-"-496584751":"Rad. Removal Tea",
-"-493159321":"Medium Quality Spark Plugs",
-"-489848205":"Large Candle Set",
-"-487356515":"Basic Anti-Rad Tea",
-"-484206264":"Blue Keycard",
-"-484006286":"Firebomb",
-"-482348853":"Mini Crossbow",
-"-479314201":"Battering Ram Head",
-"-478923685":"Armored Triangle Ladder Hatch",
-"-470439097":"Arctic Suit",
-"-465682601":"SUPER Stocking",
-"-463122489":"Watch Tower",
-"-463012608":"Salvaged Ejector Seat",
-"-459159118":"Wood Armor Gloves",
-"-458565393":"Root Combiner",
-"-455286320":"Gray ID Tag",
-"-454370658":"Red Volcano Firework",
-"-451310088":"Documents",
-"-450890885":"Wall Divider Pack",
-"-430416124":"Single Plant Pot",
-"-427072335":"Knights armour helmet",
-"-424687710":"Medieval Barricade",
-"-420889602":"Krieg Shotgun",
-"-418359052":"Horse Mask",
-"-413663149":"Comps Storage Box",
-"-411735114":"Cannonball",
-"-401905610":"High External Adobe Gate",
-"-399173933":"Prototype Hatchet",
-"-395377963":"Raw Wolf Meat",
-"-389796733":"Light-Up Mirror Small",
-"-384243979":"SAM Ammo",
-"-380502678":"Medieval Sheet Metal Double Door",
-"-379734527":"Pattern Boomer",
-"-379403794":"Water Wheel",
-"-374457631":"Sedan",
-"-369760990":"Small Stash",
-"-365097295":"Powered Water Purifier",
-"-363689972":"Snowball",
-"-357442017":"Pitchfork Bolt",
-"-348232115":"SKS",
-"-343857907":"Sound Light",
-"-335089230":"High External Wooden Gate",
-"-334418777":"Advanced Warming Tea",
-"-333406828":"Sled",
-"-324675402":"Reindeer Antlers",
-"-321733511":"Crude Oil",
-"-321431890":"Beach Chair",
-"-321247698":"Boat Building Plan",
-"-316250604":"Wooden Ladder",
-"-297099594":"Heavy Frankenstein Head",
-"-295829489":"Test Generator",
-"-282193997":"Orange ID Tag",
-"-282113991":"Simple Light",
-"-280812482":"Triangle Planter Box",
-"-280223496":"Violet Boomer",
-"-277057363":"Salt Water",
-"-274709858":"Wood Dart",
-"-265876753":"Gun Powder",
-"-265292885":"Fluid Combiner",
-"-262590403":"Salvaged Axe",
-"-258574361":"Dracula Cape",
-"-258457936":"Unused Storage Barrel Vertical",
-"-253079493":"Scientist Suit",
-"-246672609":"Horizontal Weapon Rack",
-"-243540612":"Twitch Rivals Desk",
-"-242084766":"Cooked Pork",
-"-237809779":"Hemp Seed",
-"-226151558":"2 Module Car Chassis",
-"-218009552":"Homing Missile Launcher",
-"-216999575":"Counter",
-"-216116642":"Skull Door Knocker",
-"-211235948":"Xylobone",
-"-209869746":"Decorative Plastic Candy Canes",
-"-196667575":"Flashlight",
-"-194953424":"Metal Facemask",
-"-194509282":"Butcher Knife",
-"-193519904":"Single Shallow Wall Shelves",
-"-187304968":"Battering Ram",
-"-187031121":"Solo Submarine",
-"-180129657":"Wood Storage Box",
-"-176608084":"Sunglasses",
-"-173268138":"Rustigé Egg - Amethyst",
-"-173268132":"Rustigé Egg - Blue",
-"-173268131":"Rustigé Egg - Purple",
-"-173268129":"Rustigé Egg - Red",
-"-173268128":"Rustigé Egg - White",
-"-173268127":"Rustigé Egg - Cerulean",
-"-173268126":"Rustigé Egg - Ivory",
-"-173268125":"Rustigé Egg - Green",
-"-170436364":"Cooked Snake Meat",
-"-158718378":"Small Ramp",
-"-156748077":"Skull Trophy",
-"-152332823":"Chicken Costume",
-"-151838493":"Wood",
-"-151387974":"Deluxe Christmas Lights",
-"-148794216":"Garage Door",
-"-148229307":"Metal Shop Front",
-"-144513264":"Pipe Tool",
-"-144417939":"Wire Tool",
-"-143481979":"Basic Blueprint Fragment",
-"-143132326":"Huge Wooden Sign",
-"-139037392":"Abyss Assault Rifle",
-"-135252633":"Sled",
-"-134959124":"Light Frankenstein Head",
-"-132516482":"Weapon Lasersight",
-"-132247350":"Small Water Catcher",
-"-129230242":"Decorative Pinecones",
-"-126305173":"Painted Egg",
-"-119235651":"Water Jug",
-"-113413047":"Diving Mask",
-"-110921842":"Locker",
-"-105415879":"Frontier Suit",
-"-105343718":"Circle Balloon",
-"-99886070":"Violet Roman Candle",
-"-97956382":"Tool Cupboard",
-"-97459906":"Jumpsuit",
-"-96256997":"Wide Weapon Rack",
-"-92759291":"Wooden Floor Spikes",
-"-92315244":"High Caliber Revolver",
-"-89874794":"Low Quality Spark Plugs",
-"-82758111":"Scrap Mirror Large",
-"-78533081":"Burnt Deer Meat",
-"-75944661":"Eoka Pistol",
-"-73195037":"Legacy Bow",
-"-52398594":"Frontier Horns Single Item Rack",
-"-48090175":"Snow Jacket",
-"-44876289":"Igniter",
-"-44066823":"Medium Chassis",
-"-44066790":"Large Chassis",
-"-44066600":"Small Chassis",
-"-41896755":"Workbench Level 2",
-"-41440462":"Spas-12 Shotgun",
-"-34498533":"Cannon",
-"-33009419":"Pure Anti-Rad Tea",
-"-25740268":"Skull Spikes",
-"-24571537":"Coconut",
-"-23994173":"Boonie Hat",
-"-22883916":"Dragon Mask",
-"-20045316":"Mobile Phone",
-"-19360132":"Rose Clone",
-"-19318653":"Hammerhead Bolt",
-"-17123659":"Smoke Rocket WIP!!!!",
-"-10594280":"Sulfur Storage Box",
-"-8312704":"Beach Towel",
-"-7270019":"Orange Boomer",
-"-4031221":"Metal Ore",
-"3222790":"Hide Halterneck",
-"3380160":"Card Movember Moustache",
-"4384538":"Apple Pie",
-"14241751":"Fire Arrow",
-"15388698":"Stone Barricade",
-"20489901":"Purple Sunglasses",
-"21402876":"Burlap Gloves",
-"22947882":"White ID Tag",
-"23352662":"Large Banner Hanging",
-"23391694":"Bunny Hat",
-"28201841":"M39 Rifle",
-"37122747":"Green Keycard",
-"39600618":"Microphone Stand",
-"42535890":"Medium Animated Neon Sign",
-"51984655":"Incendiary Pistol Bullet",
-"54265286":"Crocodile Pie",
-"54436981":"Fairy Lights",
-"60528587":"Roadsign Horse Armor",
-"62577426":"Photograph",
-"69511070":"Metal Fragments",
-"70102328":"Red ID Tag",
-"73681876":"Tech Trash",
-"81423963":"Yellow ID Tag",
-"82772055":"Horse",
-"86840834":"NVGM Scientist Suit",
-"94971664":"Stone Storage Box",
-"95950017":"Metal Pipe",
-"97903330":"Pure Crafting Quality Tea",
-"98508942":"XXL Picture Frame",
-"99588025":"High External Wooden Wall",
-"104856514":"Bulb String Lights",
-"106959911":"Light Frankenstein Legs",
-"110116923":"Ice Metal Facemask",
-"120820987":"Chicken Pie",
-"121049755":"Tall Picture Frame",
-"122783240":"Black Berry Clone",
-"140006625":"PTZ CCTV Camera",
-"143803535":"F1 Grenade",
-"146221721":"Heavy Scientist Plushie",
-"158303804":"Obsidian Bone Knife",
-"162882477":"#50cal",
-"170758448":"Cockpit With Engine Vehicle Module",
-"171931394":"Stone Pickaxe",
-"174866732":"Variable Zoom Scope",
-"176787552":"Rifle Body",
-"177226991":"Scarecrow",
-"180752235":"Pink ID Tag",
-"184516676":"Beehive",
-"185586769":"Inner Tube",
-"190184021":"Kayak",
-"192249897":"Green",
-"196700171":"Hide Vest",
-"196784377":"Improvised Shield",
-"198438816":"Vending Machine",
-"200773292":"Hammer",
-"204391461":"Coal :(",
-"204970153":"Wrapped Gift",
-"209218760":"Head Bag",
-"210787554":"Engineering Workbench",
-"215754713":"Bone Arrow",
-"223891266":"T-Shirt",
-"236677901":"Prototype Pickaxe",
-"237239288":"Pants",
-"240752557":"Tall Weapon Rack",
-"242421166":"Light-Up Frame Large",
-"242933621":"Frontier Mirror Large",
-"248643189":"Spoiled Big Cat Meat",
-"254522515":"Large Medkit",
-"255305250":"Wooden Boat Ladder",
-"261913429":"White Volcano Firework",
-"263834859":"Basic Scrap Tea",
-"268565518":"Storage Vehicle Module",
-"271048478":"Rat Mask",
-"273172220":"Plumber's Trumpet",
-"273951840":"Scarecrow Suit",
-"277730763":"Mummy Suit",
-"281099360":"Bread Loaf",
-"282103175":"Giant Lollipop Decor",
-"286193827":"Pickles",
-"286648290":"Disco Floor",
-"296519935":"Diving Fins",
-"301063058":"Wanted Poster 2",
-"304481038":"Flare",
-"309017792":"Big Cat Pie",
-"317398316":"High Quality Metal",
-"320438357":"Hunters Pie",
-"340210699":"Frontier Mirror Small",
-"342438846":"Anchovy",
-"343045591":"MLRS Aiming Module",
-"349762871":"40mm HE Grenade",
-"352130972":"Rotten Apple",
-"352321488":"Sunglasses",
-"352499047":"Shotgun Trap",
-"355877490":"Minigun Ammo Pack",
-"359723196":"Chippy Arcade Game",
-"362863314":"Heart Balloon",
-"363163265":"Hose Tool",
-"368008432":"Basic Crafting Quality Tea",
-"375473148":"Scrap Transport Helicopter",
-"377750553":"Pure Harvesting Tea",
-"381595627":"Twitch Rivals Neon Sign",
-"385099196":"4 Module Car Chassis",
-"385645417":"Paintball",
-"390728933":"Yellow Berry Clone",
-"392828520":"Cooked Crocodile Meat",
-"405904531":"Soccer Ball",
-"405905095":"Sail",
-"418081930":"Wood Chestplate",
-"442289265":"Holosight",
-"442886268":"Rocket Launcher",
-"443432036":"Fluid Switch & Pump",
-"445662288":"Scientist Plushie",
-"446206234":"Torch Holder",
-"450531685":"Light-Up Mirror Large",
-"468313189":"Twitch Rivals Hazmat Suit",
-"472505338":"Medieval AR",
-"476066818":"Cassette - Long",
-"479143914":"Gears",
-"479292118":"Large Loot Bag",
-"486661382":"Clan Table",
-"491263800":"Nomad Suit",
-"492357192":"RAND Switch",
-"494161326":"RPG Launcher",
-"504109620":"Ice Sculpture",
-"507284030":"Coconut Armor Pants",
-"524678627":"Advanced Scrap Tea",
-"528668503":"Flame Turret",
-"533993281":"Space LR-300 Assault Rifle",
-"537946062":"Flight Recorder Box",
-"547862680":"Knights armour cuirass",
-"550753330":"Snowball Gun Ammo",
-"553270375":"Large Rechargeable Battery",
-"553887414":"Skull Fire Pit",
-"553967074":"Wallpaper Wall",
-"559147458":"Survival Fish Trap",
-"567235583":"8x Zoom Scope",
-"567871954":"Secretlab Chair",
-"571949408":"Clump of Mixed Balloons",
-"573676040":"Coffin",
-"573926264":"Semi Automatic Body",
-"574701440":"Scrap Storage Box",
-"576509618":"Portable Boom Box",
-"588596902":"Handmade Shell",
-"593465182":"Table",
-"594041190":"Compass",
-"596469572":"RF Transmitter",
-"602628465":"Parachute",
-"602741290":"Burlap Shirt",
-"603811464":"Advanced Max Health Tea",
-"605467368":"Incendiary 5.56 Rifle Ammo",
-"607400343":"Legacy Wood Shelter",
-"607785075":"Armored Ladder Hatch",
-"609049394":"Battery - Small",
-"610102428":"Industrial Conveyor",
-"613961768":"Bota Bag",
-"615112838":"Rail Road Planter",
-"621915341":"Raw Pork",
-"625599716":"Metal Shield",
-"634478325":"CCTV Camera",
-"640470230":"Ceiling Fluorescent Light",
-"642482233":"Sticks",
-"647240052":"Triangle Rail Road Planter",
-"649912614":"Revolver",
-"652793345":"Krieg Storage Crates",
-"656371026":"High Quality Carburetor",
-"656371027":"Medium Quality Carburetor",
-"656371028":"Low Quality Carburetor",
-"656829501":"Wall Cabinet",
-"657352755":"Beach Table",
-"665332906":"Timer",
-"671063303":"Riot Helmet",
-"671706427":"Reinforced Glass Window",
-"674734128":"Festive Doorway Garland",
-"678698219":"M4 Shotgun",
-"679690962":"Tools Storage Box",
-"680234026":"Yellow Perch",
-"695450239":"Lunar New Year Spear",
-"696029452":"Paper Map",
-"696029539":"Hot Air Balloon",
-"699075597":"Wooden Cross",
-"703057617":"Military Flame Thrower",
-"709206314":"Tiger Mask",
-"721798950":"Car Radio",
-"722955039":"Water Gun",
-"723407026":"Wood Mirror Standing",
-"734320711":"Orchid",
-"738611016":"Paintable Window",
-"742745918":"Industrial Splitter",
-"755224797":"Vodka Bottle",
-"756125481":"Wood Mirror Medium",
-"756517185":"Medium Present",
-"756890702":"High External Adobe Wall",
-"762289806":"Siren Light",
-"782422285":"Sofa - Pattern",
-"785728077":"Pistol Bullet",
-"789333045":"Sunken Combat Knife",
-"794356786":"Hide Boots",
-"794443127":"Christmas Tree",
-"795236088":"Torch",
-"795371088":"Pump Shotgun",
-"803222026":"Repair Bench",
-"803954639":"Blue Berry Seed",
-"809199956":"Gravestone",
-"809689733":"Mummy Mask",
-"809942731":"Scarecrow Wrap",
-"813023040":"Cooked Wolf Meat",
-"814297925":"Medieval Large Wood Box",
-"818733919":"Industrial Door",
-"818877484":"Semi-Automatic Pistol",
-"821588319":"Bicycle",
-"826309791":"Two Sided Town Sign Post",
-"829641693":"Anchor",
-"830839496":"Red Berry Seed",
-"831955134":"Sky Lantern - Purple",
-"832133926":"Wood Armor Pants",
-"833533164":"Large Wood Box",
-"835042040":"Medium Frankenstein Legs",
-"838308300":"Burst Module",
-"838831151":"Blue Berry Clone",
-"839738457":"Scrap Mirror Medium",
-"844440409":"Bronze Egg",
-"850280505":"Bucket Helmet",
-"853471967":"Laser Light",
-"854447607":"White Berry",
-"858486327":"Green Berry",
-"861513346":"Lumberjack Suit",
-"866332017":"Large Neon Sign",
-"866889860":"Wooden Barricade",
-"878301596":"Generic vehicle module",
-"882559853":"Spider Webs",
-"884424049":"Compound Bow",
-"888415708":"RF Receiver",
-"895374329":"Passenger Vehicle Module",
-"912235912":"Sunflower Clone",
-"915408809":"40mm Smoke Grenade",
-"920930831":"Blue Industrial Wall Light",
-"924598634":"Wheat Clone",
-"926800282":"Medium Quality Valves",
-"935606207":"Minigun",
-"935692442":"Longsleeve T-Shirt",
-"936496778":"Floor grill",
-"952603248":"Weapon flashlight",
-"960673498":"Large Hunting Trophy",
-"962186730":"Tin Can Alarm",
-"963400638":"Speech Bubble Balloon",
-"963906841":"Rock",
-"968019378":"Clatter Helmet",
-"968421290":"Connected Speaker",
-"969768382":"Reinforced Wooden Shield",
-"971362526":"Skull Trophy",
-"972302244":"Kick Hazmat",
-"975983052":"Twitch Rivals Trophy",
-"980333378":"Hide Poncho",
-"988652725":"Smart Switch",
-"989925924":"Raw Fish",
-"992944937":"Ore Storage Box",
-"996293980":"Human Skull",
-"996757362":"Wagon",
-"998894949":"Corn Seed",
-"999690781":"Geiger Counter",
-"1004843240":"Orchid Seed",
-"1015352446":"Duo Submarine",
-"1023919015":"Food Storage Box",
-"1028889957":"Light-Up Mirror Medium",
-"1036321299":"Blue Dog Tags",
-"1044081720":"Wood Storage Box",
-"1046904719":"Abyss Metal Hatchet",
-"1052926200":"Mining Quarry",
-"1055319033":"40mm Shotgun Round",
-"1058261682":"Christmas Lights",
-"1065594600":"Pilot Hazmat",
-"1072924620":"High Quality Spark Plugs",
-"1079279582":"Medical Syringe",
-"1081315464":"Nest Hat",
-"1081921512":"Card Table",
-"1090916276":"Pitchfork",
-"1094293920":"Wrapping Paper",
-"1099314009":"Barbeque",
-"1099611828":"Metal Armor Insert",
-"1103488722":"Snowball Gun",
-"1104520648":"Chainsaw",
-"1107575710":"Arctic Scientist Suit",
-"1110385766":"Metal Chest Plate",
-"1112162468":"Blue Berry",
-"1113514903":"Attack Helicopter",
-"1115193056":"Wall Divider Pack",
-"1121416193":"Pure Cooling Tea",
-"1121925526":"Candy Cane",
-"1127417055":"Armoured Ladder Hatch",
-"1130729138":"Spoiled Fish Meat",
-"1132603396":"Weapon Rack Stand",
-"1142993169":"Ceiling Light",
-"1145722690":"Catapult",
-"1149964039":"Storage Monitor",
-"1153652756":"Large Wooden Sign",
-"1158340331":"Medium Quality Crankshaft",
-"1158340332":"High Quality Crankshaft",
-"1158340334":"Low Quality Crankshaft",
-"1159991980":"Code Lock",
-"1160881421":"Hitch & Trough",
-"1168856825":"Metal Detector",
-"1168916338":"Bee Grenade",
-"1171735914":"AND Switch",
-"1174484438":"Mini Fridge",
-"1174957864":"Shockbyte Tool Cupboard",
-"1176355476":"Concrete Hatchet",
-"1177596584":"Elevator",
-"1178325727":"Wheat",
-"1181207482":"Heavy Plate Helmet",
-"1184215560":"Spoiled Produce",
-"1186655046":"Fuel Tank Vehicle Module",
-"1189981699":"Crate Costume",
-"1199391518":"Road Signs",
-"1205084994":"Large Photo Frame",
-"1205607945":"Two Sided Hanging Sign",
-"1221063409":"Armored Double Door",
-"1223729384":"Lavender ID Tag",
-"1223900335":"Dog Tag",
-"1230323789":"SMG Body",
-"1230691307":"Captain's Log",
-"1234878710":"Telephone",
-"1234880403":"Sewing Kit",
-"1242482355":"Jack O Lantern Angry",
-"1242522330":"Cursed Cauldron",
-"1248356124":"Timed Explosive Charge",
-"1248383659":"#50cal",
-"1254295946":"Armor Storage Box",
-"1258768145":"Sunglasses",
-"1259919256":"Mixing Table",
-"1263920163":"Smoke Grenade",
-"1266491000":"Hazmat Suit",
-"1268178466":"Green Industrial Wall Light",
-"1272194103":"Red Berry",
-"1272430949":"Wheelbarrow Piano",
-"1272768630":"Spoiled Human Meat",
-"1277159544":"Weapon Rack Double Light",
-"1285226495":"Bunny Costume",
-"1293102274":"XOR Switch",
-"1295301598":"Latex Balloon",
-"1296788329":"Homing Missile",
-"1305578813":"Small Neon Sign",
-"1305765685":"Krieg Storage Barrel",
-"1307626005":"Storage Barrel Vertical",
-"1312679249":"Wood Mirror Large",
-"1312843609":"Skull",
-"1315082560":"Ox Mask",
-"1318558775":"MP5A4",
-"1319617282":"Small Loot Bag",
-"1324203999":"Champagne Boomer",
-"1326180354":"Salvaged Sword",
-"1327005675":"Short Ice Wall",
-"1330084809":"Low Quality Valves",
-"1346158228":"Pumpkin Basket",
-"1348294923":"Spoiled Bear Meat",
-"1350707894":"Jungle Rock",
-"1353298668":"Armored Door",
-"1358643074":"Snow Machine",
-"1361520181":"Minecart Planter",
-"1364514421":"Blue ID Tag",
-"1365234594":"Gold Mirror large",
-"1366282552":"Leather Gloves",
-"1367190888":"Corn",
-"1371909803":"Tesla Coil",
-"1373240771":"Wooden Barricade Cover",
-"1373971859":"Python Revolver",
-"1376065505":"Rear Seats Vehicle Module",
-"1381010055":"Leather",
-"1382263453":"Barbed Wooden Barricade",
-"1390353317":"Sheet Metal Double Door",
-"1391703481":"Burnt Pork",
-"1394042569":"RHIB",
-"1397052267":"Supply Signal",
-"1400460850":"Saddle bag",
-"1401987718":"Duct Tape",
-"1409529282":"Door Closer",
-"1412103380":"Sunflower Seed",
-"1413014235":"Fridge",
-"1414245162":"Note",
-"1414245519":"Rose",
-"1414245522":"Rope",
-"1420547167":"Horse Costume",
-"1422530437":"Raw Deer Meat",
-"1424075905":"Water Bucket",
-"1426097945":"Coconut Armor Chestplate",
-"1426574435":"Minicopter",
-"1428574144":"Hopper",
-"1430085198":"Industrial Crafter",
-"1443579727":"Hunting Bow",
-"1447138977":"Light-Up Frame XXL",
-"1451568081":"Chainlink Fence Gate",
-"1456143403":"Cooking Workbench",
-"1463862472":"Wanted Poster 4",
-"1465782238":"Metal Storage Box",
-"1467878256":"Pork Pie",
-"1478091698":"Muzzle Brake",
-"1480022580":"Basic Ore Tea",
-"1482871705":"3 Module Car Chassis",
-"1488606552":"Retro Tool Cupboard",
-"1488979457":"Jackhammer",
-"1491189398":"Paddle",
-"1491753484":"Medium Frankenstein Torso",
-"1494014226":"Discord Trophy",
-"1512054436":"Potato Clone",
-"1516531815":"Basic Harvesting Tea",
-"1516985844":"Netting",
-"1521286012":"Double Sign Post",
-"1523195708":"Targeting Computer",
-"1523403414":"Cassette - Short",
-"1524187186":"Workbench Level 1",
-"1524980732":"Carvable Pumpkin",
-"1525520776":"Building Plan",
-"1533551194":"White Berry Clone",
-"1534542921":"Chair",
-"1536610005":"Cooked Human Meat",
-"1538126328":"Industrial Combiner",
-"1540934679":"Wooden Spear",
-"1542290441":"Single Sign Post",
-"1545779598":"Assault Rifle",
-"1548091822":"Apple",
-"1553078977":"Bleach",
-"1556365900":"Molotov Cocktail",
-"1557173737":"Sunglasses",
-"1559779253":"Engine Vehicle Module",
-"1559915778":"Single Horse Saddle",
-"1561022037":"Abyss Metal Pickaxe",
-"1562867678":"Artist Canvas XL",
-"1568388703":"Diesel Fuel",
-"1569882109":"Handmade Fishing Rod",
-"1572152877":"Mint ID Tag",
-"1575635062":"Frankenstein Table",
-"1578317134":"Hazmat Plushy",
-"1581210395":"Large Planter Box",
-"1586884551":"Flight Control Codelock",
-"1588298435":"Bolt Action Rifle",
-"1588492232":"Drone",
-"1601468620":"Blue Jumpsuit",
-"1601800933":"Jar of Honey",
-"1602646136":"Stone Spear",
-"1603174987":"Confetti Cannon",
-"1604092540":"Twitch Rivals 2025 Sofa",
-"1604837581":"Wooden Shield",
-"1608640313":"Tank Top",
-"1609921845":"Artist Canvas Small",
-"1614528785":"Heavy Frankenstein Torso",
-"1619039771":"Digital Clock",
-"1621942085":"Outbreak Sprayer",
-"1623701499":"Industrial Wall Light",
-"1629293099":"Snowman",
-"1629564540":"Wallpaper Tool",
-"1633553557":"Birthday Candle Hat",
-"1638322904":"Incendiary Rocket",
-"1643667218":"Large Animated Neon Sign",
-"1655650836":"Metal Barricade",
-"1655979682":"Empty Can Of Beans",
-"1658229558":"Lantern",
-"1659114910":"Gas Mask",
-"1659447559":"Wooden Horse Armor",
-"1660145984":"Yellow Berry",
-"1668129151":"Cooked Fish",
-"1668858301":"Small Stocking",
-"1673224590":"M15 Semi-Automatic Pistol",
-"1675639563":"Beenie Hat",
-"1680793490":"Boomerang",
-"1686524871":"Decorative Gingerbread Men",
-"1691223771":"Light-Up Frame Small",
-"1696050067":"Modular Car Lift",
-"1697996440":"Landscape Photo Frame",
-"1711033574":"Bone Club",
-"1712070256":"HV 5.56 Rifle Ammo",
-"1712261904":"Pure Max Health Tea",
-"1714496074":"Candle Hat",
-"1714509152":"Ballista",
-"1717250161":"Electric Table Lamp",
-"1719587208":"Targeting Attachment",
-"1719978075":"Bone Fragments",
-"1722154847":"Hide Pants",
-"1723747470":"Tree Lights",
-"1729120840":"Wooden Door",
-"1729374708":"Pure Ore Tea",
-"1729712564":"Portrait Photo Frame",
-"1730664641":"Wallpaper Ceiling",
-"1732236518":"Caboose",
-"1735402444":"Disco Floor",
-"1736620421":"Clothing Storage Box",
-"1744298439":"Blue Boomer",
-"1746956556":"Bone Armor",
-"1751045826":"Hoodie",
-"1757265204":"Silver Egg",
-"1758333838":"Teal",
-"1762167092":"Green ID Tag",
-"1768112091":"Tomaha Snowmobile",
-"1769475390":"Wood Frame Standing",
-"1770475779":"Worm",
-"1770744540":"Generic vehicle chassis",
-"1771755747":"Black Berry",
-"1776460938":"Blood",
-"1783512007":"Cactus Flesh",
-"1784005657":"Parachute (Deployed)",
-"1784406797":"Sousaphone",
-"1787198294":"Frontier Mirror Standing",
-"1789825282":"Candy Cane Club",
-"1796682209":"Custom SMG",
-"1801656689":"Light-Up Frame XL",
-"1803831286":"Garry's Mod Tool Gun",
-"1811780502":"Radioactive Water",
-"1814288539":"Bone Knife",
-"1819863051":"Sky Lantern",
-"1827479659":"Burnt Wolf Meat",
-"1831249347":"Scattershot",
-"1835946060":"Cable Tunnel",
-"1840570710":"Above Ground Pool",
-"1840822026":"Beancan Grenade",
-"1846605708":"Abyss Torch",
-"1849409072":"Silly Horse Mask",
-"1849887541":"Small Generator",
-"1850456855":"Road Sign Kilt",
-"1856217390":"Egg Basket",
-"1858828593":"Egg",
-"1865253052":"Dracula Mask",
-"1869224826":"Motorbike With Sidecar",
-"1873004466":"Coconut Armor Gloves",
-"1873897110":"Cooked Bear Meat",
-"1874610722":"Armored Cockpit Vehicle Module",
-"1877339384":"Burlap Headwrap",
-"1878053256":"Rowboat",
-"1882709339":"Metal Blade",
-"1883981798":"Low Quality Pistons",
-"1883981800":"High Quality Pistons",
-"1883981801":"Medium Quality Pistons",
-"1884461210":"Charcoal Storage Box",
-"1885488976":"Spooky Speaker",
-"1892536031":"Fluorescent Light",
-"1895235349":"Disco Ball",
-"1898094925":"Pumpkin Plant Clone",
-"1899610628":"Medium Loot Bag",
-"1903654061":"Small Planter Box",
-"1905387657":"Pure Rad. Removal Tea",
-"1911552868":"Black Berry Seed",
-"1914691295":"Prototype 17",
-"1916016738":"Light-Up Mirror Standing",
-"1917703890":"Burnt Horse Meat",
-"1925646349":"Spoiled Pork Meat",
-"1931713481":"Black Raspberries",
-"1933140008":"PT Boat",
-"1937380239":"Frontier Hatchet",
-"1946219319":"Camp Fire",
-"1948067030":"Ladder Hatch",
-"1950013766":"Light-Up Frame Standing",
-"1950721418":"Salvaged Shelves",
-"1951603367":"Switch",
-"1953903201":"Nailgun",
-"1954597876":"Bee Catapult Bomb",
-"1965232394":"Crossbow",
-"1973165031":"Birthday Cake",
-"1973684065":"Burnt Chicken",
-"1973949960":"Frontier Bolts Single Item Rack",
-"1975934948":"Survey Charge",
-"1983621560":"Floor triangle grill",
-"1989785143":"High Quality Horse Shoes",
-"1991794121":"Trike",
-"1992974553":"Burlap Trousers",
-"1993693904":"Boat Building Station",
-"2005491391":"Extended Magazine",
-"2009734114":"Christmas Door Wreath",
-"2019042823":"Tarp",
-"2021351233":"Advanced Rad. Removal Tea",
-"2023888403":"Medium Rechargeable Battery",
-"2024467711":"Pure Scrap Tea",
-"2036395619":"Scatter Dart",
-"2039177180":"Bear Pie",
-"2040726127":"Combat Knife",
-"2041899972":"Triangle Ladder Hatch",
-"2047789913":"Lead Armor Insert",
-"2048317869":"Wolf Skull",
-"2052270186":"Inner Tube",
-"2054391128":"Factory Door",
-"2054929933":"Jungle Relic Assault Rifle",
-"2055695285":"Frontier Mirror Medium",
-"2063916636":"Advanced Ore Tea",
-"2068884361":"Small Backpack",
-"2070189026":"Large Banner on pole",
-"2083256995":"Handmade SMG",
-"2087678962":"Search Light",
-"2090395347":"Large Solar Panel",
-"2100007442":"Audio Alarm",
-"2104517339":"Strobe Light",
-"2106561762":"Decorative Tinsel",
-"2114754781":"Water Purifier",
-"2120241887":"Gold Mirror Standing",
-"2126889441":"Santa Beard",
-"2130820932":"Cancer Research UK Plushie",
-"2130820933":"Ronald McDonald House UK Plushie",
-"2133269020":"Red Berry Clone"
-}
diff --git a/src/RustPlusBot.Features.StorageMonitors/Rendering/StorageMonitorEmbedRenderer.cs b/src/RustPlusBot.Features.StorageMonitors/Rendering/StorageMonitorEmbedRenderer.cs
index 2f0a5b8d..ccc60c71 100644
--- a/src/RustPlusBot.Features.StorageMonitors/Rendering/StorageMonitorEmbedRenderer.cs
+++ b/src/RustPlusBot.Features.StorageMonitors/Rendering/StorageMonitorEmbedRenderer.cs
@@ -3,7 +3,7 @@
using Discord;
using RustPlusBot.Abstractions.Connections;
using RustPlusBot.Domain.StorageMonitors;
-using RustPlusBot.Features.StorageMonitors.Naming;
+using RustPlusBot.Features.ItemData.Naming;
using RustPlusBot.Localization;
namespace RustPlusBot.Features.StorageMonitors.Rendering;
diff --git a/src/RustPlusBot.Features.StorageMonitors/RustPlusBot.Features.StorageMonitors.csproj b/src/RustPlusBot.Features.StorageMonitors/RustPlusBot.Features.StorageMonitors.csproj
index c04677de..a33a6f99 100644
--- a/src/RustPlusBot.Features.StorageMonitors/RustPlusBot.Features.StorageMonitors.csproj
+++ b/src/RustPlusBot.Features.StorageMonitors/RustPlusBot.Features.StorageMonitors.csproj
@@ -13,6 +13,7 @@
+
@@ -20,8 +21,4 @@
-
-
-
-
diff --git a/src/RustPlusBot.Features.StorageMonitors/StorageMonitorServiceCollectionExtensions.cs b/src/RustPlusBot.Features.StorageMonitors/StorageMonitorServiceCollectionExtensions.cs
index 3d7efe85..0e249144 100644
--- a/src/RustPlusBot.Features.StorageMonitors/StorageMonitorServiceCollectionExtensions.cs
+++ b/src/RustPlusBot.Features.StorageMonitors/StorageMonitorServiceCollectionExtensions.cs
@@ -1,7 +1,7 @@
using Microsoft.Extensions.DependencyInjection;
using RustPlusBot.Discord;
using RustPlusBot.Features.StorageMonitors.Hosting;
-using RustPlusBot.Features.StorageMonitors.Naming;
+using RustPlusBot.Features.ItemData;
using RustPlusBot.Features.StorageMonitors.Pairing;
using RustPlusBot.Features.StorageMonitors.Posting;
using RustPlusBot.Features.StorageMonitors.Relaying;
@@ -21,7 +21,7 @@ public static IServiceCollection AddStorageMonitors(this IServiceCollection serv
ArgumentNullException.ThrowIfNull(services);
services.AddRustPlusBotLocalization();
- services.AddSingleton();
+ services.AddItemData();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
diff --git a/src/RustPlusBot.Localization/Strings.fr.resx b/src/RustPlusBot.Localization/Strings.fr.resx
index 7745fac4..63461ff7 100644
--- a/src/RustPlusBot.Localization/Strings.fr.resx
+++ b/src/RustPlusBot.Localization/Strings.fr.resx
@@ -249,6 +249,33 @@
Heure de wipe inconnue.
+
+ {0} n'est pas fabricable.
+
+
+ {0}
+
+
+ Vouliez-vous dire : {0} ?
+
+
+ Aucun objet correspondant à « {0} ».
+
+
+ {0}
+
+
+ {0} n'est pas recyclable.
+
+
+ {0}
+
+
+ {0} ne peut pas être recherché.
+
+
+ {0}
+
🚢 Cargo Ship arrivé en {0}
@@ -324,12 +351,18 @@
Afficher depuis combien de temps chaque coéquipier survit.
+
+ Afficher la recette de fabrication d'un objet
+
Bot
Contrôle
+
+ Base de données d'objets
+
Serveur
@@ -339,6 +372,9 @@
Équipe
+
+ Afficher le nom, l'id, la pile et la disparition d'un objet
+
Couper toute sortie du bot vers le jeu.
@@ -357,12 +393,30 @@
Afficher la distance à chaque coéquipier.
+
+ Afficher le recyclage d'un objet
+
+
+ Afficher le coût de recherche (ferraille) d'un objet
+
Afficher ce message d'aide.
Transférer le rôle de chef d'équipe en jeu.
+
+ Afficher la recette de fabrication d'un objet.
+
+
+ Rechercher un objet par nom ou identifiant.
+
+
+ Afficher le recyclage d'un objet.
+
+
+ Afficher le coût de recherche (ferraille) d'un objet.
+
Afficher la disponibilité du bot.
diff --git a/src/RustPlusBot.Localization/Strings.resx b/src/RustPlusBot.Localization/Strings.resx
index b3192928..7aa5e0b8 100644
--- a/src/RustPlusBot.Localization/Strings.resx
+++ b/src/RustPlusBot.Localization/Strings.resx
@@ -249,6 +249,33 @@
Wipe time is unknown.
+
+ {0} is not craftable.
+
+
+ {0}
+
+
+ Did you mean: {0}?
+
+
+ No item matching '{0}'.
+
+
+ {0}
+
+
+ {0} is not recyclable.
+
+
+ {0}
+
+
+ {0} cannot be researched.
+
+
+ {0}
+
🚢 Cargo Ship entered at {0}
@@ -324,12 +351,18 @@
Show how long each teammate has survived.
+
+ Show an item's craft recipe
+
Bot
Control
+
+ Item Database
+
Server
@@ -339,6 +372,9 @@
Team
+
+ Look up an item's name, id, stack, and despawn
+
Silence all bot output to the game.
@@ -357,12 +393,30 @@
Show distance to each teammate.
+
+ Show recycler output for an item
+
+
+ Show an item's research scrap cost
+
Show this help message.
Transfer in-game team leadership.
+
+ Show an item's craft recipe.
+
+
+ Look up an item by name or id.
+
+
+ Show recycler output for an item.
+
+
+ Show an item's research scrap cost.
+
Show the bot's uptime.
diff --git a/tests/RustPlusBot.Features.Commands.Tests/CommandRegistrationTests.cs b/tests/RustPlusBot.Features.Commands.Tests/CommandRegistrationTests.cs
index bc744d37..9e3011c7 100644
--- a/tests/RustPlusBot.Features.Commands.Tests/CommandRegistrationTests.cs
+++ b/tests/RustPlusBot.Features.Commands.Tests/CommandRegistrationTests.cs
@@ -10,6 +10,7 @@
using RustPlusBot.Features.Commands.Servers;
using RustPlusBot.Features.Connections.Listening;
using RustPlusBot.Features.Events.State;
+using RustPlusBot.Features.ItemData;
using RustPlusBot.Localization;
using RustPlusBot.Persistence.Commands;
using RustPlusBot.Persistence.Servers;
@@ -35,6 +36,7 @@ public void Dispatcher_and_handlers_resolve()
services.AddScoped(_ => Substitute.For());
services.AddScoped(_ => Substitute.For());
services.AddOptions();
+ services.AddItemData();
services.AddCommands();
using var provider = services.BuildServiceProvider(validateScopes: true);
@@ -49,7 +51,7 @@ public void Dispatcher_and_handlers_resolve()
using var scope = provider.CreateScope();
Assert.NotNull(scope.ServiceProvider.GetRequiredService());
var handlers = scope.ServiceProvider.GetServices().ToList();
- Assert.Equal(19, handlers.Count);
+ Assert.Equal(23, handlers.Count);
Assert.Contains(handlers, h => h.Name == "mute");
Assert.Contains(handlers, h => h.Name == "pop");
Assert.Contains(handlers, h => h.Name == "time");
@@ -87,6 +89,7 @@ public void Commands_contribute_an_interaction_module_assembly()
services.AddScoped(_ => Substitute.For());
services.AddScoped(_ => Substitute.For());
services.AddOptions();
+ services.AddItemData();
services.AddCommands();
using var provider = services.BuildServiceProvider(validateScopes: true);
diff --git a/tests/RustPlusBot.Features.Commands.Tests/Formatting/ItemFormatterTests.cs b/tests/RustPlusBot.Features.Commands.Tests/Formatting/ItemFormatterTests.cs
new file mode 100644
index 00000000..475af99c
--- /dev/null
+++ b/tests/RustPlusBot.Features.Commands.Tests/Formatting/ItemFormatterTests.cs
@@ -0,0 +1,47 @@
+using RustPlusBot.Features.Commands.Formatting;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.Features.ItemData.Naming;
+
+namespace RustPlusBot.Features.Commands.Tests.Formatting;
+
+public sealed class ItemFormatterTests
+{
+ private readonly IItemNameResolver _names = new ItemDatabaseNameResolver(new EmbeddedItemDatabase());
+
+ [Fact]
+ public void ItemLine_IncludesNameAndStack()
+ {
+ var item = new ItemRecord(1, "AK-47", 1, 3600, null, null, null);
+ var line = ItemLine.Format(item);
+ Assert.Contains("AK-47", line, StringComparison.Ordinal);
+ Assert.Contains("1", line, StringComparison.Ordinal);
+ }
+
+ [Fact]
+ public void RecycleLine_ListsYields()
+ {
+ var item = new ItemRecord(1, "AK-47", 1, null,
+ new RecycleYield([new YieldEntry(-1059362949, 4, 1.0)]), null, null);
+ var line = RecycleLine.Format(item, _names);
+ Assert.Contains("AK-47", line, StringComparison.Ordinal);
+ Assert.Contains("4", line, StringComparison.Ordinal);
+ }
+
+ [Fact]
+ public void CraftLine_ListsIngredients()
+ {
+ var item = new ItemRecord(1, "AK-47", 1, null, null,
+ new CraftRecipe([new Ingredient(-1059362949, 200)], 30.0, 3), null);
+ var line = CraftLine.Format(item, _names);
+ Assert.Contains("200", line, StringComparison.Ordinal);
+ }
+
+ [Fact]
+ public void ResearchLine_ShowsScrap()
+ {
+ var item = new ItemRecord(1, "AK-47", 1, null, null, null, new ResearchCost(500));
+ var line = ResearchLine.Format(item);
+ Assert.Contains("500", line, StringComparison.Ordinal);
+ }
+}
diff --git a/tests/RustPlusBot.Features.Commands.Tests/Handlers/ItemCommandHandlersTests.cs b/tests/RustPlusBot.Features.Commands.Tests/Handlers/ItemCommandHandlersTests.cs
new file mode 100644
index 00000000..b1317462
--- /dev/null
+++ b/tests/RustPlusBot.Features.Commands.Tests/Handlers/ItemCommandHandlersTests.cs
@@ -0,0 +1,55 @@
+using RustPlusBot.Features.Commands.Dispatching;
+using RustPlusBot.Features.Commands.Handlers;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Naming;
+using RustPlusBot.Localization;
+
+namespace RustPlusBot.Features.Commands.Tests.Handlers;
+
+public sealed class ItemCommandHandlersTests
+{
+ private readonly IItemDatabase _db = new EmbeddedItemDatabase();
+ private readonly ILocalizer _loc = new ResxLocalizer();
+ private readonly IItemNameResolver _names = new ItemDatabaseNameResolver(new EmbeddedItemDatabase());
+
+ private static CommandContext Ctx(params string[] args) => new(1, Guid.NewGuid(), "en", 99, "Caller", args);
+
+ [Fact]
+ public void Names_areCorrect()
+ {
+ Assert.Equal("item", new ItemCommandHandler(_db, _loc).Name);
+ Assert.Equal("recycle", new RecycleCommandHandler(_db, _names, _loc).Name);
+ Assert.Equal("craft", new CraftCommandHandler(_db, _names, _loc).Name);
+ Assert.Equal("research", new ResearchCommandHandler(_db, _loc).Name);
+ }
+
+ [Fact]
+ public async Task Item_Found_returnsCard()
+ {
+ var reply = await new ItemCommandHandler(_db, _loc).ExecuteAsync(Ctx("Assault Rifle"), CancellationToken.None);
+ Assert.Contains("Assault Rifle", reply, StringComparison.Ordinal);
+ }
+
+ [Fact]
+ public async Task Item_NotFound_returnsMessage()
+ {
+ var reply = await new ItemCommandHandler(_db, _loc).ExecuteAsync(Ctx("zzzzz"), CancellationToken.None);
+ Assert.Contains("zzzzz", reply, StringComparison.Ordinal);
+ }
+
+ [Fact]
+ public async Task Recycle_NotRecyclable_returnsNone()
+ {
+ // "Wood" is in the seed with null recycle.
+ var reply = await new RecycleCommandHandler(_db, _names, _loc).ExecuteAsync(Ctx("Wood"),
+ CancellationToken.None);
+ Assert.Contains("Wood", reply, StringComparison.Ordinal);
+ }
+
+ [Fact]
+ public async Task Empty_args_returnsNotFound()
+ {
+ var reply = await new ItemCommandHandler(_db, _loc).ExecuteAsync(Ctx(), CancellationToken.None);
+ Assert.NotNull(reply);
+ }
+}
diff --git a/tests/RustPlusBot.Features.Commands.Tests/Help/CommandHelpCatalogTests.cs b/tests/RustPlusBot.Features.Commands.Tests/Help/CommandHelpCatalogTests.cs
index ddedcd8c..ff298d07 100644
--- a/tests/RustPlusBot.Features.Commands.Tests/Help/CommandHelpCatalogTests.cs
+++ b/tests/RustPlusBot.Features.Commands.Tests/Help/CommandHelpCatalogTests.cs
@@ -5,11 +5,12 @@ namespace RustPlusBot.Features.Commands.Tests.Help;
public sealed class CommandHelpCatalogTests
{
- /// The 13 registered in-game handler names (see AddCommands / CommandRegistrationTests).
+ /// The 17 registered in-game handler names (see AddCommands / CommandRegistrationTests).
private static readonly string[] HandlerNames =
[
"mute", "unmute", "uptime", "pop", "wipe", "time",
"online", "offline", "team", "steamid", "alive", "afk", "prox",
+ "item", "recycle", "craft", "research",
];
[Fact]
@@ -42,4 +43,14 @@ public void EveryDescriptionKeyResolvesInEnglishAndFrench()
Assert.NotEqual(entry.DescriptionKey, loc.Get(entry.DescriptionKey, "fr"));
}
}
+
+ [Fact]
+ public void EveryInGameGroupIsCoveredByHelpEmbedRenderer()
+ {
+ var coveredGroups = HelpEmbedRenderer.GroupOrder.Select(g => g.Group).ToHashSet();
+ foreach (var group in CommandHelpCatalog.InGame.Select(e => e.Group).Distinct())
+ {
+ Assert.Contains(group, coveredGroups);
+ }
+ }
}
diff --git a/tests/RustPlusBot.Features.ItemData.Tests/EmbeddedItemDatabaseTests.cs b/tests/RustPlusBot.Features.ItemData.Tests/EmbeddedItemDatabaseTests.cs
new file mode 100644
index 00000000..15f8c0e8
--- /dev/null
+++ b/tests/RustPlusBot.Features.ItemData.Tests/EmbeddedItemDatabaseTests.cs
@@ -0,0 +1,58 @@
+using System.Text;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.Features.ItemData.Tests;
+
+public sealed class EmbeddedItemDatabaseTests
+{
+ private readonly EmbeddedItemDatabase _db = new();
+
+ [Fact]
+ public void GetById_ReturnsKnownItem()
+ {
+ var ak = _db.GetById(1545779598);
+ Assert.NotNull(ak);
+ Assert.Equal("Assault Rifle", ak!.Name);
+ }
+
+ [Fact]
+ public void GetById_ReturnsNullForUnknown()
+ {
+ Assert.Null(_db.GetById(123456789));
+ }
+
+ [Fact]
+ public void Sources_ArePopulated()
+ {
+ Assert.Equal(new DateOnly(2026, 4, 8), _db.Sources.NamesAsOf);
+ }
+
+ [Fact]
+ public void Parse_ThrowsOnSchemaVersionMismatch()
+ {
+ const string json =
+ """{"schemaVersion":999,"sources":{"namesAsOf":"2026-04-08","recycleAsOf":"2024-09-07","craftAsOf":"2024-09-07","researchAsOf":"2024-09-07"},"items":[]}""";
+ using var stream = new MemoryStream(Encoding.UTF8.GetBytes(json));
+ Assert.Throws(() => EmbeddedItemDatabase.Parse(stream, 1));
+ }
+
+ [Fact]
+ public void Parse_SucceedsOnMatchingSchemaVersion()
+ {
+ const string json =
+ """{"schemaVersion":1,"sources":{"namesAsOf":"2026-04-08","recycleAsOf":"2024-09-07","craftAsOf":"2024-09-07","researchAsOf":"2024-09-07"},"items":[]}""";
+ using var stream = new MemoryStream(Encoding.UTF8.GetBytes(json));
+ var dataset = EmbeddedItemDatabase.Parse(stream, 1);
+ Assert.Equal(1, dataset.SchemaVersion);
+ }
+
+ [Fact]
+ public void IndexById_DuplicateId_LastWins()
+ {
+ var first = new ItemRecord(42, "First", 1, null, null, null, null);
+ var last = new ItemRecord(42, "Last", 1, null, null, null, null);
+ var index = EmbeddedItemDatabase.IndexById([first, last]);
+ Assert.Equal("Last", index[42].Name);
+ }
+}
diff --git a/tests/RustPlusBot.Features.ItemData.Tests/ItemDatabaseNameResolverTests.cs b/tests/RustPlusBot.Features.ItemData.Tests/ItemDatabaseNameResolverTests.cs
new file mode 100644
index 00000000..d84687a1
--- /dev/null
+++ b/tests/RustPlusBot.Features.ItemData.Tests/ItemDatabaseNameResolverTests.cs
@@ -0,0 +1,21 @@
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Naming;
+
+namespace RustPlusBot.Features.ItemData.Tests;
+
+public sealed class ItemDatabaseNameResolverTests
+{
+ private readonly IItemNameResolver _resolver = new ItemDatabaseNameResolver(new EmbeddedItemDatabase());
+
+ [Fact]
+ public void Resolve_ReturnsName_ForKnownId()
+ {
+ Assert.Equal("Assault Rifle", _resolver.Resolve(1545779598));
+ }
+
+ [Fact]
+ public void Resolve_FallsBack_ForUnknownId()
+ {
+ Assert.Equal("Item 999999", _resolver.Resolve(999999));
+ }
+}
diff --git a/tests/RustPlusBot.Features.ItemData.Tests/ItemDatasetTests.cs b/tests/RustPlusBot.Features.ItemData.Tests/ItemDatasetTests.cs
new file mode 100644
index 00000000..8c9e15c4
--- /dev/null
+++ b/tests/RustPlusBot.Features.ItemData.Tests/ItemDatasetTests.cs
@@ -0,0 +1,14 @@
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.Features.ItemData.Tests;
+
+public sealed class ItemDatasetTests
+{
+ [Fact]
+ public void ItemRecord_AllowsNullCalculatorData()
+ {
+ var record = new ItemRecord(1, "Wood", 1000, null, null, null, null);
+ Assert.Equal("Wood", record.Name);
+ Assert.Null(record.Recycle);
+ }
+}
diff --git a/tests/RustPlusBot.Features.ItemData.Tests/ItemLookupTests.cs b/tests/RustPlusBot.Features.ItemData.Tests/ItemLookupTests.cs
new file mode 100644
index 00000000..9e1e181c
--- /dev/null
+++ b/tests/RustPlusBot.Features.ItemData.Tests/ItemLookupTests.cs
@@ -0,0 +1,123 @@
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.Features.ItemData.Lookup;
+
+namespace RustPlusBot.Features.ItemData.Tests;
+
+public sealed class ItemLookupTests
+{
+ private static readonly ItemRecord Ak = new(1, "AK-47", 1, null, null, null, null);
+ private static readonly ItemRecord Semi = new(2, "Semi-Automatic Rifle", 1, null, null, null, null);
+ private static readonly ItemRecord Wood = new(3, "Wood", 1000, null, null, null, null);
+ private static readonly ItemRecord Bag = new(4, "Sleeping Bag", 1, null, null, null, null);
+ private static readonly IReadOnlyList All = [Ak, Semi, Wood, Bag];
+
+ private static ItemMatch Resolve(string q) =>
+ ItemLookup.Resolve(q, id => All.FirstOrDefault(i => i.Id == id), All);
+
+ [Fact]
+ public void NumericInput_ResolvesById()
+ {
+ var match = Resolve("3");
+ var found = Assert.IsType(match);
+ Assert.Equal("Wood", found.Item.Name);
+ }
+
+ [Fact]
+ public void NumericMiss_FallsThroughToNameMatch()
+ {
+ // "47" is not an id but is a substring of "AK-47".
+ var match = Resolve("47");
+ var found = Assert.IsType(match);
+ Assert.Equal("AK-47", found.Item.Name);
+ }
+
+ [Fact]
+ public void ExactName_BeatsSubstring()
+ {
+ var match = Resolve("wood");
+ var found = Assert.IsType(match);
+ Assert.Equal("Wood", found.Item.Name);
+ }
+
+ [Fact]
+ public void SingleSubstring_Found()
+ {
+ var match = Resolve("sleep");
+ var found = Assert.IsType(match);
+ Assert.Equal("Sleeping Bag", found.Item.Name);
+ }
+
+ [Fact]
+ public void MultipleSubstring_AmbiguousPrefixFirst()
+ {
+ // Query "a": "AK-47" starts with 'A' (prefix match); "Semi-Automatic Rifle" and
+ // "Sleeping Bag" only contain 'a' as an interior character (substring matches).
+ // Ranking: OrderByDescending(StartsWith) → "AK-47" must be at index 0.
+ var match = ItemLookup.Resolve("a", id => All.FirstOrDefault(i => i.Id == id), All);
+ var amb = Assert.IsType(match);
+ Assert.True(amb.Candidates.Count >= 2);
+ Assert.Equal("AK-47", amb.Candidates[0].Name);
+ Assert.DoesNotContain(amb.Candidates.Skip(1), c => c.Name.StartsWith('A') || c.Name.StartsWith('a'));
+ }
+
+ [Fact]
+ public void ExactNameCollision_ReturnsAmbiguousOrderedById()
+ {
+ // Two items share the same case-insensitive name; the one with the lower id should be first.
+ var recyclable = new ItemRecord(10, "Sunglasses", 1, null, new RecycleYield([]), null, null);
+ var notRecyclable = new ItemRecord(5, "Sunglasses", 1, null, null, null, null);
+ IReadOnlyList items = [recyclable, notRecyclable];
+ var match = ItemLookup.Resolve("sunglasses", id => items.FirstOrDefault(i => i.Id == id), items);
+ var amb = Assert.IsType(match);
+ Assert.Equal(2, amb.Candidates.Count);
+ // Deterministic order: ascending by Id.
+ Assert.Equal(5, amb.Candidates[0].Id);
+ Assert.Equal(10, amb.Candidates[1].Id);
+ }
+
+ [Fact]
+ public void ExactNameCollision_DoesNotFallThroughToSubstring()
+ {
+ // Even though there are 2 exact matches, the result must be Ambiguous (not a substring-ranked list).
+ var a = new ItemRecord(1, "Sunglasses", 1, null, null, null, null);
+ var b = new ItemRecord(2, "Sunglasses", 1, null, null, null, null);
+ var extra = new ItemRecord(3, "Cool Sunglasses", 1, null, null, null, null);
+ IReadOnlyList items = [a, b, extra];
+ var match = ItemLookup.Resolve("Sunglasses", id => items.FirstOrDefault(i => i.Id == id), items);
+ var amb = Assert.IsType(match);
+ // Must contain only the 2 exact matches, not the substring hit.
+ Assert.Equal(2, amb.Candidates.Count);
+ }
+
+ [Fact]
+ public void SingleExactMatch_StillReturnsFound()
+ {
+ var match = Resolve("AK-47");
+ var found = Assert.IsType(match);
+ Assert.Equal("AK-47", found.Item.Name);
+ }
+
+ [Fact]
+ public void NoMatch_NotFound()
+ {
+ Assert.IsType(Resolve("zzzzz"));
+ }
+
+ [Theory]
+ [InlineData("")]
+ [InlineData(" ")]
+ public void EmptyOrWhitespace_NotFound(string q)
+ {
+ Assert.IsType(Resolve(q));
+ }
+
+ [Fact]
+ public void Ambiguous_RespectsCap()
+ {
+ var many = Enumerable.Range(1, 50).Select(i => new ItemRecord(i, $"Gun {i}", 1, null, null, null, null))
+ .ToList();
+ var match = ItemLookup.Resolve("gun", id => many.FirstOrDefault(x => x.Id == id), many, cap: 10);
+ var amb = Assert.IsType(match);
+ Assert.Equal(10, amb.Candidates.Count);
+ }
+}
diff --git a/tests/RustPlusBot.Features.ItemData.Tests/RustPlusBot.Features.ItemData.Tests.csproj b/tests/RustPlusBot.Features.ItemData.Tests/RustPlusBot.Features.ItemData.Tests.csproj
new file mode 100644
index 00000000..3871c597
--- /dev/null
+++ b/tests/RustPlusBot.Features.ItemData.Tests/RustPlusBot.Features.ItemData.Tests.csproj
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/RustPlusBot.Features.StorageMonitors.Tests/EmbeddedItemNameResolverTests.cs b/tests/RustPlusBot.Features.StorageMonitors.Tests/EmbeddedItemNameResolverTests.cs
index 026dfc59..762a5e50 100644
--- a/tests/RustPlusBot.Features.StorageMonitors.Tests/EmbeddedItemNameResolverTests.cs
+++ b/tests/RustPlusBot.Features.StorageMonitors.Tests/EmbeddedItemNameResolverTests.cs
@@ -1,4 +1,5 @@
-using RustPlusBot.Features.StorageMonitors.Naming;
+using RustPlusBot.Features.ItemData;
+using RustPlusBot.Features.ItemData.Naming;
namespace RustPlusBot.Features.StorageMonitors.Tests;
@@ -7,14 +8,15 @@ public sealed class EmbeddedItemNameResolverTests
[Fact]
public void Resolve_KnownId_ReturnsDisplayName()
{
- var resolver = new EmbeddedItemNameResolver();
+ // -151838493 is "Wood" — present in the bundled item data.
+ var resolver = new ItemDatabaseNameResolver(new EmbeddedItemDatabase());
Assert.Equal("Wood", resolver.Resolve(-151838493));
}
[Fact]
public void Resolve_UnknownId_ReturnsFallback()
{
- var resolver = new EmbeddedItemNameResolver();
+ var resolver = new ItemDatabaseNameResolver(new EmbeddedItemDatabase());
Assert.Equal("Item 123456789", resolver.Resolve(123456789));
}
}
diff --git a/tests/RustPlusBot.Features.StorageMonitors.Tests/RustPlusBot.Features.StorageMonitors.Tests.csproj b/tests/RustPlusBot.Features.StorageMonitors.Tests/RustPlusBot.Features.StorageMonitors.Tests.csproj
index 21fca2b5..cc1f03b0 100644
--- a/tests/RustPlusBot.Features.StorageMonitors.Tests/RustPlusBot.Features.StorageMonitors.Tests.csproj
+++ b/tests/RustPlusBot.Features.StorageMonitors.Tests/RustPlusBot.Features.StorageMonitors.Tests.csproj
@@ -14,6 +14,7 @@
+
diff --git a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorEmbedRendererTests.cs b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorEmbedRendererTests.cs
index 0a1dd950..158acdc3 100644
--- a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorEmbedRendererTests.cs
+++ b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorEmbedRendererTests.cs
@@ -2,7 +2,7 @@
using NSubstitute;
using RustPlusBot.Abstractions.Connections;
using RustPlusBot.Domain.StorageMonitors;
-using RustPlusBot.Features.StorageMonitors.Naming;
+using RustPlusBot.Features.ItemData.Naming;
using RustPlusBot.Features.StorageMonitors.Rendering;
using RustPlusBot.Localization;
diff --git a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorPairingCoordinatorTests.cs b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorPairingCoordinatorTests.cs
index 51c33a43..191157ef 100644
--- a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorPairingCoordinatorTests.cs
+++ b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorPairingCoordinatorTests.cs
@@ -2,7 +2,7 @@
using NSubstitute;
using RustPlusBot.Abstractions.Events;
using RustPlusBot.Domain.StorageMonitors;
-using RustPlusBot.Features.StorageMonitors.Naming;
+using RustPlusBot.Features.ItemData.Naming;
using RustPlusBot.Features.StorageMonitors.Pairing;
using RustPlusBot.Features.StorageMonitors.Posting;
using RustPlusBot.Features.StorageMonitors.Rendering;
diff --git a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorRegistrationTests.cs b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorRegistrationTests.cs
index 6affb83e..bddac3f2 100644
--- a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorRegistrationTests.cs
+++ b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorRegistrationTests.cs
@@ -1,6 +1,6 @@
using Microsoft.Extensions.DependencyInjection;
using RustPlusBot.Features.StorageMonitors;
-using RustPlusBot.Features.StorageMonitors.Naming;
+using RustPlusBot.Features.ItemData.Naming;
using RustPlusBot.Features.StorageMonitors.Pairing;
using RustPlusBot.Features.StorageMonitors.Relaying;
using RustPlusBot.Features.StorageMonitors.Rendering;
diff --git a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorStateRelayTests.cs b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorStateRelayTests.cs
index 96365c0b..27f1ceea 100644
--- a/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorStateRelayTests.cs
+++ b/tests/RustPlusBot.Features.StorageMonitors.Tests/StorageMonitorStateRelayTests.cs
@@ -4,7 +4,7 @@
using RustPlusBot.Abstractions.Events;
using RustPlusBot.Domain.Connections;
using RustPlusBot.Domain.StorageMonitors;
-using RustPlusBot.Features.StorageMonitors.Naming;
+using RustPlusBot.Features.ItemData.Naming;
using RustPlusBot.Features.StorageMonitors.Posting;
using RustPlusBot.Features.StorageMonitors.Relaying;
using RustPlusBot.Features.StorageMonitors.Rendering;
diff --git a/tests/RustPlusBot.ItemData.Generator.Tests/DatasetValidatorTests.cs b/tests/RustPlusBot.ItemData.Generator.Tests/DatasetValidatorTests.cs
new file mode 100644
index 00000000..e1b1685c
--- /dev/null
+++ b/tests/RustPlusBot.ItemData.Generator.Tests/DatasetValidatorTests.cs
@@ -0,0 +1,58 @@
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.ItemData.Generator.Validation;
+
+namespace RustPlusBot.ItemData.Generator.Tests;
+
+/// Unit tests for .
+public sealed class DatasetValidatorTests
+{
+ private static ItemDataset Good() => new(1,
+ new DatasetSources(new(2026, 4, 8), new(2024, 9, 7), new(2024, 9, 7), new(2024, 9, 7)),
+ [
+ new ItemRecord(1, "AK-47", 1, 3600,
+ new RecycleYield([new YieldEntry(2, 4, 1.0)]), null, null),
+ new ItemRecord(2, "Metal Fragments", 1000, null, null, null, null),
+ ]);
+
+ /// A dataset with all referential constraints satisfied should produce no errors.
+ [Fact]
+ public void Good_dataset_hasNoErrors()
+ {
+ var errors = DatasetValidator.Validate(Good(), new ValidationOptions(MinItemCount: 1));
+ Assert.Empty(errors);
+ }
+
+ /// A dataset with fewer items than the minimum should produce an error.
+ [Fact]
+ public void TooFewItems_isError()
+ {
+ var errors = DatasetValidator.Validate(Good(), new ValidationOptions(MinItemCount: 5000));
+ Assert.Contains(errors, e => e.Contains("item count", StringComparison.OrdinalIgnoreCase));
+ }
+
+ /// A recycle yield that references an unknown item id should produce an error.
+ [Fact]
+ public void UnresolvableYieldId_isError()
+ {
+ var bad = new ItemDataset(1, Good().Sources,
+ [
+ new ItemRecord(1, "AK-47", 1, null,
+ new RecycleYield([new YieldEntry(99999, 4, 1.0)]), null, null),
+ ]);
+ var errors = DatasetValidator.Validate(bad, new ValidationOptions(MinItemCount: 1));
+ Assert.Contains(errors, e => e.Contains("99999", StringComparison.Ordinal));
+ }
+
+ /// A craft ingredient that references an unknown item id should produce an error.
+ [Fact]
+ public void UnresolvableCraftIngredientId_isError()
+ {
+ var bad = new ItemDataset(1, Good().Sources,
+ [
+ new ItemRecord(1, "AK-47", 1, null, null,
+ new CraftRecipe([new Ingredient(88888, 100)], 30.0, 3), null),
+ ]);
+ var errors = DatasetValidator.Validate(bad, new ValidationOptions(MinItemCount: 1));
+ Assert.Contains(errors, e => e.Contains("88888", StringComparison.Ordinal));
+ }
+}
diff --git a/tests/RustPlusBot.ItemData.Generator.Tests/RustPlusBot.ItemData.Generator.Tests.csproj b/tests/RustPlusBot.ItemData.Generator.Tests/RustPlusBot.ItemData.Generator.Tests.csproj
new file mode 100644
index 00000000..b033b92f
--- /dev/null
+++ b/tests/RustPlusBot.ItemData.Generator.Tests/RustPlusBot.ItemData.Generator.Tests.csproj
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/RustPlusBot.Localization.Tests/StringsResourceParityTests.cs b/tests/RustPlusBot.Localization.Tests/StringsResourceParityTests.cs
index 843f8baf..18f44407 100644
--- a/tests/RustPlusBot.Localization.Tests/StringsResourceParityTests.cs
+++ b/tests/RustPlusBot.Localization.Tests/StringsResourceParityTests.cs
@@ -42,6 +42,6 @@ public void English_covers_every_french_key()
[Fact]
public void Catalog_has_expected_key_count()
{
- Assert.Equal(212, EnglishKeys().Count);
+ Assert.Equal(230, EnglishKeys().Count);
}
}
diff --git a/tools/RustPlusBot.ItemData.Generator/Program.cs b/tools/RustPlusBot.ItemData.Generator/Program.cs
new file mode 100644
index 00000000..bc5ba72c
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Program.cs
@@ -0,0 +1,132 @@
+using System.Text.Json;
+using RustPlusBot.Features.ItemData.Data;
+using RustPlusBot.ItemData.Generator.Sources;
+using RustPlusBot.ItemData.Generator.Validation;
+
+namespace RustPlusBot.ItemData.Generator;
+
+/// Entry point for the item-data generator tool.
+internal static class Program
+{
+ private static readonly DateOnly NamesAsOf = new(2026, 4, 8);
+ private static readonly DateOnly RecycleAsOf = new(2024, 9, 7);
+ private static readonly DateOnly CraftAsOf = new(2024, 9, 7);
+ private static readonly DateOnly ResearchAsOf = new(2024, 9, 7);
+
+ private static readonly JsonSerializerOptions JsonOptions = new(JsonSerializerDefaults.Web)
+ {
+ WriteIndented = true,
+ };
+
+ /// Main entry point.
+ /// Command-line arguments.
+ /// 0 on success, 1 on validation failure.
+ internal static int Main(string[] args)
+ {
+ string? outPath = null;
+ var rustplusDir = Path.Combine(
+ Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
+ "Dev/rustplusplus/src/staticFiles");
+ var minItems = 1000;
+
+ var argList = args.ToList();
+ var outIdx = argList.IndexOf("--out");
+ if (outIdx >= 0 && outIdx + 1 < argList.Count)
+ {
+ outPath = argList[outIdx + 1];
+ }
+
+ var rustIdx = argList.IndexOf("--rustplusplus");
+ if (rustIdx >= 0 && rustIdx + 1 < argList.Count)
+ {
+ rustplusDir = ExpandHome(argList[rustIdx + 1]);
+ }
+
+ var minIdx = argList.IndexOf("--min-items");
+ if (minIdx >= 0 && minIdx + 1 < argList.Count)
+ {
+ minItems = int.Parse(argList[minIdx + 1], System.Globalization.CultureInfo.InvariantCulture);
+ }
+
+ if (outPath is null)
+ {
+ Console.Error.WriteLine("Usage: generator --out [--rustplusplus ] [--min-items ]");
+ return 1;
+ }
+
+ var namesSource = new OfflineNamesSource(Path.Combine(rustplusDir, "items.json"));
+ var stackSource = new OfflineStackSource(Path.Combine(rustplusDir, "rustlabsStackData.json"));
+ var despawnSource = new OfflineDespawnSource(Path.Combine(rustplusDir, "rustlabsDespawnData.json"));
+ var rustLabsSource = new OfflineRustLabsSource(
+ Path.Combine(rustplusDir, "rustlabsRecycleData.json"),
+ Path.Combine(rustplusDir, "rustlabsCraftData.json"),
+ Path.Combine(rustplusDir, "rustlabsResearchData.json"));
+
+ var names = namesSource.LoadNames();
+ Console.WriteLine($"Loaded {names.Count} names from items.json");
+
+ var stackSizes = stackSource.LoadStackSizes();
+ var despawnSeconds = despawnSource.LoadDespawnSeconds();
+ var recycleYields = rustLabsSource.LoadRecycleYields();
+ var craftRecipes = rustLabsSource.LoadCraftRecipes();
+ var researchCosts = rustLabsSource.LoadResearchCosts();
+
+ var nameIds = new HashSet(names.Keys);
+
+ var orphanRecycle = recycleYields.Keys.Count(k => !nameIds.Contains(k));
+ var orphanCraft = craftRecipes.Keys.Count(k => !nameIds.Contains(k));
+ var orphanResearch = researchCosts.Keys.Count(k => !nameIds.Contains(k));
+
+ Console.WriteLine($"dropped {orphanRecycle} orphan recycle entries with no item name");
+ Console.WriteLine($"dropped {orphanCraft} orphan craft entries with no item name");
+ Console.WriteLine($"dropped {orphanResearch} orphan research entries with no item name");
+
+ var items = names
+ .Select(kv =>
+ {
+ var id = kv.Key;
+ var name = kv.Value;
+ var stackSize = stackSizes.TryGetValue(id, out var ss) ? ss : 1;
+ var despawn = despawnSeconds.TryGetValue(id, out var ds) ? (int?)ds : null;
+ var recycle = recycleYields.TryGetValue(id, out var ry) ? ry : null;
+ var craft = craftRecipes.TryGetValue(id, out var cr) ? cr : null;
+ var research = researchCosts.TryGetValue(id, out var rc) ? rc : null;
+ return new ItemRecord(id, name, stackSize, despawn, recycle, craft, research);
+ })
+ .ToList();
+
+ var dataset = new ItemDataset(
+ 1,
+ new DatasetSources(NamesAsOf, RecycleAsOf, CraftAsOf, ResearchAsOf),
+ items);
+
+ var validationOptions = new ValidationOptions(MinItemCount: minItems);
+ var errors = DatasetValidator.Validate(dataset, validationOptions);
+ if (errors.Count > 0)
+ {
+ foreach (var error in errors)
+ {
+ Console.Error.WriteLine($"Validation error: {error}");
+ }
+
+ return 1;
+ }
+
+ var json = JsonSerializer.Serialize(dataset, JsonOptions);
+ File.WriteAllText(outPath, json);
+ Console.WriteLine($"Emitted {items.Count} items to {outPath}");
+ return 0;
+ }
+
+ private static string ExpandHome(string path)
+ {
+ if (path.StartsWith("~/", StringComparison.Ordinal) || path == "~")
+ {
+ return Path.Combine(
+ Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
+ path[2..]);
+ }
+
+ return path;
+ }
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/README.md b/tools/RustPlusBot.ItemData.Generator/README.md
new file mode 100644
index 00000000..39d8af1d
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/README.md
@@ -0,0 +1,101 @@
+# RustPlusBot.ItemData.Generator
+
+A maintainer CLI that regenerates the embedded Rust item dataset
+(`src/RustPlusBot.Features.ItemData/Data/item-data.json`) consumed by the bot's
+`/item`, `/recycle`, `/craft`, and `/research` calculators.
+
+This tool is **not** part of the running bot — it is referenced by nothing in
+the application graph. It exists so the bundled item data can be refreshed when
+Rust updates, rather than shipping a frozen copy that silently rots.
+
+## Why it exists
+
+The reference data has two very different freshness profiles:
+
+- **Item names / ids** are well maintained and current.
+- **Calculator data** (recycle yields, craft recipes, research costs) is sourced
+ from rustlabs and tends to lag game updates.
+
+So the dataset carries per-section provenance dates (`Sources.NamesAsOf`,
+`RecycleAsOf`, `CraftAsOf`, `ResearchAsOf`), surfaced to users as a
+"data as of ``" footer, and this tool can re-emit a fresh snapshot on
+demand. It **validates loudly and refuses to overwrite a good bundle with
+garbage** if the upstream shape drifts.
+
+## What it does
+
+1. Reads the [rustplusplus](https://github.com/alexemanuelol/rustplusplus) static
+ data files (offline transform — no network):
+
+ | File | Provides |
+ | --- | --- |
+ | `items.json` | id → display name (the item spine) |
+ | `rustlabsStackData.json` | stack size |
+ | `rustlabsDespawnData.json` | despawn time |
+ | `rustlabsRecycleData.json` | recycler yields |
+ | `rustlabsCraftData.json` | craft ingredients + time |
+ | `rustlabsResearchData.json` | research scrap cost |
+
+2. Projects them into our own typed schema (`ItemDataset` /
+ `ItemRecord` / …, defined in `RustPlusBot.Features.ItemData`), keyed by item id,
+ with calculator data inlined per item (null where an item has none).
+3. **Validates** the result (`DatasetValidator`): a minimum item-count floor and
+ that every recycle-yield / craft-ingredient id resolves to a known item.
+4. On any validation error, prints the errors to stderr and exits non-zero
+ **without writing** — the existing good bundle is never clobbered.
+5. On success, writes the dataset as indented JSON and exits 0.
+
+Items present in a rustlabs file but absent from `items.json` (no name) are
+dropped, and the dropped counts are logged — never silent.
+
+## Usage
+
+```bash
+dotnet run --project tools/RustPlusBot.ItemData.Generator -- \
+ --out src/RustPlusBot.Features.ItemData/Data/item-data.json \
+ --rustplusplus ~/Dev/rustplusplus/src/staticFiles \
+ --min-items 1000
+```
+
+| Argument | Required | Default | Meaning |
+| --- | --- | --- | --- |
+| `--out ` | yes | — | Where to write `item-data.json` |
+| `--rustplusplus ` | no | `~/Dev/rustplusplus/src/staticFiles` | Directory holding the source JSON files |
+| `--min-items ` | no | `1000` | Validation floor; fewer items than this fails the run |
+
+Exit code `0` on success, `1` on a usage error or validation failure.
+
+After regenerating, rebuild and run the test suite — the runtime loader
+(`EmbeddedItemDatabase`) deserializes this file at startup, and the `ItemData`
+tests assert known items resolve correctly.
+
+## Refreshing the dataset
+
+1. Update your local rustplusplus checkout so its `src/staticFiles` is current.
+2. Run the command above.
+3. If validation fails, the bundle is left untouched — investigate the reported
+ drift (an upstream file that changed shape, or a count below the floor)
+ before re-running.
+4. Bump the relevant `Sources.*AsOf` dates in
+ [`Program.cs`](Program.cs) to reflect the new source dates, re-run, then
+ commit the regenerated `item-data.json`.
+
+## Provenance dates
+
+The source dates stamped into the dataset are currently hard-coded constants in
+[`Program.cs`](Program.cs) (`NamesAsOf`, `RecycleAsOf`, `CraftAsOf`,
+`ResearchAsOf`). Update them when you refresh from newer upstream data.
+
+## Notes
+
+- 6a ships the **offline transform** only. A live-scrape source adapter
+ (`IRustLabsSource`) is sketched as a seam for a future slice; for now the tool
+ transforms a local rustplusplus checkout.
+- Recycle data covers the standard **recycler** only; safe-zone recycler and
+ shredder yields are out of scope for this slice.
+
+## Attribution
+
+Item names/ids originate from Facepunch's published item list; recycle/craft/
+research data originates from [rustlabs](https://rustlabs.com/) via the
+rustplusplus static files.
diff --git a/tools/RustPlusBot.ItemData.Generator/RustPlusBot.ItemData.Generator.csproj b/tools/RustPlusBot.ItemData.Generator/RustPlusBot.ItemData.Generator.csproj
new file mode 100644
index 00000000..64384322
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/RustPlusBot.ItemData.Generator.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/IDespawnSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/IDespawnSource.cs
new file mode 100644
index 00000000..49e4081b
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/IDespawnSource.cs
@@ -0,0 +1,8 @@
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Provides item despawn times.
+internal interface IDespawnSource
+{
+ /// Loads despawn seconds keyed by item id.
+ IReadOnlyDictionary LoadDespawnSeconds();
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/INamesSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/INamesSource.cs
new file mode 100644
index 00000000..a1ab2599
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/INamesSource.cs
@@ -0,0 +1,8 @@
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Provides item names, stack sizes, and despawn times.
+internal interface INamesSource
+{
+ /// Loads item names keyed by item id.
+ IReadOnlyDictionary LoadNames();
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/IRustLabsSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/IRustLabsSource.cs
new file mode 100644
index 00000000..3a0b89b5
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/IRustLabsSource.cs
@@ -0,0 +1,16 @@
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Provides recycle, craft, and research data from RustLabs.
+internal interface IRustLabsSource
+{
+ /// Loads recycle yields keyed by item id.
+ IReadOnlyDictionary LoadRecycleYields();
+
+ /// Loads craft recipes keyed by item id.
+ IReadOnlyDictionary LoadCraftRecipes();
+
+ /// Loads research costs keyed by item id.
+ IReadOnlyDictionary LoadResearchCosts();
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/IStackSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/IStackSource.cs
new file mode 100644
index 00000000..82d39ec0
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/IStackSource.cs
@@ -0,0 +1,8 @@
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Provides item stack sizes.
+internal interface IStackSource
+{
+ /// Loads stack sizes keyed by item id.
+ IReadOnlyDictionary LoadStackSizes();
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/OfflineDespawnSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineDespawnSource.cs
new file mode 100644
index 00000000..9443f48e
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineDespawnSource.cs
@@ -0,0 +1,34 @@
+using System.Globalization;
+using System.Text.Json;
+
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Reads despawn times from the offline rustlabsDespawnData.json file.
+/// Path to the rustlabsDespawnData.json file.
+internal sealed class OfflineDespawnSource(string FilePath) : IDespawnSource
+{
+ ///
+ public IReadOnlyDictionary LoadDespawnSeconds()
+ {
+ using var stream = File.OpenRead(FilePath);
+ using var doc = JsonDocument.Parse(stream);
+
+ var result = new Dictionary();
+ foreach (var prop in doc.RootElement.EnumerateObject())
+ {
+ if (!int.TryParse(prop.Name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var id))
+ {
+ continue;
+ }
+
+ if (prop.Value.TryGetProperty("time", out var timeEl) &&
+ timeEl.ValueKind == JsonValueKind.Number &&
+ timeEl.TryGetInt32(out var time))
+ {
+ result[id] = time;
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/OfflineNamesSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineNamesSource.cs
new file mode 100644
index 00000000..3216a159
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineNamesSource.cs
@@ -0,0 +1,36 @@
+using System.Globalization;
+using System.Text.Json;
+
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Reads item names from the offline items.json file.
+/// Path to the items.json file.
+internal sealed class OfflineNamesSource(string FilePath) : INamesSource
+{
+ ///
+ public IReadOnlyDictionary LoadNames()
+ {
+ using var stream = File.OpenRead(FilePath);
+ using var doc = JsonDocument.Parse(stream);
+
+ var result = new Dictionary();
+ foreach (var prop in doc.RootElement.EnumerateObject())
+ {
+ if (!int.TryParse(prop.Name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var id))
+ {
+ continue;
+ }
+
+ if (prop.Value.TryGetProperty("name", out var nameEl))
+ {
+ var name = nameEl.GetString();
+ if (name is not null)
+ {
+ result[id] = name;
+ }
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/OfflineRustLabsSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineRustLabsSource.cs
new file mode 100644
index 00000000..667a8452
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineRustLabsSource.cs
@@ -0,0 +1,163 @@
+using System.Globalization;
+using System.Text.Json;
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Reads recycle, craft, and research data from the offline RustLabs JSON files.
+/// Path to the rustlabsRecycleData.json file.
+/// Path to the rustlabsCraftData.json file.
+/// Path to the rustlabsResearchData.json file.
+internal sealed class OfflineRustLabsSource(
+ string RecycleFilePath,
+ string CraftFilePath,
+ string ResearchFilePath) : IRustLabsSource
+{
+ private static readonly Dictionary WorkbenchLevels = new()
+ {
+ ["1524187186"] = 1, ["-41896755"] = 2, ["-1607980696"] = 3,
+ };
+
+ ///
+ public IReadOnlyDictionary LoadRecycleYields()
+ {
+ using var stream = File.OpenRead(RecycleFilePath);
+ using var doc = JsonDocument.Parse(stream);
+
+ var result = new Dictionary();
+ foreach (var prop in doc.RootElement.EnumerateObject())
+ {
+ if (!int.TryParse(prop.Name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var id))
+ {
+ continue;
+ }
+
+ if (!prop.Value.TryGetProperty("recycler", out var recyclerEl) ||
+ recyclerEl.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+
+ if (!recyclerEl.TryGetProperty("yield", out var yieldEl) ||
+ yieldEl.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+
+ var entries = new List();
+ foreach (var entry in yieldEl.EnumerateArray())
+ {
+ var entryIdStr = entry.GetProperty("id").GetString();
+ if (entryIdStr is null ||
+ !int.TryParse(entryIdStr, NumberStyles.Integer, CultureInfo.InvariantCulture, out var entryId))
+ {
+ continue;
+ }
+
+ var probability = entry.GetProperty("probability").GetDouble();
+ var quantity = entry.GetProperty("quantity").GetInt32();
+ entries.Add(new YieldEntry(entryId, quantity, probability));
+ }
+
+ if (entries.Count > 0)
+ {
+ result[id] = new RecycleYield(entries);
+ }
+ }
+
+ return result;
+ }
+
+ ///
+ public IReadOnlyDictionary LoadCraftRecipes()
+ {
+ using var stream = File.OpenRead(CraftFilePath);
+ using var doc = JsonDocument.Parse(stream);
+
+ var result = new Dictionary();
+ foreach (var prop in doc.RootElement.EnumerateObject())
+ {
+ if (!int.TryParse(prop.Name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var id))
+ {
+ continue;
+ }
+
+ if (!prop.Value.TryGetProperty("ingredients", out var ingredientsEl) ||
+ ingredientsEl.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+
+ var ingredients = new List();
+ foreach (var entry in ingredientsEl.EnumerateArray())
+ {
+ var entryIdStr = entry.GetProperty("id").GetString();
+ if (entryIdStr is null ||
+ !int.TryParse(entryIdStr, NumberStyles.Integer, CultureInfo.InvariantCulture, out var entryId))
+ {
+ continue;
+ }
+
+ var quantity = entry.GetProperty("quantity").GetInt32();
+ ingredients.Add(new Ingredient(entryId, quantity));
+ }
+
+ if (ingredients.Count == 0)
+ {
+ continue;
+ }
+
+ var timeEl = prop.Value.GetProperty("time");
+ if (timeEl.ValueKind != JsonValueKind.Number)
+ {
+ continue;
+ }
+
+ var timeSeconds = timeEl.GetDouble();
+
+ int? workbenchLevel = null;
+ if (prop.Value.TryGetProperty("workbench", out var workbenchEl) &&
+ workbenchEl.ValueKind == JsonValueKind.String)
+ {
+ var wbStr = workbenchEl.GetString();
+ if (wbStr is not null && WorkbenchLevels.TryGetValue(wbStr, out var level))
+ {
+ workbenchLevel = level;
+ }
+ }
+
+ result[id] = new CraftRecipe(ingredients, timeSeconds, workbenchLevel);
+ }
+
+ return result;
+ }
+
+ ///
+ public IReadOnlyDictionary LoadResearchCosts()
+ {
+ using var stream = File.OpenRead(ResearchFilePath);
+ using var doc = JsonDocument.Parse(stream);
+
+ var result = new Dictionary();
+ foreach (var prop in doc.RootElement.EnumerateObject())
+ {
+ if (!int.TryParse(prop.Name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var id))
+ {
+ continue;
+ }
+
+ if (!prop.Value.TryGetProperty("researchTable", out var researchTableEl) ||
+ researchTableEl.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+
+ if (researchTableEl.TryGetInt32(out var scrap))
+ {
+ result[id] = new ResearchCost(scrap);
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Sources/OfflineStackSource.cs b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineStackSource.cs
new file mode 100644
index 00000000..969fc5c4
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Sources/OfflineStackSource.cs
@@ -0,0 +1,39 @@
+using System.Globalization;
+using System.Text.Json;
+
+namespace RustPlusBot.ItemData.Generator.Sources;
+
+/// Reads stack sizes from the offline rustlabsStackData.json file.
+/// Path to the rustlabsStackData.json file.
+internal sealed class OfflineStackSource(string FilePath) : IStackSource
+{
+ ///
+ public IReadOnlyDictionary LoadStackSizes()
+ {
+ using var stream = File.OpenRead(FilePath);
+ using var doc = JsonDocument.Parse(stream);
+
+ var result = new Dictionary();
+ foreach (var prop in doc.RootElement.EnumerateObject())
+ {
+ if (!int.TryParse(prop.Name, NumberStyles.Integer, CultureInfo.InvariantCulture, out var id))
+ {
+ continue;
+ }
+
+ if (!prop.Value.TryGetProperty("quantity", out var quantityEl))
+ {
+ continue;
+ }
+
+ var quantityStr = quantityEl.GetString();
+ if (quantityStr is not null &&
+ int.TryParse(quantityStr, NumberStyles.Integer, CultureInfo.InvariantCulture, out var quantity))
+ {
+ result[id] = quantity;
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/tools/RustPlusBot.ItemData.Generator/Validation/DatasetValidator.cs b/tools/RustPlusBot.ItemData.Generator/Validation/DatasetValidator.cs
new file mode 100644
index 00000000..e4b2192a
--- /dev/null
+++ b/tools/RustPlusBot.ItemData.Generator/Validation/DatasetValidator.cs
@@ -0,0 +1,51 @@
+using RustPlusBot.Features.ItemData.Data;
+
+namespace RustPlusBot.ItemData.Generator.Validation;
+
+/// Options that control dataset validation thresholds.
+/// The minimum number of items the dataset must contain.
+internal sealed record ValidationOptions(int MinItemCount);
+
+/// Validates an for structural integrity.
+internal static class DatasetValidator
+{
+ ///
+ /// Validates the given against the supplied .
+ ///
+ /// The dataset to validate.
+ /// Thresholds that control which checks are performed.
+ ///
+ /// An empty list when the dataset is valid; otherwise a list of human-readable error messages.
+ ///
+ public static IReadOnlyList Validate(ItemDataset dataset, ValidationOptions options)
+ {
+ var errors = new List();
+ var ids = new HashSet(dataset.Items.Select(i => i.Id));
+
+ if (dataset.Items.Count < options.MinItemCount)
+ {
+ errors.Add(
+ $"item count {dataset.Items.Count} below minimum {options.MinItemCount}");
+ }
+
+ foreach (var item in dataset.Items.Where(i => i.Recycle is not null))
+ {
+ foreach (var entry in item.Recycle!.Recycler.Where(e => !ids.Contains(e.ItemId)))
+ {
+ errors.Add(
+ $"item {item.Id} ({item.Name}): recycle yield references unknown id {entry.ItemId}");
+ }
+ }
+
+ foreach (var item in dataset.Items.Where(i => i.Craft is not null))
+ {
+ foreach (var ingredient in item.Craft!.Ingredients.Where(ing => !ids.Contains(ing.ItemId)))
+ {
+ errors.Add(
+ $"item {item.Id} ({item.Name}): craft ingredient references unknown id {ingredient.ItemId}");
+ }
+ }
+
+ return errors;
+ }
+}