我的世界工匠之作魔改教程
本教程是从wiki上直接拷贝,给大家翻译,再加上一些建议,不要嫌弃。
wiki链接:https://artisan-worktables.readthedocs.io/en/latest/
首先,这个模组没有什么东西,很多合成配方(除了模组的工作台和工具)需要自己写。
会点魔改的人都知道魔改需要CRT(CraftTweaker)这个模组,CRT链接,用的魔改文件后缀是.zs
来个教程:https://youyi580.gitbook.io/zentutorial/zenscript
import mods.artisanworktables.builder.RecipeBuilder;
static RecipeBuilder get(String table);
RecipeBuilder setName(String name);
RecipeBuilder setShaped(IIngredient[][] ingredients);
RecipeBuilder setShapeless(IIngredient[] ingredients);
RecipeBuilder setFluid(ILiquidStack fluidIngredient);
RecipeBuilder setSecondaryIngredients(IIngredient[] secondaryIngredients);
RecipeBuilder setConsumeSecondaryIngredients(@Optional(default = true) boolean consume);
RecipeBuilder setMirrored(@Optional(default = true) boolean mirrored);
RecipeBuilder addTool(IIngredient tool, int damage);
RecipeBuilder addOutput(IItemStack output, @Optional(default = 1) int weight);
RecipeBuilder setExtraOutputOne(IItemStack output, float chance);
RecipeBuilder setExtraOutputTwo(IItemStack output, float chance);
RecipeBuilder setExtraOutputThree(IItemStack output, float chance);
RecipeBuilder setMinimumTier(int minimumTier);
RecipeBuilder setMaximumTier(int maximumTier);RecipeBuilder setExperienceRequired(int experienceRequired);
RecipeBuilder setLevelRequired(int levelRequired);
RecipeBuilder setConsumeExperience(@Optional(default = true) boolean consume);RecipeBuilder setHidden(@Optional(default = true) boolean hidden);
RecipeBuilder setRecipeFunction(IRecipeFunction recipeFunction);
RecipeBuilder setRecipeAction(IRecipeAction recipeAction);
RecipeBuilder setCopy(Copy copyTask);
RecipeBuilder addRequirement(IMatchRequirementBuilder requirementBuilder);
RecipeBuilder create();
别看东西很多,事实上真正常用的,也就那么几条。
首先,这个魔改最基础的样子是这样的:
import mods.artisanworktables.builder.RecipeBuilder;
val builder = RecipeBuilder.get(“basic”);
builder.setShapeless([<minecraft:dirt>]);
builder.addOutput(<minecraft:cobblestone>);
builder.create();
一行一行看,第一行就是加载这个MOD的魔改内容,无脑复制粘贴就行。
第二行写的是这个魔改的工作台的名称,有很多种,这个basic是基础的。所有的工作台名称发在后面。
第三行写的是合成配方,shapeless指的是无序合成(就像原版的木板合成配方),也可以写成
builder.setShaped([
[<minecraft:cobblestone>, <minecraft:cobblestone>, <minecraft:cobblestone>],
[<minecraft:cobblestone>, null, <minecraft:cobblestone>],
[<minecraft:cobblestone>, <minecraft:cobblestone>, <minecraft:cobblestone>]])
这是有序合成,那个null指的是什么都不用放。
至于minecraft:cobblestone,这个是可以替换的
这是个3×3的合成,也可以是5×5的,注意合成摆放顺序是从左往右,就像写字一样。
如果是无序合成的话,就没顺序这么一说了,不用null。
至于这个RecipeBuilder setMinimumTier(int minimumTier);
指的是桌子的最低等级,有0,1,2三个等级。
最高等级是这样的:RecipeBuilder setMaximumTier(int maximumTier);
别那么死板,括号里的数字是可以替换的。
等级 | 合成格子的尺寸 | 容纳的工具 | 流体存储 | 副产物 |
---|---|---|---|---|
Worktable(0) | 3×3 | 1 | 4,000mb | 0 |
Workstation(1) | 3×3 | 2 | 8,000mb | 9 |
Workshop(2) | 5×5 | 3 | 16,000mb | 9 |
(又是快乐的从wiki上复制内容的一天呢)
你以为这个工作台只能魔改到这了吗?
再看个例子:
import mods.artisanworktables.builder.RecipeBuilder;
RecipeBuilder.get(“basic”)
.setShapeless([<minecraft:dirt>])
.addOutput(<minecraft:cobblestone>)
.addTool(<ore:artisansHammer>, 10)
.create();
是不是比之前多了一行?这个是添加所需要的工具。
那个10指的是最低耐久。原文:The damage parameter in this method represents the amount of damage applied to a tool during the craft operation.
当然你也可以复制三遍,来做到3个工具都需要才能合成。
你也可以加上这个: .setFluid(<liquid:water> * 250)
这个就是需要的流体,这里需要250mb的水,记住,这个数字最好不要大于16000(不然,那个最高级的工作站都存放不下,后果你懂的)
.setExtraOutputOne(<minecraft:string>, 0.75)
.setExtraOutputTwo(<minecraft:diamond>, 0.25)
.setExtraOutputThree(<minecraft:string>, 0.75)
这个工作站还支持三种副产物产出,后面这个0.75指的是75%掉落。
还有,这个.setSecondaryIngredients([<minecraft:gravel> * 8, <minecraft:string>])
这个指5×5合成栏下面的九个格子,没有顺序,这些是不消耗的。
如果你要消耗的,那么需要加上这个:.setConsumeSecondaryIngredients(true)
也可以改成false
.setExperienceRequired(20)这个指的是经验,20不是经验等级,是20点经验(说实话我也不太懂)
如果要经验等级的话:
.setLevelRequired(30)
.
setConsumeExperience(false)
你需要这两行
还没完,这个合成能在jei里隐藏
RecipeBuilder setHidden(@Optional(default = true) hidden);
以下是所有桌子的名称:
all basic
blacksmith
carpenter
chef
chemist
engineer
farmer
jeweler
mage
mason
potter
scribe
tailor
tanner
所有 基础 铁匠 木匠 厨师 药剂师 工程师 农夫 珠宝商 法师 石匠 制陶师 翻印工 裁缝 制革师
以下是所有工具的名称:
<ore:artisansAthame>
<ore:artisansBeaker>
<ore:artisansBurner>
<ore:artisansCarver>
<ore:artisansChisel>
<ore:artisansCompass>
<ore:artisansCutters>
<ore:artisansCuttingBoard>
<ore:artisansDriver>
<ore:artisansFile>
<ore:artisansFramingHammer>
<ore:artisansGemCutter>
<ore:artisansGrimoire>
<ore:artisansGroover>
<ore:artisansHammer>
<ore:artisansHandsaw>
<ore:artisansHatchet>
<ore:artisansKnife>
<ore:artisansLens>
<ore:artisansNeedle>
<ore:artisansPan>
<ore:artisansPencil>
<ore:artisansPliers>
<ore:artisansPunch>
<ore:artisansQuill>
<ore:artisansShears>
<ore:artisansSifter>
<ore:artisansSolderer>
<ore:artisansSpanner>
<ore:artisansTrowel>
<ore:artisansTSquare>
不翻译了