promotional bannermobile promotional banner

ContentStudio

A visual content-authoring environment for recipes, loot tables, villager and wandering-trader trades, and item tooltips. It is designed for modpack authors and server administrators who want to manage content without hand-editing every data file.

The project is designed around in-game administration. Where a feature changes shared gameplay data or server rules, the server remains authoritative; client-only presentation features stay local to the client. Configuration screens use KineticCore's UI and configuration infrastructure.

Key Features

  • Visual recipe creation, editing, preview and removal for supported vanilla processing types.
  • Loot editing for entities, blocks and loot-table containers with weighted pools and removal rules.
  • Villager profession/level trade editing and wandering-trader trade control.
  • NBT-aware item tooltip rules with normal, Shift and Alt presentation modes.
  • Search, filtering, item return/inspection and preview workflows through KineticCore.
  • Optional JEI, EMI and REI interoperability for item/recipe discovery.

Dependencies

Type Dependency
Required Forge 47.4.0+
Required KineticCore 26.9.8+
Optional JEI 15.20+
Optional EMI
Optional Roughly Enough Items (REI)

Access and Configuration

  • Open the KineticCore configuration center with its configured F6 entry and select Content Studio.
  • Server-owned settings are saved by the server and synchronized where the feature requires client awareness.
  • Client-only presentation settings remain local.
  • Individual feature areas document their own data/configuration paths below.
  • Search, list selection, item/entity inspection, tooltips and return/navigation controls reuse KineticCore UI components where available.

Detailed Feature Reference

Recipe Editor

Overview

Recipe Editor provides an in-game workflow for creating, editing, previewing and removing recipes. Server administrators and modpack authors can manage supported recipe types visually instead of maintaining every recipe by hand in JSON.

Recipe Editor uses a datapack-driven, server-applied workflow. Custom recipes and removal rules are stored in KineticCore's dedicated datapack directory and are applied through Minecraft's server datapack reload process.

Data file:

config/kineticcore/datapack/data/contentstudio/recipe_bundle.json
 

The file contains both:

  • recipes: custom recipes created and managed by Recipe Editor.
  • removals: recipe-removal rules.

Features

Visual Recipe Editing

Supported recipe types:

  • Crafting Table
  • Furnace
  • Blast Furnace
  • Smoker
  • Smithing Table
  • Stonecutter

The editor uses visual item slots for recipe inputs and outputs and provides item search, tag ingredients, NBT editing and output-count controls.

Crafting recipes can switch between shaped and shapeless modes.

Items and Tags

Recipe inputs can use either regular items or item tags.

Tag ingredients use full IDs beginning with #, for example:

#forge:ingots/iron
#minecraft:planks
 

Paper is used only as the visual placeholder for tag ingredients inside the editor. The actual recipe still uses the corresponding Item Tag.

Item search supports localized names, item IDs, @modid and #tagid queries.

NBT Matching

Input ingredients support three NBT matching modes:

  • None: match the item type without validating NBT.
  • Weak: the item must contain the required NBT but may contain additional NBT.
  • Strong: the item's NBT must match the configured NBT exactly.

An NBT editor is available for editing the required data directly.

Recipe types that support output NBT can optionally preserve the configured NBT on the result item.

Managed Custom Recipes

The custom-recipe management screen can:

  • Browse recipes managed by Recipe Editor.
  • Preview inputs and outputs.
  • Edit existing recipes.
  • Delete existing recipes.
  • Refresh recipe records from the server.
  • Display invalid recipe data for repair.

Recognizable invalid slots are shown with error placeholders so they can be replaced in the editor instead of silently hiding the broken recipe.

Unresolved configuration entries that still need to be retained are preserved where possible when other recipes are saved, reducing accidental data loss during visual editing.

Recipe Removal Manager

The removal manager browses the server recipe catalog by output item and supports removing either individual recipes or groups of recipes.

Supported removal modes:

  • RECIPE_ID: remove one exact Recipe ID.
  • OUTPUT: remove recipes by output item.
  • MOD: remove recipes by source mod.
  • TAG: remove recipes by item tag.
  • TYPE: remove recipes by recipe type.
Item-Based Browsing

The item list can be searched by item name, ID, mod or tag. Selecting an item displays its server recipes on the right side.

Recipe outlines show the current state:

  • Yellow: selected recipe.
  • Blue: hovered recipe.
  • Red: disabled by a removal rule.
  • Green: currently valid.

Detailed state information is shown through hover tooltips instead of permanently occupying list space.

Clicking a Recipe ID only selects the recipe. The built-in detailed preview is opened explicitly with the Preview Recipe button.

Bulk Removal Scope

The removal-scope menu provides quick access to:

  • @Mod
  • #Tag
  • Recipe Type

These options are used to create or adjust bulk removal rules.

Unsaved removal edits can be reverted. Saving writes the rules to recipe_bundle.json and reloads server datapacks so the changes are applied immediately.

Recipe Preview

Recipe Editor includes its own recipe preview screen for displaying the selected recipe's inputs, output and basic recipe information.

It also provides optional integration with:

  • JEI
  • EMI
  • REI

None of these recipe viewers is required at runtime.

When only one supported viewer is available, the Recipe Viewer button opens it directly. When multiple viewers are installed, Recipe Editor provides a selector menu.

When JEI is available, Recipe Editor can precisely open the selected recipe where supported. EMI and REI are used to open recipe results for the selected item.

Without any external recipe viewer installed, Recipe Editor's built-in editing, preview and removal features remain available.

Recipe Rules

Crafting
  • Shaped and shapeless recipes are supported.
  • Up to 9 input slots.
  • Output count range: 1-64.
  • Output NBT is supported.
Smithing
  • Requires template, base and addition inputs.
  • All three inputs are required.
  • Output NBT is currently not preserved.
Furnace
  • Single input.
  • Cooking time: 200 ticks.
  • Experience: 0.
Blast Furnace
  • Single input.
  • Cooking time: 100 ticks.
  • Experience: 0.
Smoker
  • Single input.
  • Cooking time: 100 ticks.
  • Experience: 0.
Stonecutter
  • Single input.
  • Configurable output count.

Save Workflow

Creating, editing or deleting a custom recipe first writes the change to:

config/kineticcore/datapack/data/contentstudio/recipe_bundle.json
 

To avoid repeatedly reloading all server datapacks during a sequence of edits, custom-recipe changes are saved first and then applied with a single datapack reload after the complete recipe-editing flow is closed.

Recipe-removal rules are saved to the same data file and trigger a server datapack reload immediately when the removal changes are saved.

During server startup or datapack reload, Recipe Editor reads recipe_bundle.json and applies its custom recipes and removal rules to the final server recipe set.

Permissions

Recipe Editor is a server administration feature.

Opening the editor and modifying, deleting or applying recipe data requires Minecraft permission level 2 or higher.

Opening Recipe Editor

Recipe Editor registers a server-managed configuration page with KineticCore.

Open the Recipe Editor page from KineticCore's configuration interface to enter the recipe hub.

Building from Source

The current source project uses:

  • ForgeGradle 6.0.24
  • Official Mappings
  • Forge 47.4.0+ toolchain

Default local dependency directory:

D:/IDEA_Caches/libs
 

For source compilation, that directory must contain KineticCore and JEI JARs recognized by localMod(). JEI is a compileOnly dependency in the source project and remains optional at runtime.

Default build output directory:

D:/NEWMODS
 

Generated mod filename:

contentstudio-<version>.jar
 

Feature Reference

Config Details

Item Description
Recipe Editor Recipe creation, editing, removal, and pending changes are stored in the dedicated Recipe Editor datapack. Changes are applied through a server datapack reload after the editor is closed.
Open Recipe Editor Open the recipe hub to create, edit, or remove supported recipe types. Empty inputs, empty outputs, and unauthorized saves are rejected.

GUI and Editors

Item Description
None Does not check NBT data during crafting.
Weak Match Checks essential NBT (e.g., Enchantments, Potions).
Strong Match Strict NBT comparison (must be identical).
on The output item will retain the current NBT data.
off The output item will have no NBT data.
Select %s to Remove Click an entry below to add it to the removal list.

Editable Options

  • Mod ID
  • Recipe ID
  • Output Item
  • Item Tag
  • Recipe Type
  • Shapeless
  • Shaped
  • None
  • Weak Match
  • Strong Match
  • All Items
  • Inventory
  • Equipped
  • All
  • Left: Clear Slot
  • Weak
  • Item must have all required NBTs but can have extra.
  • Strong
  • Item NBT must match exactly.
  • No NBT data is checked for crafting.
  • Enabled
  • Output will have specified NBT.
  • Disabled
  • Output will be pure vanilla item.

Data Paths

Primary configuration/data paths:

  • config/kineticcore/datapack/data/contentstudio/recipe_bundle.json

Loot Editor

Overview

Loot Editor is the visual loot-table editing module for this project. It edits server-loaded loot tables for entities, blocks and containers and stores custom overrides in a dedicated configuration file.

Key Features

  • Entity loot-table editor.
  • Block loot-table editor.
  • Chest/container loot-table editor.
  • Visual loot pool and entry management.
  • Rolls, quantities, weights and conditional loot data.
  • Runtime override application to server loot tables.
  • Global chest append rules.
  • Global chest item-removal rules.
  • Loot-table exclusion list for global chest rules.
  • Server-authoritative save and reload flow.

Configuration

config/kineticcore/loot_overrides.json
 

Feature Reference

Config Details

Item Description
Loot Editor Loot override rules are managed through dedicated editors for each target type; server permission is checked for reads and saves.
Edit Entity Loot Edit entity loot tables, pools, conditions, chances, and override rules.
Edit Block Loot Edit block loot tables and override rules. Saved changes follow the editor resource-reload flow.
Edit Container Loot Edit loot tables used by chests and structure containers. The server validates targets and save permission.

GUI and Editors

Item Description
Confirm Reset This restores the current loot table and discards unsaved changes.
Delete the entire pool? All rewards, conditions, and functions in this pool will also be deleted.
Global Loot Removal Rules here block matching items from the final output of every loot chest; right-click a rule to remove it.
global exclude Click a loot table on the left to exclude it; right-click an excluded entry to remove it.

Editable Options

  • Override Mode
  • Append Mode
  • Match Rule
  • Item ID
  • NBT Only
  • Fuzzy NBT
  • Exact NBT
  • ID Match
  • Match the item ID only and ignore NBT.
  • Match the same item ID only when the generated stack has any NBT.
  • Match the same item ID when its NBT contains all configured NBT conditions.
  • Match the same item ID only when its full NBT exactly equals the configured NBT.
  • Match: %s
  • NBT condition saved

Data Paths

Primary configuration/data paths:

  • config/kineticcore/loot_overrides.json

Trade Editor

Overview

Trade Editor is the villager behavior optimization and trade-management module for this project. It reduces unnecessary AI work in dense trading halls while providing configurable follow behavior, trade-level protection, and a visual trade editor for villagers and wandering traders.

Key Features

  • Configurable villager AI check interval.
  • Trapped-villager detection to stop pointless pathfinding.
  • Minimal merchant updates preserved during trade level-up timers.
  • Item-based villager following.
  • Visual follow-item editor.
  • Profession- and level-based villager trade editor.
  • Wandering trader support.
  • Add, replace-level, replace-all, and disable-level trade modes.
  • Configurable offer count per profession level.
  • Enable/disable and weight controls for vanilla trades.
  • Full custom-offer parameters including two inputs, output, NBT, uses, XP, multipliers, demand, special price, restock, and weight.
  • Server-authoritative persistence and runtime trade-pool publication.

Configuration

config/kineticcore/villager.toml
 

Feature Reference

Config Details

Item Description
Enable Item Following When enabled, villagers will follow players holding specific items (like emeralds), similar to how animals behave.
Follow Item List Open the visual lure-item editor. Add items directly through the item selector, preview their icons, and right-click an item to remove it.
Villager AI Check Interval (Seconds) Time between villager AI and pathfinding checks. Default is 5 seconds; minimum is 0.05 seconds.
Trade Level-Up Protection When enabled, lobotomized villagers will still perform minimal updates during trade level-up, preventing trading hall villagers from leveling up extremely slowly.
villager Edit villager AI check frequency, trade level-up protection, and held-item following directly here. Use the dedicated trade editor for professions, NBT, uses, XP, restocking, and vanilla trade overrides.
Open Villager Trade Editor Edit profession/level rules, custom buy/sell items and NBT, uses, XP, price multiplier, restocking, weights, and vanilla trade overrides. The server rechecks permission level 2 when opening and saving.
behavior This section contains only server-side villager behavior and performance settings. Trade rules, lure items, and trade overrides are grouped under Villager Editors below.
Villager Editors This section groups villager settings that use dedicated GUIs. Lure items use KineticCore's shared item-list editor, while trade rules continue to use the full trade editor.

GUI and Editors

Item Description
Back Return to the previous screen. This does not save automatically. Click Save first if you want changes to take effect.
clear Clear trade content search
Search Trades Search trades for the current profession by item name, item ID, NBT, count, level, weight, max uses, or XP.
buy a A Input 1 Count: How many first-input items the player must pay. Range: 1~64.
buy b B Input 2 Count: How many second-input items the player must pay. Use 0 to disable the second input.
sell Reward Count: How many items the player receives after trading. Range: 1~64.
Demand The current demand value of this trade. It affects the final price together with the price multiplier.
clear current Clear Current: When editing a single trade, only clears the current right-side editor content.
It does not clear the whole level or profession.
delete Delete the selected trade. Vanilla trades are disabled; custom trades are removed.
save Save the trade shown on the right. If a vanilla trade is selected and its contents changed, it is converted to a custom trade.
Add Trade Add Trade: Save the current level settings, then jump to a new single-trade editor.
arrow Expand / Collapse: Click this small arrow only to expand or collapse the current level trade list.
Clear Level Clear Level: Remove this level's custom trades and remove all vanilla default trades from the main list.
Removed vanilla trades can be restored by right-clicking them in the removed preview.
row Level Row: Left-click to create a new trade for this level; Right-click to clear all trades in this level; Click the small arrow on the left to expand or collapse this level.
Max Uses The maximum number of times this trade can be completed before it needs to restock.
nbt Edit NBT for this item slot. Leave empty for a normal item.
Pick Count Pick Count: How many trades this level will pick from the trade pool. For example, 2 means only 2 weighted trades will appear.
Price Mult Controls how strongly demand affects the trade price. Set to 0 to ignore demand-based price changes.
profession Click the search box to choose a profession, or type a profession name
Search Profession Click to show all villager profession suggestions. After selecting a profession, the left list shows all vanilla and custom trades for it.
Reset Profession Reset Profession: Restore removed vanilla trades and delete all custom trades and level settings for the current profession. A confirmation popup will appear.
Restore All Restore All: Restore all disabled vanilla trades for the current profession across all levels. Custom trades are kept.
Removed Removed Vanilla Trades: Open all removed vanilla trades for the selected profession across all levels. Right-click a trade to restore it.
restock When enabled, this trade restocks using vanilla mechanics. When disabled, restocking will not restore this trade.
reward When enabled, the player receives vanilla trade XP from this offer.
Save Save the current villager trade config to villager.toml.
Newly generated or refreshed villager trades will use the new rules.
clear Clear Search: Clear the profession search box and unselect the current villager profession.
A Input 1 A Input 1: The first input item in the vanilla villager trade UI. The player must provide this item to trade.
B Input 2 B Input 2: The second input item in the vanilla villager trade UI. Leave it empty and set count to 0 if unused.
Reward Reward: The final item the player receives after trading. Click the icon to open the item selector.
Special Price A direct price adjustment applied to this trade. Negative values can reduce the price.
Uses The number of times this trade has already been used. Once it reaches the maximum uses, restocking is required.
Weight Higher weight makes this trade more likely to be selected. A weight of 0 prevents it from being selected.
XP The profession XP granted to the villager when this trade is completed.
Clear Clear this trade item without deleting the whole trade.
Undo %s/%s Undo the previous unsaved change (Ctrl+Z)

Editable Options

  • Add
  • Disabled
  • Replace
  • A Input 1
  • B Input 2
  • Reward
  • Clear

Config Defaults

Key Default
villager.follow_enable true
villager.tickInterval 100
villager.trade_update_protection true

Data Paths

Primary configuration/data paths:

  • config/kineticcore/villager.toml

Tooltip Editor

Overview

Tooltip Editor is the visual item-tooltip editor for this project. It provides an in-game editor for KubeJS tooltip rules so pack authors can select items, edit text, and configure display conditions without manually maintaining the whole script.

The server validates the submitted rule database and generates kubejs/client_scripts/tooltipadd.js.

Key Features

  • Central overview of configured items.
  • Search by item ID or localized name.
  • Append and overwrite modes.
  • Target-line selection for overwrite rules.
  • No-key, Shift, Alt, and Shift+Alt conditions.
  • Multiple rules per item.
  • Ctrl + left-drag rule reordering.
  • Minecraft § formatting codes.
  • Item-level configuration removal.
  • Server-side validation of IDs, modes, line numbers, key conditions, limits, and text.
  • Server-authoritative script persistence.
  • Safer temporary-file replacement when writing the generated script.

Generated File

kubejs/client_scripts/tooltipadd.js
 

The generated script also acts as the rule database that Tooltip Editor reads back into its editor.

Feature Reference

Config Details

Item Description
Item Tooltip Management Manage Tooltip rules in the dedicated editor, which generates KubeJS client_scripts/tooltipadd.js so the script does not need manual editing. The server validates administrator permission, item IDs, modes, line numbers, key conditions, and text.
Open Tooltip Editor Add overwrite or append Tooltip rules for items, with target line, Shift/Alt conditions, and text. Success is shown only after the server actually writes the script.

Editable Options

  • Overwrite
  • Append
  • Delete this rule

Building from Source

  • Minecraft: 1.20.1
  • Java: 17
  • ForgeGradle: 6.0.24
  • Gradle: the project is pinned to the 8.1.1 Wrapper; do not import it with Gradle 9 directly.
  • Local development JARs are controlled by local_libs_dir and can be overridden in gradle.properties or with a project property.
  • Typical build command: gradlew.bat build on Windows or ./gradlew build on Linux/macOS.
  • Development and release artifacts use contentstudio as the current project identifier.

The ContentStudio Team

profile avatar
Owner
  • 5
    Projects
  • 53
    Downloads

More from XYATView all

  • AdventureSystems project image

    AdventureSystems

    A player-progression and adventure utility suite centered on Curios equipment, wallet/currency and shop mechanics, FTB Quests navigation and submission helpers, and context-sensitive tutorial or story tips.

    • 2
    • September 12, 2026
  • KineticCore project image

    KineticCore

    KineticCore is the foundation of the Kinetic mod family. It provides the shared API layer, module bootstrap system, unified configuration center

    • 23
    • September 12, 2026
  • KineticChat project image

    KineticChat

    KineticChat is a modern chat enhancement module for the Kinetic family. It removes restrictive vanilla limits and adds practical tools for long-running multiplayer sessions.

    • 9
    • September 11, 2026
  • KineticArmory project image

    KineticArmory

    KineticArmory is the Kinetic armor-set and dynamic-condition mod for modpack authors and server administrators. It provides a complete workflow for armor-set definitions

    • 11
    • September 11, 2026
  • AdventureSystems project image

    AdventureSystems

    A player-progression and adventure utility suite centered on Curios equipment, wallet/currency and shop mechanics, FTB Quests navigation and submission helpers, and context-sensitive tutorial or story tips.

    • 2
    • September 12, 2026
  • KineticCore project image

    KineticCore

    KineticCore is the foundation of the Kinetic mod family. It provides the shared API layer, module bootstrap system, unified configuration center

    • 23
    • September 12, 2026
  • KineticChat project image

    KineticChat

    KineticChat is a modern chat enhancement module for the Kinetic family. It removes restrictive vanilla limits and adds practical tools for long-running multiplayer sessions.

    • 9
    • September 11, 2026
  • KineticArmory project image

    KineticArmory

    KineticArmory is the Kinetic armor-set and dynamic-condition mod for modpack authors and server administrators. It provides a complete workflow for armor-set definitions

    • 11
    • September 11, 2026