Jump to content

TheTrueForce

Members
  • Posts

    17
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

TheTrueForce's Achievements

Tree Puncher

Tree Puncher (2/8)

-1

Reputation

  1. OK... So, if I'm reading your post right, I need to add my own ToolMaterials anyway, even if I don't actually use them, or implement recipes for the spears in question. I can do that. It doesn't seem ideal, but it's probably what I have to do if I want to do it the way I've outlined. Given that the recipes are notionally tying swords to the ends of poles right now, I could probably make the recipe use refined materials and a pole instead, making the whole thing rather easier to implement, while still keeping it sensible. If I change the recipes, the player's character could be making the spear properly(well, more properly), rather than hacking/kludging/jury-rigging it together like they are now. Thank you for pushing me in this direction(even if it was indirect, it's still helpful).
  2. If you're on Windows, the .minecraft directory is hidden away in a corner of your user account. To get at it: 1) Open any folder, and click on the address bar. Type in "%appdata%"(no quotes) and press Enter. That will take you to a hidden folder in your user account. 2) Open the Roaming folder, and the .minecraft folder should be in there.
  3. I'm writing a weapon mod called Polearms, and I'm trying to implement compatibility with common modded materials, such as copper. The trouble with that is that my Spear class extends ItemSword, and so requires a ToolMaterial. I don't want to hook into other mods to get that, because doing so could cause my mod to break when those mods update, and I want Polearms to be able to work on those materials regardless of what mods add them. I had made a couple of little addon mods that bolted on to Polearms and hooked into Thermal Foundation and Mekanism to provide compatibility with those mods, but that meant that they only worked with those particular mods. Because my mod calls for a sword in the crafting recipe, it wouldn't work with IC2 copper swords, for example. I'm thinking that I should go about this by detecting the presence of a sword made of a modded material(like copper or tin), and then adding a spear based on that tool material, with a recipe using the appropriate OreDict entry for a sword of that material. I'm having trouble figuring out how to go about implementing this. Does anyone have any pointers/hints/help? Here's the current code in case it's necessary. (It seems to be in most cases): https://github.com/TheTrueForce/Polearms
  4. Oh. That's... counter-intuitive. I was using it as modName:MCVersion:modVersion. That results in a fairly neat directory structure. I also tend to think in terms of 'what mod is this', rather than 'whose mod is this'. That's why I did it that way. It would also have had the effect of keeping the mod versions sorted by minecraft version. This is clearly going to cause stupid problems if I don't change it. Blast. EDIT: Thank you again. I just got a dependency error, so that means it's loading something.
  5. That'd be right. Some of these mods use version schemes that are less than compatible with the Maven system. Botania is one of them. I'll have to rename a few more files, then... I can indeed post those files. The modlist file does not specify every mod in the pack. I got halfway through converting i before I remembered to test it. fml-client-latest.log mod_list.json
  6. That would explain the error... Thank you for your help, Choonster. I changed the filename of my json file, and now it's getting to the point of FML crashing. So It's working more than it was before. In the file itself, are characters like hyphens, spaces and apostrophes permitted in the specifiers? And are you limited to three colons? because I think I may be doing things wrong. For example, I'm doing "Aroma1997s-Dimensional-World:1.9.4:1.2.0.6" in my json, intending it to load repositoryRoot/Aroma1997s-Dimensional-World/1.9.4/1.2.0.6/Aroma1997s-Dimensional-World-1.9.4-1.2.0.6.jar Among others. I'm getting this error [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: java.lang.ArrayIndexOutOfBoundsException: 2 [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.ModListHelper.parseListFile(ModListHelper.java:140) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.ModListHelper.parseModList(ModListHelper.java:75) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:261) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:255) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:102) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:79) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:41) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:138) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [09:59:13] [main/INFO] [STDERR]: [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28) I suspect that this means I've got too many things in one specifier in my json. What do you think? I can post the whole log(it's really short), and the mod list file, if necessary.
  7. I did try that, and it gave me an error. I opened the file in pluma, and then opened the launcher, and it went and reset the file. touchy... Anyway, just appending "--modListFile ./mods/modList.json"(sans quotes, obviously) to the JVM options in the MC launcher gave me this error: Unrecognized option: --modListFile Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. That's why I suspected there was a prefix to that command involved. I think it was something like "-Dfml". I should say that I'm on Linux, which didn't get the fancy new-look launcher. That may make a difference. EDIT: And I was using the wrong Forge version that time. The actual version I was supposed to be using(Forge build 2281) just doesn't start up at all. I suspect that the reset may have gone further than I originally thought... I'll check that, because I'm pretty sure I got an error. EDIT 2: Ok, so I do actually get that error after making sure that it's got everything. And that I don't get it on other things.
  8. I'm trying to adapt a modpack to the modlist json format, mostly because I can, and also because I can double up on a bunch of mods from another pack if I do. I've managed to grok the format of the file itself, but the wiki(https://github.com/MinecraftForge/FML/wiki/New-JSON-Modlist-format) says nothing(that I can see) about where you actually put it. And I seem to recall that it needs some sort of prefix as well. Is anyone able to clarify this?
  9. Actually, if it is OpenDNS blocking Forge downloads, they shouldn't be doing that, as there's nothing pornographic about it. I think you should complain to OpenDNS.
  10. Are you saying that it's going off at files.minecraftforge.net? Or is it when you actually try to download the installer?
  11. Hi, This isn't a bug as such, but it's a niggle that I've finally gotten around to asking about. I am using the new Curse Voice launcher, which can be used to set up modded MC instances, but starts the official MC launcher to actually start the game. Curse Voice installed Forge when I set up the profile. I'm using Forge 1558 for 1.7.10. Whenever I click the "Play" button in the official launcher, it appears to download the Forge jar again. Why does it do this? MC doesn't crash,or anything, it just downloads that file every time I start MC. This strikes me as being wrong, because I've already downloaded Forge. Why should I have to download it again after the first time? That's where I'm coming from. This is my Launcher log from when I load up Minecraft to the title screen and close it immediately:http://pastebin.com/jA1w4fHK EDIT: This also happens with Forge 1577 for MC 1.8.0.
  12. Thank you, all. It now works as intended. I've committed the changes, and I'll mark this as solved.
  13. Jabelar: I am calling my recipe delete code in postInit already, and I've used @Mod to specify that I want my mod to load after TF and CoFH Core. I also have an mcmod.info file, which I suspect may be overriding my @Mod annotation as regards load order. I am adding my own recipes during Init and removing/replacing recipes during postInit. I've followed BedrockMiner's tutorials and sent that to my CommonProxy. JeffryFisher: I have added my own recipes in Init, and tried to remove and replace recipes during postInit. Your comment about further stages is interesting. What are they, and how can I use them? Same way as with the usual three? Choonster: Thanks for that info on IRecipe. I obtained that code from an old thread on this site, so I've reworked that method to incorporate that. As for the MekanismRecipe thing, I'm trying to disable some of those recipes in order to replace them, because I couldn't do that with MineTweaker. Thinking of MekanismRecipes, the altered remover can remove them. It does help that Mekanism adds its recipes during init. Also, I was reading a thread about recipe removal on MC 1.8, and they recommended using an Iterator instead of an index in a for loop. Should I try switching over? I've never used an Iterator before, but I'm willing to have a go.
  14. I'm trying to move most of my MineTweaker scripts into a mod(mostly for the exercise), and that involves removing a number of recipes. I've only tried to move one crafting recipe in so far, and the adding worked. I tried to remove the recipe that it's supposed to be replacing(the Thermal Foundation Silver Gear), but that didn't work. I've tracked the problem down to load order: TF is loading after my mod. My mod is set to load after TF in its @Mod annotation and to require TF in the mcmod.info file, yet it still does postInit after TF. Because TF adds its recipes during its postInit, mine needs to happen after TFs. How can I make this happen? My entire source code can be found here: https://github.com/TheTrueForce/MCLTweaks The problem code is here: https://github.com/TheTrueForce/MCLTweaks/blob/master/src/java/com/trueForce/mclTweaks/Crafting.java#L28 Also, the code I'm using to remove the recipe(the removeMCrecipe() method) was designed for MC 1.3.2. Is it still valid? EDIT: I'm stumped on how to remove/replace a Mekanism Shaped crafting recipe. Does anyone know how to do this?
  15. Thanks, Ovikk, for pointing me to the breakpoints, and for that snippet of code. It turns out that the methods were being called, but my loop condition was faulty and then the code NPE'd at a null ItemStack, so I put in a skipper. This is the working code: @Override public void readFromNBT(NBTTagCompound nbt) { //System.out.println("Beginning Load"); this.inventory = new ItemStack[4]; NBTTagList invTags = nbt.getTagList("inventory", NBT.TAG_COMPOUND); NBTTagCompound swapTag = new NBTTagCompound(); byte slotNum = 0; for (byte i = 0; i <= 3; i++) { swapTag = invTags.getCompoundTagAt(i); slotNum = swapTag.getByte("slot"); if (slotNum >=0 && slotNum <= 3); inventory[slotNum] = ItemStack.loadItemStackFromNBT(swapTag); //System.out.println("loaded slot " + slotNum + " : " + swapTag); } this.Storage.readFromNBT(nbt); super.readFromNBT(nbt); } @Override public void writeToNBT(NBTTagCompound nbt) { //System.out.println("Beginning Save"); NBTTagList invTags = new NBTTagList(); NBTTagCompound swapTag = new NBTTagCompound(); boolean check = false; for (byte i=0; i <= 3; i++) { swapTag = new NBTTagCompound(); swapTag.setByte("slot", i); check = (inventory[i] != null); if (check) { inventory[i].writeToNBT(swapTag); } invTags.appendTag(swapTag); //System.out.println("saved slot " + i + " : " + swapTag); } Storage.writeToNBT(nbt); nbt.setTag("inventory", invTags); super.writeToNBT(nbt); } Thanks for your help. Now I need to make it actually process stuff, now that there's a point to doing so.
×
×
  • Create New...

Important Information

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