• 0

    posted a message on [1.5.2][FORGE]Minology Alpha v1.0.0 - A New Ore Mod
    I was going to update Minology to v1.0.1 with support for 1.6.1, but, since Forge does not work properly with 1.6.1, it'll be a bit. I'll release it as soon as Forge has a 1.6.1 recommended version.
    Posted in: WIP Mods
  • 0

    posted a message on [FORGE for 1.6.1]Language Registry and Texture Problems
    Quote from MrMinecrafter10

    Okay, this morning (Australia) Forge for 1.6.1 was taken down due to issues with the new resource pack system. These problems do include the texture and naming problems. Anyway, those builds were development builds. Basically what these are for is to only code with 1.6.1, nothing more, don't expect the feature to work in game.Revert back to 1.5.2 and go to 1.6.2 once a recommended build has been released. :)


    Okay, thanks! I noticed that Forge for 1.6.1 was labeled as "Latest", but I didn't realize the problems. I'll be sure to not download any builds labeled as "Latest". :)
    Posted in: Modification Development
  • 0

    posted a message on [FORGE for 1.6.1]Language Registry and Texture Problems
    Hello,
    ever since I have started updating my mod to 1.6.1, I have been met with a good bit of confusing points. These ones quite confuse me, as they worked before. I'm not a fan of the things 1.6 has caused for me, but these top.

    My textures appear as squares, checkered in light purple and black.
    Something I notice in the console is a bunch of lines like this:
    2013-07-02 15:42:44 [SEVERE] [Minecraft-Client] Using missing texture, unable to load: minology:textures/items/axeMechanite.png

    How would I make a folder called "minology:textures", as colons are not usable in names. I tried changing "mods/Minology/textures/[items, blocks...]", to "assets/minology/textures/[items, blocks...]", but to find that there was no change. I feel like knowing what to call my folders would be a solution, but the question is, what do I call them?

    As for the Language Registry problem mentioned in the title, well, I just don't know what is wrong. For my creative tabs, they are all called "itemGroup.[tab]". For my blocks, they are called "tile.[block]". For my items, I get "item.[item]". My achievement names show up as "achievement.[achievement]", and, finally, my achievement descriptions show up as "achievement.[achievement].desc". So you know what I wrote, I'll give samples for each code:

    CREATIVE TABS
    LanguageRegistry.instance().addStringLocalization("itemGroup.tabOre", "Minology: Ores");


    BLOCKS
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 2), "Mechanite Ore");


    ITEMS
    LanguageRegistry.addName(PikadexOres.pickaxeVintium, "Vintium Pickaxe");


    ACHIEVEMENTS
    private void addAchievementName(String ach, String name)
    {
    		 LanguageRegistry.instance().addStringLocalization("achievement." + ach, "en_US", name);
    }
    
    private void addAchievementDesc(String ach, String desc)
    {
    		 LanguageRegistry.instance().addStringLocalization("achievement." + ach + ".desc", "en_US", desc);
    }
    
    this.addAchievementName("vintiumSmelt", "Mysterious Aura");
    this.addAchievementDesc("vintiumSmelt", "Smelt Vintium Ore into a Vintium Ingot!");


    Keep in mind, I get no errors, and I get no crashes. Also mind that the code I given is not complete code.

    Thanks,
    Pikadex
    Posted in: Modification Development
  • 0

    posted a message on Updating & Installing Mods in 1.6.1
    Why did they have to change the way mods were installed? I thought it was absolutely fine the way it was before.
    Posted in: Mods Discussion
  • 0

    posted a message on [FORGE][1.6.1]Installing Custom Resource Problems
    Hello!
    I recently have tried updating my 1.5.2 mod to 1.6.1. For the most part, I didn't have to change much of my code. But on one part of my code, I am absolutely stumped.

    This is the area of code that is having troubles:
     Minecraft mc = ModLoader.getMinecraftInstance();
    mc.installResource("sound3/pikadexores/restore.ogg", new File(mc.mcDataDir, "resources/sound3/pikadexores/restore.ogg"));
    mc.installResource("sound3/pikadexores/mt-hit.ogg", new File(mc.mcDataDir, "resources/sound3/pikadexores/mt-hit.ogg"));
    }


    Specifically, I get the error under "installResource". This worked fine in 1.5.2, so I can only assume that the method for this has been changed in name, possibly in it's... return content.

    So, I would like to ask; do I still need this, and, if so, what do I change it to?
    Thanks,
    Pikadex
    Posted in: Modification Development
  • 0

    posted a message on [1.5.2][FORGE]Minology Alpha v1.0.0 - A New Ore Mod
    Reserved (just in case)
    Posted in: WIP Mods
  • 1

    posted a message on [1.5.2][FORGE]Minology Alpha v1.0.0 - A New Ore Mod

    Hello! Welcome to my second (released) mod, Minology! This mod aims to add a good bunch of ores into the game, most being something unique to the mod. Currently there are 0 ore packs, and 0 miscellaneous packs. You see, if you want this mod, you must have the 4 ores in the CORE mod; Copper, Vintium, Mechanite, and Ambrite. Note that the core will be required for the mod to work, unless otherwise noted.





    Minology Core Mod
    Copper
    "The Familiar Orange"

    Tool/Armor Strength
    Between Stone and Iron

    Achievements Relating to COPPER
    The Study of Minology (NOT WORKING)
    Baby of the Pack
    Right to the Top
    Panacea Major

    Image Information
    Top Middle: Copper Blade
    Orange Block: Block of Copper
    Stone with Orange Streak-things: Copper Ore
    Second-to-Bottom Row: Copper Toolset
    Second-to-Top Row: Copper Armorset
    Above Player: Copper Broadsword
    Orange Ingots/Bars: Copper Bar
    On Player: Copper Armorset (EQUIPPED)

    Information
    Copper is the weakest of the ores in the core mod, and is to be mined with a stone pick. It doesn't have much purpose in crafting the tool and armor sets, but is fairly important in crafting Mechanite Machines. Then why would you even want to have copper tools or armor? Well, simple... it looks cooler than the vanilla sets, I guess.

    Spawn Information
    Depth: Layer 128 and BELOW
    Veins per Chunk ("Spawn"): 10
    Max Vein Size: 20

    Vintium
    "The Mysterious Aura"

    Tool/Armor Strength
    Between Iron and Diamond

    Achievements Relating to VINTIUM
    The Study of Minology
    Mysterious Aura
    Stay for a While...
    Panacea Major

    Image Information
    Top Middle: Vintium Blade
    Green Block: Block of Vintium
    Stone with a TON of Green Streaks: Vintium Ore
    Second-to-Bottom Row: Vintium Toolset
    Second-to-Top Row: Vintium Armorset
    Above Player: Vintium Soul Snatcher
    Left, Middle Row: Vintium Bar
    Right, Middle Row: Vintium Energy
    On Player: Vintium Armorset (EQUIPPED)

    Information
    Vintium is the middle-tier ore, and is to be mined with an iron pickaxe. Like the other 'tool ores', it is to be smelted in order to get an ingot. However, this ingot is not used in crafting the Soul Snatcher, the Pickaxe, nor the Axe. Instead, you must craft Vintium Energy, and then you may make your Vintium toolset. It's unique... it's cool... so why not?

    Spawn Information
    Depth: Layer 48 and BELOW
    Veins per Chunk ("Spawn Rate"): 10
    Max Vein Size: 15

    Mechanite
    "The Technological Advancement"

    Strength
    Above Diamond

    Achievements Relating to MECHANITE
    The Study of Minology
    Unpowered Energy
    Technological Advancement
    Panacea Minor
    Right to the Top
    Stay for a While...
    Panacea Major

    Image Information
    * In order of appearance, left to right
    Top: Mechanite Blade
    Second-to-Top Row: Energized Armorset (Middle is De-Energized Helmet)
    Middle Row*: Raw Mechanite, Energized Blade, Mechanite Ingot
    Second-to-Bottom Row: Energized Toolset
    Stone with a bunch of White Streaks: Mechanite Ore
    White-Grey Block: Block of Raw Mechanite
    Bottom Row: Machines... *
    PWR-433, HPL-3490, RGN-2340, PWR-433 (Behind Player), TRGN-3450, RST-9837, PWR-433
    On Player: Energized Armorset (Equipped)

    Information
    Out of the ores added in the core mod, Mechanite is the absolute best. Not only is it great for tools, but is the base requirement for the machines. Currently, there are 2 classes of machines: Power Emitting, and Health Restoration. There is currently 1 machine in power emitting, the PWR-433, and 4 machines in health restoration, the HPL-3490, the RGN-2340, the TRGN-3450, and the RST-9837.

    Raw Mechanite is, for the most part, useless. But, when converted into a Mechanite Ingot using copper ingots and redstone, is useable. When a full set of energized armor is acquired, you receive a good set of buffs; Night Vision, Resistance III, Speed II, Jump Boost III, and a complete negation of fall damage.
    If you want to stop the large jump, simply hold 'sneak', and you will no longer have jump boost. Your speed will become Speed V, so don't you worry about going slow. Once you let go of sneak, you will return the Speed II and Jump Boost III.

    If you want to remove some of the buffs, put your Energized Helmet in a crafting table to get a De-Energized Helmet. Don't worry, placing the De-Energized Helmet back in the crafting grid will return it to it's "Energized" state. Anyway, with the full Energized Set and the De-Energized Helmet, you only have the Resistance III, and the Fall Damage Negation.

    Spawn Information
    Depth: Layers 3 and BELOW (not a typo)
    Chunks per Vein ("Spawn Rate"): 10
    Max Vein Size: 6

    Ambrite (and Miscellaneous)
    "The 'Masterfuel'"

    Items Smelted per Ambrite
    16

    Achievements Relating to AMBRITE
    The Study of Minology
    Who Needs Coal?

    Image Information
    As you can see, there is not only Ambrite in this picture. So, I'll tell you what each item is...
    Top: Metal Blade
    Middle, Left: Ambrite
    Middle, Right: Stone Stick
    Purple Block: Block of Ambrite
    Stone with a Purple thing on it: Ambrite Ore

    Information
    Ambrite is actually very hard to get. Despite it being pretty much as common as Copper, you can only get it by using a pickaxe stronger than diamond. In the core, this is only mechanite.

    Metal Blade is used with Vintium Energy and Mechanite Ingots to make Vintium and Mechanite Blades, respectively. As for anything else, well... not really much else to note.

    Stone Sticks are used in replacement of sticks in all core tool recipes, and will be used in most pack tool recipes. Yeah, all I can really say.

    Spawn Information
    Depth: Layer 64 and BELOW
    Veins per Chunk ("Spawn Rate"): 10
    Max Vein Size: 18


    Note: I recommend you download a mod such as CraftGuide or NotEnoughItems in order to know the recipes. I do plan on adding a sort of item that will show the masterlist of recipes.

    Plans:
    - Special Effects for Vintium
    - Improvements with Mechanite
    - Some sort of "Recipe Masterlist"
    - Possible new ore: Tin (not for armor and stuff)
    - Spawn Rate Tweaking
    - New Machine Classes and Machines
    - Some other stuff. :)



    1) If you haven't already, download the latest version of forge for 1.5.2.
    2) Windows 7:
    Open the "start" button, and, in the box at the bottom, search '%appdata%', and push the ENTER button.
    Windows XP:
    Push the "Windows" and "R" buttons, and, in the box that comes up, type '%appdata%', and press the ENTER button.
    3) Go into .minecraft, bin.
    3.5) I recommend that you back up your current minecraft.jar.
    4) Open your minecraft.jar with your prefered archiver, such as WinRAR or 7Zip.
    5) Open the Forge ZIP file, and drag the files into the minecraft.jar. Allow the files to go in.
    6) Close the minecraft.jar and the Forge ZIP
    --------------------------------------------------------
    7) Download the latest version of Minology Core and the packs you would like (make sure they are all compatible with the same version)
    8) Open the ZIP(s) for the packs you would like (and the core), and proceed to drag them into your .minecraft. Allow for the folders to merge.
    9) (optional, but HIGHLY recommended) Download the latest version of CraftGuide or NotEnoughItems and CodeChickenCore (for 1.5.2). Install them as said on the thread.
    10) Run Minecraft!







    Blue Steel
    Type: Extra Requirement
    - Adds Blue Steel Ore
    - Can be used to craft a Refinery, a Blue Steel Furnace, and an Extractor
    - No use for the Refinery or Extractor without other packs


    Mystic Gems
    Type: Magic
    - Will add 6 new, generating 'mystic' gems
    - An 'ultimate gem' could be made using the 6 new gems,
    plus Diamond, Emerald, and Nether Quartz

    Dyautus
    Type: Aesthetic
    - Will add 1 new ore called "Dyautus"
    - Dyautus could be mixed with any of the Dyes (get it?)
    to make (e.g) Blue-Dyed Dyautus, Pink-Dyed Dyautus, respectively
    - Dyed Dyautus could be mixed with certain blocks to 'dye' that
    block a certain colour, like Blue Bricks

    Tasty Ores
    Type: Food
    - Adds a bunch of ores in the mine
    - Some ores give potion effects

    Bio Ores
    Type: Magic
    - Adds an ore for each biome
    - Certain 'powers' will be granted when in that ore's
    respective biome.

    Portable GUIs
    Type: Easy Life
    Extra Requirements: Blue Steel
    - Adds Compaction Matter Ore
    - Can be turned into Solitary Matter with an Extractor
    - Solitary Matter can be turned into Compaction Matter
    through a Refinery
    - Can be used to make item versions of the Vanilla GUIs
    I once had an idea to make a mod that added portable
    versions of the GUIs. I did start making this mod, but
    shortly gave up on it. In that version, there was only
    going to be a 'Compaction Matter Flower', which could
    be turned directly into Compaction Matter through shapeless
    crafting, like a flower is turned into a dye. I eventually had
    the idea to implement it into Minology, but in a different
    way.



    None!




    Alpha v1.0.0
    July 1/2013
    - Original Release

    [/anchor]

    TERMS AND CONDITIONS
    0. USED TERMS
    MOD - modification, plugin, a piece of software that interfaces with the Minecraft client to extend, add, change or remove original capabilities.
    MOJANG - Mojang AB
    OWNER - Pikadex, Original author(s) of the MOD. Under the copyright terms accepted when purchasing Minecraft (http://www.minecraft.net/copyright.jsp) the OWNER has full rights over their MOD despite use of MOJANG code.
    USER - End user of the mod, person installing the mod.
    MODPACK - a group of mods, a set of mods that may be public or private

    1. LIABILITY
    THIS MOD IS PROVIDED 'AS IS' WITH NO WARRANTIES, IMPLIED OR OTHERWISE. THE OWNER OF THIS MOD TAKES NO RESPONSIBILITY FOR ANY DAMAGES INCURRED FROM THE USE OF THIS MOD. THIS MOD ALTERS FUNDAMENTAL PARTS OF THE MINECRAFT GAME, PARTS OF MINECRAFT MAY NOT WORK WITH THIS MOD INSTALLED. ALL DAMAGES CAUSED FROM THE USE OR MISUSE OF THIS MOD FALL ON THE USER.

    2. USE
    Use of this MOD to be installed, manually or automatically, is given to the USER without restriction. Use of this MOD in any public MODPACK that one has made, provided credit is given under the name of the OWNER, is allowed. Furthermore, the USER may use this MOD in videos (mod reviews, let's plays, etc.), provided a link is given.

    3. REDISTRIBUTION
    This MOD may only be distributed where uploaded, mirrored, or otherwise linked to by the OWNER solely. All mirrors of this MOD must have advance written permission from the OWNER. ANY attempts to make money off of this MOD (selling, selling modified versions, adfly, sharecash, etc.) are STRICTLY FORBIDDEN, and the OWNER may claim damages or take other action to rectify the situation.

    4. DERIVATIVE WORKS/MODIFICATION
    This mod is provided freely and may be decompiled and modified for private use, either with a decompiler or a bytecode editor. Public distribution of modified versions of this MOD require advance written permission of the OWNER and may be subject to certain terms.


    Like this mod? Want to support me? Choose one of the following you like, and paste the code's content below it as your "signature". I'd love for you to help this mod grow!

    [center][url="http://www.minecraftforum.net/topic/1873643-152forgeminology-alpha/"][img]http://imageshack.us/a/img153/9614/gp4.png[/img][/url][/center]

    Want to make a banner? Then make one! To submit it to me, put it on a site where I can download it, and PM me the link to it. If I like it, I'll put it on the site I use, and post it here. Don't worry, you will get credit for your work! :)

    I hope you like my mod, and I'm sorry for how under-developed and/or confusing you may think of this post as. I'll try to improve it as time goes on. :)

    Thanks,
    Pikadex
    Posted in: WIP Mods
  • 0

    posted a message on [Alpha] The Aether II: Genesis of the Void (The Festive Update! Presents, new companions, and more!)
    Quote from Woso

    Can you please make a bukkit mod / ready modded bukkit with this mod? Or maybe a public server with Aether II?


    There are like 16 official Aether servers. When you download the mod and enter the Aether II menu, click 'Official Aether Servers', and choose a server. Aether Server 1 seems to work best for me. :]
    Posted in: Minecraft Mods
  • 0

    posted a message on [Alpha] The Aether II: Genesis of the Void (The Festive Update! Presents, new companions, and more!)
    Quote from Collin1971

    I think you shouldn't be able to shift click in dungeon chests :)

    That way looters can't just run through a dungeon and get a metric ton of loot with their mouse click spammers and what nots. Not only that, what's the fun of just running to loot and fleeing? It's much more fun to destroy the spawner and the mobs and then get the loot. Loot is meant to be a reward for doing something, and that doing something is destroying the mobs protecting it.


    Well, I guess that's true. But I at least think the chest loot disappearing (and not stacking) should REALLY be fixed. But now that you put the dungeon shift-clicking that way, I do agree with you. :)

    Oh, and the loot does do that outside the dungeon. :(
    Posted in: Minecraft Mods
  • 0

    posted a message on [Alpha] The Aether II: Genesis of the Void (The Festive Update! Presents, new companions, and more!)
    Awesome, but I have one problem: please, PLEASE fix the dungeon items. They cannot stack or be shift clicked. When dungeon chest armor is used, it quickly disappears, and tools, too, disappear on use. I know that it is early alpha, I just ask that this be one of the priorities. :)

    (Oh, and also, could you reduce the spawn rates of the Exploding Sentries and Zephyrs?)

    Quote from Dudugs2000

    I have an idea! Since creepers are pretty much the icon of Minecraft, why not make a aether version. it would be hilarious too see a creeper with tiny wings that slowly flies toward you. it could drop a different type of gunpowder that could make new TNT and other stuff. Also, Aether Potatos! :D


    Huh, that's actually a pretty good idea for a mob. Perhaps the 'gunpowder' they drop could be something edible? That'd be pretty nice. :D

    Quote from Noah_Au

    Tempests are sort of already the aether equivalent of creepers.

    Eh, more like the equivalent of Ghasts.
    Posted in: Minecraft Mods
  • 0

    posted a message on [SOLVED][FORGE][1.5.2]"Mysterious" Crashing?
    Quote from Enosphorous

    If you're running in Eclipse, the error log should tell you what line the error was on.

    But it seems as if you've already solved the problem.


    Yes, I know, but I got no errors.
    If you are talking about the 'links' to the specific lines in the console when it crashes, that I know, as well.
    :)
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED][FORGE][1.5.2]"Mysterious" Crashing?
    Quote from integerArray

    For your hoe, it looks like you accidentally made one of the strings a different size. They don't have to be 3 characters long, but they all have to be the same. For your naming, you need to register the blocks first. The register block method creates the actual item block that is used in the itemstack, so there's going to be an npe if you don't register first.

    Also, if you could post the line numbers of your third error, it would be easier than rummaging through the code looking for a mistake.


    For the Language Registry, I'm not positive, but I think that means I'm supposed to have CoreGameRegistry load before CoreLanguageRegistry. It appears if that worked, so that's good. :)

    For the Recipes, I believe you are talking about the fact that one of the strings is 2 characters, and the others are 3.

    As for CoreGameRegistry, I'll find code that is causing a crash, and post the lines below...
    Nevermind. As soon as I fixed the Recipe code, it suddenly fixed the code for CoreGameRegistry. :)

    Thanks massively,
    Pikadex
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED][FORGE][1.5.2]"Mysterious" Crashing?
    Just added about 3 edits, as I keep on getting new errors. This is fairly ridiculous, and I just hate this...
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED][FORGE][1.5.2]"Mysterious" Crashing?
    Answer found!
    Thanks to integerArray!

    Hello,
    I am currently trying to develop a mod called Minology. I've been having troubles with pieces of code in my file, CoreLanguageRegistry. Specifically...

     public static void registerNames() {
    registerBlocks();
    registerTools();
    registerItems();
    registerMachines();
    }


    ...and...

    private static void registerBlocks() {
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 0), "Copper Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 1), "Vintium Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 2), "Mechanite Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 3), "Ambrite Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 0), "Block of Copper");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 1), "Block of Vintium");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 2), "Block of Raw Mechanite");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 3), "Block of Ambrite");
    }


    Keep in mind that I get no errors.
    The only problem in the first piece of code is "registerBlocks();", which leads right into the other source in CoreLanguageRegistry. Usually, I find the crash's 'link' lead to the Copper Ore registry.
    When I tried to comment it out, it came up with another crash, this time leading to the Vintium Ore registry. Then, I tried to comment out the entire registerBlocks void, along with it's reference in the registerNames void. That worked fine, but as soon as I uncommented registerBlocks (the very first line, and ending bracket), the line registering the Block of Copper, and it's reference in registerNames, it crashed again, with the same error.
    After that, I decided to move registerBlocks into my main class file, and load it there. When I tried to run it it did not link to CoreLanguageRegistry; it linked to the Main Class file, on those same lines of code! Since it did not seem to make a difference, I moved it all back into CoreLanguageRegistry.
    I have no clue why this is happening, and any help would be appreciated. I will give spoilers to CoreLanguageRegistry and the Crash Log. If any of you modders can debug this, please tell me why this is happening, and how I can fix it.

    Thanks,
    Pikadex

    package pikadex.oremod;
    
    import net.minecraft.item.ItemStack;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    public class CoreLanguageRegistry {
    
    public static void registerNames() {
    registerBlocks();
    registerTools();
    registerItems();
    registerMachines();
    }
    
    private static void registerBlocks() {
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 0), "Copper Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 1), "Vintium Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 2), "Mechanite Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOre, 1, 3), "Ambrite Ore");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 0), "Block of Copper");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 1), "Block of Vintium");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 2), "Block of Raw Mechanite");
    LanguageRegistry.addName(new ItemStack(PikadexOres.coreOreBlock, 1, 3), "Block of Ambrite");
    }
    
    private static void registerTools() {
    
    // Copper
    
    LanguageRegistry.addName(PikadexOres.swordCopper, "Copper Broadsword");
    LanguageRegistry.addName(PikadexOres.pickaxeCopper, "Copper Pickaxe");
    LanguageRegistry.addName(PikadexOres.spadeCopper, "Copper Shovel");
    LanguageRegistry.addName(PikadexOres.axeCopper, "Copper Axe");
    LanguageRegistry.addName(PikadexOres.hoeCopper, "Copper Hoe");
    
    // Vintium
    
    LanguageRegistry.addName(PikadexOres.swordVintium, "Vintium Soul Snatcher");
    LanguageRegistry.addName(PikadexOres.pickaxeVintium, "Vintium Pickaxe");
    LanguageRegistry.addName(PikadexOres.spadeVintium, "Vintium Shovel");
    LanguageRegistry.addName(PikadexOres.axeVintium, "Vintium Axe");
    LanguageRegistry.addName(PikadexOres.hoeVintium, "Vintium Hoe");
    
    // Mechanite
    
    LanguageRegistry.addName(PikadexOres.swordMechanite, "Energized Blade");
    LanguageRegistry.addName(PikadexOres.pickaxeMechanite, "Energized Pickaxe");
    LanguageRegistry.addName(PikadexOres.spadeMechanite, "Energized Shovel");
    LanguageRegistry.addName(PikadexOres.axeMechanite, "Energized Axe");
    LanguageRegistry.addName(PikadexOres.hoeMechanite, "Energized Hoe");
    }
    
    private static void registerItems() {
    LanguageRegistry.addName(PikadexOres.copperIngot, "Copper Bar");
    LanguageRegistry.addName(PikadexOres.vintiumIngot, "Vintium Bar");
    LanguageRegistry.addName(PikadexOres.mechaniteRaw, "Raw Mechanite");
    LanguageRegistry.addName(PikadexOres.mechaniteIngot, "Powered Mechanite");
    LanguageRegistry.addName(PikadexOres.ambrite, "Ambrite");
    LanguageRegistry.addName(PikadexOres.vintiumEnergy, "Vintium Blade");
    LanguageRegistry.addName(PikadexOres.stickStone, "Stone-Reinforced Stick");
    }
    
    private static void registerMachines() {
    LanguageRegistry.addName(PikadexOres.mechaniteBlock, "PWR-433");
    LanguageRegistry.addName(PikadexOres.machineHealth, "HPL-3490");
    LanguageRegistry.addName(PikadexOres.machineRegen, "RGN-2340");
    }
    }

    ---- Minecraft Crash Report ----
    // Quite honestly, I wouldn't worry myself about that.
    
    Time: 6/24/13 10:55 AM
    Description: Failed to start game
    
    java.lang.NullPointerException
    at cpw.mods.fml.common.registry.LanguageRegistry.addNameForObject(LanguageRegistry.java:110)
    at cpw.mods.fml.common.registry.LanguageRegistry.addName(LanguageRegistry.java:120)
    at pikadex.oremod.CoreLanguageRegistry.registerBlocks(CoreLanguageRegistry.java:16)
    at pikadex.oremod.CoreLanguageRegistry.registerNames(CoreLanguageRegistry.java:9)
    at pikadex.oremod.PikadexOres.load(PikadexOres.java:278)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:494)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:165)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:98)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:690)
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:206)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:447)
    at net.minecraft.client.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:44)
    at net.minecraft.client.Minecraft.run(Minecraft.java:732)
    at java.lang.Thread.run(Unknown Source)
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- System Details --
    Details:
    Minecraft Version: 1.5.2
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.7.0_21, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 951349264 bytes (907 MB) / 1065025536 bytes (1015 MB) up to 1065025536 bytes (1015 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Suspicious classes: FML and Forge are installed
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v7.51 FML v5.2.2.684 Minecraft Forge 7.8.0.684 4 mods loaded, 4 mods active
    mcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized
    FML{5.2.2.684} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized
    Forge{7.8.0.684} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized
    pikadexOres{Alpha 1.0} [Minology] (bin) Unloaded->Constructed->Pre-initialized->Errored
    LWJGL: 2.4.2
    OpenGL: GeForce GT 520/PCIe/SSE2 GL version 4.3.0, NVIDIA Corporation
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Texture Pack: Default
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: ~~ERROR~~ NullPointerException: null

    EDIT: The error has changed a bit... this time, I get the error in CoreRecipe.class, yet I cannot spot out the error.
    The error 'type' is:
    java.lang.StringIndexOutOfBoundsException: String index out of range: 8


    If it's any help, I'll also post the CoreRecipe code. So you know where I receive the errors, I'll mark the errors as best I can, by surrounding them with (((((5 BRACKETS))))). Oddly, it occurs only on the hoe crafting. It no longer does the error for the original, even though I did absolutely nothing to it (since the last crash from it).

    Thanks,
    Pikadex
    package pikadex.oremod;
    
    import net.minecraft.block.Block;
    import net.minecraft.enchantment.Enchantment;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.crafting.FurnaceRecipes;
    import cpw.mods.fml.common.registry.GameRegistry;
    import pikadex.oremod.PikadexOres;
    
    public class CoreRecipe {
    
    /**
    * When referenced in the Init method of the Main Class, it will register all of the
    * recipes into Minecraft.
    */
    public static void recipe() {
    craftingRecipeShaped();
    (((((craftingRecipeToolsAndArmor();)))))
    craftingRecipeShapeless();
    smeltingRecipe();
    }
    
    // Shaped Recipes
    
    /**
    * Holds all of the miscellaneous SHAPED crafting recipes in the class.
    * To be loaded in the "recipe" void.
    */
    private static void craftingRecipeShaped() {
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.mechaniteIngot, 1),
    " R ", "CMC", " R ", 'R', Item.redstone, 'M', PikadexOres.mechaniteRaw,
    'G', PikadexOres.copperIngot
    );
    
    // Refined Ores --> Ore Blocks
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.coreOreBlock, 1, 0),
    "CCC", "CCC", "CCC", 'C', PikadexOres.copperIngot
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.coreOreBlock, 1, 1),
    "VVV", "VVV", "VVV", 'V', PikadexOres.vintiumIngot
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.coreOreBlock, 1, 2),
    "MMM", "MMM", "MMM", 'M', PikadexOres.mechaniteRaw
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.coreOreBlock, 1, 3),
    "AAA", "AAA", "AAA", 'A', PikadexOres.ambrite
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.mechaniteBlock, 1),
    "MM", "MM", 'M', PikadexOres.mechaniteIngot
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.vintiumEnergy, 3),
    "V", "V", 'V', PikadexOres.vintiumIngot
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.stickStone, 4),
    "SWS", "SWS", 'W', Block.planks, 'S', Block.cobblestone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.machineRegen, 1),
    "GIG", "RMR", "VIV", 'M', PikadexOres.mechaniteBlock, 'R', Item.redstone,
    'G', Item.speckledMelon, 'V', PikadexOres.vintiumEnergy,
    'I', PikadexOres.mechaniteIngot
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.machineHealth, 1),
    "GGG", "MRM", "III", 'I', new ItemStack(PikadexOres.coreOreBlock, 1, 0),
    'G', Item.ghastTear, 'R', PikadexOres.machineRegen,
    'M', PikadexOres.mechaniteIngot
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.metalBlade, 1),
    "I", "I", 'I', Item.ingotIron
    );
    }
    
    /**
    * Holds all of the crafting recipes for armor and tools in the class.
    * To be loaded in the "recipe" void.
    */
    private static void craftingRecipeToolsAndArmor() {
    
    // Copper
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.swordCopper, 1),
    "B", "B", "S", 'B', PikadexOres.copperBlade, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.pickaxeCopper, 1),
    "CCC", " S ", " S ", 'C', PikadexOres.copperIngot, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.spadeCopper, 1),
    "C", "S", "S", 'C', PikadexOres.copperIngot, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.axeCopper, 1),
    "CC ", "CS ", " S ", 'C', PikadexOres.copperIngot, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.axeCopper, 1),
    " CC", " SC", " S ", 'C', PikadexOres.copperIngot, 'S', PikadexOres.stickStone
    );
    
    (((((GameRegistry.addRecipe(new ItemStack(PikadexOres.hoeCopper, 1),)))))
    "CC", " S ", " S ", 'C', PikadexOres.copperIngot, 'S', PikadexOres.stickStone
    );
    
    // Vintium
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.swordVintium, 1),
    "BBB", " S ", 'B', PikadexOres.vintiumBlade, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.pickaxeVintium, 1),
    "VVV", " S ", " S ", 'V', PikadexOres.vintiumEnergy, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.spadeVintium, 1),
    "V", "S", "S", 'V', PikadexOres.vintiumIngot, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.axeVintium, 1),
    "VV ", "VS ", " S ", 'V', PikadexOres.vintiumEnergy, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.axeVintium, 1),
    " VV", " SV", " S ", 'V', PikadexOres.vintiumEnergy, 'S', PikadexOres.stickStone
    );
    
    (((((GameRegistry.addRecipe(new ItemStack(PikadexOres.hoeVintium, 1),)))))
    "VV", " S ", " S ", 'V', PikadexOres.vintiumIngot, 'S', PikadexOres.stickStone
    );
    
    // Mechanite
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.swordMechanite, 1),
    "B", "B", "S", 'B', PikadexOres.mechaniteBlade, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.pickaxeMechanite, 1),
    "MMM", " S ", " S ", 'M', PikadexOres.mechaniteIngot, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.spadeMechanite, 1),
    "M", "S", "S", 'M', PikadexOres.mechaniteIngot, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.axeMechanite, 1),
    "MM ", "MS ", " S ", 'M', PikadexOres.mechaniteIngot, 'S', PikadexOres.stickStone
    );
    
    GameRegistry.addRecipe(new ItemStack(PikadexOres.axeMechanite, 1),
    " MM", " SM", " S ", 'M', PikadexOres.mechaniteIngot, 'S', PikadexOres.stickStone
    );
    
    (((((GameRegistry.addRecipe(new ItemStack(PikadexOres.hoeMechanite, 1),)))))
    "MM", " S ", " S ", 'M', PikadexOres.mechaniteIngot, 'S', PikadexOres.stickStone
    );
    }
    
    // Shapeless Recipes
    
    /**
    * Holds all of the miscellaneous SHAPELESS crafting recipes in the class.
    * To be loaded in the "recipe" void.
    */
    private static void craftingRecipeShapeless() {
    
    // Powered Bow (MECHANITE)
    
    ItemStack bowMechanite = new ItemStack(Item.bow, 1, 0);
    bowMechanite.addEnchantment(Enchantment.infinity, 1);
    bowMechanite.addEnchantment(Enchantment.unbreaking, 3);
    bowMechanite.setItemName("Powered Bow");
    
    GameRegistry.addShapelessRecipe(bowMechanite,
    new ItemStack(Item.bow, 1, 0),
    PikadexOres.mechaniteIngot,
    PikadexOres.mechaniteIngot);
    
    // Ore Blocks --> Refined Ores
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.copperIngot, 9),
    new ItemStack(PikadexOres.coreOreBlock, 1, 0)
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.vintiumIngot, 9),
    new ItemStack(PikadexOres.coreOreBlock, 1, 1)
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.mechaniteRaw, 9),
    new ItemStack(PikadexOres.coreOreBlock, 1, 2)
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.ambrite, 9),
    new ItemStack(PikadexOres.coreOreBlock, 1, 3)
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.mechaniteIngot, 4),
    PikadexOres.mechaniteBlock
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.vintiumIngot, 2),
    PikadexOres.vintiumEnergy,
    PikadexOres.vintiumEnergy,
    PikadexOres.vintiumEnergy
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.stickStone, 1),
    Item.stick,
    Block.cobblestone
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.copperBlade, 1),
    PikadexOres.copperIngot
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.vintiumBlade, 1),
    PikadexOres.metalBlade,
    PikadexOres.vintiumEnergy
    );
    
    GameRegistry.addShapelessRecipe(new ItemStack(PikadexOres.mechaniteBlade, 1),
    PikadexOres.metalBlade,
    PikadexOres.mechaniteIngot,
    Item.redstone
    );
    }
    
    // Smelting Recipes
    
    /**
    * Holds all of the SMELTING recipes in the class.
    * To be loaded in the "recipe" void.
    */
    private static void smeltingRecipe() {
    FurnaceRecipes.smelting().addSmelting(PikadexOres.coreOre.blockID, 0, new ItemStack(PikadexOres.copperIngot, 1), 0.4F);
    FurnaceRecipes.smelting().addSmelting(PikadexOres.coreOre.blockID, 1, new ItemStack(PikadexOres.vintiumIngot, 1), 0.8F);
    FurnaceRecipes.smelting().addSmelting(PikadexOres.coreOre.blockID, 2, new ItemStack(PikadexOres.mechaniteRaw, 1), 1.2F);
    FurnaceRecipes.smelting().addSmelting(PikadexOres.coreOre.blockID, 3, new ItemStack(PikadexOres.ambrite, 1), 0.6F);
    }
    }

    EDIT 2 (sigh): Sorry about another edit, but I just had to. When I comment out the hoe lines in CoreRecipe, I still crash, getting the former CoreLanguageRegistry error. This makes absolutely no sense to me, and any help would be strongly appreciated.

    Thanks,
    Pikadex

    EDIT 3 (omgusrs): Okay, I'm REALLY sorry about all these edits, but... I just keep on getting new errors. This time, it leads to CoreGameRegistry. The crash 'type' is:

    cpw.mods.fml.common.LoaderException


    This is getting extremely annoying, and please, PLEASE, any assistance would be greatly appreciated. I'll just give you all the code to CoreGameRegistry, and the code to PikadexOres, my main class. I just have no clue on what this is meaning...

    Thanks,
    Pikadex.

    package pikadex.oremod;
    
    import java.io.File;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.src.ModLoader;
    import cpw.mods.fml.common.registry.GameRegistry;
    
    public class CoreGameRegistry {
    
    public static void register() {
    itemRegister();
    blockRegister();
    miscRegister();
    }
    
    private static void itemRegister() {
    GameRegistry.registerItem(PikadexOres.copperIngot, "copperIngot");
    GameRegistry.registerItem(PikadexOres.vintiumIngot, "vintiumIngot");
    GameRegistry.registerItem(PikadexOres.mechaniteRaw, "mechaniteRaw");
    GameRegistry.registerItem(PikadexOres.mechaniteIngot, "mechaniteIngot");
    GameRegistry.registerItem(PikadexOres.ambrite, "ambrite");
    GameRegistry.registerItem(PikadexOres.vintiumEnergy, "vintiumBlade");
    GameRegistry.registerItem(PikadexOres.stickStone, "stickStone");
    GameRegistry.registerItem(PikadexOres.metalBlade, "metalBlade");
    GameRegistry.registerItem(PikadexOres.copperBlade, "copperBlade");
    GameRegistry.registerItem(PikadexOres.vintiumBlade, "vintiumBlade");
    GameRegistry.registerItem(PikadexOres.mechaniteBlade, "mechaniteBlade");
    
    // Copper Tools
    GameRegistry.registerItem(PikadexOres.swordCopper, "swordCopper");
    GameRegistry.registerItem(PikadexOres.pickaxeCopper, "pickaxeCopper");
    GameRegistry.registerItem(PikadexOres.spadeCopper, "spadeCopper");
    GameRegistry.registerItem(PikadexOres.axeCopper, "axeCopper");
    GameRegistry.registerItem(PikadexOres.hoeCopper, "hoeCopper");
    
    // Copper Armor
    GameRegistry.registerItem(PikadexOres.helmetCopper, "helmetCopper");
    GameRegistry.registerItem(PikadexOres.chestCopper, "chestCopper");
    GameRegistry.registerItem(PikadexOres.legsCopper, "legsCopper");
    GameRegistry.registerItem(PikadexOres.bootsCopper, "bootsCopper");
    
    // Vintium Tools
    GameRegistry.registerItem(PikadexOres.swordVintium, "swordVintium");
    GameRegistry.registerItem(PikadexOres.pickaxeVintium, "pickaxeVintium");
    GameRegistry.registerItem(PikadexOres.spadeVintium, "spadeVintium");
    GameRegistry.registerItem(PikadexOres.axeVintium, "axeVintium");
    GameRegistry.registerItem(PikadexOres.hoeVintium, "hoeVintium");
    
    // Vintium Armor
    GameRegistry.registerItem(PikadexOres.helmetVintium, "helmetVintium");
    GameRegistry.registerItem(PikadexOres.chestVintium, "chestVintium");
    GameRegistry.registerItem(PikadexOres.legsVintium, "legsVintium");
    GameRegistry.registerItem(PikadexOres.bootsVintium, "bootsVintium");
    
    // Mechanite Tools
    GameRegistry.registerItem(PikadexOres.swordMechanite, "swordMechanite");
    GameRegistry.registerItem(PikadexOres.pickaxeMechanite, "pickaxeMechanite");
    GameRegistry.registerItem(PikadexOres.spadeMechanite, "spadeMechanite");
    GameRegistry.registerItem(PikadexOres.axeMechanite, "axeMechanite");
    GameRegistry.registerItem(PikadexOres.hoeMechanite, "hoeMechanite");
    
    // Mechanite Armor
    GameRegistry.registerItem(PikadexOres.helmetMechanite, "helmetMechanite");
    GameRegistry.registerItem(PikadexOres.chestMechanite, "chestMechanite");
    GameRegistry.registerItem(PikadexOres.legsMechanite, "legsMechanite");
    GameRegistry.registerItem(PikadexOres.bootsMechanite, "bootsMechanite");
    
    }
    
    private static void blockRegister() {
    
    GameRegistry.registerBlock(PikadexOres.coreOre, ItemBlockCoreOre.class, "coreOre");
    GameRegistry.registerBlock(PikadexOres.coreOreBlock, ItemBlockCoreOreBlock.class, "coreOreBlock");
    GameRegistry.registerBlock(PikadexOres.mechaniteBlock, "mechaniteBlock");
    GameRegistry.registerBlock(PikadexOres.machineRegen, "machineRegen");
    GameRegistry.registerBlock(PikadexOres.machineHealth, "machineHealth");
    }
    
    private static void miscRegister() {
    // Custom Fuel Handlers
    GameRegistry.registerFuelHandler(new AmbriteFuelHandler());
    
    // Custom Sounds
    Minecraft mc = ModLoader.getMinecraftInstance();
    mc.installResource("sound3/pikadexores/restore.ogg", new File(mc.mcDataDir, "resources/sound3/pikadexores/restore.ogg"));
    mc.installResource("sound3/pikadexores/mt-hit.ogg", new File(mc.mcDataDir, "resources/sound3/pikadexores/mt-hit.ogg"));
    }
    }
    package pikadex.oremod;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockLog;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.enchantment.Enchantment;
    import net.minecraft.item.*;
    import net.minecraft.item.crafting.FurnaceRecipes;
    import net.minecraft.src.ModLoader;
    import net.minecraftforge.common.Configuration;
    import net.minecraftforge.common.EnumHelper;
    import net.minecraftforge.common.MinecraftForge;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.Init;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.Mod.PostInit;
    import cpw.mods.fml.common.Mod.PreInit;
    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.network.NetworkMod;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    import net.minecraft.client.Minecraft;
    import java.io.File;
    
    @Mod(modid = PikadexOres.modid, name = "Minology", version = "Alpha 1.0")
    @NetworkMod(clientSideRequired=true, serverSideRequired=false)
    public class PikadexOres {
    
    public static final String modid = "pikadexOres";
    
    
    
    // Creative Tab Registration
    
    public static CreativeTabs tabOre = new CreativeTabs("tabOre") {
    public ItemStack getIconItemStack() {
    return new ItemStack(coreOre, 1, 0);
    }
    };
    
    public static CreativeTabs tabOreBlock = new CreativeTabs("tabOreBlock") {
    public ItemStack getIconItemStack() {
    return new ItemStack(coreOreBlock, 1, 1);
    }
    };
    
    public static CreativeTabs tabMaterials = new CreativeTabs("tabMaterials") {
    public ItemStack getIconItemStack() {
    return new ItemStack(mechaniteIngot, 1);
    }
    };
    
    public static CreativeTabs tabTools = new CreativeTabs("tabTools") {
    public ItemStack getIconItemStack() {
    return new ItemStack(swordMechanite, 1);
    }
    };
    
    public static CreativeTabs tabMachines = new CreativeTabs("tabMachines") {
    public ItemStack getIconItemStack() {
    return new ItemStack(mechaniteBlock, 1);
    }
    };
    
    // Enum Tool Materials
    
    public static EnumToolMaterial COPPER = EnumHelper.addToolMaterial("CopperToolMaterial", 1, 200, 5.0F, 1, 16);
    public static EnumToolMaterial VINTIUM = EnumHelper.addToolMaterial("VintiumToolMaterial", 2, 1000, 7.0F, 2, 21);
    public static EnumToolMaterial MECHANITE = EnumHelper.addToolMaterial("MechaniteToolMaterial", 4, -1, 10.0F, 4, 0);
    
    // Enum Armor Materials
    
    public static EnumArmorMaterial COPPER2 = EnumHelper.addArmorMaterial("CopperArmorMaterial", 200, new int[]{1, 5, 4, 1}, 16);
    public static EnumArmorMaterial VINTIUM2 = EnumHelper.addArmorMaterial("VintiumArmorMaterial", 1000, new int[]{3, 5, 6, 3}, 21);
    public static EnumArmorMaterial MECHANITE2 = EnumHelper.addArmorMaterial("MechaniteArmorMaterial", -1, new int[]{4, 9, 7, 3}, 0);
    
    
    // Block Registration
    
    public static final Block coreOre = new BlockCoreOre(700, Material.rock).setUnlocalizedName("coreOre")
    .setStepSound(Block.soundStoneFootstep)
    .setHardness(3.0F)
    .setResistance(5.0F);
    
    public static final Block coreOreBlock = new BlockCoreOreBlock(701, Material.iron).setUnlocalizedName("coreOreBlock")
    .setStepSound(Block.soundMetalFootstep)
    .setHardness(3.0F)
    .setResistance(5.0F);
    
    // Machines
    
    /**
    * PWR-433/Block of Mechanite: Emits a full signal
    */
    public static final Block mechaniteBlock = new BlockMechanite(702, Material.iron).setUnlocalizedName("mechaniteBlock")
    .setStepSound(Block.soundMetalFootstep)
    .setHardness(3.0F)
    .setResistance(5.0F);
    
    /**
    * HPL-
    */
    public static final Block machineHealth = new BlockHPL(703, Material.iron).setUnlocalizedName("machineHealth")
    .setStepSound(Block.soundMetalFootstep)
    .setHardness(3.0F)
    .setResistance(5.0F);
    
    /**
    * RGN-
    */
    
    public static final Block machineRegen = new BlockRGN(704, Material.iron).setUnlocalizedName("machineRegen")
    .setStepSound(Block.soundMetalFootstep)
    .setHardness(3.0F)
    .setResistance(5.0F);
    
    // Normal Items
    
    public static final Item copperIngot = new IngotCopper(6503, 64, tabMaterials, "copperIngot");
    
    public static final Item vintiumIngot = new IngotVintium(6504, 64, tabMaterials, "vintiumIngot");
    
    public static final Item mechaniteRaw = new MechaniteRaw(6505, 64, tabMaterials, "mechaniteRaw");
    
    /**
    * The useful version of Mechanite
    */
    public static final Item mechaniteIngot = new IngotMechanite(6506, 64, tabMaterials, "mechaniteIngot");
    
    public static final Item ambrite = new ItemAmbrite(6507, 64, tabMaterials, "ambrite");
    
    /**
    * The Energy used to create the Vintium Soul Snatcher.
    */
    public static final Item vintiumEnergy = new VintiumEnergy(6508, 16, tabMaterials, "energyVintium");
    
    public static final Item stickStone = new StoneStick(6509, 64, tabMaterials, "stickStone");
    
    /**
    * The base sword-recipe item.
    * Used as an indirect part of crafting in all of the "core" swords.
    */
    public static final Item metalBlade = new MetalBlade(6537, 16, tabMaterials, "metalBlade");
    
    /**
    * The blade used to craft the Vintium Soul Snatcher.
    */
    public static final Item vintiumBlade = new MetalBlade(6538, 16, tabMaterials, "vintiumBlade");
    
    /**
    * The blade used to craft the Copper Broadsword.
    */
    public static final Item copperBlade = new MetalBlade(6539, 16, tabMaterials, "copperBlade");
    
    /**
    * The blade used to craft the Energized Blade.
    */
    public static final Item mechaniteBlade = new MetalBlade(6540, 16, tabMaterials, "mechaniteBlade");
    
    // Tools and Armor...
    
    // Copper
    
    public static final Item swordCopper = new CopperSword(6510, 1, COPPER, tabTools, "swordCopper");
    public static final Item pickaxeCopper = new CopperPickaxe(6511, COPPER);
    public static final Item spadeCopper = new CopperSpade(6512, COPPER);
    public static final Item axeCopper = new CopperAxe(6513, COPPER);
    public static final Item hoeCopper = new CopperHoe(6514, COPPER);
    
    public static ItemCopperArmor helmetCopper = new ItemCopperArmor(6525, PikadexOres.COPPER2, ModLoader.addArmor("copper"), 0, "helmetCopper");
    public static ItemCopperArmor chestCopper = new ItemCopperArmor(6526, PikadexOres.COPPER2, ModLoader.addArmor("copper"), 1, "chestCopper");
    public static ItemCopperArmor legsCopper = new ItemCopperArmor(6527, PikadexOres.COPPER2, ModLoader.addArmor("copper"), 2, "legsCopper");
    public static ItemCopperArmor bootsCopper = new ItemCopperArmor(6528, PikadexOres.COPPER2, ModLoader.addArmor("copper"), 3, "bootsCopper");
    
    // Vintium
    
    public static final Item swordVintium = new VintiumSword(6515, 1, VINTIUM, tabTools, "swordVintium");
    public static final Item pickaxeVintium = new VintiumPickaxe(6516, VINTIUM);
    public static final Item spadeVintium = new VintiumSpade(6517, VINTIUM);
    public static final Item axeVintium = new VintiumAxe(6518, VINTIUM);
    public static final Item hoeVintium = new VintiumHoe(6519, VINTIUM);
    
    public static ItemVintiumArmor helmetVintium = new ItemVintiumArmor(6529, PikadexOres.COPPER2, ModLoader.addArmor("vintium"), 0, "helmetVintium");
    public static ItemVintiumArmor chestVintium = new ItemVintiumArmor(6530, PikadexOres.COPPER2, ModLoader.addArmor("vintium"), 1, "chestVintium");
    public static ItemVintiumArmor legsVintium = new ItemVintiumArmor(6531, PikadexOres.COPPER2, ModLoader.addArmor("vintium"), 2, "legsVintium");
    public static ItemVintiumArmor bootsVintium = new ItemVintiumArmor(6532, PikadexOres.COPPER2, ModLoader.addArmor("vintium"), 3, "bootsVintium");
    
    // Mechanite
    
    public static final Item swordMechanite = new MechaniteSword(6520, 1, MECHANITE, tabTools, "swordMechanite");
    public static final Item pickaxeMechanite = new MechanitePickaxe(6521, MECHANITE);
    public static final Item spadeMechanite = new MechaniteSpade(6522, MECHANITE);
    public static final Item axeMechanite = new MechaniteAxe(6523, MECHANITE);
    public static final Item hoeMechanite = new MechaniteHoe(6524, MECHANITE);
    
    public static ItemMechaniteArmor helmetMechanite = new ItemMechaniteArmor(6533, PikadexOres.COPPER2, ModLoader.addArmor("mechanite"), 0, "helmetCopper");
    public static ItemMechaniteArmor chestMechanite = new ItemMechaniteArmor(6534, PikadexOres.COPPER2, ModLoader.addArmor("mechanite"), 1, "chestCopper");
    public static ItemMechaniteArmor legsMechanite = new ItemMechaniteArmor(6535, PikadexOres.COPPER2, ModLoader.addArmor("mechanite"), 2, "legsCopper");
    public static ItemMechaniteArmor bootsMechanite = new ItemMechaniteArmor(6536, PikadexOres.COPPER2, ModLoader.addArmor("mechanite"), 3, "bootsCopper");
    
    // Config Integer Registration
    
    int coreOreIDs;
    int coreOreBlockIDs;
    
    int copperIngotID;
    int vintiumIngotID;
    int mechaniteRawID;
    int mechaniteIngotID;
    int ambriteID;
    
    int copperSwordID;
    int copperPickaxeID;
    int copperSpadeID;
    int copperAxeID;
    int copperHoeID;
    
    int copperHelmetID;
    int copperChestID;
    int copperLegsID;
    int copperBootsID;
    
    int vintiumSwordID;
    int vintiumPickaxeID;
    int vintiumSpadeID;
    int vintiumAxeID;
    int vintiumHoeID;
    
    int vintiumHelmetID;
    int vintiumChestID;
    int vintiumLegsID;
    int vintiumBootsID;
    
    int mechaniteSwordID;
    int mechanitePickaxeID;
    int mechaniteSpadeID;
    int mechaniteAxeID;
    int mechaniteHoeID;
    
    int mechaniteHelmetID;
    int mechaniteChestID;
    int mechaniteLegsID;
    int mechaniteBootsID;
    
    int vintiumEnergyID;
    int stoneStickID;
    int metalBladeID;
    int copperBladeID;
    int vintiumBladeID;
    int mechaniteBladeID;
    
    // Instance
    
    @Instance("PikadexOres")
    public static PikadexOres instance;
    
    // SidedProxy
    
    @SidedProxy(clientSide="pikadex.oremod.client.ClientProxy", serverSide="pikadex.oremod.CommonProxy")
    public static CommonProxy proxy;
    
    // Configuration
    
    @PreInit
    public void preload(FMLPreInitializationEvent event) {
    Configuration config = new Configuration(event.getSuggestedConfigurationFile());
    
    config.load();
    
    /**
    * Block IDs
    */
    coreOreIDs = config.get("Block IDs", "Core Mod Ore IDs", coreOre.blockID).getInt();
    coreOreBlockIDs = config.get("Block IDs", "Core Mod Ore Block IDs", coreOreBlock.blockID).getInt();
    
    /**
    * Refined Ore IDs
    */
    copperIngotID = config.get("Refined Ore IDs", "Copper Bar ID", copperIngot.itemID).getInt();
    vintiumIngotID = config.get("Refined Ore IDs", "Vintium Bar ID", vintiumIngot.itemID).getInt();
    mechaniteRawID = config.get("Refined Ore IDs", "Raw Mechanite ID", mechaniteRaw.itemID).getInt();
    mechaniteIngotID = config.get("Refined Ore IDs", "Powered Mechanite ID", mechaniteIngot.itemID).getInt();
    ambriteID = config.get("Refined Ore IDs", "Ambrite ID", ambrite.itemID).getInt();
    
    /*
    * Tool and Armor IDs...
    */
    /**
    * Copper Tool IDs
    */
    copperSwordID = config.get("Copper Tool IDs", "Copper Broadsword ID", 6510).getInt();
    copperPickaxeID = config.get("Copper Tool IDs", "Copper Pickaxe ID", 6511).getInt();
    copperSpadeID = config.get("Copper Tool IDs", "Copper Shovel ID", 6512).getInt();
    copperAxeID = config.get("Copper Tool IDs", "Copper Axe ID", 6513).getInt();
    copperHoeID = config.get("Copper Tool IDs", "Copper Hoe ID", 6514).getInt();
    
    /**
    * Copper Armor IDs
    */
    copperHelmetID = config.get("Copper Armor IDs", "Copper Helmet ID", 6525).getInt();
    copperChestID = config.get("Copper Armor IDs", "Copper Chestplate ID", 6526).getInt();
    copperLegsID = config.get("Copper Armor IDs", "Copper Leggings ID", 6527).getInt();
    copperBootsID = config.get("Copper Armor IDs", "Copper Boots ID", 6528).getInt();
    
    /**
    * Vintium Tool IDs
    */
    vintiumSwordID = config.get("Vintium Tool IDs", "Vintium Soul Snatcher ID", 6515).getInt();
    vintiumPickaxeID = config.get("Vintium Tool IDs", "Vintium Pickaxe ID", 6516).getInt();
    vintiumSpadeID = config.get("Vintium Tool IDs", "Vintium Shovel ID", 6517).getInt();
    vintiumAxeID = config.get("Vintium Tool IDs", "Vintium Axe ID", 6518).getInt();
    vintiumHoeID = config.get("Vintium Tool IDs", "Vintium Hoe ID", 6519).getInt();
    
    /**
    * Vintium Armor IDs
    */
    vintiumHelmetID = config.get("Vintium Armor IDs", "Vintium Helmet ID", 6529).getInt();
    vintiumChestID = config.get("Vintium Armor IDs", "Vintium Chestplate ID", 6530).getInt();
    vintiumLegsID = config.get("Vintium Armor IDs", "Vintium Leggings ID", 6531).getInt();
    vintiumBootsID = config.get("Vintium Armor IDs", "Vintium Boots ID", 6532).getInt();
    
    /**
    * Mechanite Tool IDs
    */
    mechaniteSwordID = config.get("Mechanite Tool IDs", "Energized Blade ID", 6520).getInt();
    mechanitePickaxeID = config.get("Mechanite Tool IDs", "Energized Pickaxe ID", 6521).getInt();
    mechaniteSpadeID = config.get("Mechanite Tool IDs", "Energized Shovel ID", 6522).getInt();
    mechaniteAxeID = config.get("Mechanite Tool IDs", "Energized Axe ID", 6523).getInt();
    mechaniteHoeID = config.get("Mechanite Tool IDs", "Energized Hoe ID", 6524).getInt();
    
    /**
    * Mechanite Armor IDs
    */
    mechaniteHelmetID = config.get("Mechanite Armor IDs", "Energized Helmet ID", 6533).getInt();
    mechaniteChestID = config.get("Mechanite Armor IDs", "Energized Plate Mail ID", 6534).getInt();
    mechaniteLegsID = config.get("Mechanite Armor IDs", "Energized Leggings ID", 6535).getInt();
    mechaniteBootsID = config.get("Mechanite Armor IDs", "Energized Boots ID", 6536).getInt();
    
    /**
    * Tool/Weapon Part IDs
    */
    vintiumEnergyID = config.get("Tool/Weapon Part IDs", "Vintium Energy ID", 6508).getInt();
    stoneStickID = config.get("Tool/Weapon Part IDs", "Stone-Reinforced Stick ID", 6509).getInt();
    metalBladeID = config.get("Tool/Weapon Part IDs", "Metal Blade ID", metalBlade.itemID).getInt();
    copperBladeID = config.get("Tool/Weapon Part IDs", "Copper Blade ID", copperBlade.itemID).getInt();
    vintiumBladeID = config.get("Tool/Weapon Part IDs", "Vintium Blade ID", vintiumBlade.itemID).getInt();
    mechaniteBladeID = config.get("Tool/Weapon Part IDs", "Mechanite Blade ID", mechaniteBlade.itemID).getInt();
    
    config.save();
    }
    
    // Call Functions
    
    @Init
    public void load(FMLInitializationEvent event) {
    worldGeneration();
    blockHarvest();
    toolHarvest();
    registerCreativeTabName();
    proxy.registerRenders();
    CoreRecipe.recipe();
    CoreLanguageRegistry.registerNames();
    CoreGameRegistry.register();
    }
    
    @PostInit
    public void postload(FMLPostInitializationEvent event) {
    
    }
    
    // World Generation
    
    public void worldGeneration(){
    GameRegistry.registerWorldGenerator(new WorldGeneratorCoreOres());
    }
    
    // Creative Tab Language Registry
    
    public void registerCreativeTabName() {
    LanguageRegistry.instance().addStringLocalization("itemGroup.tabOre", "Minology: Ores");
    LanguageRegistry.instance().addStringLocalization("itemGroup.tabOreBlock", "Minology: Ore Blocks");
    LanguageRegistry.instance().addStringLocalization("itemGroup.tabMaterials", "Minology: Materials");
    LanguageRegistry.instance().addStringLocalization("itemGroup.tabTools", "Minology: Tools and Combat");
    LanguageRegistry.instance().addStringLocalization("itemGroup.tabMachines", "Minology: Machine Blocks");
    }
    
    // Block Harvest Level
    
    public void blockHarvest() {
    MinecraftForge.setBlockHarvestLevel(coreOre, 0, "pickaxe", 1);
    MinecraftForge.setBlockHarvestLevel(coreOre, 1, "pickaxe", 2);
    MinecraftForge.setBlockHarvestLevel(coreOre, 2, "pickaxe", 3);
    MinecraftForge.setBlockHarvestLevel(coreOre, 3, "pickaxe", 1);
    MinecraftForge.setBlockHarvestLevel(coreOreBlock, "pickaxe", 2);
    }
    
    // Tool Harvest Level
    
    public void toolHarvest(){
    
    }
    }
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED][FORGE][1.5.2]Ore World Generator Problems
    Quote from SenseiKiwi

    I found your bug. Took me a little time but I narrowed it down.

    (new WorldGenMinable(PikadexOres.coreOre.blockID, 0, 32)).generate(world, random, xCoord, yCoord, zCoord);


    In each line where you invoke WorldGenMinable's constructor, you need to fix the version of it that you're using. The 3 parameter version accepts a block ID, the number of blocks to generate, and the block ID to be replaced. Based on your code, I think you believed the parameters were block ID, metadata, and number of blocks to generate. In this case, you generate zero ores.

    Change to the 4 parameter constructor by adding an extra parameter: Block.stone.blockID

    (new WorldGenMinable(PikadexOres.coreOre.blockID, 0, 32, Block.stone.blockID)).generate(world, random, xCoord, yCoord, zCoord);


    That will have the desired effect.


    I was wondering what it meant by target. Thanks!

    Quote from SenseiKiwi

    In the future, if it's not too much trouble, please include all the files required to compile your code. I had to copy classes from another project to replace missing files, or rewrote a few from scratch to match your code. It would make helping you much easier.


    Well, I gave all the code that could have been a problem. I'm not sure why you would need more code. :)

    Anyways, thanks for the help! I'll edit the post so that others who might be having this problem can get a solution. :)
    Posted in: Modification Development
  • To post a comment, please .