Posted August 1, 201510 yr I've been attempting to make a squid drop a Kalamari and it not going really good,I dont understand where is the problem, I wrote that it will have 60 precent chance to give between 1 to 2 https://gist.github.com/anonymous/5bebd96b61c95ad71106
August 1, 201510 yr Hi, that random generated int looks confusing, the event code looks correct (at a quick glance). Here is an cleaner alternative which will convert a double to an int, while giving you a value 0-3 inclusive (1 or 2): @SubscribeEvent public void livingDropsEvent(LivingDropsEvent event) { Item item = YOURITEM; int random = (int) Math.random * 3; if(event.entityLiving instanceof EntitySquid) { event.entityLiving.dropItem(item, random); } } Development of Plugins [2012 - 2014] Development of Mods [2012 - Current]
August 2, 201510 yr Author https://gist.github.com/anonymous/74662918de176465e39a Does not work,Did i do something wrong?.
August 2, 201510 yr I am guessing: event.drops.add 1.7.10 is no longer supported by forge, you are on your own.
August 2, 201510 yr C'mon man, I haven't used that event because my mod doesn't involve what your doing, but I'm guessing the list within the event - what other list is there? Development of Plugins [2012 - 2014] Development of Mods [2012 - Current]
August 2, 201510 yr Author After trying to make it work I tried this package com.drunksmanknife.harshnature.init; import java.util.Random; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.passive.EntitySquid; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; public class ModLivingDropsEvent { public static double rand; public Random r = new Random(); @SubscribeEvent public void onEntityDrop(LivingDropsEvent event) { Item item = HarshNatureItems.Kalamari; int r = (int) Math.random() * 3; if(event.entityLiving instanceof EntitySquid) { ItemStack stack = new ItemStack(HarshNatureItems.Kalamari, r); EntityItem drop = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, stack); event.drops.add(drop); } } }
August 2, 201510 yr Author Yeap MinecraftForge.EVENT_BUS.register(new ModLivingDropsEvent()); This is the PreInit
August 2, 201510 yr Then create a random object and use the nextInt() method. The random code should not be difficult. Development of Plugins [2012 - 2014] Development of Mods [2012 - Current]
August 2, 201510 yr Casting the int to the Math surrounded in parenthesis was what I forgot to add in my earlier post. Simple mistake on my part. Development of Plugins [2012 - 2014] Development of Mods [2012 - Current]
August 2, 201510 yr Author https://gist.github.com/anonymous/2aa2b8c655f69c58a685 Got it to work,as it drops 35% of the time problem it wont drop randomly it will always drop 2 Kalamari from a squid
August 2, 201510 yr Author https://gist.github.com/anonymous/84e9e793da3753079517 Successfully working,50,50 drop rate of 2 and 3 You can close this thread here is the solution for someone out there who was the same problem Btw i didn't think I wasn't the only one Here is a quote of a guy who had the same problem 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!
August 2, 201510 yr Good job getting it working...as for te quote saying we expect people to know a good amount of Minecraft modding, rather it should say, "we expect you to know a good amount of Java." Development of Plugins [2012 - 2014] Development of Mods [2012 - Current]
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.