Description
Recycler — data‑driven economy foundation for your modpack
Turn unwanted items into Scrap with a fast, focused Recycler block. Fully data‑driven via TOML and datapacks, with tag‑ and item‑based rules and optional TACZ coverage. Designed to be the backbone of your modpack’s economy: simple loop, clear feedback, and values you can rebalance without recompiling.
Key Features
- Recycler block: five input slots, five output slots, FE/RF power usage, visible progress bar, and ambient particles for clear feedback
- Scrap currency: lightweight item you can sink or reward anywhere in your progression
- Flexible config (TOML): allow by item and by tag; set fixed amounts or random ranges (
lo..hi) per item or per tag - Datapack support: ship defaults with
data/recycler/recycler/scrap_values.json(number or{min,max}) for per‑world tuning and quick/reloaditeration - Scales with tags: cover entire families (e.g., tools, weapons) without enumerating every ID, then override a few standouts by item
- Optional TACZ compatibility: cover weapons through item allows or tag rules without bespoke patches
Why it fits modpacks
- Economy backbone: clear loop (items → Scrap) that is easy to explain and adopt
- Externalized balance: tweak numbers in configs/datapacks; no code changes or new binaries
- Scales safely: use tag defaults for a stable baseline; refine outliers by item
- Low cognitive load: minimal friction for players and maintainers alike
Getting Started
- Drop the
.jarintomods/(Forge 1.20.x) - Place the Recycler, power it with FE/RF, insert items, collect Scrap
- On first run, edit
config/recycler-common.toml:item_allow: list of allowed itemstag_allow: list of allowed tagsitem_overrides: fixed values (n) or rangeslo..hiper itemtag_defaults: fixed values (n) or rangeslo..hiper tag
Data‑driven Balance
- Start broad with tags: define your baseline in
tag_defaults - Refine with item overrides: adjust outliers that are too strong/weak
- Split scope: keep global policy in TOML and per‑world tweaks in a datapack
Datapack Overrides (per world)
- Path:
data/recycler/recycler/scrap_values.json - Accepts either a number or an object
{min,max} - Example:
{
"minecraft:iron_ingot": 2,
"#forge:tools": { "min": 1, "max": 3 }
}
- Use
/reloadto iterate quickly in SSP/servers
Block Details
- 5 input slots, 5 output slots
- Consumes FE/RF during operation
- Visible progress and ambient particles for at‑a‑glance status
Compatibility
- TACZ (optional): supported via item/tag rules; no dedicated patches required
- Plays nicely with content/progression mods since values are externalized and reloadable
Requirements
- Forge 1.20.x
License
- MIT — straightforward redistribution and modpack inclusion
FAQ
- Do I need an economy plugin? No. Scrap is the built‑in currency loop
- Can I adjust values per world? Yes, via the datapack JSON and
/reload - How do I make exceptions? Use
item_overridesin TOML or per‑item entries in the datapack JSON - Performance considerations? Lightweight, focused design; all balancing is data‑driven




