TinkerStages - Progression Control for Tinkers Construct
This mod is an extension for the GameStage API that allows integrating various aspects of the Tinkers Construct mod into custom progression systems. If you're not familiar with GameStage API, I recommend checking out the main mod's description to understand the basic principles of operation.
Briefly, stages represent progression milestones that are configured by modpack creators or server administrators. Players gain access to stages through special commands that are typically activated by quest systems, achievements, or command blocks.
Setup and Configuration
The mod uses CraftTweaker for configuration, providing flexible customization options for your project's specific needs.
General Restrictions
These restrictions apply to the entire system as a whole, not to specific situations. Each ZenScript method takes one parameter - the name of the stage you want to link the restriction to. You can add multiple stages for one system, and the player will gain access if they have at least one of the specified stages.
- Tool Crafting - Blocks the ability to craft tools at the Tinkers Construct station without the required stage.
mods.TinkerStages.addGeneralCraftingStage(String stage); - Part Replacement - Prohibits replacing tool components at the work station without the corresponding stage.
mods.TinkerStages.addGeneralPartReplacingStage(String stage); - Part Creation - Restricts component manufacturing in the part builder.
mods.TinkerStages.addGeneralPartBuildingStage(String stage); - Modifier Application - Prevents applying enhancements to tools without the required stage.
mods.TinkerStages.addGeneralModifierStage(String stage);
Specific Restrictions
These restrictions work in specific situations and have various configuration parameters, but all are intuitive to use.
- Tool Type - Blocks the creation of a specific tool type. For example, you can restrict hammer crafting until a certain stage is obtained.
mods.TinkerStages.addToolTypeStage(String stage, String toolId); - Materials - Prohibits the use of a specific material for crafting, part creation, and tool usage.
mods.TinkerStages.addMaterialStage(String stage, String material); - Modifiers - Restricts the application of a specific enhancement to tools.
mods.TinkerStages.addModifierStage(String stage, String modifier);
Example Script
//GENERAL RESTRICTIONS
//Blocks all tools until stage is unlocked
mods.TinkerStages.addGeneralCraftingStage("one");
//Prohibits tool part replacement without stage
mods.TinkerStages.addGeneralPartReplacingStage("one");
//Blocks part creation without required stage
mods.TinkerStages.addGeneralPartBuildingStage("one");
//Prevents applying enhancements without stage
mods.TinkerStages.addGeneralModifierStage("one");
//SPECIFIC RESTRICTIONS
//Prohibits pickaxe crafting until stage is obtained
mods.TinkerStages.addToolTypeStage("two", "tconstruct:pickaxe");
//Blocks material usage
mods.TinkerStages.addMaterialStage("two", "stone");
//Restricts modifier application
mods.TinkerStages.addModifierStage("two", "mending_moss");