Jump to content

LearnToSpel

Members
  • Posts

    23
  • Joined

  • Last visited

Everything posted by LearnToSpel

  1. I'm still learning how to use Java and would appreciate it if you weren't rude about my current Java knowledge.
  2. I get this error code when I tried doing the method you mentioned: 2012-11-18 12:16:23 [iNFO] [sTDERR] java.lang.ClassCastException: magicItems.common.EntityFlameshot cannot be cast to net.minecraft.src.EntityLiving 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.src.RenderLiving.doRender(RenderLiving.java:399) 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.src.RenderManager.renderEntityWithPosYaw(RenderManager.java:196) 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.src.RenderManager.renderEntity(RenderManager.java:183) 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.src.RenderGlobal.renderEntities(RenderGlobal.java:445) 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.src.EntityRenderer.renderWorld(EntityRenderer.java:1093) 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.src.EntityRenderer.updateCameraAndRender(EntityRenderer.java:949) 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:884) 2012-11-18 12:16:23 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:779) 2012-11-18 12:16:23 [iNFO] [sTDERR] at java.lang.Thread.run(Unknown Source) There aren't any compile errors or anything, the game just crashes when I fire the weapon and the Flameshot is spawned.
  3. That seemed to work, but it just got me back to how I started off. The model is still glitchy and is shaped like an arrow, not like a solid rectangular prism which I wanted it to be like.
  4. It once again gives me a few errors for this line: RenderingRegistry.registerEntityRenderingHandler(EntityFlameshot.class, new RenderFlameshot(new ModelRenderer(ModelFlameShot))); "The constructor RenderFlameshot(ModelRenderer) is undefined." , "ModelFlameShot cannot be resolved to a variable." Could it be because of how my RenderFlameshot or ModelFlameshot is written? The model was made through Techne, btw. RenderFlameshot: package magicItems.common; import net.minecraft.src.Entity; import net.minecraft.src.ModelBase; import net.minecraft.src.Render; import net.minecraft.src.Tessellator; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class RenderFlameshot extends Render { protected ModelBase modelFShot; public RenderFlameshot() { this.shadowSize = 0.1F; this.modelFShot = new ModelFlameShot(); } public void renderFShot(EntityFlameshot var1, double var2, double var4, double var6, float var8, float var9) { if (var1.prevRotationYaw != 0.0F || var1.prevRotationPitch != 0.0F) { //this.modelFShot.render(var1, 0F, 0F, 0F, 11, 2, 2); this.loadTexture("/magicItems/common/magictextures/flameshot.png"); GL11.glPushMatrix(); GL11.glTranslatef((float)var2, (float)var4, (float)var6); GL11.glRotatef(var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9 - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9, 0.0F, 0.0F, 1.0F); Tessellator var10 = Tessellator.instance; byte var11 = 0; float var12 = 0.0F; float var13 = 0.5F; float var14 = (float)(0 + var11 * 10) / 32.0F; float var15 = (float)(5 + var11 * 10) / 32.0F; float var16 = 0.0F; float var17 = 0.15625F; float var18 = (float)(5 + var11 * 10) / 32.0F; float var19 = (float)(10 + var11 * 10) / 32.0F; float var20 = 0.05625F; GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); GL11.glScalef(var20, var20, var20); GL11.glTranslatef(-4.0F, 0.0F, 0.0F); GL11.glNormal3f(var20, 0.0F, 0.0F); var10.startDrawingQuads(); var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var18); var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var18); var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var19); var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var19); var10.draw(); GL11.glNormal3f(-var20, 0.0F, 0.0F); var10.startDrawingQuads(); var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var18); var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var18); var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var19); var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var19); var10.draw(); for (int var23 = 0; var23 < 4; ++var23) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, var20); var10.startDrawingQuads(); var10.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)var12, (double)var14); var10.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)var13, (double)var14); var10.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)var13, (double)var15); var10.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)var12, (double)var15); var10.draw(); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); } } /** * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { this.renderFShot((EntityFlameshot)var1, var2, var4, var6, var8, var9); } } ModelFlameShot // Date: 30/10/2012 9:46:28 PM // Template version 1.1 // Java generated by Techne // Keep in mind that you still need to fill in some blanks // - ZeuX package magicItems.common; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelRenderer; import net.minecraft.src.Entity; public class ModelFlameShot extends ModelBase { //fields ModelRenderer Shape1; public ModelFlameShot() { textureWidth = 64; textureHeight = 32; Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(0F, 0F, 0F, 11, 2, 2); Shape1.setRotationPoint(-8F, 22F, -1F); Shape1.setTextureSize(64, 32); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5); Shape1.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { super.setRotationAngles(f, f1, f2, f3, f4, f5, null); } }
  5. Yes, but then it says that "ModelFlameShot cannot be resolved to a variable."
  6. No, i said to call new ModelRenderer, not new RenderFlameshot EntityFlameshot must extend EntitySnowBall to use EntitySnowBall functions. It does extend EntitySnowball, and also RenderingRegistry.registerEntityRenderingHandler(EntityFlameshot.class, new ModelRenderer(ModelFlameShot)); Does not work, it says that the registerEntityRenderingHandler function is not applicable
  7. When I type this line in my ModMagicItems, it says ModelFlameShot cannot be resolved to a varible: RenderingRegistry.registerEntityRenderingHandler(EntityFlameshot.class, new RenderFlameshot(ModelFlameShot)); And also, I for some reason can't set the ThrowableHeading method inside of my constructor in EntityFlameshot. When I put it in, it underlines my parameters and states that another "{" is expected, and even though I do that, it still gives me that error. ModelFlameShot: // Date: 30/10/2012 9:46:28 PM // Template version 1.1 // Java generated by Techne // Keep in mind that you still need to fill in some blanks // - ZeuX package magicItems.common; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelRenderer; import net.minecraft.src.Entity; public class ModelFlameShot extends ModelBase { //fields ModelRenderer Shape1; public ModelFlameShot() { textureWidth = 64; textureHeight = 32; Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(0F, 0F, 0F, 11, 2, 2); Shape1.setRotationPoint(-8F, 22F, -1F); Shape1.setTextureSize(64, 32); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5); Shape1.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { super.setRotationAngles(f, f1, f2, f3, f4, f5, null); } } ModMagicItems: @Init //@PreInit public void load(FMLInitializationEvent initEvent) { //Declare names //Recipes //Entities EntityRegistry.registerGlobalEntityID(EntityFlameshot.class, "Flameshot", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityFlameshot.class, "Flameshot", 1, this, 128, 1, false); //Render Entities RenderingRegistry.registerEntityRenderingHandler(EntityFlameshot.class, new RenderFlameshot(ModelFlameShot)); } RenderFlameshot: package magicItems.common; import net.minecraft.src.Entity; import net.minecraft.src.MathHelper; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelBoat; import net.minecraft.src.Render; import net.minecraft.src.Tessellator; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class RenderFlameshot extends Render { protected ModelBase modelFShot; public RenderFlameshot() { this.shadowSize = 0.1F; this.modelFShot = new ModelFlameShot(); } public void renderFShot(EntityFlameshot var1, double var2, double var4, double var6, float var8, float var9) { if (var1.prevRotationYaw != 0.0F || var1.prevRotationPitch != 0.0F) { this.modelFShot.render(var1, 0F, 0F, 0F, 11, 2, 2); this.loadTexture("/magicItems/common/magictextures/flameshot.png"); GL11.glPushMatrix(); GL11.glTranslatef((float)var2, (float)var4, (float)var6); GL11.glRotatef(var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9 - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9, 0.0F, 0.0F, 1.0F); Tessellator var10 = Tessellator.instance; byte var11 = 0; float var12 = 0.0F; float var13 = 0.5F; float var14 = (float)(0 + var11 * 10) / 32.0F; float var15 = (float)(5 + var11 * 10) / 32.0F; float var16 = 0.0F; float var17 = 0.15625F; float var18 = (float)(5 + var11 * 10) / 32.0F; float var19 = (float)(10 + var11 * 10) / 32.0F; float var20 = 0.05625F; GL11.glEnable(GL12.GL_RESCALE_NORMAL); float var21 = (float)var1.arrowShake - var9; if (var21 > 0.0F) { float var22 = -MathHelper.sin(var21 * 3.0F) * var21; GL11.glRotatef(var22, 0.0F, 0.0F, 1.0F); } GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); GL11.glScalef(var20, var20, var20); GL11.glTranslatef(-4.0F, 0.0F, 0.0F); GL11.glNormal3f(var20, 0.0F, 0.0F); var10.startDrawingQuads(); var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var18); var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var18); var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var19); var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var19); var10.draw(); GL11.glNormal3f(-var20, 0.0F, 0.0F); var10.startDrawingQuads(); var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var18); var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var18); var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var19); var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var19); var10.draw(); for (int var23 = 0; var23 < 4; ++var23) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, var20); var10.startDrawingQuads(); var10.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)var12, (double)var14); var10.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)var13, (double)var14); var10.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)var13, (double)var15); var10.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)var12, (double)var15); var10.draw(); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); } } /** * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { this.renderFShot((EntityFlameshot)var1, var2, var4, var6, var8, var9); } }
  8. You're modifying vanilla base files, so you don't put the .zip file into the mods folder, you extract all of the files into your minecraft.jar And also, modifying vanilla base files is not Forge modding, just so you know.
  9. Sorry, but nobody can help you if you don't tell us what's not working in your mod, what error the output displays, showing the code for your mod, etc. Oh yeah, and your download link gives us the obfuscated class files. We can't read those, you need to give us the source code.
  10. Sorry for the post being so vague, I was in a rush. I updated the OP now, so it should be easier to understand my problem.
  11. Hello everyone, I have made an item that shoots Flameshots (uses the same code as arrows but modified), and I am trying to make it so that the Entity actually uses a model in the render file, rather than the actual arrow rendering. When I tried to do this, it just made the entity invisible. I want to keep the arrow rotations, angling, animations and everything, but I just want to link my model to the rendering of it. RenderFlameshot: This one is invisible package magicItems.common; import net.minecraft.src.Entity; import net.minecraft.src.MathHelper; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelBoat; import net.minecraft.src.Render; import net.minecraft.src.Tessellator; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class RenderFlameshot extends Render { protected ModelBase modelFShot; public RenderFlameshot() { this.shadowSize = 0.1F; this.modelFShot = new ModelFlameShot(); } public void renderFShot(EntityFlameshot var1, double var2, double var4, double var6, float var8, float var9) { if (var1.prevRotationYaw != 0.0F || var1.prevRotationPitch != 0.0F) { this.modelFShot.render(var1, 0F, 0F, 0F, 11, 2, 2); this.loadTexture("/magicItems/common/magictextures/flameshot.png"); GL11.glPushMatrix(); GL11.glTranslatef((float)var2, (float)var4, (float)var6); GL11.glRotatef(var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9 - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9, 0.0F, 0.0F, 1.0F); float var21 = (float)var1.arrowShake - var9; if (var21 > 0.0F) { float var22 = -MathHelper.sin(var21 * 3.0F) * var21; GL11.glRotatef(var22, 0.0F, 0.0F, 1.0F); } GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(-4.0F, 0.0F, 0.0F); for (int var23 = 0; var23 < 4; ++var23) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); } } /** * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { this.renderFShot((EntityFlameshot)var1, var2, var4, var6, var8, var9); } } RenderFlameshot: This one is visible, but messes up the texture so it's not a 3D shape, but is kind of folded together, like the way the arrow texture folds to make the shape package magicItems.common; import net.minecraft.src.Entity; import net.minecraft.src.MathHelper; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelBoat; import net.minecraft.src.Render; import net.minecraft.src.Tessellator; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class RenderFlameshot extends Render { protected ModelBase modelFShot; public RenderFlameshot() { this.shadowSize = 0.1F; //this.modelFShot = new ModelFlameShot(); } public void renderFShot(EntityFlameshot var1, double var2, double var4, double var6, float var8, float var9) { if (var1.prevRotationYaw != 0.0F || var1.prevRotationPitch != 0.0F) { this.modelFShot.render(var1, 0F, 0F, 0F, 11, 2, 2); this.loadTexture("/magicItems/common/magictextures/flameshot.png"); GL11.glPushMatrix(); GL11.glTranslatef((float)var2, (float)var4, (float)var6); GL11.glRotatef(var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9 - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9, 0.0F, 0.0F, 1.0F); Tessellator var10 = Tessellator.instance; byte var11 = 0; float var12 = 0.0F; float var13 = 0.5F; float var14 = (float)(0 + var11 * 10) / 32.0F; float var15 = (float)(5 + var11 * 10) / 32.0F; float var16 = 0.0F; float var17 = 0.15625F; float var18 = (float)(5 + var11 * 10) / 32.0F; float var19 = (float)(10 + var11 * 10) / 32.0F; float var20 = 0.05625F; GL11.glEnable(GL12.GL_RESCALE_NORMAL); float var21 = (float)var1.arrowShake - var9; if (var21 > 0.0F) { float var22 = -MathHelper.sin(var21 * 3.0F) * var21; GL11.glRotatef(var22, 0.0F, 0.0F, 1.0F); } GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); GL11.glScalef(var20, var20, var20); GL11.glTranslatef(-4.0F, 0.0F, 0.0F); GL11.glNormal3f(var20, 0.0F, 0.0F); var10.startDrawingQuads(); var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var18); var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var18); var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var19); var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var19); var10.draw(); GL11.glNormal3f(-var20, 0.0F, 0.0F); var10.startDrawingQuads(); var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var18); var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var18); var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var19); var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var19); var10.draw(); for (int var23 = 0; var23 < 4; ++var23) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, var20); var10.startDrawingQuads(); var10.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)var12, (double)var14); var10.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)var13, (double)var14); var10.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)var13, (double)var15); var10.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)var12, (double)var15); var10.draw(); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); } } /** * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { this.renderFShot((EntityFlameshot)var1, var2, var4, var6, var8, var9); } } ModelFlameshot: // Date: 30/10/2012 9:46:28 PM // Template version 1.1 // Java generated by Techne // Keep in mind that you still need to fill in some blanks // - ZeuX package magicItems.common; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelRenderer; import net.minecraft.src.Entity; public class ModelFlameShot extends ModelBase { //fields ModelRenderer Shape1; public ModelFlameShot() { textureWidth = 64; textureHeight = 32; Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(0F, 0F, 0F, 11, 2, 2); Shape1.setRotationPoint(-8F, 22F, -1F); Shape1.setTextureSize(64, 32); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5); Shape1.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { super.setRotationAngles(f, f1, f2, f3, f4, f5, null); } } How would I link that model to my entity? Thanks.
  12. Thanks, I finally understood how to fix my problem after looking at your code.
  13. I tried that and got an error in the console: 2012-10-31 15:05:43 [iNFO] [sTDOUT] SOUND PLAYED@@@@@@@@@ 2012-10-31 15:05:43 [iNFO] [sTDOUT] SOUND PLAYED@@@@@@@@@ 2012-10-31 15:05:43 [iNFO] [sTDOUT] Error in class 'LibraryLWJGLOpenAL' 2012-10-31 15:05:43 [iNFO] [sTDOUT] Unable to open file 'folder/mirrorsound.wav' in method 'loadSound' 2012-10-31 15:05:43 [iNFO] [sTDOUT] Error in class 'LibraryLWJGLOpenAL' 2012-10-31 15:05:43 [iNFO] [sTDOUT] Source 'sound_3' was not created because an error occurred while loading folder/mirrorsound.wav The path to my sound is MCP>src>common>magicItems>spelssounds>sound>folder>mirrorsound.wav
  14. Ok, so I modified them a bit, and this is my new code: MagicItems_EventSounds: package magicItems.common; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.event.ForgeSubscribe; public class MagicItems_EventSounds { @ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.soundPoolSounds.addSound("/folder/mirrorsound.ogg", ModMagicItems.class.getResource("/spelssounds/sounds/folder/mirrorsound.ogg")); } catch (Exception e) { System.err.println("Failed to register one or more sounds.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); } } } ModBase: @PreInit public void preInit(FMLPreInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new MagicItems_EventSounds()); } ItemMirror: public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) { world.playSoundAtEntity(player, "folder.mirrorsound", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); System.out.println("SOUND PLAYED@@@@@@@@@"); return item; }
  15. I changed the file extension of the sound to .ogg if that matters. It still doesn't work, any help?
  16. I tried what you told me and it still didn't work, even when I exported it. I put the folders in everywhere you told me to put it, but it wasn't working MagicItems_EventSounds: @ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.soundPoolSounds.addSound("/magicItems/mirrorsound.ogg", ModMagicItems.class.getResource("magicItems/spelssounds/sounds/folder/mirrorsound.ogg")); } catch (Exception e) { System.err.println("Failed to register one or more sounds."); } ModBase: @PreInit public void load(FMLInitializationEvent initEvent) { //Declare names //Recipes //Sounds MinecraftForge.EVENT_BUS.register(new MagicItems_EventSounds()); } ItemMirror: public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) { if (world.isRemote) { return item; } player.addChatMessage("Commencing teleportation to bed."); world.playSoundAtEntity(player, "magicItems.mirrorsound", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 0.8F)); }
  17. Hello everyone. I am new to modding with Forge (used to use ModLoader), and I have encountered a problem when trying to play my sounds for my mod. I follow the tutorial, and this is the code that I put(I only included the parts that play the sound): ModMagicItems_EventSounds: package magicItems.common; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.event.ForgeSubscribe; public class MagicItems_EventSounds { @ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.soundPoolSounds.addSound("/folder/mirrorsound.wav", ModMagicItems.class.getResource("/spelssounds/sounds/folder/mirrorsound.wav")); } catch (Exception e) { System.err.println("Failed to register one or more sounds."); } } } My BaseMod File: @Init public void load(FMLInitializationEvent initEvent){ //Sounds MinecraftForge.EVENT_BUS.register(new MagicItems_EventSounds()); } ItemMirror: public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) { world.playSoundAtEntity(player, "spelssounds.mirror", 1.0F, 1.0F); } I'm pretty sure that I named the folders correctly and everything. I even tried exporting the mod, and putting it in my real minecraft.jar and playing it, but the sound just simply would not play. Does anybody know what I am doing wrong? Thanks!
×
×
  • Create New...

Important Information

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