youyihj
499628539 发表于 2020-1-1 21:34
可以做盔甲么?我在wiki上没有看到相关的单词但又不能保证自己真的每一个单词都理解对了 ...

貌似只能凭借材料系统现成的armor part,总之很鸡肋。

499628539
友 发表于 2020-1-1 21:52
貌似只能凭借材料系统现成的armor part,总之很鸡肋。

意思是,可以通过string = “helmet”穿到身上,但是没办法显示出3d模型也无法应用护甲值只能使用nbt上保护附魔来达到盔甲的效果?

Ruang_Feng
本帖最后由 Ruang_Feng 于 2020-1-3 19:02 编辑
矿典名称A.mirror(矿典名称B);
//将A的物品全部映射到B下面,也就代表B包含原有的B和A
//但是A中不包含B

这其中似乎出了点问题。首先"矿典名称B"才是被映射的而不是被映射的,"矿典名称A"才是映射到的地方。
比如我在zs脚本中写
  1. <ore:mc_axe2>.mirror(<ore:mc_axe1>);
复制代码

log输出的是Mirroring mc_axe1 to mc_axe2

还有关于映射,MT的wiki中是这样解释的
If you ever come across a mod dictionary entry of which you believe they should both actually be the same, it's now possible to mirror ore dictionary entries:
  1. <ore:ingotIron>.mirror(<ore:ingotTin>);
复制代码

Now doing that will link iron to be the same as tin. Iron will then essentially be overridden by tin, and any changes made to tin will automatically reflect in iron.


实际上,wiki中说的有点难以理解(可能只是我难以理解,我毕竟才14岁,英语水平有限)。现在我用脚本和log的输出来说明吧。
  1. <ore:mc_axe1>.addItems([<minecraft:wooden_axe>,<minecraft:stone_axe>,<minecraft:iron_axe>]);
  2. <ore:mc_axe2>.addItems([<minecraft:golden_axe>,<minecraft:diamond_axe>]);
  3. <ore:mc_axe1>.mirror(<ore:mc_axe2>);
复制代码

输入生成OD list的命令后,log中输出
  1. Ore entries for <ore:mc_axe1> :
  2. -<minecraft:wooden_axe>
  3. -<minecraft:stone_axe>
  4. -<minecraft:iron_axe>
  5. Ore entries for <ore:mc_axe2> :
  6. -<minecraft:wooden_axe>
  7. -<minecraft:stone_axe>
  8. -<minecraft:iron_axe>
复制代码
现在把脚本修改一下
  1. <ore:mc_axe1>.mirror(<ore:mc_axe2>);
复制代码
重启后再次输入命令,log中输出:
  1. Ore entries for <ore:mc_axe1> :
  2. -<minecraft:golden_axe>
  3. -<minecraft:diamond_axe>
  4. Ore entries for <ore:mc_axe2> :
  5. -<minecraft:golden_axe>
  6. -<minecraft:diamond_axe>
复制代码


可以看出mirror的效果并不是您说的那样,不过是把映射的的OD中的物品全部移到要被映射的OD中罢了,并且删除了被映射的OD中原本存在的物品。要实现您所描述的效果,需要使用addAll。

另外建议把addItems添加进您的教程,这个后面可以接数组。


youyihj
Ruang_Feng 发表于 2020-1-3 18:52
这其中似乎出了点问题。首先"矿典名称B"才是被映射的而不是被映射的,"矿典名称A"才是映射到的地方。
比如 ...

了解,但是实际编写,除非这些物品完全等价,否则千万不要把他加进同一个矿辞。别忘记各mod的矿辞转换器。
我更推荐用材料接口的或使得某个合成的某个槽可以使用多种物品。

Ruang_Feng
友 发表于 2020-1-3 21:57
了解,但是实际编写,除非这些物品完全等价,否则千万不要把他加进同一个矿辞。别忘记各mod的矿辞转换器 ...

了解,感谢提出的建议。

anrdblue
原版加工包加工包究竟是什么?
我这边照着你的样板做的,进游戏就是不显示出来

youyihj
anrdblue 发表于 2020-1-4 16:42
原版加工包加工包究竟是什么?
我这边照着你的样板做的,进游戏就是不显示出来 ...

不要忘记最后要注册。
即对每个对象使用register方法。

Geomancy
这有点难呀

anrdblue
友 发表于 2020-1-4 21:50
不要忘记最后要注册。
即对每个对象使用register方法。

求教一下完整的格式

youyihj
anrdblue 发表于 2020-1-8 21:42
求教一下完整的格式

???我的例子的最后一行就是注册啊?
你的脚本给我康康。

anrdblue
友 发表于 2020-1-8 21:44
???我的例子的最后一行就是注册啊?
你的脚本给我康康。

哦找到了!在创造标签那一栏啊

anrdblue
友 发表于 2020-1-8 21:44
???我的例子的最后一行就是注册啊?
你的脚本给我康康。

还是不行啊,报错
ERROR:Could not find Material for name contenttweaker
ERROR:[contenttweaker]:Error executing {[0:contenttweaker]:item.zs}:
java.lang.NullPointerException

我写的脚本
#loader contenttweaker
import mods.contenttweaker.VanillaFactory;
import mods.contenttweaker.Item;

//茅草
val item0 as Item = VanillaFactory.createItem("item0");
item0.creativeTab = <creativetab:contenttweaker>;

//注册
item0.register();

youyihj
anrdblue 发表于 2020-1-8 23:32
还是不行啊,报错
ERROR:Could not find Material for name contenttweaker
ERROR:[contenttweaker]:Erro ...

你还没注册创造标签啊?
去掉item0.creativeTab那一行
你只需要创建一个物品然后注册即可

anrdblue
友 发表于 2020-1-9 21:51
你还没注册创造标签啊?
去掉item0.creativeTab那一行
你只需要创建一个物品然后注册即可 ...

昨晚问了群里的大佬,已经搞定了,我只要贴图,改贴图和名字挺快的(就是复制黏贴还有改数字加中文比较累)

youyihj
anrdblue 发表于 2020-1-9 22:01
昨晚问了群里的大佬,已经搞定了,我只要贴图,改贴图和名字挺快的(就是复制黏贴还有改数字加中文比较累 ...

你的物品ID难道是item0 item1 item2这样的吗????
如果你是这样,那么
for i in 0 .. 100 {
    VanillaFactory.createItem("item" ~ i).register();
}

一次性创建100个物品

352401049
MCBBS有你更精彩~

378593424
爱了爱了

LanLan233
谢谢大佬分享

晚安2001
用这个能改拔刀剑合成么

youyihj
本帖最后由 友 于 2020-1-21 19:24 编辑
刘先生。 发表于 2020-1-21 19:16
用这个能改拔刀剑合成么

加合成表,啥东西都可以。

删合成,我记得没错的话,拔刀是按NBT区分的。你需要在recipes.remove方法再加一个参数,决定其匹配NBT。
  1. recipes.remove(拔刀ID+NBT, true);
复制代码


或者JEI(打开高级提示框),找到你要删除的配方的ID,使用recipes.removeByRecipeName方法来删除。

AS885
请问这个mod可以修改酿造台的配方吗?比如增加可以酿造的药水

youyihj
AS885 发表于 2020-2-6 16:46
请问这个mod可以修改酿造台的配方吗?比如增加可以酿造的药水

https://docs.blamejared.com/1.12 ... ipes_Brewing_Stand/

AS885
友 发表于 2020-2-6 16:51
https://docs.blamejared.com/1.12/en/#Vanilla/Recipes/Recipes_Brewing_Stand/

谢谢楼主,我看了页面然后大概弄了一个脚本,但是根据提示好像有问题,请问可以帮我看一下吗
val potion = <minecraft:potion>.withTag({
    CustomPotionEffects:[{
        Id: 5 as byte,
        Amplifier: 2 as byte,
        Duration: 1800 as int,
        ShowParticles: 0 as byte,
        }],
        display: {
            Name: "§r力量药水"
        }
        });

brewing.addBrew([<minecraft:potion>.withTag({Potion:"minecraft:strong_strength"}]), <minecraft:glowstone_dust>, <potion:1>);

anrdblue
提问,创建的流体如何换名字?我用displayName没成功

youyihj
anrdblue 发表于 2020-2-8 20:26
提问,创建的流体如何换名字?我用displayName没成功

本地化,写语言文件。 key为fluid.流体ID

anrdblue
友 发表于 2020-2-8 20:29
本地化,写语言文件。 key为fluid.流体ID

不明白,是写lang?放在那?CT里面么?

youyihj
anrdblue 发表于 2020-2-12 12:13
不明白,是写lang?放在那?CT里面么?

写lang     

anrdblue
问一下,CT制作的方块支不支持用overlay提供贴图?还有支不支持mcmeta动态图片?

youyihj
anrdblue 发表于 2020-2-13 12:36
问一下,CT制作的方块支不支持用overlay提供贴图?还有支不支持mcmeta动态图片? ...

应该都支持。不过要用overlay你需要修改下方块模型

anrdblue
友 发表于 2020-2-13 12:53
应该都支持。不过要用overlay你需要修改下方块模型

我在你的创造标签例子和方块例子改的,想把方块放在独立的标签里面
然后启动以后显示了报错
All registering must happen before registry event

//创建标签
val spare_parts as CreativeTab = VanillaFactory.createCreativeTab("spare_parts", <item:minecraft:dragon_egg>);
spare_parts.register();
val rubber_ring as Item = VanillaFactory.createItem("rubber_ring");
rubber_ring.creativeTab = <creativetab:spare_parts>;
rubber_ring.register();
//玛玉灵齿轮箱
var gearbos_manyullyn as Block = VanillaFactory.createBlock("gearbos_manyullyn", <blockmaterial:ice>);
gearbos_manyullyn.lightOpacity = 3;
gearbos_manyullyn.blockHardness = 1.0;
gearbos_manyullyn.blockResistance = 5.0;
gearbos_manyullyn.toolClass = "pickaxe";
gearbos_manyullyn.toolLevel = 0;
gearbos_manyullyn.blockSoundType = <soundtype:metal>;
gearbos_manyullyn.creativeTab = <creativetab:materials.base>;
gearbos_manyullyn.register();

youyihj
anrdblue 发表于 2020-2-13 13:54
我在你的创造标签例子和方块例子改的,想把方块放在独立的标签里面
然后启动以后显示了报错
All register ...

你落了#loader contenttweaker

anrdblue
友 发表于 2020-2-8 20:29
本地化,写语言文件。 key为fluid.流体ID

fluid.ct_mana.name=魔力
然后游戏里显示的还是fluid.ct_mana桶,写了lang放在里面的也没用啊

youyihj
anrdblue 发表于 2020-2-13 21:09
fluid.ct_mana.name=魔力
然后游戏里显示的还是fluid.ct_mana桶,写了lang放在里面的也没用啊 ...

去掉.name

AS885
从循环语句开始往后几乎都看不懂,请问有更详细的教程吗

swordblood
已收藏谢谢楼主

青芦叶
本帖最后由 青芦叶 于 2020-3-16 20:43 编辑

从大佬的回答找到了大佬发的教程。
看了这个教程终于学会魔改整合包了

AS885
尝试了给的工具升级脚本,但是提示could not find input,虽然工具可以升级但是并没有保留附魔

youyihj
AS885 发表于 2020-3-21 09:24
尝试了给的工具升级脚本,但是提示could not find input,虽然工具可以升级但是并没有保留附魔 ...

emmmm 把里面的input改成ins,gitbook内的教程已更正~

优_克莉伍德
这可太牛了,秀秀秀

Suzj
感谢大佬分享

bedroce
好难啊,感觉又要崩溃了

腾讯会议
有序合成一定要分行吗

youyihj
腾讯会议 发表于 2020-4-15 19:45
有序合成一定要分行吗

可以不分行,但为了可读性,建议分行。

473937269
支持一下 感谢分享 正好1.12魔改不会

ong419
那啥,合成表内物品的NBT若是想需求不是简单的等于,而是不小于某个数,该怎么做呢?比如说要求一把拔刀剑必须要有10000的ProudSoul才能参与合成,用了only_____AtLeast好像是不行的,报错了。

ichigosama
作为一个魔改深度爱好者,不得不赞一个

wgt20021231
掉头发掉头发

youyihj
ong419 发表于 2020-4-17 22:08
那啥,合成表内物品的NBT若是想需求不是简单的等于,而是不小于某个数,该怎么做呢?比如说要求一把拔刀剑 ...

请查阅idata和配方函数章节。

Mr.时间之瓶
添加
基本格式:furnace.addRecipe(output, input, xp);

移除
基本格式:furance.remove(output, input);

打错了可还行

wnxzlf
但是可视化编辑的删除并不能用?

第一页 上一页 下一页 最后一页