Jump to content

Recommended Posts

Posted

How do I add music to my mods?

 

Scenario is like this:

 

I'm holding an item.If I right click the item,it will play a custom audio file.

 

How do I do something like this?

 

If you know where to put it,review the code here and reply to me where should I put it and what should I add into the code.

 

Code:

 

package com.rhainiel.nim;

// What allows lines with @ work

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.init.Blocks;

import net.minecraft.init.Items;

import net.minecraft.item.Item;

import net.minecraft.item.ItemArmor;

import net.minecraft.item.ItemFood;

import net.minecraft.item.ItemStack;

import net.minecraftforge.common.util.EnumHelper;

 

import com.rhainiel.nim.item.ItemAnt;

import com.rhainiel.nim.item.ItemAntBoots;

import com.rhainiel.nim.item.ItemAntChest;

import com.rhainiel.nim.item.ItemAntHelm;

import com.rhainiel.nim.item.ItemAntPants;

import com.rhainiel.nim.item.ItemBanshee;

import com.rhainiel.nim.item.ItemBansheeAxe;

import com.rhainiel.nim.item.ItemBansheeBoots;

import com.rhainiel.nim.item.ItemBansheeChest;

import com.rhainiel.nim.item.ItemBansheeHelm;

import com.rhainiel.nim.item.ItemBansheeHoe;

import com.rhainiel.nim.item.ItemBansheePants;

import com.rhainiel.nim.item.ItemBansheePickaxe;

import com.rhainiel.nim.item.ItemBansheeShovel;

import com.rhainiel.nim.item.ItemBansheeSword;

import com.rhainiel.nim.item.ItemSuperSword;

import com.rhainiel.nim.item.ItemU;

import com.rhainiel.nim.item.ItemUSword;

 

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.registry.GameRegistry;

 

//Examples of lines with @

@Mod(modid = "NIM", name = "Needed In Minecraft", version = "1.0" )

 

//Where it all begins

 

public class NIM {

 

//Blocks

public static Block blockOre;

public static Block blockBooze;

public static Block blockGlitcher;

 

//Items

public static Item itemSandwich;

public static Item itemGrilled;

public static Item itemCheese;

public static Item itemBanshee;

public static Item itemAnt;

public static Item itemU;

 

//Tools

public static Item BansheeSword;

public static Item BansheeShovel;

public static Item BansheeHoe;

public static Item BansheePick;

public static Item BansheeAxe;

 

public static Item AntPick;

public static Item AntAxe;

public static Item AntShovel;

public static Item AntHoe;

public static Item AntSword;

 

public static Item USword;

 

public static Item SuperSword;

 

//Armor

public static Item BansheeHelm;

public static Item BansheeChest;

public static Item BansheePants;

public static Item BansheeBoots;

 

public static Item AntHelm;

public static Item AntChest;

public static Item AntPants;

public static Item AntBoots;

 

public static Item UHelm;

public static Item UChest;

public static Item UPants;

public static Item UBoots;

 

 

 

public static final Item.ToolMaterial bansheeToolMaterial = EnumHelper.addToolMaterial("bansheeToolMaterial", 5, 9000, 30.0F, 10.0F, 20);

public static final Item.ToolMaterial antToolMaterial = EnumHelper.addToolMaterial("antTool", 4, 1000, 50.0F, 10.0F, 30);

public static final Item.ToolMaterial uToolMaterial = EnumHelper.addToolMaterial("uTool", 6, 100000, 90.0F, 45.0F, 30);

 

public static final ItemArmor.ArmorMaterial bansheeArmorMaterial = EnumHelper.addArmorMaterial("bansheeArmor", 9000,new int[]{8,8,8,8}, 20);

public static final ItemArmor.ArmorMaterial antArmorMaterial = EnumHelper.addArmorMaterial("antArmor", 18000, new int[]{16,16,16,16} ,20);

public static final ItemArmor.ArmorMaterial uArmorMaterial = EnumHelper.addArmorMaterial("uArmor", 30000, new int[]{20,20,20,20},30);

 

public static final Item.ToolMaterial superToolMaterial = EnumHelper.addToolMaterial("superTool", 1000000, 1000000, 100.0F, 50.0F, 30);

 

public static CreativeTabs tabNIM = new CreativeTabs("tabNIM"){

@Override

public Item getTabIconItem(){

return new ItemStack(BansheeSword).getItem();

}

};

 

@EventHandler

public void preInit(FMLPreInitializationEvent event){

//Where the items and blocks are initialized and registered into Minecraft and where config is being written

 

blockOre = new BlockOre(Material.iron).setBlockName("SuperOre").setBlockTextureName("nim:blockore").setCreativeTab(tabNIM);

GameRegistry.registerBlock(blockOre, blockOre.getUnlocalizedName().substring(5));

System.out.println(blockOre.getUnlocalizedName().substring(5));

GameRegistry.addSmelting(blockOre, new ItemStack(itemAnt), 10.0F);

blockBooze = new BlockBooze(Material.iron).setBlockName("SuperBlock").setBlockTextureName("nim:blockbooze").setCreativeTab(tabNIM);

GameRegistry.registerBlock(blockBooze, blockBooze.getUnlocalizedName().substring(5));

GameRegistry.addSmelting(blockBooze, new ItemStack(itemBanshee), 10.0F);

 

itemSandwich = new ItemFood(2, 0.5F , false).setUnlocalizedName("ItemSandwich").setTextureName("nim:sandwich").setCreativeTab(tabNIM);

GameRegistry.registerItem(itemSandwich, itemSandwich.getUnlocalizedName().substring(5));

itemGrilled = new ItemFood(20 , 1.0F, true).setUnlocalizedName("ItemGrilled").setTextureName("nim:grilled").setCreativeTab(tabNIM);

GameRegistry.registerItem(itemGrilled, itemGrilled.getUnlocalizedName().substring(5));

GameRegistry.addSmelting(itemSandwich, new ItemStack(itemGrilled), 5.0F);

itemCheese = new ItemFood(10, 0.5F, false).setUnlocalizedName("Cheese").setTextureName("nim:cheese").setCreativeTab(tabNIM);

GameRegistry.registerItem(itemCheese, itemCheese.getUnlocalizedName().substring(5));

itemBanshee = new ItemBanshee().setUnlocalizedName("Banshee Ash").setCreativeTab(tabNIM).setTextureName("nim:soul");

GameRegistry.registerItem(itemBanshee, itemBanshee.getUnlocalizedName().substring(5));

itemAnt = new ItemAnt().setUnlocalizedName("Ant Orb").setCreativeTab(tabNIM).setTextureName("nim:orb");

GameRegistry.registerItem(itemAnt,itemAnt.getUnlocalizedName().substring(5));

 

itemU = new ItemU().setUnlocalizedName("Ultimate Essence").setCreativeTab(tabNIM).setTextureName("nim:essence");

GameRegistry.registerItem(itemU, itemU.getUnlocalizedName().substring(5));

 

 

BansheePick = new ItemBansheePickaxe(bansheeToolMaterial).setUnlocalizedName("BansheePickaxe").setCreativeTab(tabNIM).setTextureName("nim:banpick");

GameRegistry.registerItem(BansheePick, BansheePick.getUnlocalizedName().substring(5));

BansheeAxe = new ItemBansheeAxe(bansheeToolMaterial).setUnlocalizedName("BansheeAxe").setCreativeTab(tabNIM).setTextureName("nim:banaxe");

GameRegistry.registerItem(BansheeAxe, BansheeAxe.getUnlocalizedName().substring(5));

BansheeShovel = new ItemBansheeShovel(bansheeToolMaterial).setUnlocalizedName("BansheeShovel").setCreativeTab(tabNIM).setTextureName("nim:banspade");

GameRegistry.registerItem(BansheeShovel, BansheeShovel.getUnlocalizedName().substring(5));

BansheeSword = new ItemBansheeSword(bansheeToolMaterial).setUnlocalizedName("BansheeSword").setTextureName("nim:itemsword").setCreativeTab(tabNIM);

GameRegistry.registerItem(BansheeSword, BansheeSword.getUnlocalizedName().substring(5));

BansheeHoe = new ItemBansheeHoe(bansheeToolMaterial).setUnlocalizedName("BansheeHoe").setCreativeTab(tabNIM).setTextureName("nim:banhoe");

GameRegistry.registerItem(BansheeHoe, BansheeHoe.getUnlocalizedName().substring(5));

 

USword = new ItemUSword(uToolMaterial).setUnlocalizedName("UltimateSword").setCreativeTab(tabNIM).setTextureName("nim:usword");

GameRegistry.registerItem(USword,USword.getUnlocalizedName().substring(5));

 

SuperSword= new ItemSuperSword(superToolMaterial).setUnlocalizedName("SuperSword").setCreativeTab(tabNIM).setTextureName("nim:supersword");

 

BansheeHelm = new ItemBansheeHelm(bansheeArmorMaterial, 0, 0).setUnlocalizedName("BansheeHelm").setCreativeTab(tabNIM).setTextureName("nim:banhelm");

BansheeChest = new ItemBansheeChest(bansheeArmorMaterial, 0 , 1).setUnlocalizedName("BansheeChest").setCreativeTab(tabNIM).setTextureName("nim:banchest");

BansheePants = new ItemBansheePants(bansheeArmorMaterial, 0,2).setUnlocalizedName("BansheePants").setCreativeTab(tabNIM).setTextureName("nim:banpants");

BansheeBoots = new ItemBansheeBoots(bansheeArmorMaterial , 0, 3).setUnlocalizedName("BansheeBoots").setCreativeTab(tabNIM).setTextureName("nim:banboot");

GameRegistry.registerItem(BansheeHelm,BansheeHelm.getUnlocalizedName().substring(5));

GameRegistry.registerItem(BansheeChest, BansheeChest.getUnlocalizedName().substring(5));

GameRegistry.registerItem(BansheePants, BansheePants.getUnlocalizedName().substring(5));

GameRegistry.registerItem(BansheeBoots, BansheeBoots.getUnlocalizedName().substring(5));

 

AntHelm = new ItemAntHelm(antArmorMaterial, 0, 0).setUnlocalizedName("AntHelm").setCreativeTab(tabNIM).setTextureName("nim:anthelm");

AntChest = new ItemAntChest(antArmorMaterial, 0,1).setUnlocalizedName("AntChest").setCreativeTab(tabNIM).setTextureName("nim:antchest");

AntPants = new ItemAntPants(antArmorMaterial,0,2).setUnlocalizedName("AntPants").setCreativeTab(tabNIM).setTextureName("nim:antpants");

AntBoots = new ItemAntBoots(antArmorMaterial,0,3).setUnlocalizedName("AntBoots").setCreativeTab(tabNIM).setTextureName("nim:antboots");

GameRegistry.registerItem(AntHelm, AntHelm.getUnlocalizedName().substring(5));

GameRegistry.registerItem(AntChest,AntChest.getUnlocalizedName().substring(5));

GameRegistry.registerItem(AntPants,AntPants.getUnlocalizedName().substring(5));

GameRegistry.registerItem(AntBoots, AntBoots.getUnlocalizedName().substring(5));

 

 

    blockGlitcher = new BlockGlitcher(Material.cloth).setBlockName("Glitch").setBlockTextureName("nim:glitched").setCreativeTab(tabNIM);

GameRegistry.registerBlock(blockGlitcher, blockGlitcher.getUnlocalizedName().substring(5));

 

GameRegistry.registerWorldGenerator(new BansheeGenerators(), 0);

GameRegistry.registerWorldGenerator(new AntGenerators(), 0);

}

 

   

 

 

 

@EventHandler

public void init(FMLInitializationEvent event){

//TileEntity,entities,GUIs and Packet registering here

 

//Tools

GameRegistry.addRecipe(new ItemStack(BansheeSword),new Object[]{"  B"," B ","A  ",'B',itemBanshee,'A',itemAnt});

GameRegistry.addRecipe(new ItemStack(BansheePick),new Object[]{"BBB"," A "," A ", 'B',itemBanshee,'A',itemAnt});

GameRegistry.addRecipe(new ItemStack(BansheeAxe),new Object[]{"BB ","BA "," A ",'B',itemBanshee,'A',itemAnt});

GameRegistry.addRecipe(new ItemStack(BansheeShovel),new Object[]{" B "," A "," A ",'B',itemBanshee,'A',itemAnt});

GameRegistry.addRecipe(new ItemStack(BansheeHoe),new Object[]{"BB "," A "," A ",'B',itemBanshee,'A',itemAnt});

 

 

//Foods

GameRegistry.addRecipe(new ItemStack(itemSandwich), new Object[]{"  ",

" B ",

" C ", 'B', Items.bread, 'C', itemCheese});

GameRegistry.addRecipe(new ItemStack(itemCheese),new Object[]{"  ",

                                                          " S ",

  " M ", 'M', Items.milk_bucket, 'S', Items.sugar});

//Blocks

GameRegistry.addRecipe(new ItemStack(blockOre), new Object[]{"  ",

" D ",

"  ", 'D', Blocks.dirt});

GameRegistry.addRecipe(new ItemStack(blockGlitcher),new Object[]{" S ",

"PHO",

" A ",'S',BansheeSword,'H',BansheeHoe, 'P',BansheePick,'A',BansheeAxe,'O',BansheeShovel});

GameRegistry.addRecipe(new ItemStack(blockBooze),new Object[]{"  ",

    " G ",

    " B ", 'G', blockGlitcher, 'B', blockOre});

//Armor

GameRegistry.addRecipe(new ItemStack(BansheeHelm),new Object[]{"  ","BBB","B B",'B',itemBanshee});

GameRegistry.addRecipe(new ItemStack(BansheeChest),new Object[]{"B B","BBB","BBB",'B',itemBanshee});

GameRegistry.addRecipe(new ItemStack(BansheePants),new Object[]{"BBB","B B","B B",'B',itemBanshee});

GameRegistry.addRecipe(new ItemStack(BansheeBoots),new Object[]{"  ","B B","B B",'B',itemBanshee});

GameRegistry.addRecipe(new ItemStack(AntHelm),new Object[]{"  ","AAA","A A",'A',itemAnt});

GameRegistry.addRecipe(new ItemStack(AntChest),new Object[]{"A A","AAA","AAA",'A',itemAnt});

GameRegistry.addRecipe(new ItemStack(AntPants),new Object[]{"AAA","A A","A A",'A',itemAnt});

GameRegistry.addRecipe(new ItemStack(AntBoots),new Object[]{"  ","A A","A A",'A',itemAnt});

 

//items

GameRegistry.addRecipe(new ItemStack(itemU),new Object[]{"HAP","CSX","BNM",'H',BansheeHelm,'A',AntHelm,'P',BansheePants,'C',AntChest,'S',BansheeSword,'X', AntPants,'B',BansheeChest,'N',AntBoots,'M',BansheeBoots});

}

 

 

 

@EventHandler

public void postInit(FMLPostInitializationEvent event){

 

}

}

 

Posted

Adding sounds is easy you simply put your audio files (format is .ogg) in assets/modid/sounds then all you have to do to have them loaded into the game is create a sounds.json file which you put in assets/modid it should look something like this

{
   "charge": {"category": "block","sounds": [{"name": "charge","stream": false}]},
   "discharge": {"category": "block","sounds": [{"name": "discharge","stream": false}]},
   "boom": {"category": "block","sounds": [{"name": "boom","stream": false}]},
   "beam": {"category": "block","sounds": [{"name": "beam","stream": false}]}
}

There are lots of tutorials about that if you look.

 

You can then play the sound like any vanilla sound. (There are plenty of examples in the vanilla code)

 

Edit:

Example. worldObj.playSoundEffect(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D, "modid:boom", 10F, worldObj.rand.nextFloat() * 0.1F + 0.9F);

I am the author of Draconic Evolution

Posted

Adding sounds is easy you simply put your audio files (format is .ogg) in assets/modid/sounds then all you have to do to have them loaded into the game is create a sounds.json file which you put in assets/modid it should look something like this

{
   "charge": {"category": "block","sounds": [{"name": "charge","stream": false}]},
   "discharge": {"category": "block","sounds": [{"name": "discharge","stream": false}]},
   "boom": {"category": "block","sounds": [{"name": "boom","stream": false}]},
   "beam": {"category": "block","sounds": [{"name": "beam","stream": false}]}
}

There are lots of tutorials about that if you look.

 

You can then play the sound like any vanilla sound. (There are plenty of examples in the vanilla code)

 

Edit:

Example. worldObj.playSoundEffect(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D, "modid:boom", 10F, worldObj.rand.nextFloat() * 0.1F + 0.9F);

So,if I want to add a sound of screams,like the ones ghasts have,I would add a sounds.json file and add this:

{
   "mh": {"category": "items","sounds": [{"name": "mh","stream": false}]},
  
}

 

and now how am I gonna register the file in my modid.java?

 

I'm a complete noob.

Posted

and now how am I gonna register the file in my modid.java?

 

I'm a complete noob.

 

You don't have to.

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.

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Reach Out To Rapid Digital: What sapp Info: +1 41 4 80 7 14 85 Email INFO: rap iddi gita lrecov ery @ exe cs. com Hello, my name is Jayson, and I’m 35 years old from the United Kingdom. My family and I recently endured an incredibly challenging experience that I wouldn’t wish on anyone. We became victims of a cryptocurrency investment fraud scheme that saw us lose a staggering $807,000 in USDT and Bitcoins. The fraudsters had created a convincing facade, and we were lured into investing, only to discover later that the platform was a complete scam. We were left devastated, not just financially, but emotionally, as we had trusted these people and believed in the legitimacy of the investment. After the initial shock wore off, we desperately searched for ways to recover the lost funds. It seemed like an impossible task, and we felt as though there was no hope. That’s when, by sheer luck, we stumbled across a post about Rapid Digital Recovery, a cryptocurrency and funds recovery organization with a proven track record in cybersecurity and fraud recovery. We decided to reach out to them, and from the first interaction, we were impressed with their professionalism and transparency. They explained the recovery process in detail and reassured us that they had the skills and expertise to track down the perpetrators and recover our funds. This gave us a renewed sense of hope, something we hadn’t felt in months. What truly stood out during our experience with Rapid Digital Recovery was their dedication to the recovery process. The team went above and beyond, using sophisticated tracking tools and cyber forensics to gather critical information. Within a matter of weeks, they had successfully located the funds and traced the scam back to the fraudsters responsible. They worked with the authorities to ensure the criminals were held accountable for their actions. To our relief, the team at Rapid Digital Recovery was able to recover every single penny we had lost. The funds were returned in full, and the sense of closure we felt was invaluable. We couldn’t have imagined such a positive outcome in the early stages of our recovery journey, and we are deeply grateful for the work they did. If you ever find yourself in a similar situation, I highly recommend contacting Rapid Digital Recovery. Their expertise, transparency, and dedication to their clients make them the go-to choice for anyone seeking to recover lost cryptocurrency or funds. They truly gave us back our financial future.  
    • This is my first time modding anything, so maybe just skill issue. I'm using Forge 54.0.12 and Temurin 21.0.5+11-LTS I wanted to create a custom keybind and to check whether it works I'd like to send a chat message. I tried using Minecraft.getInstance().player.sendSystemMessage(Component.literal("test")); but IntelliJ couldnt resolve sendSystemMessage(...). Since I saw people using it in earlier versions, I tried the same thing with 1.20.6(- 50.1.0), where it works fine, now I can't figure out if this is intentional and whether there are other options for sending chat messages. On that note, is there more documentation than https://docs.minecraftforge.net/en/1.21.x/? It seems very incomplete compared to something like the Oracle Java docs
    • Hi, i'm having this error and I wanna fix it. we try: -Reload drivers -Eliminate .minecraft -Eliminate Java -Restart launcher -Verify if minecraft is using gpu -Mods  in .minecraft is empty -Install the latest and recomended version of forge idk what i have to do, help me pls. the lastest log is: https://mclo.gs/WAMao8x  
    • Read the FAQ, Rule #2. (https://forums.minecraftforge.net/topic/125488-rules-and-frequently-asked-questions-faq/)  
    • The link to your log does not work, it says it is forbidden, Error, this is a private paste or is pending moderation.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.