网易我的世界论坛

标题: 请问一下,自定义矿石,用时运的稿子挖为什么不会增加掉落数 [打印本页]

作者: ks小白小桂圆    时间: 2021-2-9 17:21
标题: 请问一下,自定义矿石,用时运的稿子挖为什么不会增加掉落数
请问一下,自定义矿石,用时运的稿子挖为什么不会增加掉落数呢,我刚才试了没用

掉落物我是这样写的,但是不起作用
{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "set_count",
                            "count": {
                                "min": 1,
                                "max": 1
                            }
                        },
                        {
                            "function": "fortune_enchant",
                            "count": {
                                "min": 0,
                                "max": 1
                            }
                        }
                    ]
                }
            ]
        }
    ]

有没有大神知道怎么写
作者: sevenstars    时间: 2021-2-9 23:28
"function": "fortune_enchant"这个没有,只有抢夺用的"looting_enchant"
如果要时运效果,需要在mod里面监听DestroyBlockEvent,并且按照原版时运规则写好生成代码:
  1. #这是回调函数里的代码
  2. id = args['playerId']
  3. comp = serverApi.CreateComponent(id, 'Minecraft', 'item')
  4. itemdict = comp.GetPlayerItem(2, 0, True)
  5. enchants = itemdict.get('enchantData',[])
  6. level = 0
  7. for a in enchants:
  8.     if a[0]==18:
  9.         level = a[1]:
  10.         break
  11. if level:
  12.     #这是我的世界的时运算法
  13.     base_count = [1,1]
  14.     n = 0
  15.     while n<level:
  16.         base_count.append(base_count[-1]+1)
  17.         n += 1
  18. #记得导入random包
  19. self.CreateEngineItemEntity({'itemName': 'minecraft:diamond','count': random.choice(base_count),'auxValue': 0}, self.CreateComponent(id, "Minecraft", "dimension").GetPlayerDimensionId(), (args['x'],args['y'],args['z']))
复制代码





欢迎光临 网易我的世界论坛 (http://mc.netease.com/) Powered by Discuz! X3.3