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

Nicolayka

Владелец
Команда форума
Регистрация
4 Апр 2025
Сообщения
24
Реакции
0
Баллы
1
Город
Санкт-Петербург
Веб-сайт
paxgame.ru
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 - название вашего класса.
 
Главная Регистрация
Назад
Сверху