Buringlooove 9/2/2021, 10:47:42 AM
本帖最后由 Buringlooove 于 2021-9-3 20:26 编辑

有没有大佬写过原版生物掉落物添加相关的代码啊,我想给原版生物添加一种掉落物,遇到了些麻烦:

我试着做了一个简单的1.16.5版本的mod,目的让所有原版MonsterEntity在被玩家击杀的时候掉落“硬币”,在按照教程上说的改了若干怪物的数据包之后,结果原版怪物只会掉落硬币了,添加数据包会覆盖原版的战利品,后来我参考了别人的mod,使用了ItemEntity来生成硬币,new ItemEntity(entity.level, entity.getX(), entity.getY(), entity.getZ(), ItemRegistry.Coin); 但不知为什么就是不掉硬币(っ °Д °;)っ附一下源码:
@Mod.EventBusSubscriber
public class coinDrops {
    @SubscribeEvent
    public void MobDrop(LivingDeathEvent event) {
        boolean isNotPlayer = event.getSource().getEntity() instanceof MonsterEntity;
        Entity entity = event.getEntity();
        if(isNotPlayer){   

            //这里感觉很怪,不知道是不是该把ItemEntity的实例交给某个方法,还是直接new一个就行
            new ItemEntity(entity.level, entity.getX(), entity.getY(), entity.getZ(), ItemRegistry.copperCoin);
        }
    }
}

我想知道怎样才能添加战利品,而不是覆盖掉原版的战利品表




Lamma 9/2/2021, 10:54:15 AM
不太懂问题
尝试了解一下你把EntityDeathEvent那
增加一个跌落物品不就行了
e.getEntity().getWorld().dropItem(e.getEntity(), 你的itemstack物品)

Buringlooove 9/2/2021, 11:45:48 AM
本帖最后由 Buringlooove 于 2021-9-2 22:38 编辑
797403934 发表于 2021-9-2 18:54
不太懂问题
尝试了解一下你把EntityDeathEvent那
增加一个跌落物品不就行了

world没有dropItem这个方法(;′⌒`)

自然_Hungteen 9/2/2021, 3:29:49 PM
你这种思路也没问题,没生成是因为没把这个物品实体加入世界吗?建议放出完成代码。

Buringlooove 9/3/2021, 8:20:17 AM
自然_Hungteen 发表于 2021-9-2 23:29
你这种思路也没问题,没生成是因为没把这个物品实体加入世界吗?建议放出完成代码。 ...

我已经把源码添加到一楼了,有什么加入世界的方法吗?第一个参数level就是World类型的,这个参数后来会被传到Entity类的构造方法里,然后就是一堆看不懂的代码了。。

自然_Hungteen 9/3/2021, 9:10:53 AM
本帖最后由 自然_Hungteen 于 2021-9-3 17:14 编辑
Buringlooove 发表于 2021-9-3 16:20
我已经把源码添加到一楼了,有什么加入世界的方法吗?第一个参数level就是World类型的,这个参数后来会被 ...

你在生成实体之前要判断不是客户端! world.isClientSide,然后添加实体可以用 world.addFreshEntity(entity)。
可参考传送门

Buringlooove 9/3/2021, 9:25:46 AM
本帖最后由 Buringlooove 于 2021-9-3 17:34 编辑
自然_Hungteen 发表于 2021-9-3 17:10
你在生成实体之前要判断不是客户端! world.isClientSide,然后添加实体可以用 world.addFreshEntity(entit ...

哦!原来如此,谢谢大佬

1979722280 9/4/2021, 12:21:13 PM
我记得有插件可以修改掉落物

洞穴夜莺 9/4/2021, 12:35:54 PM
https://github.com/MinecraftForg ... ballootmodifiers.md

Ph-苯 9/22/2021, 3:13:52 AM
有一种效率低下但是符合原版的方式……在加载数据包中的战利品表时向里面添加物品。

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