Skip to content
MROOT

FIVEM COMMUNITY / BROWSER TOOL

CraftNet.

Work out the shortfall.
Share the plan.

A FiveM crafting calculator that accounts for existing stock and shares the configuration in a URL.

A BILL OF MATERIALSNeed it.
Have it.
Find the gap.
REQUIREMENT
12
ON HAND
5
SHORTFALL
7
Sample arithmetic and illustrated materials. Not actual game recipes, prices or inventory.
Documented project~3 min read
My contribution
Calculator logic, interface
& deployment
Context
FiveM community tool
Browser-based calculation
Built with
React · Browser calculations
URL-encoded configuration

01 / THE BUILDPlan the build before gathering the materials

CraftNet is a crafting cost-and-profit calculator for a FiveM roleplay community. A player supplies recipes, prices and the stock already on hand, then works out what the planned queue still needs.

The useful output is a shortfall-aware bill of materials. Instead of treating every ingredient as a new purchase, the calculation accounts for what is already available. The configuration can then be shared in a link.

My work covered the calculator logic, the interface and deployment. The documented tool runs in the browser without an application backend or user accounts.

02 / THE BUILDChange the inputs. See what is still missing.

This example uses a deliberately small sample recipe: one assembly needs three metal units and two polymer units. It is a fictional teaching recipe, not a price list or recipe from the game server.

Change the queue, stock and unit prices. The result separates the total material requirement from the remaining shortfall. That difference is the point of the interaction.

A SMALL CALCULATION YOU CAN INSPECT

Only buy the shortfall.

Change the inputs and follow the arithmetic. The recipe and URL format belong to this teaching example.

FICTIONAL TEACHING RECIPE

One assembly.
Three metal. Two polymer.

Metal

3 PER ASSEMBLY
Required
12
Shortfall
7
Buy missing
17.50

Polymer

2 PER ASSEMBLY
Required
8
Shortfall
7
Buy missing
21.00
PURCHASE COST / MISSING MATERIALS ONLY

Example units. Not live game prices or projected profit.

38.50EXAMPLE UNITS

Inputs stay on this page. Generate a setup only when you choose to share these example numbers.

Read the explanation without interacting

Four assemblies require twelve metal and eight polymer units. With five metal and one polymer already available, each material has a shortfall of seven. At example prices of 2.50 and 3.00, the missing materials cost 38.50 units. Extra stock never creates a negative purchase. Generated versioned URL fragments include only the five numeric inputs and restore this sample configuration, not a shared live record.

No live recipe, pricing, inventory, game integration or original algorithm is claimed. Empty/invalid inputs become zero; quantities round down; unit prices use two decimals. Limits: 100 assemblies, 1,000 stock or price units.

The example's purchase cost covers missing materials only. It is not a claim about real in-game profit, live prices or the original calculator's full recipe system.

03 / THE BUILDShare the configuration, not an account

The original project account describes encoding the queue, prices and stock in the URL. Opening the link reconstructs the setup in another browser. It shares a snapshot of the inputs rather than a centrally synchronized record.

The sample above demonstrates that idea with its own small, versioned URL fragment. Generate a setup, change the inputs, then reopen the generated setup to see the earlier configuration restored. Another person needs this same sample page to open that fragment.

The original CraftNet encoding format is not supplied, so this illustration does not pretend to generate a link for the live game tool.

04 / THE BUILDA calculation that belongs in the browser

For the documented scope, the application needs inputs and a calculation, not a private account history or a shared database. Keeping that work in the browser avoids adding a service whose only job would be to repeat the calculation elsewhere.

That is not a promise of zero maintenance or universal privacy. A shared link carries the configuration. It should contain only information the user intends to share. If the product later needs private inventories, authoritative shared records or live game integration, those would be new requirements—not hidden features of this build.

05 / THE BUILDWhat this project is about

The project connects several small decisions: subtract existing stock, keep the result readable, and make the same setup easy to show someone else. Its architecture stays close to that task.

The companion article uses CraftNet to ask a broader question: when does a tool genuinely need shared persistence or server-side rules, and when is a calculation over explicit inputs enough?

Source, dates, and what this page verifies

This page describes the supplied project account and related full article. Original publication dates remain attached to the source version. No production repository, message provider, Google Sheet, user account or game service was accessed.

The diagrams are newly implemented teaching examples, not screenshots or re-creations of complete application logic. They use fictional data and memory-only state; the CraftNet fragment carries bounded numeric example settings only. Original code excerpts are preserved and are not executed as production code here.

Technical clarifications and source corrections are identified in the article and in docs/batch-3/SOURCE-REVIEW.md. They do not constitute a new application security, performance or deployment audit.

Ready to build?

Something here sparks an idea?

Start with your goal. We can work out the right shape together.

Quote before you commit · Reply within 1 business day · You own the finished custom code and content after final payment

Start a project