By
DoorCloser, December 29, 2013 in Modder Support
See the mob tutorial.
I see you havent read even 1/4 part of my post. "I've watched alot of tutorials"
Your question is not any more important than any other question on here. Putting "Very important" in the title is a) not going to have the desired effect (more people reading) but the opposite and b) very insolent.
On topic: Post your sound registering code, it is important.
Making a clone topic wont make you get an answer faster.
Your question is not any more important than any other question on here. Putting "Very important" in the title is a) not going to have the desired effect (more people reading) but the opposite and b) very insolent.
On topic: Post your sound registering code, it is important.
Very important means its important for me... Not for others.
On topic: Post your sound registering code, it is important.
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.
Sound registering code? I dont have one actually. Where i suppose to put it?
Its an event handler class.
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.
Sound registering code? I dont have one actually. Where i suppose to put it?
Thanks. Could you give me any tutorial on how to do that, or code? I remember something about that, but that was ModLoader. Forge is another.
Thanks. Could you give me any tutorial on how to do that, or code? I remember something about that, but that was ModLoader. Forge is another.
Thanks. Could you give me any tutorial on how to do that, or code? I remember something about that, but that was ModLoader. Forge is another.
Seriously? Wiki? There is no answers on such questions. They only giv e answers on development if so.
Thanks. Could you give me any tutorial on how to do that, or code? I remember something about that, but that was ModLoader. Forge is another.
Seriously? Wiki? There is no answers on such questions. They only giv e answers on development if so.
Oh, so this page doesn't exist. Gotcha.
(Despite being old, its still accurate, based on a cursory glance and my recollections of when I did it)
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.
Thanks. Could you give me any tutorial on how to do that, or code? I remember something about that, but that was ModLoader. Forge is another.
Seriously? Wiki? There is no answers on such questions. They only giv e answers on development if so.
Oh, so this page doesn't exist. Gotcha.
(Despite being old, its still accurate, based on a cursory glance and my recollections of when I did it)
Thanks, but i still miss understand something. Tutorial says i supposed to put MinecraftForge.EVENT_BUS.register(new HalflifeMod_EventSounds()); in @PreInit in Main.class. So it should be looks like that;
@PreInit
MinecraftForge.EVENT_BUS.register(new HalflifeMod_EventSounds());
}}
Because eclipse giving me an error;
Syntax Error on token "MinecraftForge", delete this token
Without that string my sounds doesnt work. Can you help? I'll give you some codes;
package doorcloser.modding; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; public class HalflifeMod_EventSounds { @ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.soundPoolSounds.addSound("houndeye/bip.wav", mod_HalflifeMod.class.getResource("/resources/newsound/mob/bip.ogg")); } catch (Exception e) { System.err.println("Failed to register one or more sounds."); } event.manager.soundPoolSounds.addSound("houndeye/bip1.ogg", mod_HalflifeMod.class.getResource("/resources/newsound/mob/bip1.ogg")); event.manager.soundPoolSounds.addSound("houndeye/bip2.ogg", mod_HalflifeMod.class.getResource("/resources/newsound/mob/bip2.ogg")); event.manager.soundPoolSounds.addSound("houndeye/bip3.ogg", mod_HalflifeMod.class.getResource("/resources/newsound/mob/bip3.ogg")); }}
Did i set the paths not correct? Please help,
@PreInit MinecraftForge.EVENT_BUS.register(new HalflifeMod_EventSounds()); }}
This is wrong.
First, @PreInit is a function declared with the @PreInit annotation in your main class.
Second (and the only inaccuracy in the tutoral) is that @PreInit was depreciated in favor of @EventHandler, but it should alert you to this and what to use instead.
Third, I don't know how you thought you needed two unpaired close-braces.
@EventHandler public void preInit(FMLPreInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new HalflifeMod_EventSounds()); }
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.
@PreInit MinecraftForge.EVENT_BUS.register(new HalflifeMod_EventSounds()); }}
This is wrong.
First, @PreInit is a function declared with the @PreInit annotation in your main class.
Second (and the only inaccuracy in the tutoral) is that @PreInit was depreciated in favor of @EventHandler, but it should alert you to this and what to use instead.
Third, I don't know how you thought you needed two unpaired close-braces.
@EventHandler public void preInit(FMLPreInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new HalflifeMod_EventSounds()); }
Eclipse says; @EventHandler cannot be resolved to a type.
Whats the matter? Am i suppose to type it below @Mod, or upper? Below public class or upper?
EventHandler wasnt implemented yet in 1.5.2 forge.
DoorCloser, is there any reason you dont start modding with 1.6.4? You might get better answers if you update.
EventHandler wasnt implemented yet in 1.5.2 forge.
DoorCloser, is there any reason you dont start modding with 1.6.4? You might get better answers if you update.
I know, but there was alot of changes. I was already modding for 1.5.2. When i finish my mod, i'll port it to 1.6.4. :9
EventHandler wasnt implemented yet in 1.5.2 forge.
DoorCloser, is there any reason you dont start modding with 1.6.4? You might get better answers if you update.
So, @PreInit made without errors. But still no sounds. I dont know where to put them. Is it supposed to be in sound3 or newsound in resources folder? I tried to put folder newsound in minecraft.jar, nothing worked. I did something wrong again? Check my codes please:
Event_Sound file:
package doorcloser.modding;
import net.minecraftforge.client.event.sound.SoundLoadEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.ForgeSubscribe;
public class HalflifeMod_EventSounds {
@ForgeSubscribe
public void onSound(SoundLoadEvent event) {
try {
event.manager.soundPoolSounds.addSound("houndeye/bip1.wav",
mod_HalflifeMod.class
.getResource("/newsound/mob/houndeye/bip1.wav"));
event.manager.soundPoolSounds.addSound("houndeye/bip2.wav",
mod_HalflifeMod.class
.getResource("/newsound/mob/houndeye/bip2.wav"));
event.manager.soundPoolSounds.addSound("houndeye/bip3.wav",
mod_HalflifeMod.class
.getResource("/newsound/mob/houndeye/bip3.wav"));
} catch (Exception e) {
System.err.println("Failed to register one or more sounds.");
}
}
}
My mod file:
package doorcloser.modding;
import net.minecraftforge.common.*;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.EnumHelper;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
// basic forge stuff
@Mod(modid = "mod_HalflifeMod", name = "Half-Life MOD", version = "v1")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class mod_HalflifeMod {
@PreInit
public void preInit(FMLPreInitializationEvent event)
{
MinecraftForge.EVENT_BUS.register(new HalflifeMod_EventSounds());
}
//creative tabs
public static CreativeTabs hltab = new TabHL(CreativeTabs.getNextID(), "Half-Life Blocks");
public static Block floor01;
public static Block floor02;
public static Block floor03;
public static Block wall01;
public static Block wall02;
public static Block wall03;
public static Block wall04;
public static Block wall05;
public static Block wall06;
public static Block wall07;
public static Block wall08pt1;
public static Block wall08pt2;
public static Block smallpc;
public static Block xeniangrass;
public static Block xeniandirt;
public static Block xenianbluepillar;
public static Block xeniangreenpillar;
public static Block xenianstone;
public static Block xenianpillar;
public static Block xenportal;
public static int DimID = 4;
public static BiomeGenBase xenbiome1 = new BiomeGenSpaces(30);
public String getVersion() {
return "1.5.2";
}
@Init
public void load(FMLInitializationEvent event) {
//Houndeye main
EntityRegistry.registerGlobalEntityID(EntityHoundeye.class,"Houndeye", EntityRegistry.findGlobalUniqueEntityId(), 111738, 889345);
RenderingRegistry.registerEntityRenderingHandler(EntityHoundeye.class, new RenderHoundeye(new ModelHoundeye(), 0.5F));
//rendering stuff
EntityRegistry.registerModEntity(EntityHoundeye.class, "Houndeye", 1, this, 80, 3, true);
EntityRegistry.addSpawn(doorcloser.modding.EntityHoundeye.class,20,3,8, EnumCreatureType.creature);
// floor 01 block
floor01 = new BlockFloor01(2000, "floor01")
.setUnlocalizedName("floor01")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(floor01, "floor01");
LanguageRegistry.addName(floor01, "Chess Floor");
// floor 02 block
floor02 = new BlockFloor02(2001, "floor02")
.setUnlocalizedName("floor02")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(floor02, "floor02");
LanguageRegistry.addName(floor02, "Carpet FLoor");
// floor 03 block
floor03 = new BlockFloor03(2002, "floor03")
.setUnlocalizedName("floor03")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(floor03, "floor03");
LanguageRegistry.addName(floor03, "SiloD Floor");
// wall 01 block
wall01 = new BlockWall01(2003, "wall01")
.setUnlocalizedName("wall01")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall01, "wall01");
LanguageRegistry.addName(wall01, "Green MetalWall");
// wall 02 block
wall02 = new BlockWall02(2004, "wall02")
.setUnlocalizedName("wall02")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall02, "wall02");
LanguageRegistry.addName(wall02, "Green MetalWall 2");
// wall 03 block
wall03 = new BlockWall03(2005, "wall03")
.setUnlocalizedName("wall03")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall03, "wall03");
LanguageRegistry.addName(wall03, "Grey MetalWall");
// wall 04 block
wall04 = new BlockWall04(2006, "wall04")
.setUnlocalizedName("wall04")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall04, "wall04");
LanguageRegistry.addName(wall04, "Grey MetalWall 2");
// wall 05 block
wall05 = new BlockWall05(2007, "wall05")
.setUnlocalizedName("wall05")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall05, "wall05");
LanguageRegistry.addName(wall05, "Green MetalWall 3");
// wall 06 block
wall06 = new BlockWall06(2008, "wall06")
.setUnlocalizedName("wall06")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall06, "wall06");
LanguageRegistry.addName(wall06, "Grey MetalWall 3");
// wall 07 block
wall07 = new BlockWall07(2009, "wall07")
.setUnlocalizedName("wall07")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall07, "wall07");
LanguageRegistry.addName(wall07, "Grey MetalWall 4");
// wall 08 pt1 block
wall08pt1 = new BlockWall08pt1(2010, "wall08pt1")
.setUnlocalizedName("wall08pt1")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall08pt1, "wall08pt1");
LanguageRegistry.addName(wall08pt1, "String Wall Top");
// wall 08 pt2 block
wall08pt2 = new BlockWall08pt2(2011, "wall08pt2")
.setUnlocalizedName("wall08pt2")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(wall08pt2, "wall08pt2");
LanguageRegistry.addName(wall08pt2, "String Wall Bottom");
// small pc block
smallpc = new BlockPC(2012, "smallpc")
.setUnlocalizedName("monitor")
.setHardness(4.0F)
.setResistance(5.0F)
.setStepSound(Block.soundMetalFootstep);
GameRegistry.registerBlock(smallpc, "smallpc");
LanguageRegistry.addName(smallpc, "Small PC");
// [XEN STUFF BELOW]
// xenian grass block
xeniangrass = new BlockXenianGrass(2013, "xeniangrass")
.setUnlocalizedName("xeniangrass")
.setHardness(2.0F)
.setResistance(3.0F)
.setStepSound(Block.soundGrassFootstep);
GameRegistry.registerBlock(xeniangrass, "xeniangrass");
LanguageRegistry.addName(xeniangrass, "Xenian Grass");
// xenian dirt block
xeniandirt = new BlockXenianDirt(2014, "xeniandirt")
.setUnlocalizedName("xeniandirt")
.setHardness(2.0F)
.setResistance(3.0F)
.setStepSound(Block.soundGrassFootstep);
GameRegistry.registerBlock(xeniandirt, "xeniandirt");
LanguageRegistry.addName(xeniandirt, "Xenian Dirt");
// xenian blue pillar block
xenianbluepillar = new BlockXenianBluePillar(2015, "xenianbluepillar")
.setUnlocalizedName("xenianbluepillar")
.setHardness(8.0F)
.setResistance(4.0F)
.setStepSound(Block.soundStoneFootstep);
GameRegistry.registerBlock(xenianbluepillar, "xenianbluepillar");
LanguageRegistry.addName(xenianbluepillar, "Blue Xenian Pillar");
// xenian green pillar block
xeniangreenpillar = new BlockXenianGreenPillar(2016, "xenianbluepillar")
.setUnlocalizedName("xeniangreenpillar")
.setHardness(8.0F)
.setResistance(4.0F)
.setStepSound(Block.soundStoneFootstep);
GameRegistry.registerBlock(xeniangreenpillar, "xeniangreenpillar");
LanguageRegistry.addName(xeniangreenpillar, "Green Xenian Pillar");
// xenian pillar block
xenianpillar = new BlockXenianPillar(2017, "xenianpillar")
.setUnlocalizedName("xenianpillar")
.setHardness(8.0F)
.setResistance(4.0F)
.setStepSound(Block.soundStoneFootstep);
GameRegistry.registerBlock(xenianpillar, "xenianpillar");
LanguageRegistry.addName(xenianpillar, "Xenian Pillar");
// xenian stone block
xenianstone = new BlockXenianStone(2018, "xenianstone")
.setUnlocalizedName("xenianstone")
.setHardness(8.0F)
.setResistance(4.0F)
.setStepSound(Block.soundStoneFootstep);
GameRegistry.registerBlock(xenianstone, "xenianstone");
LanguageRegistry.addName(xenianstone, "Xenian Stone");
// xenian portal block
xenportal = new BlockXenPortal(2019)
.setUnlocalizedName("xenportal")
.setHardness(8.0F)
.setResistance(4.0F)
.setStepSound(Block.soundStoneFootstep);
GameRegistry.registerBlock(xenportal, "xenportal");
LanguageRegistry.addName(xenportal, "Xenian Portal");
// Dimension stuff below
DimensionManager.registerProviderType(DimID, WorldProviderXen.class, true);
DimensionManager.registerDimension(DimID, DimID);
}}
My Entity file:
package doorcloser.modding;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILeapAtTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveTwardsRestriction;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.ai.EntityLookHelper;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.pathfinding.PathEntity;
import net.minecraft.world.World;
public class EntityHoundeye extends EntityMob {
// mob
public EntityHoundeye(World par1World) {
super(par1World);
this.setSize(0.6F, 0.8F);
this.moveSpeed = 0.3F;
texture = "/mob/HL/Houndeye.png";
isImmuneToFire = true;
this.getNavigator().setSpeed(0.3F);
// mob's ai below
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(1, new EntityAIAttackOnCollide(this,
EntityPlayer.class, this.moveSpeed, false));
this.tasks.addTask(2, new EntityAIMoveTwardsRestriction(this,
this.moveSpeed));
this.tasks.addTask(3, new EntityAIWander(this, 0.2F));
this.tasks.addTask(4, new EntityAILeapAtTarget(this, 0.4F));
this.tasks.addTask(5, new EntityAIWatchClosest(this,
EntityPlayer.class, 6.0F));
this.tasks.addTask(6, new EntityAILookIdle(this));
this.targetTasks.addTask(0, new EntityAIHurtByTarget(this, true));
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this,
EntityPlayer.class, 25.0F, 0, true));
}
protected boolean isAIEnabled()// enable/disable ai
{
return true;
}
public int func_82193_c(Entity par1Entity) // the ammount of damage
{
return 4;
}
protected void fall(float par1) {
}
public int getMaxHealth() // mob's health
{
return 15;
}
protected String getLivingSound() {
return "newsound.mob.houndeye.bip";
}
protected String getHurtSound() {
return "houndeye.bip";
}
protected String getDeathSound() {
return "mob.houndeye.bip";
}
public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) {
super.writeEntityToNBT(par1NBTTagCompound);
}
public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) {
super.readEntityFromNBT(par1NBTTagCompound);
}
protected float getSoundVolume() {
return 0.4F;
}
protected boolean canDespawn() // respawn after kill on the same spot
{
return false;
}
}
Im guessing like every other asset for mods, it goes in your mod's asset folder. Probably in a sub-folder called sounds.
Im guessing like every other asset for mods, it goes in your mod's asset folder. Probably in a sub-folder called sounds.
ITS FINALLY WORKED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I HAD TO PUT MY entity's sounds FOLDER IN resources/mod/sound FOLDER!!!! YEEEEEEEEEEEEEEEAAAAAAAAAAAH!!! THANKS EVERYONE!!!! THIS PROBLEM NOW SOLVED!!!!!!!!!!!!!!!!!!!!!
EventHandler wasnt implemented yet in 1.5.2 forge.
Whoops, yeah, this.
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.
× 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.
No registered users viewing this page.
By Polska_Lama_ · Posted just now
By [NoOneButNo] · Posted 10 minutes ago
By DavidM · Posted 17 minutes ago
By CJDaBomb · Posted 19 minutes ago
By
Elsopeen
Started 1 hour ago
Copyright © 2019 ForgeDevelopment LLC · Ads by Curse Powered by Invision Community
Hey mates. I've came here with another question about modding. I'm basicly modding my own mod(mobs, dimensions, items, blocks etc.). I've made one mob and i wanted to make it say my own sounds. I've watched alot of tutorials. It was said to put code like that in EntityName of your mob:
So i've made that code, i only need to put sounds in folders. I tried to put them in [resources/sound3/mob/mymob]. Checked it out in the game...nothing works. I couldnt hear mymob make those sounds. I tried to put sounds in [resources/newsound/mob/mymob]. It didnt worked too! I also tried to convert them in .ogg format. Nothing changed! But when i try to set it like cow sounds, or chicken or enderman and etc. it works, but only with their sounds.
I dont know what to do, maybe you know?
P.S; I'm working with 1.5.2 version of minecraft.
Please Help me!
Thanks alot if you do.
Share this post
Link to post
Share on other sites