The Meaning of Life, the Universe, and Everything.
Join Date:
11/7/2012
Posts:
52
Member Details
Hey all,
I am a really new to modding and this is my first mod I am working on. I having trouble whenever I am trying to slay a Zombie it should drop a DutarFragment (DutarEssence in this case) of a 25% drop chance, but it does not drop it at all no matter how many Zombies I kill.
There is no Error nor Warnings is this code. Everything works %100 with no errors (Client and Server), It's just the Zombie that does not want to drop the DutarFragment (DutarEssence in this case), I will also appreciate some guidelines and tips for better coding if mine is not according to the standards.
//Crafting Shaped
//******************
GameRegistry.addRecipe(new ItemStack(AerialCraftToolsObj.DutarSword,1), new Object[]{" D "," D "," S ",'D',AerialCraftItemsObj.DutarIngot,'S',Item.stick});
public DutarEssence(int par1) {
super(par1); //Returns super constructor: par1 is ID
setCreativeTab(CreativeTabs.tabMaterials); //Tells the game what creative mode tab it goes in
public DutarIngot(int par1) {
super(par1); //Returns super constructor: par1 is ID
setCreativeTab(CreativeTabs.tabMaterials); //Tells the game what creative mode tab it goes in
// *REMEBER* Change "ItemPickaxe" to ItemAxe, ItemHoe, ItemSword, etc if you are making those tools!
public class DutarSword extends ItemSword {
public DutarSword(int ItemID, EnumToolMaterial enumToolMaterialDutar){
super(ItemID, enumToolMaterialDutar);
}
}
I am a really new to modding and this is my first mod I am working on. I having trouble whenever I am trying to slay a Zombie it should drop a DutarFragment (DutarEssence in this case) of a 25% drop chance, but it does not drop it at all no matter how many Zombies I kill.
There is no Error nor Warnings is this code. Everything works %100 with no errors (Client and Server), It's just the Zombie that does not want to drop the DutarFragment (DutarEssence in this case), I will also appreciate some guidelines and tips for better coding if mine is not according to the standards.
USING FML FOR THIS MOD
Any Help?
import net.minecraft.block.Block;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.EnumHelper;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.passive.EntitySquid;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
//Setting Settings
@Mod(modid="Aerialcraft",name="Aerial Craft",version="1.0")
@NetworkMod(clientSideRequired=true,serverSideRequired=true)
public class AerialCraft {{
//Calling Items
AerialCraftItems AerialCraftItemsObj = new AerialCraftItems();
AerialCraftItemsObj.getClass();
//Calling Blocks
AerialCraftBlocks AerialCraftBlocksObj = new AerialCraftBlocks();
AerialCraftBlocksObj.getClass();
//Calling Tools
AerialCraftTools AerialCraftToolsObj = new AerialCraftTools();
AerialCraftToolsObj.getClass();
//Calling Event_LivingDrops
Event_LivingDrops Event_LivingDropsObj = new Event_LivingDrops();
Event_LivingDropsObj.getClass();
//Crafting Shapeless
//******************
//9 DutarEssence = 1 DutarBlock
GameRegistry.addShapelessRecipe(new ItemStack(AerialCraftBlocksObj.DutarBlock,1), new Object[]{
AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence, AerialCraftItemsObj.DutarEssence});
//1 DutarBlock = 9 DutarEssence
GameRegistry.addShapelessRecipe(new ItemStack(AerialCraftItemsObj.DutarEssence,9), new Object[]{
AerialCraftBlocksObj.DutarBlock});
//Crafting Shaped
//******************
GameRegistry.addRecipe(new ItemStack(AerialCraftToolsObj.DutarSword,1), new Object[]{" D "," D "," S ",'D',AerialCraftItemsObj.DutarIngot,'S',Item.stick});
//Smelting
//*********
//1 DutarEssence = 1 DutarIngot
GameRegistry.addSmelting(AerialCraftItemsObj.DutarEssence.itemID, new ItemStack(AerialCraftItemsObj.DutarIngot), 15.0f);
}
}
import net.minecraft.block.Block;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.EnumHelper;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
public class AerialCraftBlocks{
//Adding Block DutarBlock
public static Block DutarBlock;{
DutarBlock = new DutarBlock(2001, "DutarBlock").setUnlocalizedName("DutarBlock").setHardness(10.0F).setStepSound(Block.soundMetalFootstep).setResistance(15.0F);
GameRegistry.registerBlock(DutarBlock, "Dutar Block");
LanguageRegistry.addName(DutarBlock, "Dutar Block");
}
//
}
import net.minecraft.block.Block;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.EnumHelper;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
public class AerialCraftItems {
//Adding Item DutarEssence
public static Item DutarEssence;{
DutarEssence = new DutarEssence(8000).setUnlocalizedName("DutarEssence");
LanguageRegistry.addName(DutarEssence, "Dutar Essence");}
//Adding Item DutarEssence
public static Item DutarIngot;{
DutarIngot = new DutarEssence(8001).setUnlocalizedName("DutarIngot");
LanguageRegistry.addName(DutarIngot, "Dutar Ingot");}
//
}
import net.minecraft.block.Block;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.EnumHelper;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
public class AerialCraftTools {
//Enum Tools Materials
static EnumToolMaterial EnumToolMaterialDutar = EnumHelper.addToolMaterial("DutarPower", 0, 10, 8.0F, 10, 10);
//Add Tools Dutar DutarSword
public static Item DutarSword;{
DutarSword = new DutarSword(9000, EnumToolMaterialDutar).setUnlocalizedName("DutarSword");
LanguageRegistry.addName(DutarSword, "Dutar Essence");}
//
}
import java.util.Random;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
public class DutarBlock extends Block {
//Loading
public DutarBlock(int par1, String texture) {
super(par1, Material.iron);
setCreativeTab(CreativeTabs.tabBlock); //place in creative tabs
}
//Broken Drop
public int quantityDropped(Random random)
{
return 1;
}
//Texture the block
public String getTextureFile(){
return "/textures/blocks/DutarBlock.png";
}
}
import net.minecraft.item.Item;
import cpw.mods.fml.relauncher.*;
import net.minecraft.creativetab.CreativeTabs;
public class DutarEssence extends Item {
public DutarEssence(int par1) {
super(par1); //Returns super constructor: par1 is ID
setCreativeTab(CreativeTabs.tabMaterials); //Tells the game what creative mode tab it goes in
}
}
import net.minecraft.item.Item;
import cpw.mods.fml.relauncher.*;
import net.minecraft.creativetab.CreativeTabs;
public class DutarIngot extends Item {
public DutarIngot(int par1) {
super(par1); //Returns super constructor: par1 is ID
setCreativeTab(CreativeTabs.tabMaterials); //Tells the game what creative mode tab it goes in
}
}
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemSword;
import net.minecraft.block.Block;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.EnumHelper;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
// *REMEBER* Change "ItemPickaxe" to ItemAxe, ItemHoe, ItemSword, etc if you are making those tools!
public class DutarSword extends ItemSword {
public DutarSword(int ItemID, EnumToolMaterial enumToolMaterialDutar){
super(ItemID, enumToolMaterialDutar);
}
}
And here is the Class I am having trouble with:
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.passive.EntitySquid;
import net.minecraft.item.Item;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.*;
import net.minecraft.entity.player.*;
public class Event_LivingDrops {
static double rand;
@ForgeSubscribe
public void onEntityDrop(LivingDropsEvent event) {
if (event.source.getEntity() instanceof EntityPlayer) {
rand = Math.random();
EntityPlayer killer = (EntityPlayer)event.source.getEntity();
if (event.entity instanceof EntityZombie && !event.entity.worldObj.isRemote) {
if (rand < 0.25D){
//TODO change DutarEssence Item into DutarFragment Once Item Added
event.entity.dropItem(AerialCraftItems.DutarEssence.itemID, 1);
}
}
}
}
}
Thanks in advance,
Beelzaboss.