2FastAssassin Posted March 25, 2015 Share Posted March 25, 2015 I've looked around and I cant seem to find any code on how to add a drop to a vanilla mob. Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
Draco18s Posted March 25, 2015 Share Posted March 25, 2015 Subscribe to the LivingDropsEvent event Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given. Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 25, 2015 Author Share Posted March 25, 2015 how do I do that.(Im only a beginer with my first mod) Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
jabelar Posted March 25, 2015 Share Posted March 25, 2015 I have a tutorial on this here: http://jabelarminecraft.blogspot.com/p/minecraft-forge-172-changing-drops-for.html Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/ Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 25, 2015 Author Share Posted March 25, 2015 Is this supose to be 100% drop because it didnt drop my item Code: package wearethewarriorsmod; import wearethewarriorsmod.item.ItemAncientsword; import wearethewarriorsmod.item.ItemDragonsword; import wearethewarriorsmod.item.ItemSwordofcorruptedsouls; import wearethewarriorsmod.worldgen.souloreWG; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.boss.EntityWither; import net.minecraft.entity.item.EntityItem; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; import net.minecraftforge.common.ChestGenHooks; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.event.entity.living.LivingDropsEvent; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = "watwm", name = "We Are The Warriors Mod", version = "1.0") public class WeAreTheWarriorsMod { @SubscribeEvent(priority=EventPriority.NORMAL, receiveCanceled=true) public void onEvent(LivingDropsEvent event) { if (event.entity instanceof EntityWither) { // DEBUG System.out.println("EntityWither drops event"); ItemStack itemStackToDrop = new ItemStack(itemcorruptedsoul, 1); event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, itemStackToDrop)); } } //items public static Item itemsoulshard; public static Item itemcorruptedsoulgem; public static Item itemdragonrod; public static Item itemflamedust; public static Item itemcorruptedsoul; //Blocks public static Block blocksoulore; //swords public static Item swordofcorruptedsouls; public static Item dragonsword; public static Item ancientsword; public static final Item.ToolMaterial corruptedToolMaterial = EnumHelper.addToolMaterial("corruptedToolMaterial", 0, 200000, 1.0F, 45.0F, 100); public static final Item.ToolMaterial dragonToolMaterial = EnumHelper.addToolMaterial("dragonToolMaterial", 0, 20000, 1.0F, 20.0F, 100); public static final Item.ToolMaterial ancientToolMaterial = EnumHelper.addToolMaterial("ancientToolMaterial", 0, 100, 0.0F, 1.0F, 0); @EventHandler public void preInit(FMLPreInitializationEvent event) { //Items itemsoulshard = new Itemsoulshard().setUnlocalizedName("Itemsoulshard").setTextureName("watwm:soul_shard").setCreativeTab(tabWeAreTheWarriorsMod); itemcorruptedsoulgem = new Itemcorruptedsoulgem().setUnlocalizedName("Itemcorruptedsoulgem").setTextureName("watwm:corrupted_soul_gem").setCreativeTab(tabWeAreTheWarriorsMod); itemdragonrod = new Itemdragonrod().setUnlocalizedName("Itemdragonrod").setTextureName("watwm:dragon_rod").setCreativeTab(tabWeAreTheWarriorsMod); itemflamedust = new Itemflamedust().setUnlocalizedName("Itemflamedust").setTextureName("watwm:flame_dust").setCreativeTab(tabWeAreTheWarriorsMod); itemcorruptedsoul = new itemcorruptedsoul().setUnlocalizedName("Itemcorruptedsoul").setTextureName("watwm:corrupted_soul").setCreativeTab(tabWeAreTheWarriorsMod); GameRegistry.registerItem(itemsoulshard, itemsoulshard.getUnlocalizedName().substring(5)); GameRegistry.registerItem(itemcorruptedsoulgem, itemcorruptedsoulgem.getUnlocalizedName().substring(5)); GameRegistry.registerItem(itemdragonrod, itemdragonrod.getUnlocalizedName().substring(5)); GameRegistry.registerItem(itemflamedust, itemflamedust.getUnlocalizedName().substring(5)); GameRegistry.registerItem(itemcorruptedsoul, itemcorruptedsoul.getUnlocalizedName().substring(5)); //Blocks blocksoulore = new blocksoulore(Material.rock).setBlockName("Blocksoulore").setBlockTextureName("watwm:soul_ore").setCreativeTab(tabWeAreTheWarriorsMod); GameRegistry.registerBlock(blocksoulore, blocksoulore.getUnlocalizedName().substring(5)); //Swords swordofcorruptedsouls = new ItemSwordofcorruptedsouls(corruptedToolMaterial).setUnlocalizedName("ItemSwordofcorruptedsouls").setTextureName("watwm:sword_of_corrupted_souls").setCreativeTab(tabWeAreTheWarriorsMod); dragonsword = new ItemDragonsword(dragonToolMaterial).setUnlocalizedName("ItemDragonsword").setTextureName("watwm:dragon_sword").setCreativeTab(tabWeAreTheWarriorsMod); ancientsword = new ItemAncientsword(ancientToolMaterial).setUnlocalizedName("ItemAncientsword").setTextureName("watwm:ancient_sword").setCreativeTab(tabWeAreTheWarriorsMod); GameRegistry.registerItem(swordofcorruptedsouls, swordofcorruptedsouls.getUnlocalizedName().substring(5)); GameRegistry.registerItem(dragonsword, dragonsword.getUnlocalizedName().substring(5)); GameRegistry.registerItem(ancientsword, ancientsword.getUnlocalizedName().substring(5)); //Ores souloreWG worldgen1 = new souloreWG(); GameRegistry.registerWorldGenerator(worldgen1, 1); //Recipes GameRegistry.addRecipe(new ItemStack(itemcorruptedsoulgem, 1), new Object[]{"AAA", "ABA", "AAA", Character.valueOf('A'), new ItemStack(itemsoulshard, 1, 0),Character.valueOf('B'), new ItemStack(itemcorruptedsoul, 1, 0)}); GameRegistry.addRecipe(new ItemStack(itemflamedust, 1), new Object[] {" A ", "AAA", " A ", Character.valueOf('A'), new ItemStack(Items.blaze_rod, 1, 0)}); GameRegistry.addRecipe(new ItemStack(itemdragonrod, 1), new Object [] {" A ", " A ", " A ", Character.valueOf('A'), new ItemStack(itemflamedust, 1, 0)}); GameRegistry.addRecipe(new ItemStack(swordofcorruptedsouls, 1), new Object [] {" A ", " A ", " X ", Character.valueOf('A'), new ItemStack(itemcorruptedsoulgem, 1, 0), Character.valueOf('X'), Items.stick}); GameRegistry.addRecipe(new ItemStack(dragonsword, 1), new Object [] {" A ", " A ", " X ", Character.valueOf('A'), new ItemStack(itemdragonrod, 1, 0), Character.valueOf('X'), Items.blaze_rod}); //Custom Dungeon Loot ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ancientsword),1,1,5)); } @EventHandler public void postInit(FMLPostInitializationEvent event) { } public static CreativeTabs tabWeAreTheWarriorsMod = new CreativeTabs("tabWeAreTheWarriorsMod"){ @Override public Item getTabIconItem(){ return itemcorruptedsoulgem; } }; } Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
61352151511 Posted March 25, 2015 Share Posted March 25, 2015 No that won't work because you never registered your event handler, take a look at http://jabelarminecraft.blogspot.ca/p/minecraft-forge-172-event-handling.html to see how to do proxys and event registration. Quote Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 25, 2015 Author Share Posted March 25, 2015 so do i just put in @EventHandler somewhere like at the top Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 25, 2015 Author Share Posted March 25, 2015 or is it one like LivingDeathEvent Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
61352151511 Posted March 25, 2015 Share Posted March 25, 2015 No... You have the @SubscribeEvent annotation, you now need you actually register the event, there are tutorials on how to do this, and I believe you need a proxy for it. MinecraftForge.EVENT_BUS.register(new YourEventClassName()); Quote Link to comment Share on other sites More sharing options...
jabelar Posted March 25, 2015 Share Posted March 25, 2015 or is it one like LivingDeathEvent Did you really not see my post above where I link you to a tutorial specifically about how to change drops for vanilla entities? Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/ Link to comment Share on other sites More sharing options...
Geforce Posted March 25, 2015 Share Posted March 25, 2015 Remove that onEvent method from your WeAreTheWarriorsMod class, then create a new class called ForgeEventHandler (or something like that), and add the following method to it: @SubscribeEvent public void onLivingItemDropped(LivingDropsEvent event){} You can handle the item drops in that method. Then in your @Mod class, create a new public static ForgeEventHandler object, then register it in your postInit method with MinecraftForge.EVENT_BUS.register(forgeEventHandler). Quote Potato's have skin. I have skin. Therefore, i am a potato. Follow me on Twitter! http://www.twitter.com/I_Mod_Minecraft Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 26, 2015 Author Share Posted March 26, 2015 I added this to the postInit: MinecraftForge.EVENT_BUS.register(new EntityWither()); and it says "add argument to match "EntityWither(World)"" and I clicked on it and it adds a null, so I took it out but thats the only fix it says Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
Geforce Posted March 26, 2015 Share Posted March 26, 2015 MinecraftForge.EVENT_BUS.register() takes your event handler class as a parameter, not a Entity class. Handle the item drops in your newly created "onLivingItemDropped" method. Quote Potato's have skin. I have skin. Therefore, i am a potato. Follow me on Twitter! http://www.twitter.com/I_Mod_Minecraft Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 26, 2015 Author Share Posted March 26, 2015 is this correct for making the method: public static int onLivingItemDropped(int a, int b) { return b; } and if it is how do I edit the drops Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 26, 2015 Author Share Posted March 26, 2015 if anyone can help then please do. thanks Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
HappyKiller1O1 Posted March 26, 2015 Share Posted March 26, 2015 Create a class called "EventHandler". After that add this method: @SubscribeEvent public void onLivingDrop(LivingDropsEvent event) { if(event.entity instanceof EntityWither) { ItemStack itemStackToDrop = new ItemStack(itemcorruptedsoul, 1); event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, itemStackToDrop)); } } Next, go into your main class and go into the init method and register your event handler: @EventHandler //MAKE SURE YOU HAVE THIS ANNOTATION public void init(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new EventHandler()); FMLCommonHandler.instance().bus().register(new EventHandler()); //Only add this if your event doesn't fire with the first register. } Now go run your mod and see if it works. I encourage you to learn more about Java so you can have a understanding on how the game works. Don't go looking around for copy and paste code. Go on the wonderful journey of trial and error until you finally figure out your problem and smile at the accomplishment. Quote I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat. Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 26, 2015 Author Share Posted March 26, 2015 thanks for that I will try to learn java more, at the moment i just find it a bit hard to understand how the say it in articles, im more a visual learner like from vids and stuff. havent seen if it works yet because : } @EventHandler public void Init(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new EventHandler()); FMLCommonHandler.instance().bus().register(new EventHandler()); } The two EventHandlers in the brackets are underlined and say: cant Instintaite the type Mod.EventHandler Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
HappyKiller1O1 Posted March 26, 2015 Share Posted March 26, 2015 Did you import it? Also, you made EventHandler a separate class, right? If that is all true, then make sure you're registering your EventHandler CLASS and not the method. Quote I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat. Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 26, 2015 Author Share Posted March 26, 2015 package wearethewarriorsmod; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.entity.boss.EntityWither; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.living.LivingDropsEvent; my EventHolder class: public class EventHandler { @SubscribeEvent public void onLivingDrop(LivingDropsEvent event) { if(event.entity instanceof EntityWither) { ItemStack itemStackToDrop = new ItemStack(itemcorruptedsoul, 1); event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, itemStackToDrop)); } } } Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 26, 2015 Author Share Posted March 26, 2015 but the itemcorruptedsoul wont link with my itemcorruptedsoul in my main class or item class Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
HappyKiller1O1 Posted March 26, 2015 Share Posted March 26, 2015 Instead of doing "itemcorruptedsoul" do "yourmod.itemcorruptedsoul". Also, I suggest organizing classes into different packages. Quote I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat. Link to comment Share on other sites More sharing options...
HappyKiller1O1 Posted March 26, 2015 Share Posted March 26, 2015 If it won't show your item, make sure the item is static in the main mod class. Quote I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat. Link to comment Share on other sites More sharing options...
2FastAssassin Posted March 26, 2015 Author Share Posted March 26, 2015 Im sorry with my lack of knowledge with java, Im just starting with my first mod and im only 14, I thought it would be some fun and that I might be a ble to get some help but some people just judge and Im not someone that can just read a tutorial, im more a visual learner so thats why i find it a bit tough. but thank you to those that have helped, its very appreciated 1 Quote The Creator of the We Are The Warriors Mod https://scontent-sjc.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10985858_1068047526542843_8233581795453767454_n.png?oh=aad9679e5ae8470bbd9a58236c0e391b&oe=55AAFDC7[/img] Link to comment Share on other sites More sharing options...
HappyKiller1O1 Posted March 26, 2015 Share Posted March 26, 2015 I was in your position 3 years ago (I was 12) and, honestly a lot people expect you to know a good amount about Minecraft mod creation before posting. My first mod I just added everything I could think of. Might seem stupid but, it broadened my knowledge to a very far extent. Now I am creating a Java game just from trial and error. Keep going and never give up even when the going gets tough! Quote I am not a cat. I know my profile picture is sexy and amazing beyond anything you could imagine but my cat like features only persist in my fierce eyes. I might be a cat. Link to comment Share on other sites More sharing options...
Ernio Posted March 26, 2015 Share Posted March 26, 2015 Just a note: a lot people expect you to know a good amount about Minecraft mod creation before posting. Java*, bro, Java. As to other "never give up stuff" - true that. Quote 1.7.10 is no longer supported by forge, you are on your own. Link to comment Share on other sites More sharing options...
Recommended Posts
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.