Posted November 16, 201411 yr Hey Everyone! I was following this tutorial because I wanted my sword to be dropped from the Ender Dragon But it's not dropping it if anyone could tell me whats wrong that would be awesome! I've registered the EventHandler. The Code package com.skullcrusher.BetterThings.eventhandlers; import java.util.Random; import com.skullcrusher.BetterThings.BetterThings; import net.minecraft.entity.boss.EntityDragon; import net.minecraft.entity.passive.EntityCow; import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.living.LivingDropsEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; public class MobDropEventHandler { public static Random random; public static int dropped; @SubscribeEvent public void onEntityDrop(LivingDropsEvent event) { random = new Random(); dropped = random.nextInt(2) + 1; if(event.entityLiving instanceof EntityDragon) { event.entityLiving.entityDropItem(new ItemStack(BetterThings.SkullsModSword), dropped); } } }
November 16, 201411 yr Author Why are random and dropped static fields? Please learn basic java, they should be local variables. Also don't drop the Item directly, add additional drops to the List in the event. How did you register your EventHandler? FMLCommonHandler.instance().bus().register(new MobDropEventHandler()); I registered it like this ^^ In the main class under the preInt Event.
November 16, 201411 yr Author LivingDropsEvent is a forge event, you need to use the forge EventBus. You can see which bus is used for an event by looking at the package of the event class. Ok thanks for your help
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.