- Регистрация
- 4 Апр 2025
- Сообщения
- 24
- Реакции
- 0
- Баллы
- 1
- Город
- Санкт-Петербург
- Веб-сайт
- paxgame.ru
- Discord
- nicolayka
Хотите добавить дроп стандартному мобу не затрагивая стандартные классы?
Тогда этот туториал для вас!
Создаем новый класс, называем как угодно (у меня это LivingDrops).
Пишем в него это:
Разбираем:
Если убил игрок:
Если он убил зомби:
Дроп выпадает с шансом 25%. 1D - 100%.
Собственно, сам предмет, который будет выпадать. У меня это палка.
1 - количество.
Так называемые "пчелки". Нужны для того, чтобы понять, вызывается ли метод вообще. Их можно убрать.
Теперь идем в главный класс мода и пишем в preInit это:
LivingDrops - название вашего класса.
Тогда этот туториал для вас!
Создаем новый класс, называем как угодно (у меня это 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());