Jump to content

Naruto1310

Members
  • Posts

    12
  • Joined

  • Last visited

Everything posted by Naruto1310

  1. If there is a event for rendering entities it is probably cleaner to do it that way, although it won't give me the control I have now and I'll have to copy + paste some vanilla code. Maybe I just haven't found it, but I don't know a clean way to replace vanilla block completely. Using reflection you could replace the reference in the Blocks class, but at that point it's already been registered all over the place. Anyway, I can understand that you say coremods are for advanced modders only and they have to figure things out themselves. I'll look into that. But actively making coremods painful, just for the sake of them being painful seems kind of pointless to me. Why have them, if you don't want anybody to use them? Maybe it's my fault that I use them. Maybe I could do these things without them, but some things really cannot be done without them and I think they are a great way to give lots of power to modders, without having them edit base classes directly. You already made access transformers available to non-coremods. Maybe you could to the same thing with ASM transformers. And yes, I think I am important enough to insert a tiny call into a base class. I'm not sure if I'm important enough to replace a vanilla block entirely.
  2. One example would be, that I allow most mobs to wear armor. The code for applying armor and calculating its effects is already there for all mobs, so I just have to make it render correctly. So at the end of each render method I insert a call to my own method, that renders the armor. Another example would be that I allow the spawner to be deactivated using redstone. So at the beginning of its update method I check if the block is getting powered and cancel the rest of the method if necessary.
  3. Some features of my mod require me to insert some calls into base classes. As far as I know, the only way to do this is to use a coremod (IFMLLoadingPlugin) and an ASM transformer, right?
  4. I looked the both versions using a decompiler and the lines where the same. I just realized that the bytecode actually demands the field to have a specific type, so that explains that. How do I prevent this from happening? I need to have an ASM transformer to insert some of my code into base classes. How can I then run your transformers?
  5. A user of my mod recently reported a strange crash. It goes against anything I thought I know about Java and I have no idea how this can happen. The 1.7.2 version of my mod uses a coremod with a MCVersion annotation, so it only works with 1.7.2. For the 1.7.10 version I removed that annotation, so it should work 1.7.2 and 1.7.10. The user is now using that 1.7.10 version for MC 1.7.2, but this causes the following crash: http://pastebin.com/HsRXtQ0w Here the interesting part: [10:43:52] [Client thread/ERROR] [FML/]: Caught exception from CraftableAnimals java.lang.NoSuchFieldError: field_150354_m at naruto1310.craftableAnimals.vanilla.mod_CraftableAnimals.initRecipes(mod_CraftableAnimals.java:387) ~[mod_CraftableAnimals.class:?] The line mentioned here uses the field Blocks.sand which gets obfuscated to Blocks.field_150354_m. The strange thing about it is, that this line is identical for the 1.7.2 and 1.7.10 versions of my mod. The 1.7.2 version works for MC 1.7.2, but the 1.7.10 version does not. I don't see any reason why the game should crash at this point. Link to my mod: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1278508-craftable-animals-v2-4-2-2-mocreature-extension-v1
  6. Is it possible to use mods from other people (that are only available in compiled + obfuscated from) in a development environment, e.g. to create extensions for them? In earlier Forge versions you could just place them in the mods folder and it worked but now the obfuscation breaks this method. Maybe there could a gradle command to deobfuscate a mod or to include it in the deobfuscation process when you set up the workspace. If it is not possible, are there any plans for the future that will make something like this possible? And how do I best publish the source of my own mods, to make it easy for people to use it?
  7. Sorry. Edited it so should be easier to understand.
  8. Call setContainerItem(Item) on your item. yourItem.setContainerItem(whatYouGetBack); like milkBucket.setContainerItem(emptyBucket);
  9. Thanks. I think a solved this now. Anyone else having this problem, create the folder <mcp>/forge/accesstransformers and move the cfg files there. Then run the install script.
  10. Ok, but when I have a core mod in my mcp installation, how do i recompile it?
  11. I saw AccessTransformers in some Forge mods. But I don't get them working myself. I created a "mod_at.cfg" file like the forge files and an AccessTransformer like net.minecraftforge.transformers.ForgeAccessTransformer. Now I can't find any way to register it. Do I need a IFMLLoadingPlugin? Even if I manage to register it, there are some more problems. How can I ignore these specific errors (not all errors) in Eclipse? And how do I recompile my mod with these errors?
×
×
  • Create New...

Important Information

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