dalao,想问一下kubejs添加机械动力序列装配的时候怎么在序列装配里面加入注液步骤
等个大佬教一下怎么改植物魔法的配方(凝聚板之类的)
大佬,问个问题。如果一个整合包用的kubejs,然后在单人模式魔改配方运行正常。然后我把客户端改成服务端(就删掉点只能客户端运行的mod),移植到服务器运行的时候魔改配方失效,物品做不出来,是不是kubejs哪里要改一下。
ps:我改的随心石艺的整合包。
ps:我改的随心石艺的整合包。
本帖最后由 Wudji 于 2023-1-18 09:10 编辑
本文更新日志
注:章节号可能前后发生变化,请以编辑记录为准!
本文更新日志
注:章节号可能前后发生变化,请以编辑记录为准!
本帖最后由 科学之力 于 2022-11-6 17:40 编辑
挺好的教程
感谢大佬的翻译及更新
挺好的教程
感谢大佬的翻译及更新
为什么fabric好多东西没有(大恼)
能不能教我一下如何使用配方修改指定物品的nbt
类似于‘Forbidden and Arcanus’中的锻造台和装备合成修改nbt
想在Fabric尝试一下
类似于‘Forbidden and Arcanus’中的锻造台和装备合成修改nbt
想在Fabric尝试一下
够详细 学到了
感谢大佬分享
想要在jel里面添加loot相关的配方我该怎么做,虽然不该在这问,但我不知道去哪里询问,麻烦作者大大帮我解答
MCBBS有你更精彩~
很好的教程~还有请问下tooltip怎么进行本地化
请问1.16forge版本下如何用lootjs在识别工具附魔的条件下修改战利品?比如我想修改方块掉落物,但工具附有精准采集时还是应该掉落方块对应的物品。
尝试了以下两种代码,但是结果都是橡木原木在任何条件下都掉落我添加的“oak plank”物品,重载的时候也显示没有错误。
第一种:
复制代码
第二种:
复制代码
尝试了以下两种代码,但是结果都是橡木原木在任何条件下都掉落我添加的“oak plank”物品,重载的时候也显示没有错误。
第一种:
- onEvent('lootjs', event => {
- event
- .addBlockLootModifier('minecraft:oak_log')
- .not((n) => {
- n.matchMainHand(Item.of('#forge:tools').hasEnchantment('minecraft:silk_touch', 1))
- })
- .thenReplace('minecraft:oak_log', '6x kubejs:oak_plank')
- })
第二种:
- onEvent('lootjs', event => {
- event
- .addBlockLootModifier('minecraft:oak_log')
- .thenReplace('minecraft:oak_log', '6x kubejs:oak_plank')
- event
- .addBlockLootModifier('minecraft:oak_log')
- .matchMainHand(Item.of('#forge:tools').hasEnchantment('minecraft:silk_touch', 1))
- .thenRemove('kubejs:oak_plank')
- .thenAdd('minecraft:oak_log')
- })
本帖最后由 Wudji 于 2022-12-30 22:35 编辑
复制代码
无敌的锅Tx 发表于 2022-12-30 18:47
请问1.16forge版本下如何用lootjs在识别工具附魔的条件下修改战利品?比如我想修改方块掉落物,但工具附有 ...
- onEvent('lootjs', event => {
- event
- .addBlockLootModifier('minecraft:oak_log')
- .not((n) => {
- n.playerPredicate((player) => player.mainHandItem.hasEnchantment('minecraft:silk_touch', 1))
- n.matchMainHand(Ingredient.of('#forge:tools'))
- })
- .thenReplace('minecraft:oak_log', '6x kubejs:oak_plank')
- })
本帖最后由 无敌的锅Tx 于 2023-1-1 13:36 编辑
我又试了一下只用kubejs带的loot_tables事件:
复制代码
报错说missing ; before statement, 指向boolean那一行,但是后面加上;也是一样的报错,大佬知道咋回事吗
我又试了一下只用kubejs带的loot_tables事件:
- boolean silktouch = event.player.mainHandItem.hasEnchantment('minecraft:silk_touch', 1)
- onEvent('block.loot_tables', event => {
- if(silktouch == false){
- event.addSimpleBlock('minecraft:oak_log', '6x kubejs:oak_plank')
- }
- })
报错说missing ; before statement, 指向boolean那一行,但是后面加上;也是一样的报错,大佬知道咋回事吗

感觉是不是要用pool.addCondition方法?但是俺不会写json格式的条件,wiki上也没写。一楼14.1看了下好像也没有范例,是不是标注错了?大佬能否给个这个的示例,谢谢~
嗯不错,必须支持
加油,虽然我不怎么玩这个mod
大佬,有没有可以让行尸走肉模组里某个配件使用后就不可以再拆卸的方法,比如枪械上的喷漆,装配后,就不可以再拆卸。
大佬你好,能教一下合成扩展的量子压缩机合成配方吗
6666666666
楼主,你确定15.1里的damageEquipment函数写对了吗?我试了以下代码:
复制代码
我觉得结果应该是每个游戏刻让玩家主手上的工具损失耐久吧,但实际上啥也没发生。如果我写得有错误,麻烦大佬指正!
- onEvent('player.tick', event => {
- event.player.damageEquipment(MAINHAND,1)
- })
我觉得结果应该是每个游戏刻让玩家主手上的工具损失耐久吧,但实际上啥也没发生。如果我写得有错误,麻烦大佬指正!
请问怎么在kubejs服务端脚本中添加匠魂浇铸的配方?
无敌的锅Tx 发表于 2023-1-8 22:48
楼主,你确定15.1里的damageEquipment函数写对了吗?我试了以下代码:
我觉得结果应该是每个游戏刻让玩家 ...
interaction hand是MAIN_HAND不是MAINHAND
本帖最后由 无敌的锅Tx 于 2023-1-9 11:21 编辑
不不,damageEquipment里局部变量是EquipmentSlot,并且我也试过了换成用damageHeldItem,结果也是一样的。
Wudji 发表于 2023-1-8 23:32
interaction hand是MAIN_HAND不是MAINHAND
不不,damageEquipment里局部变量是EquipmentSlot,并且我也试过了换成用damageHeldItem,结果也是一样的。
无敌的锅Tx 发表于 2023-1-9 11:16
不不,damageEquipment里局部变量是EquipmentSlot,并且我也试过了换成用damageHeldItem,结果也是一样的 ...
- onEvent('player.tick', event => {
- event.player.damageHeldItem(MAIN_HAND,1)
- })
开端测了一下,这样是可以的
无敌的锅Tx 发表于 2023-1-9 11:16
不不,damageEquipment里局部变量是EquipmentSlot,并且我也试过了换成用damageHeldItem,结果也是一样的 ...
嘶,看起来MAINHAND确实没有被定义,等我下次改教程的时候一并修复了吧(
Wudji 发表于 2023-1-9 11:32
嘶,看起来MAINHAND确实没有被定义,等我下次改教程的时候一并修复了吧(
嗯呢,谢谢啊
请问开启完一次游戏自动生成的文件夹没有server_scripts,config,data是怎么回事??版本fabric1.16.5
楼主,14物品属性修改里面,请问tier下面的这些属性修改具体怎么写呢?试了一万种写法但都没成功。谢谢!
无敌的锅Tx 发表于 2023-1-12 12:35
楼主,14物品属性修改里面,请问tier下面的这些属性修改具体怎么写呢?试了一万种写法但都没成功。谢谢! ...
我看了下源码,看到有个setRepairIngredient的方法,楼主是不是写错了?
另外请问有没有办法遍历某个标签下的物品(方块),或者遍历全部物品(方块)呢?
Mcbbs有你更精彩~
请问怎么给监听tick的事件设置间隔呢,我想写一个长期查找不确定范围内所有实体的事件,如果每tick都在监听的话感觉会对游戏性能产生影响
Tollainmear 发表于 2022-5-23 21:41
巧了 我上个月也在服务器里搞了一个罐头的配方,也拿出来分享一下吧:
请问有药水的配方怎么做呀,我看官方的配方里用的create:potion标签,但这个标签是空的
本帖最后由 suzunemaiki 于 2023-1-30 16:24 编辑
由于犀牛引擎不支持JavaScript的class对象,所以只能使用function的protype来建立一个类似于class的function,具体解析如下:
配方Json样本:
复制代码
代码:
复制代码
Lz可以加一下
由于犀牛引擎不支持JavaScript的class对象,所以只能使用function的protype来建立一个类似于class的function,具体解析如下:
配方Json样本:
- {
- "type": "ae2:inscriber",
- "mode": "inscribe",
- "result": {
- "item": "ae2:printed_calculation_processor"
- },
- "ingredients": {}
- }
- }
代码:
- //AE2的压印机
- function ae2Inscriber() {
- //初始化配方主体
- this.recipe = {
- type: 'ae2:inscriber',
- mode: 'press',
- result: {
- item: 'minecraft:air'
- },
- ingredients: {}
- }
- }
- //定义方法,注意每个方法除了build和replace方法为最终创建方法外,都需要return本身以方便多次调用方法来设置属性
- ae2Inscriber.prototype = {
- //更改配方模式
- setMode: function (mode) {
- this.recipe.mode = mode;
- return this;
- },
- //更改输出物品
- setResult: function (result) {
- this.recipe.result.item = result;
- return this;
- },
- //更改顶部输入,格式为Ingredient
- setIngredientsTop: function (ingredientsTop) {
- this.recipe.ingredients.top = ingredientsTop;
- return this;
- },
- //更改中间输入,格式为Ingredient
- setIngredientsMiddle: function (ingredientsMiddle) {
- this.recipe.ingredients.middle = ingredientsMiddle;
- return this;
- },
- //更改底部输入,格式为Ingredient
- setIngredientsBottom: function (ingredientsBottom) {
- this.recipe.ingredients.bottom = ingredientsBottom;
- return this;
- },
- //如果是shapeless配方怎么办?即输入的Ingredients为一个数组,这里假设压印器的ingredients是一个数组
- //addIngredients: function (Ingredients) {
- //this.recipe.ingredients.push(Ingredients);
- // return this;
- //},
- //Over
- //创建配方,需要传入recipe事件和配方名称,自动生成配方的ResourceLocation,namespace为预先设置的常量,或者直接改为你需要的字符串即可
- //可以取消配方名称设置但是下面的replace方法也要去掉该变量的传入
- build: function (event, recipename) {
- event.custom(this.recipe).id(namespace + ':inscriber/' + recipename);
- return;
- },
- //替代配方,先根据配方id删除配方,然后调用build创建配方
- replaceRecipe: function (event, recipeid) {
- event.remove({ id: recipeid });
- let recipename = recipeid.split(':')[1].split('/').pop();
- this.build(event, recipename);
- }
- };
- //上面一个压印器的builder定义就完成了,以下是调用
- onEvent('recipes', event => {
- //在recipes事件内调用builder
- new ae2Inscriber()
- //设置输出
- .setResult('ae2:logic_processor')
- //设置压印模式为压印
- .setMode('press')
- //设置顶部输入为逻辑电路板,输入参数为Ingredient,支持修改数量,详见其他教程,下同
- .setIngredientsTop(Item.of('ae2:printed_logic_processor').toJson())
- //设置中间输入为标签:铜锭
- .setIngredientsMiddle(Ingredient.of('#forge:ingots/copper').toJson())
- //设置底部输入为硅板
- .setIngredientsBottom(Item.of('ae2:printed_silicon').toJson())
- //调用替代方法,替代原有的配方
- .replaceRecipe(event, 'ae2:inscriber/logic_processor');
- });
Lz可以加一下
大佬,搞机械动力配方的时候应该怎么监听啊?
本帖最后由 猫猫们 于 2023-2-12 20:36 编辑
1.16版本添加的自定义物品的tooltip能不能本地化呀,麻烦大佬了复制代码
1.16版本添加的自定义物品的tooltip能不能本地化呀,麻烦大佬了
- event.create('coin_01').displayName('Coin').tooltip('You can get these coins by selling valuable materials')
- event.create('coin_02').displayName('Couple of Coins').tooltip('You can get these coins by selling valuable materials')
- event.create('coin_03').displayName('Stack of Coins').tooltip('You can get these coins by selling valuable materials')
- event.create('coin_04').displayName('Pile of Coins').tooltip('You can get these coins by selling valuable materials')
- event.create('coin_05').displayName('Dozen of Coins').tooltip('You can get these coins by selling valuable materials')
- event.create('coin_06').displayName('Bunch of Coins').tooltip('You can get these coins by selling valuable materials')
用jei看了一下来补充一下createCompacting是动力辊压机压块塑形的配方id,楼主也不用重新修改一遍,经常审核,啥都看不到
太强大了
新人刚来求大佬关照嘻嘻
太棒了!!!!!!!
感谢大佬~~
请问楼主知道BlockContainerJS的getIventory函数传什么参数吗?原型上写的Direction,我把它理解成访问方块存储时的方向,但传UP,EAST之类的参数都不能正常返回InventoryJS对象
太厉害了,连我这个盖塔都佩服
本帖最后由 Purest 于 2023-3-27 08:52 编辑
我想将整合包中一些不喜欢的mod删除,请问有没有办法能快速清除与被删mod相关的代码呢?
我想将整合包中一些不喜欢的mod删除,请问有没有办法能快速清除与被删mod相关的代码呢?