Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Помогите с кодом | 1.20.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
11 Май 2023
Сообщения
34
Реакции
0
Java:
Expand Collapse Copy
package im.dambazz1337.eteamsnew.events;

import im.dambazz1337.eteamsnew.Eteamsnew;
import im.dambazz1337.eteamsnew.party.Party;
import im.dambazz1337.eteamsnew.party.PartyManager;
import im.dambazz1337.eteamsnew.quest.Quest;
import im.dambazz1337.eteamsnew.quest.QuestManager;
import net.minecraft.ChatFormatting;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

import java.util.List;

@Mod.EventBusSubscriber(modid = Eteamsnew.MODID)
public class MobKillEventHandler {
    @SubscribeEvent
    public static void onMobKilled(LivingDeathEvent event) {
        if (!(event.getSource().getEntity() instanceof ServerPlayer player)) {
            return;
        }

        LivingEntity mob = event.getEntity();
        String mobId = getEntityId(mob);

        if (mobId == null) {
            return;
        }

        List<Quest> activeQuests = QuestManager.getActiveQuests(player);
        if (activeQuests.isEmpty()) {
            return;
        }

        CommandSourceStack source = player.createCommandSourceStack();

        for (Quest quest : activeQuests) {
            if (quest.getGoals().containsKey(mobId)) {
                quest.incrementProgress(mobId, source, player.getUUID());
            }
        }
    }


    private static String getEntityId(LivingEntity entity) {
        ResourceLocation key = EntityType.getKey(entity.getType());
        if (key != null) {
            return key.toString();
        }

        return entity.getEncodeId();
    }
  
}

в общем, не понимаю как сделать чтобы оно получало убийство модового моба, обычных нормально засчитывает а модовых нет
 
Назад
Сверху Снизу