Как чистить дроп с помощью мода?

Сообщения
52
Лучшие ответы
0
Реакции
1
Здравствуйте, ребят, каким ивентом или же каким способом можно удалить/очистить дроп с помощью мода?
 

Agravaine

Модератор
Сообщения
5,087
Лучшие ответы
233
Реакции
874
Все сущности мира хранятся в World#loadedEntityList. Дроп - EntityItem.
Что дальше делать ума много не надо.
 

timaxa007

Модератор
Сообщения
5,578
Лучшие ответы
361
Реакции
544
Приветствую. Эвент зависит какой ты дроп хочешь (который в Entity, блоке или дроп в мире) чистить и как чистить (чанк выгрузился или просто появился в мире).
 

Agravaine

Модератор
Сообщения
5,087
Лучшие ответы
233
Реакции
874
Смысле тебе не подходит? Тебе нужно удалить все предметы в мире или что? Я тебе сказал как.
Тимаха, не давай ему код, всю нужную инфу я ему сказал. Пусть сам пишет и думает головой.
 

timaxa007

Модератор
Сообщения
5,578
Лучшие ответы
361
Реакции
544
Любой дроп, для этого нету универсальной очистки.
Java:
    @SubscribeEvent
    public void clearDropEntity(LivingDropsEvent event) {
        event.drops.clear();
    }

    @SubscribeEvent
    public void clearDropBlock(BlockEvent.HarvestDropsEvent event) {
        event.drops.clear();
    }

    @SubscribeEvent
    public void clearDropEbtityItem(EntityJoinWorldEvent event) {
        if (event.entity instanceof EntityItem)
            event.setCanceled(true);
    }
 

Agravaine

Модератор
Сообщения
5,087
Лучшие ответы
233
Реакции
874
Ему скорее всего нужно выполнить один раз и очистить весь дроп.
Чувак, ты не можешь пробежаться циклом по листу, проверить что это предмет и вызвать у него setDead()?
 

timaxa007

Модератор
Сообщения
5,578
Лучшие ответы
361
Реакции
544
то есть для каждого дропа отдельный эвент?
Зависит, что ты подразумеваешь "чистить дроп".
я вас не понимаю....
Java:
        for (int i = 0; i < world.loadedEntityList.size(); ++i) {
            Object o = world.loadedEntityList.get(i);
            if (o instanceof EntityItem) ((EntityItem)o).setDead();
        }
 

timaxa007

Модератор
Сообщения
5,578
Лучшие ответы
361
Реакции
544
@Kotikstar, то что тебе @Agravaine тебе посоветовал, то и делай.
 
Сверху