Туториал Forge [1.6.2] Добавляем дроп стандартному мобу!

Nicolayka

Владелец
Команда форума
Регистрация
4 Апр 2025
Сообщения
26
Реакции
0
Баллы
1
Город
Санкт-Петербург
Веб-сайт
paxgame.ru
Vintage Story
Nicolayka
Discord
nicolayka
Хотите добавить дроп стандартному мобу не затрагивая стандартные классы?
Тогда этот туториал для вас!

Создаем новый класс, называем как угодно (у меня это LivingDrops).

Пишем в него это:
Код:
package mod;
import java.util.Random;
import mod.items.Items;
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.item.Item;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingDropsEvent;

public class LivingDrops {
  
    public static double rand;
  
    @ForgeSubscribe
    public void onEntityDrop(LivingDropsEvent event) {
          
        if (event.source.getDamageType().equals("player")) {
          
            rand = Math.random();
          
            System.out.println("Killed something.");

            if (event.entityLiving instanceof EntityZombie) {
              
                System.out.println("Killed a zombie.");
              
                if (rand < 0.25D) {
                  
                    event.entityLiving.dropItem(Items.foodPurifiedFlesh.itemID, 1);
                  
                    System.out.println("Item Drops.");
                      
                        }
                    }
                }
            }
        }

Разбираем:

Если убил игрок:

Код:
if (event.source.getDamageType().equals("player")) {

Если он убил зомби:
Код:
if (event.entityLiving instanceof EntityZombie) {

Дроп выпадает с шансом 25%. 1D - 100%.
Код:
if (rand < 0.25D) {
Собственно, сам предмет, который будет выпадать. У меня это палка.
1 - количество.
Код:
event.entityLiving.dropItem(Item.stick.itemID, 1);

Так называемые "пчелки". Нужны для того, чтобы понять, вызывается ли метод вообще. Их можно убрать.
Код:
System.out.println("TEST");


Теперь идем в главный класс мода и пишем в preInit это:
Код:
MinecraftForge.EVENT_BUS.register(new LivingDrops());
LivingDrops - название вашего класса.
 
Главная Регистрация
Назад
Сверху