Posted March 7, 201510 yr My MusicDisc does not play its sound. I'm getting an error, but I just don't know what went wrong. Main: package com.zeugs.mod; import com.zeugs.mod.armor.FleshArmor; import com.zeugs.mod.armor.ObsidianArmor; import com.zeugs.mod.blocks.FlonkBlock; import com.zeugs.mod.blocks.FlonkOre; import com.zeugs.mod.blocks.MoneyOre; import com.zeugs.mod.blocks.ObsidianBricks; import com.zeugs.mod.entity.EntityUhUhMann; import com.zeugs.mod.handler.EntityHandler; import com.zeugs.mod.items.NCItems; import com.zeugs.mod.proxy.CommonProxy; import com.zeugs.mod.record.MusicDisc; import com.zeugs.mod.worldgen.ZeugsWorldGen; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; 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; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.util.EnumHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @Mod(modid = Zeugs.modid, version = Zeugs.version) public class Zeugs { public static final String modid = "Zeugs"; public static final String version = "Zweieinhalb"; //Instance @Instance(modid) public static Zeugs instance; //Gen ZeugsWorldGen eventWorldGen = new ZeugsWorldGen(); //Material public static ArmorMaterial FleshArmorMaterial = EnumHelper.addArmorMaterial("FleshArmorMaterial", 4, new int[] {1, 4, 2, 1}, ; public static ArmorMaterial ObsidianArmorMaterial = EnumHelper.addArmorMaterial("ObsidianArmorMateial", 50, new int[]{3, 8, 6, 3}, 30); //Armor public static int armorFleshHelmID; public static int armorFleshChestID; public static int armorFleshLeggingsID; public static int armorFleshBootsID; public static Item armorFleshHelm; public static Item armorFleshChest; public static Item armorFleshLeggings; public static Item armorFleshBoots; public static int armorObsHelmID; public static int armorObsChestID; public static int armorObsLeggingsID; public static int armorObsBootsID; public static Item armorObsHelm; public static Item armorObsChest; public static Item armorObsLeggings; public static Item armorObsBoots; //Blocks public static Block oreFlonkOre; public static Block blockFlonkBlock; public static Block blockObsidianBricks; public static Block oreMoneyOre; //Items public static Item itemMoney; public static Item itemObsidianBrick; //Foodz public static Item foodFlonkGem; public static Item foodDonut; public static Item foodGoodDonut; public static Item foodChocDonut; public static Item foodGooDonut; public static Item foodRawBacon; public static Item foodBacon; public static Item foodRicecookie; //Music Disc public static Item record_Bread; //Proxy @SidedProxy(clientSide = "com.zeugs.mod.proxy.ClientProxy", serverSide = "com.zeugs.mod.proxy.CommonProxy") public static CommonProxy zeugsProxy; @EventHandler public void PreInit(FMLPreInitializationEvent preEvent) { //Blocks blockFlonkBlock = new FlonkBlock(Material.iron).setBlockName("FlonkBlock"); GameRegistry.registerBlock(blockFlonkBlock, "FlonkBlock"); blockObsidianBricks = new ObsidianBricks(Material.rock).setBlockName("ObsidianBricks"); GameRegistry.registerBlock(blockObsidianBricks, "ObsidianBricks"); oreFlonkOre = new FlonkOre(Material.rock).setBlockName("FlonkOre"); GameRegistry.registerBlock(oreFlonkOre, "FlonkOre"); oreMoneyOre = new MoneyOre(Material.rock).setBlockName("MoneyOre"); GameRegistry.registerBlock(oreMoneyOre, "MoneyOre"); //Items itemObsidianBrick = new NCItems().setUnlocalizedName("ObsidianBrick"); GameRegistry.registerItem(itemObsidianBrick, "ObsidianBrick"); itemMoney = new NCItems().setUnlocalizedName("Money"); GameRegistry.registerItem(itemMoney, "Money"); //Foodz foodFlonkGem = new ItemFood(6, 1.0F, false).setUnlocalizedName("FlonkGem").setTextureName(Zeugs.modid + ":FlonkGem"); GameRegistry.registerItem(foodFlonkGem, "FlonkGem"); foodDonut = new ItemFood(10, 1.2F, false).setUnlocalizedName("Donut").setTextureName(Zeugs.modid + ":Donut"); GameRegistry.registerItem(foodDonut, "Donut"); foodGoodDonut = new ItemFood(15, 1.8F, true).setUnlocalizedName("GoodDonut").setTextureName(Zeugs.modid + ":GoodDonut"); GameRegistry.registerItem(foodGoodDonut, "GoodDonut"); foodChocDonut = new ItemFood(12, 0.8F, false).setUnlocalizedName("ChocDonut").setTextureName(Zeugs.modid + ":ChocDonut"); GameRegistry.registerItem(foodChocDonut, "ChocDonut"); foodGooDonut = new ItemFood(8, 0.0F, false).setUnlocalizedName("GooDonut").setTextureName(Zeugs.modid + ":GooDonut"); GameRegistry.registerItem(foodGooDonut, "GooDonut"); foodRawBacon = new ItemFood(2, 0.2F, true).setUnlocalizedName("RawBacon").setTextureName(Zeugs.modid + ":RawBacon"); GameRegistry.registerItem(foodRawBacon, "RawBacon"); foodBacon = new ItemFood(6, 1.0F, true).setUnlocalizedName("Bacon").setTextureName(Zeugs.modid + ":Bacon"); GameRegistry.registerItem(foodBacon, "Bacon"); foodRicecookie = new ItemFood(1, 0.1F, false).setUnlocalizedName("Ricecookie").setTextureName(Zeugs.modid + ":Ricecookie"); GameRegistry.registerItem(foodRicecookie, "Ricecookie"); //Spawn GameRegistry.registerWorldGenerator(eventWorldGen, 0); //Music Disc record_Bread = new MusicDisc("Bread").setUnlocalizedName("record_Bread"); GameRegistry.registerItem(record_Bread, "Bread"); //Armor armorFleshHelm = new FleshArmor(FleshArmorMaterial, armorFleshHelmID, 0).setUnlocalizedName("FleshHelm"); GameRegistry.registerItem(armorFleshHelm, "FleshHelm"); armorFleshChest = new FleshArmor(FleshArmorMaterial, armorFleshChestID, 1).setUnlocalizedName("FleshChest"); GameRegistry.registerItem(armorFleshChest, "FleshChest"); armorFleshLeggings = new FleshArmor(FleshArmorMaterial, armorFleshLeggingsID, 2).setUnlocalizedName("FleshLeggings"); GameRegistry.registerItem(armorFleshLeggings, "FleshLeggings"); armorFleshBoots = new FleshArmor(FleshArmorMaterial, armorFleshBootsID, 3).setUnlocalizedName("FleshBoots"); GameRegistry.registerItem(armorFleshBoots, "FleshBoots"); armorObsHelm = new ObsidianArmor(ObsidianArmorMaterial, armorObsHelmID, 0).setUnlocalizedName("ObsHelm"); GameRegistry.registerItem(armorObsHelm, "ObsHelm"); armorObsChest = new ObsidianArmor(ObsidianArmorMaterial, armorObsChestID, 1).setUnlocalizedName("ObsChest"); GameRegistry.registerItem(armorObsChest, "ObsChest"); armorObsLeggings = new ObsidianArmor(ObsidianArmorMaterial, armorObsLeggingsID, 2).setUnlocalizedName("ObsLeggings"); GameRegistry.registerItem(armorObsLeggings, "ObsLeggings"); armorObsBoots = new ObsidianArmor(ObsidianArmorMaterial, armorObsBootsID, 3).setUnlocalizedName("ObsBoots"); GameRegistry.registerItem(armorObsBoots, "ObsBoots"); } @EventHandler public void init(FMLInitializationEvent event) { GameRegistry.addSmelting(Blocks.obsidian, new ItemStack(itemObsidianBrick, 2), 0); GameRegistry.addSmelting(oreMoneyOre, new ItemStack(itemMoney), 5); GameRegistry.addRecipe(new ItemStack(blockFlonkBlock), new Object[]{ "AAA", "AAA", "AAA", 'A', foodFlonkGem }); GameRegistry.addRecipe(new ItemStack(foodDonut), new Object[]{ "AAA", "A A", "AAA", 'A', Items.wheat }); GameRegistry.addRecipe(new ItemStack(foodGooDonut), new Object[]{ "AAA", "ABA", "AAA", 'A', Items.slime_ball, 'B', foodDonut }); GameRegistry.addShapelessRecipe(new ItemStack(foodRawBacon, 3), new Object[] { Items.porkchop }); GameRegistry.addShapelessRecipe(new ItemStack(foodChocDonut), new Object[] { new ItemStack(Items.dye, 1, 3), foodDonut }); GameRegistry.addShapelessRecipe(new ItemStack(foodGoodDonut), new Object[] { new ItemStack(Items.dye, 1, 9), new ItemStack(Items.dye, 1, 12), new ItemStack(Items.dye, 1, 11), new ItemStack(Items.dye, 1, 1), new ItemStack(Items.dye, 1, 10), foodDonut, Items.sugar }); //Armor GameRegistry.addRecipe(new ItemStack(armorFleshHelm), new Object[]{ "AAA", "A A", " ", 'A', Items.rotten_flesh }); GameRegistry.addRecipe(new ItemStack(armorFleshChest), new Object[]{ "A A", "AAA", "AAA", 'A', Items.rotten_flesh }); GameRegistry.addRecipe(new ItemStack(armorFleshLeggings), new Object[]{ "AAA", "A A", "A A", 'A', Items.rotten_flesh }); GameRegistry.addRecipe(new ItemStack(armorFleshBoots), new Object[]{ " ", "A A", "A A", 'A', Items.rotten_flesh }); GameRegistry.addRecipe(new ItemStack(armorObsHelm), new Object[]{ "AAA", "A A", " ", 'A', Blocks.obsidian }); GameRegistry.addRecipe(new ItemStack(armorObsChest), new Object[]{ "A A", "AAA", "AAA", 'A', Blocks.obsidian }); GameRegistry.addRecipe(new ItemStack(armorObsLeggings), new Object[]{ "AAA", "A A", "A A", 'A', Blocks.obsidian }); GameRegistry.addRecipe(new ItemStack(armorObsBoots), new Object[]{ " ", "A A", "A A", 'A', Blocks.obsidian }); //ObsidianBricks GameRegistry.addRecipe(new ItemStack(blockObsidianBricks), new Object[]{ " AA", " AA", " ", 'A', itemObsidianBrick }); GameRegistry.addRecipe(new ItemStack(blockObsidianBricks), new Object[]{ " ", " AA", " AA", 'A', itemObsidianBrick }); GameRegistry.addRecipe(new ItemStack(blockObsidianBricks), new Object[]{ "AA ", "AA ", " ", 'A', itemObsidianBrick }); GameRegistry.addRecipe(new ItemStack(blockObsidianBricks), new Object[]{ " ", "AA ", "AA ", 'A', itemObsidianBrick }); //Entities EntityHandler.registerEntities(EntityUhUhMann.class, "UhUhMann"); } @EventHandler public void PostInit(FMLPostInitializationEvent postEvent) { zeugsProxy.registerEvents(); zeugsProxy.registerRenderThings(); } } sounds.json { "uhuhmann-say": {"catergory": "master", "sounds": ["uhuhmann-say1", "uhuhmann-say2", "uhuhmann-say3", "uhuhmann-say4", "uhuhmann-say5", "uhuhmann-say6"]}, "uhuhmann-hurt": {"catergory": "master", "sounds": ["uhuhmann-hurt1", "uhuhmann-hurt2", "uhuhmann-hurt3"]}, "uhuhmann-death": {"catergory": "master", "sounds": ["uhuhmann-death1", "uhuhmann-death2", "uhuhmann-death3“]}, "record.Bread": {"catergory": "record", "sounds" [{"name": "bread", "stream": "true"}]} } MusicDisc: package com.zeugs.mod.record; import java.util.HashMap; import java.util.List; import java.util.Map; import net.minecraft.block.BlockJukebox; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemRecord; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; import net.minecraft.world.World; public class MusicDisc extends ItemRecord{ private static final Map records = new HashMap(); public final String recordName; public MusicDisc(String recordName) { super(recordName); this.recordName = recordName; this.maxStackSize = 1; records.put(recordName, this); } @Override public void registerIcons(IIconRegister iconRegister) { itemIcon = iconRegister.registerIcon("zeugs:" + "record_" + recordName); } @Override public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10) { //TODO: world.getBlock() if (world.getBlock(x, y, z) == Blocks.jukebox && world.getBlockMetadata(x, y, z) == 0) { if (world.isRemote) return true; else { //TODO: .insertRecord() ((BlockJukebox)Blocks.jukebox).func_149926_b(world, x, y, z, itemStack); //TODO: Item.getIdFromItem() world.playAuxSFXAtEntity((EntityPlayer)null, 1005, x, y, z, Item.getIdFromItem(this)); --itemStack.stackSize; return true; } } else return false; } @Override public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { par3List.add(this.getRecordNameLocal()); } @Override //TODO: getRecordTitle() public String getRecordNameLocal() { return StatCollector.translateToLocal(this.getUnlocalizedName() + ".desc"); } @Override public EnumRarity getRarity(ItemStack itemStack) { return EnumRarity.rare; } public static MusicDisc getRecord(String par0Str) { return (MusicDisc)records.get(par0Str); } @Override public ResourceLocation getRecordResource(String name) { return new ResourceLocation("Zeugs:" + name); } } Error: [18:52:30] [Client thread/WARN]: Invalid sounds.json com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated array at line 8 column 3 at com.google.gson.internal.Streams.parse(Streams.java:56) ~[streams.class:?] at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54) ~[TreeTypeAdapter.class:?] at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[TypeAdapterRuntimeTypeWrapper.class:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) ~[MapTypeAdapterFactory$Adapter.class:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) ~[MapTypeAdapterFactory$Adapter.class:?] at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?] at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:84) [soundHandler.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:124) [simpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:528) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:931) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:85) [start/:?] at GradleStart.main(GradleStart.java:45) [start/:?] Caused by: com.google.gson.stream.MalformedJsonException: Unterminated array at line 8 column 3 at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:465) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:403) ~[JsonReader.class:?] at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:658) ~[TypeAdapters$25.class:?] at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[TypeAdapters$25.class:?] at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:642) ~[TypeAdapters$25.class:?] at com.google.gson.internal.Streams.parse(Streams.java:44) ~[streams.class:?] ... 19 more [18:52:31] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas [18:52:31] [Client thread/INFO]: Created: 256x256 textures/items-atlas [18:52:31] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods [18:52:31] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Zeugs [18:52:32] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas [18:52:32] [Client thread/INFO]: Created: 256x256 textures/items-atlas [18:52:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:52:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down... [18:52:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]: Author: Paul Lamb, www.paulscode.com [18:52:32] [Client thread/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:52:32] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:52:32] [sound Library Loader/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem... [18:52:32] [Thread-8/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL [18:52:32] [Thread-8/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [18:52:32] [Thread-8/INFO] [sTDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized. [18:52:32] [Client thread/WARN]: Invalid sounds.json com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated array at line 8 column 3 at com.google.gson.internal.Streams.parse(Streams.java:56) ~[streams.class:?] at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54) ~[TreeTypeAdapter.class:?] at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[TypeAdapterRuntimeTypeWrapper.class:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) ~[MapTypeAdapterFactory$Adapter.class:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) ~[MapTypeAdapterFactory$Adapter.class:?] at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?] at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:84) [soundHandler.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:134) [simpleReloadableResourceManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:118) [simpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:643) [Minecraft.class:?] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:303) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:586) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:931) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:85) [start/:?] at GradleStart.main(GradleStart.java:45) [start/:?] Caused by: com.google.gson.stream.MalformedJsonException: Unterminated array at line 8 column 3 at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:465) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:403) ~[JsonReader.class:?] at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:658) ~[TypeAdapters$25.class:?] at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[TypeAdapters$25.class:?] at com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:642) ~[TypeAdapters$25.class:?] at com.google.gson.internal.Streams.parse(Streams.java:44) ~[streams.class:?] ... 22 more
March 7, 201510 yr Author “ is not ". You have it after "uhuhmann-death3". Now it says: [20:43:31] [Client thread/WARN]: Unable to play unknown soundEvent: zeugs:records.Bread This is the files name. Do I need to change it to records.Bread?
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.