来源:群峦传说1.12+github官方文档

初步汉化


【TFC】群峦传说

For changing recipes, item size/heat/forging capabilities, TerraFirmaCraft adds hooks for CraftTweaker scripts. To do that, you first need to import a recipe manager using mods.terrafirmacraft.[RecipeType]. The list of recipe managers currently in TFC is:

 

合金-Alloy - For adding and removing alloy recipes.

砧-Anvil - For adding anvil working recipes, requiring working temperature and rules.

焊接-Welding - For adding recipes to weld two items into one

桶-Barrel - For adding many types of transformations, both fluid and items to barrels.

凿子-Chisel - For adding chisel smoothing transformations from block -> block.

织布机-Loom - For adding recipes to the loom. Slightly more involved as it requires additional textures or assets for the rendering.

窑坑 - Adds pit kiln transformation recipes. Also used in the forge and fire pit for transformations at Brilliant White heat

石磨 - Adds grinding recipes to the quern

捏粘土 - Adds knapping recipes using clay

捏耐火粘土 - Adds knapping recipes using fire clay

捏皮革 - LeatherKnapping - Adds knapping recipes using leather

捏石头 - StoneKnapping - Adds knapping recipes using stones. Can respect the rock category (igneous, metamorphic, etc.)

还有物品注册(加热、熔炉、大小)-Along with the item registry for Heating, Forging and Size capabilities:ItemRegistry

 

●Alloy●合金

DisasterMoo edited this page on 3 Mar · 3 revisions

For manipulating Alloy recipes a recipe builder is provided:

 

// Import Alloy methods into your script

import mods.terrafirmacraft.Alloy;

import mods.terrafirmacraft.AlloyRecipeBuilder;

 

//Gets the recipe builder for the specified metal 注册合金

AlloyRecipeBuilder builder = Alloy.addAlloy(String metal);

//Removes the alloy recipe from registry 移除注册合金

Alloy.removeAlloy(String metal);

注:String metal参见●Metals●

 

//Adds metal content to this alloying recipe 增加合金配方

builder.addMetal(String input, double min, double max);

//Finish the recipe, build and register it.

builder.build();

Please refer to Metals for a complete reference on TFC Metals.

 

Example script: 举例

 

Alloy.addAlloy("BRONZE").addMetal("COPPER", 0.88, 0.92).addMetal("TIN", 0.08, 0.12).build();

Alloy.addAlloy("BISMUTH_BRONZE").addMetal("COPPER", 0.5, 0.65).addMetal("BISMUTH", 0.1, 0.2).addMetal("zinc", 0.2, 0.3).build();

 

●Anvil●砧

The Anvil has three methods for manipulating recipes:

 

// Import anvil methods into your script

import mods.terrafirmacraft.Anvil;

// Adds a recipe with the given parameters 增加配方

Anvil.addRecipe(String registryName, IIngredient input, IItemStack output, int minTier, String skillType, String... forgeRules);

// Removes all recipes that have a given output  移除某项产出物对应的所有配方

Anvil.removeRecipe(IItemStack output);

// Removes a single recipe by registry name 按配方名称移除配方

Anvil.removeRecipe(String registryName);

Important things to note:

 

Input can't be stacked. Anvils only accept one item per slot.

input must be forgeable (please refer to ItemRegistry for registering forging capability to an item).

Tiers are 0 = Stone, 1 = Copper, 2 = Bronze, 3 = Wrought Iron, 4 = Steel, 5 = Black Steel and 6 = Red/Blue Steel.

Skill type is what category of skill the forging should contribute to. Valid entries are general, tools, weapons, armor, or null. If the skill type is tools, weapons, or armor then the result item will have a skill bonus applied to it.

A recipe must have 1, 2 or 3 rules. Rules consist of a type (HIT, DRAW, PUNCH, BEND, UPSET, or SHRINK), followed by an order (ANY, NOT_LAST, LAST, SECOND_LAST, THIRD_LAST), separated by an underscore. As example, HIT_ANY, DRAW_SECOND_LAST, and UPSET_NOT_LAST are valid rule names.

 

●Welding●焊接

DisasterMoo edited this page on 3 Mar · 6 revisions

Welding recipe manager has three methods for recipe manipulation:

 

// Import welding methods into your script

import mods.terrafirmacraft.Welding;

// Adds a recipe with the given parameters 增加配方

Welding.addRecipe(String registryName, IIngredient input1, IIngredient input2, IItemStack output, int minTier);

// Removes all recipes that produce a given output 移除某项产出物对应的所有配方

Welding.removeRecipe(IItemStack output);

// Removes a single recipe by registry name 按配方名称移除配方

Welding.removeRecipe(String registryName);

As with anvil recipes, the same rules for input applies here. The input must be forgeable(see ItemRegistry for registering forging capability to an item) and can't be stacked.

 

●Barrel●桶

Barrel recipe manager has three methods for manipulating recipes:

// Import barrel methods into your script

import mods.terrafirmacraft.Barrel;

// Adds a recipe with the given parameters 增加配方

Barrel.addRecipe(String registryName, @Optional IIngredient itemInput, ILiquidStack fluidInput, @Optional IItemStack itemOutput, @Optional ILiquidStack fluidOutput, int hours)

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

Barrel.removeRecipe(@Optional IItemStack outputItem, @Optional ILiquidStack outputLiquid)

// Removes a single recipe by registry name 按配方名称移除配方

Barrel.removeRecipe(String registryName)

At least one output(liquid or item) must be supplied, for both removing and adding recipes.

 

●Chisel●凿子

DisasterMoo edited this page on 3 Mar · 1 revision

// Import the chisel methods into your script

import mods.terrafirmacraft.Chisel;

// Adds a recipe with the given parameters 增加配方

Chisel.addRecipe(String registryName, IItemStack input, IItemStack output);

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

Chisel.removeRecipe(IItemStack output);

// Removes a single recipe by registry name 按配方名称移除配方

Chisel.removeRecipe(String registryName);

Note: input and output must be blocks.

 

●Knapping●捏东西

Clay, Fire Clay and Leather Knapping recipe managers all works the same. Each one has three methods for manipulating recipes:

 

// Import the [Knapping] methods into your script

import mods.terrafirmacraft.[Knapping];

// Adds a recipe with the given parameters 增加配方

[Knapping].addRecipe(String registryName, IItemStack output, String... pattern)

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

[Knapping].removeRecipe(IItemStack output)

// Removes a single recipe by registry name 按配方名称移除配方

[Knapping].removeRecipe(String registryName)

 

Where [Knapping] = ClayKnapping, FireClayKnapping or LeatherKnapping

Pattern must be a closed interval [1, 5]. Each input string is a line of the matrix. Empty spaces indicates where user must click, examples:对捏出的图形举例:

 

Small Ceramic Vessel:罐子

" XXX ",

"XXXXX",

"XXXXX",

"XXXXX",

" XXX "

Ingot mold:模具

"XXXX",

"X  X",

"X  X",

"XXXX"

完整栗子:

ClayKnapping.addRecipe("small_ceramic_vessel", <tfc:ceramics/unfired/vessel>, " XXX ",

                                                                              "XXXXX",

                                                                              "XXXXX",

                                                                              "XXXXX",

                                                                              " XXX ");

 

●Stone Knapping●以捏石头举例

Stone Knapping recipe manager works a bit different than the other knappers. It has three methods for recipe manipulation:

 

// Import the StoneKnapping methods into your script

import mods.terrafirmacraft.StoneKnapping;

// Methods

StoneKnapping.addRecipe(String registryName, IItemStack[] output, String[] rocks, String... pattern)

StoneKnapping.removeRecipe(IItemStack output)

StoneKnapping.removeRecipe(String registryName)

each rocks gives different output items depending on which rock you are knapping. By default, this only applied to which rock tool category you get, which translates to how durable the rock tool is. Using this manager, you can add your own output depending on which rock(s) the user knaps.

 

The rocks are:也就是【String... pattern】要填的

 

chalk

granite

diorite

gabbro

shale

claystone

rocksalt

limestone

conglomerate

dolomite

chert

rhyolite

basalt

andesite

dacite

quartzite

slate

phyllite

schist

gneise

marble

Examples of this script:  

 

// Gives a stone hoe in all rocks. 

StoneKnapping.addRecipe("testrecipe", [<minecraft:stone_hoe>], ["all"], "     ", "XXXX "); 

// Gives a stone hoe only in shale, claystone, rocksalt, limestone.

StoneKnapping.addRecipe("testrecipe2", [<minecraft:stone_hoe>], ["shale", "claystone", "rocksalt", "limestone"], "     ", "XXXX ");

// Gives a stone hoe in claystone, and a pickaxe in limestone.

StoneKnapping.addRecipe("testrecipe3", [<minecraft:stone_hoe>, <minecraft:stone_pickaxe>], ["claystone", "limestone"], "     ", "XXXX ");

// Gives a stone hoe only in basalt and chert.

StoneKnapping.addRecipe("testrecipe4", [<minecraft:stone_hoe>, <minecraft:stone_hoe>], ["basalt", "chert"], "     ", "XXXX ");

 

●Heating●加热

DisasterMoo edited this page on 3 Mar · 5 revisions

This is the central place to add any heat transformation recipes. This includes

 

food turning into cooked variants at some temperature

food "burning" and disappearing when heated to high

firing pottery in a pit kiln

any other heat related transformation. It will be applied by any device that supports it.

// Imports Heating methods into your script

import mods.terrafirmacraft.Heating;

 

// Adds a recipe with the given parameters 增加配方

Heating.addRecipe(String registryName, IItemStack input, IItemStack output, float transformTemp, float maxTemp)

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

Heating.removeRecipe(IItemStack output)

// Removes a single recipe by registry name 按配方名称移除配方

Heating.removeRecipe(String registryName)

Important things to note:

 

transformTemp is at which temperature the recipe completely transform the input into the output stack.

maxTemp is at which temperature the input is destroyed.

For a complete reference, check Heating Temperatures

 

●Loom●织布机

Loom recipe manager has three methods for recipe manipulation:

 

// Import Loom methods into your script

import mods.terrafirmacraft.Loom;

// Adds a recipe with the given parameters 增加配方

Loom.addRecipe(String registryName, IIngredient input, IItemStack output, int steps, String loomTexture)

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

Loom.removeRecipe(IItemStack output)

// Removes all recipes that have a given output 按配方名称移除配方(这里英文文档应该写错了)

Loom.removeRecipe(String registryName)

Arguments:

 

steps is the number of steps needed to complete the recipe. It's the number of times the player has to click the loom, each movement of the loop advances one step. Within TFC, this is the same as the number of items required for the recipe, but it is not required to be so.

loomTexture is a path (ResourceLocation) to a texture file, to be used to display on the loom in the world.(For example, "minecraft:textures/blocks/wool_colored_white.png" references the vanilla texture for white wool). If you are using custom textures you need some form of data/resource loading (read: a resource pack) for this to be able to reference your texture correctly.

 

●Quern●石磨

DisasterMoo edited this page on 3 Mar · 5 revisions

// Imports Quern methods into your script

import mods.terrafirmacraft.Quern;

// Adds a recipe with the given parameters 增加配方

Quern.addRecipe(String registryName, IIngredient input, IItemStack output)

// Removes all recipes that have a given output  移除某项产出物对应的所有配方

Quern.removeRecipe(IItemStack output)

// Removes a single recipe by registry name 按配方名称移除配方

Quern.removeRecipe(String registryName)

This is a basic input -> output recipe, so, it works like adding a furnace recipe, but without ticks.

 

 

●ItemRegistry●物品注册【比较有意思,是群峦跟原版的最大区别】

Alex O'Neill edited this page 29 days ago · 10 revisions

ItemRegistry adds TFC capabilities to items outside TFC's realm.

 

// Imports ItemRegistry methods into your script

import mods.terrafirmacraft.ItemRegistry;

// Register item size and weight. This changes how much a stack can hold.注册物品重量,也就是最大堆叠

ItemRegistry.registerItemSize(IIngredient input, String size, String weight);

// Register item heat capability and if this item is forgeable (eg: can be used in anvil).注册物品是否可以用砧加工,以及群峦熔炉加热

ItemRegistry.registerItemHeat(IIngredient input, float heatCapacity, float meltTemp, bool forgeable);

// Register item as a metal item. Note that this automatically adds heating and forging capability.注册物品为一个金属,是上面那个注册的子集

// If canMelt is false this item won't bear the output directly (like iron ore needs bloomery/blast furnace)定义是否可以被融化canMelt可以做出铁那样无法直接烧融的金属

ItemRegistry.registerItemMetal(IIngredient input, String metal, int units, bool canMelt);

// Register item food stats (Does not work on TFC Foods), This takes priority over existing values. Setting Decay to 0 stops decay from happening.注册食品状态,饱食度、满意度,水、腐烂时间、营养

ItemRegistry.registerFood(IIngredient input, int hunger, float water, float saturation, float decay, float grain, float veg, float fruit, float meat, float dairy);

// Register armor stats 注册装备

ItemRegistry.registerArmor(IIngredient input, float crushingModifier, float piercingModifier, float slashingModifier);

// Register item as a fuel for fire pit or forge 注册tfc熔炉燃料

ItemRegistry.registerFuel(IItemStack itemStack, int burnTicks, float temperature, bool forgeFuel, bool bloomeryFuel)

Please refer to Metals for a complete reference on TFC Metals.

 

Things to note:

 

Sizes [TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE , HUGE]

Weights [VERY_LIGHT, LIGHT, MEDIUM, HEAVY, VERY_HEAVY]

Heat capacity determines how fast an item cools down/heat up. Wrought Iron is 0.35.

Melt temperature is at which temperature the item is melt. Wrought Iron is 1535 Brilliant White while Bronze is 950 Orange. For a complete reference, check Heating Temperatures

Registered metal ingot items aren't automatically registered as a valid input for tools (eg: Steel ingot from other mods registered by registerMetalItem method won't be automatically workable to TFC steel pickaxe head)

【TFCtech】以下附赠群峦科技模组crafttweaker文档

 

For changing recipes, TFCTech provides some CT hooks into the recipe API. Currently, the supported recipe manipulators are:

 

Glassworking - For adding and removing blowpipe's glassworking recipes.

Smeltery - For adding and removing smeltery recipes.

WireDrawing - For adding and removing wire drawing recipes.

 

●Glassworking●吹玻璃,类似捏石头

DisasterMoo edited this page on 25 Feb · 2 revisions

For manipulating Glassworking recipes, a hook is provided:

 

// Import the recipe methods into your script.

import mods.tfctech.Glassworking;

// Adds a recipe with the given parameters 增加配方

Glassworking.addRecipe(String registryName, IItemStack output, String... pattern)

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

Glassworking.removeRecipe(IItemStack output)

// Removes a single recipe by registry name 按配方名称移除配方

Glassworking.removeRecipe(String registryName)

Pattern must be a closed interval [1, 5]. Each input string is a line of the matrix. Empty spaces indicates where user must click, examples:

 

Glass bottle:

" X X ",

" X X ",

"X   X",

"X   X",

" XXX "

Glassworking.addRecipe("glass_bottle", <minecraft:glass_bottle>, " X X ",

                                                                 " X X ",

                                                                 "X   X",

                                                                 "X   X",

                                                                 " XXX ");

 

●Smeltery● 融化玻璃的那个窑

DisasterMoo edited this page on 25 Feb · 1 revision

For manipulating Smeltery recipes, a hook is provided:

 

增加配方:

import mods.tfctech.Smeltery; // Imports the Smeltery methods into your script

import mods.tfctech.SmelteryRecipeBuilder; // Imports the smeltery recipe builder into your script

// Returns a recipe builder

SmelteryRecipeBuilder builder = Smeltery.addRecipe(String registryName, ILiquidStack output, float meltTemp);

// Adds input to the recipe (recipes can have between 1 and 8 inputs). 

builder.addInput(IIngredient input);

// Builds and register the recipe

builder.build();

 

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

Smeltery.removeRecipe(ILiquidStack output);

// Removes a single recipe by registry name 按配方名称移除配方

Smeltery.removeRecipe(String registryName);

Important things to note:

 

meltTemp is at which temperature the recipe completely transform all inputs into the molten liquid.

 

●WireDrawing● 制作电线的那个机器

DisasterMoo edited this page on 25 Feb · 1 revision

For manipulating Wiredrawing recipes, a hook is provided:

 

import mods.tfctech.WireDrawing; // Imports the WireDrawing methods into your script

// Register a recipe using the given parameters 增加配方

WireDrawing.addRecipe(String registryName, IIngredient input, int minTier, IItemStack output, int color);

// Removes all recipes that have a given output 移除某项产出物对应的所有配方

Smeltery.removeRecipe(IItemStack output);

// Removes a single recipe by registry name 按配方名称移除配方

Smeltery.removeRecipe(String registryName);

Important things to note:

 

minTier is the minimum draw plate tier required to work. Currently, there's only TIER_III, TIER_IV and TIER_V (wrought iron, steel and black steel) draw plates.

color is the hexadecimal (ie: 0xFFA6B525) color that the drawing bench will color the wiring process.

You can add anything (yes, even non-wires) to the recipe and make it draw like if it was a wire with the color specified.

 

群峦科技文档结束

以下是定义说明

●温度的定义域●

Warming starts at 1, ends at 80

Hot starts at 80, ends at 210

Very Hot starts at 210, ends at 480

Faint Red starts at 480, ends at 580

Dark Red starts at 580, ends at 730

Bright Red starts at 730, ends at 930

Orange starts at 930, ends at 1100

Yellow starts at 1100, ends at 1300

Yellow White starts at 1300, ends at 1400

White starts at 1400, ends at 1500

Brilliant White starts at 1500

 

●Metals●金属的string定义

 

BISMUTH

BISMUTH_BRONZE

BLACK_BRONZE

BRASS

BRONZE

COPPER

GOLD

LEAD

NICKEL

ROSE_GOLD

SILVER

TIN

ZINC

STERLING_SILVER

WROUGHT_IRON

PIG_IRON

STEEL

PLATINUM

BLACK_STEEL

BLUE_STEEL

RED_STEEL

WEAK_STEEL

WEAK_BLUE_STEEL

WEAK_RED_STEEL

HIGH_CARBON_STEEL

HIGH_CARBON_BLUE_STEEL

HIGH_CARBON_RED_STEEL

HIGH_CARBON_BLACK_STEEL

UNKNOWN