本篇教程由作者设定使用 CC BY-NC-SA 协议。

本教程仅限1.12版本,如果使用1.16版本,请到crt官方网站查看语句虽然都差不多



itemstages 物品阶段


首先,不导包是不行的。导包:

import crafttweaker.item.IItemStack;

之后我们可以把一个物品导入到阶段中。格式:

mods.ItemStages.addItemStage("阶段名", <物品id或矿物词典名>);//有矿词的尽量用矿词

如果我不知道矿词怎么办?超链接:矿词-mcmod 或 mod JEI扩展

之后我们就能写出:

import crafttweaker.item.IItemStack;

mods.ItemStages.addItemStage('log',<ore:logWood>);//把原木(矿词)锁定到'log'阶段

效果:

gamestages太简单了 - gamestages附属教程-第1张图片截图太晚了,字有点淡了doge

图中的 未知之袋 来自mod 未知之袋 太绕了

那这个改变未知物品图标是怎么做到的呢?你们可以看看 Hardcore Item Stages 模组

这个模组初始图标是一个问号,我是怎么给这个问号加上外面的圈的呢:

  1. 解压这个mod

  2. 打开assets文件夹

  3. 打开hardcoreitemstages文件夹

  4. 打开textures文件夹

  5. 打开item文件夹

  6. 编辑unknown.png或者自己找一个图片改名成unknown.png

  7. 压缩(不要选择hardcoreitemstages-1.12.2-x.x.x文件夹,应该选择其内部的文件)

我们可以更改未知物品的名字:不如去lang文件改方便doge

//格式
mods.ItemStages.setUnfamiliarName("名字", <物品id或矿物词典名>);

//示例
mods.ItemStages.setUnfamiliarName("我是个伞兵!", <ore:logWood>);
mods.ItemStages.setUnfamiliarName("这个都不知道有什么用,回家放羊吧你", <minecarft:log:*>);
mods.ItemStages.setUnfamiliarName("§kk §r§g未知物品 §kk", <ore:blockIron>);

也可以隐藏一些信息:

//格式
mods.ItemStages.stageTooltip("阶段", "句子的开头文字");//这会隐藏所有物品解释行(如EMC:1024为一行)开头有"句子的开头文字"的那一行隐藏

//示例
mods.ItemStages.stageTooltip("mod.Project", "EMC:");
mods.ItemStages.stageTooltip("mod.Project", "EMC总和:");
mods.ItemStages.stageTooltip("inv", "§4只能用于合成");

虽然是物品阶段,但你还可以隐藏流体:(只能隐藏在JEI中)

//格式
mods.ItemStages.stageLiquid("阶段", <流体注册名>);

//示例
mods.ItemStages.stageLiquid("water", <liquid:water>);
mods.ItemStages.stageLiquid("lava", <liquid:lava>);
mods.ItemStages.stageLiquid("alubrass", <liquid:alubrass>);

如果我不知道流体id怎么办

可以使用 /ct liquids 命令,这会将流体id导入到crafttweaker.log中


这个模组还可以禁用附魔

//格式
mods.ItemStages.stageEnchant("阶段", <enchantment:附魔id>);
mods.ItemStages.stageEnchantByLevel("阶段", <enchantment:附魔id>.makeEnchantment(附魔等级));

//示例
mods.ItemStages.stageEnchant("sea's luck", <enchantment:minecraft:luck_of_the_sea>);
mods.ItemStages.stageEnchantByLevel("sea's luck_two", <enchantment:minecraft:luck_of_the_sea>.makeEnchantment(2));

如果我不知道附魔id怎么办

可以使用 /ct enchants 命令,这会将附魔id导入到crafttweaker.log中


现在你们已经学会了两个mod了,接下来是


Dimension stages 维度阶段


导包:

import crafttweaker.item.IItemStack;

import mods.DimensionStages.addDimensionStage;//建议导包

格式:

mods.DimensionStages.addDimensionStage("游戏阶段", 维度编号);

维度编号可以用/forge dimensions 命令查询

示例:

mods.DimensionStages.addDimensionStage("next dimension", -1);//-1为地狱

注:不要加入 Better Portals mod,否则会导致:(因为这种状态玩家可以直接跳过阶段到达地狱)哪来的114514

gamestages太简单了 - gamestages附属教程-第2张图片

效果:

gamestages太简单了 - gamestages附属教程-第3张图片

可以看到是无法进入地狱的


生物阶段

导包:

import crafttweaker.item.IItemStack;


格式:

mods.MobStages.addStage("阶段", "生物id");//生物绑定阶段,不到这个阶段无法生成(一个生物只能绑定一个阶段)
mods.MobStages.addReplacement("被替换生物id", "替换生物id");//如果生成了这个生物,就用"替换生物id"代替生成(需要前面有addStage代码)
mods.MobStages.addRange("生物id", 整数(格数));//搜索生物附近没有这个阶段的玩家的格数,再这个格数中有未到达阶段的玩家则无法生成(默认:512格)
mods.MobStages.toggleSpawner("生物id",布尔(对true,错false));//生物是否可以用刷怪笼生成(默认:否)
mods.MobStages.toggleSpawner("生物id",布尔, 维度id);//生物是否可以用刷怪笼生成(仅限维度)


示例:

mods.MobStages.addStage("creeper", "minecraft:creepe");
mods.MobStages.addReplacement("minecraft:creeper", "minecraft:zombie");
mods.MobStages.addRange("minecraft:creeper", 100);
mods.MobStages.toggleSpawner("minecraft:creeper",true,1);

大意:

苦力怕只会在creeper阶段生成,否则变为僵尸,刷怪笼生成除外



配方阶段

导包:

import crafttweaker.item.IItemStack;


添加锁定为阶段的合成(有序)

格式

mods.recipestages.Recipes.addShaped("配方名", "阶段", <合成出的物品id>,[
[<物品id>, <物品id>, <物品id>],
[<物品id>, <物品id>, <物品id>],
[<物品id>, <物品id>, <物品id>]]);//如果某个格子不用物品请改为null,如:
//[<物品id>, null, <物品id>]
//"配方名"可省略


示例:

mods.recipestages.Recipes.addShaped( "crafting", <minecraft:iron>,[
[<minecraft:stone>, null, <minecraft:stone>],
[<minecraft:stone>, null, <minecraft:stone>],
[<minecraft:stone>, null, <minecraft:stone>]]);


添加锁定为阶段的合成(无序)

mods.recipestages.Recipes.addShapeless("配方名", "阶段", <合成出的物品id>,[<物品id>, <物品id>, <物品id>,<物品id>, <物品id>, <物品id>,<物品id>, <物品id>, <物品id>]);
//如果配方所需物品小于九个,可以省略


示例 这交易针不戳

mods.recipestages.Recipes.addShapeless("log", "crafting", <minecraft:log>,[<minecraft:log>, <minecraft:log>]);


让物品的合成锁定阶段

格式

mods.recipestages.Recipes.setRecipeStage("阶段", <物品id>);
mods.recipestages.Recipes.setRecipeStage("阶段", "配方名");


示例:

mods.recipestages.Recipes.setRecipeStage("stone", <minecraft:stone>);
mods.recipestages.Recipes.setRecipeStage("crafting", "a craft name");


我们可以直接锁定mod的合成 如果你连mod的名字都不知道:/ct mods

格式
mods.recipestages.Recipes.setRecipeStageByMod("阶段", "模组");

示例
mods.recipestages.Recipes.setRecipeStageByMod("mc", "minecraft");


矿石阶段

这个mod能让你 浪费好东西 隐藏矿石或其他方块

导包

import crafttweaker.item.IItemStack;
import crafttweaker.block.IBlock;


格式

mods.orestages.OreStages.addReplacement(阶段,矿石);
mods.orestages.OreStages.addReplacement(阶段,矿石,替换他的矿石);
mods.orestages.OreStages.addReplacementById(阶段,矿石,替换他的矿石);

mods.orestages.OreStages.addNonDefaultingReplacement(阶段,矿石);
mods.orestages.OreStages.addNonDefaultingReplacement(阶段, 矿石,替换他的矿石);
mods.orestages.OreStages.addNonDefaultingReplacementById(阶段,矿石,替换他的矿石);//用TNT等破坏则掉落原来的矿石


示例:

mods.orestages.OreStages.addReplacementById("ore", "minecraft:potatoes:*", "minecraft:tallgrass:2");
mods.orestages.OreStages.addReplacementById("ore", "minecraft:wheat:*", "minecraft:carrots:3");
mods.orestages.OreStages.addReplacementById("ore", "minecraft:nether_wart:*", "minecraft:beetroots");
mods.orestages.OreStages.addReplacement("ore", <minecraft:dirt>, <minecraft:stone>);
mods.orestages.OreStages.addReplacement("ore", <minecraft:obsidian>, <minecraft:cobblestone>);
mods.orestages.OreStages.addNonDefaultingReplacement("ore", <minecraft:torch:*>, <minecraft:redstone_torch>);
mods.orestages.OreStages.addReplacement("ore", <minecraft:furnace:*>, <minecraft:stone>);


Waila 阶段


作用:让你隐藏Here's What You're Looking At模组的显示

导包(用哪步就导哪个包)

import mods.WailaStages.addWailaStage;
import mods.WailaStages.addRequirement;

格式

mods.WailaProgression.addWailaStage("阶段"); //玩家没有阶段将不显示HWYLA模组gui(就是上方的方块名称什么的)
mods.WailaProgression.addRequirement("阶段", "段首文字"); //玩家没有阶段将不显示HWYLA模组gui中包含“段首文字”的句子

示例

mods.WailaProgression.addWailaStage("nowaila"); 
mods.WailaProgression.addRequirement("waila", "所需工具");

然后这些附属就讲完了 是不是很简单 什么你问我时间阶段呢,自己看去:连接