本篇教程由作者设定使用 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'阶段
效果:
截图太晚了,字有点淡了doge
那这个改变未知物品图标是怎么做到的呢?你们可以看看 Hardcore Item Stages 模组
这个模组初始图标是一个问号,我是怎么给这个问号加上外面的圈的呢:
解压这个mod
打开assets文件夹
打开hardcoreitemstages文件夹
打开textures文件夹
打开item文件夹
编辑unknown.png或者自己找一个图片改名成unknown.png
压缩(不要选择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
效果:
可以看到是无法进入地狱的
生物阶段
导包:
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", "所需工具");
然后这些附属就讲完了 是不是很简单 什么你问我时间阶段呢,自己看去:连接