Jump to content

Elix_x

Members
  • Posts

    878
  • Joined

  • Last visited

Everything posted by Elix_x

  1. In your GuiHandler, you are getting block state and trying to compare it to block. Either get block from state, or compare to default state of block.
  2. Ok, so i met a few problems: -There's very many methods in ISmartItemModel that i don't know what to do with. For now, i just left them empty or return null. -To get IModel , i need ResourceLocation. To get ResourceLocation from ItemStack , i need ItemStack , EntityPlayer and int . Where do i get player and useRemaining ? Also i noticed in ModelLoader , that if ResourceLocation is instance of ModelResourceLocation , it will use vanilla loader. And that's the only thing i can return in Item.getModel . I was alos thinking about encoding player UUID and use remaining in to resource path of ResourceLocation , to decode them back in my ISmartItemModel . Is this the only way to go? One last thing, should i in my ISmartItemModel also implement IModel ? Because it apparently is not IModel already, and i can't return it in ICustomModelLoader . EDIT: One more thing, ISmartItemModel requires me to return IBakedModel , but MultiModel isn't IBakedModel , and to bake it, it requires a lot of things i don't know where to get from. Yes, i know that's a lot of questions and that i'm a noob in new models system.
  3. Second argument is a render pass. In 1.7.10 items can have multiple passes (layers). For that, you have to override requiresMultipleRenderPasses and getRenderPassesCount (or something like that, forgot exact name). Then, in getIcon , use one with integer parameter, corresponding to pass/layer. Return icon based on that layer. And you already know what to do in getColorFromItemStack .
  4. It loads data from conf, which as i said, does not exist in unpacked anymore.
  5. You look into the csv files or you use the MCPBot. Ok. Thank you. Also, does this mean, that this is now depreceated?
  6. genPatches compares the code in Clean project to the one in the Forge project and generates the patch files for the differences. Oh really???????? :o :o Wait, are you writing patches by hand? Yes. Seriously, yes. I was writing them by hand. ~/.gradle/caches/minecraft/de/oceanlabs/mcp contains all MCP mappings versions you have downloaded. Thanks. But how do i get corresponing names to deobf?
  7. Interesting: http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200203.mbox/%3CD054B0637615D611967000D0B78059CB025500@IBM3000%3E
  8. First, in WorldGenFeature , you can use Arrays.contains(int[], int) or ArrayUtils.contains(int[], int) to check if it should generate. Try to track all five of your ore features, and make sure that for each chunk, each gets called and executed.
  9. Good day. I have 2 questions to you: -When contributing to forge, and changing patches, after running gradle genPatches , where are patches applied? Because i don't see mine being applied, and there are no errors in console. -Where is conf folder now? Or how can we find srg names. Because in latest 1.8.9. there's no more unpacked folder in gradle/caches. Srgs are not noly useful for patches, but also reflection of mc names. Right now i rely on 1.7.10 srgs, but it's not valid for new fields and methods. Sorry, if any of questions should go to another forum. Thanks for help! If you have any questions - just ask!
  10. So considering, that my item holds other items that can be changed, in NBT, is should do all MultiModel stuff and wrap it in ISmartItemModel ? Ok. Thanks. I'll try.
  11. Thanks. I just don't get one part: will it create one combined model for all item stacks, or will it create new combined model for each item stack that it has to render?
  12. Any ideas on how could i use ISmartItemModel for this? Or anything else?
  13. Probably. I know that it exists, but not how to use it.
  14. When using TESR, there are 3 methods to override in block class: @Override public boolean isOpaqueCube(){ return false; } @Override public boolean renderAsNormalBlock(){ return false; } @Override public int getRenderType(){ return -1; }
  15. Good day everybody. I would like to render items inside item. Here's picture of what i mean: That is 1 item, that has ItemStack[] stored in nbt, from where each item is rendered, offseted from previous one. In 1.7.10, i have done this using IItemRenderer : https://gist.github.com/elix-x/8a0f8ac9f61fea0830a6 In 1.8, IItemRenderer is no more, and i don't know how i can do this. I know there's ISmartItemModel and other classes, but i'm new to this part of 1.8.9, so i don't know where to begin. I would like to completely support all kind of items. Enchanted, and even (hopefully) blocks rendered with TESR. How can i do this in 1.8.9? Thanks for help! If you have any questions - just ask!
  16. Create new item class that extends ItemBlock. When registering you block, use method with Class<? extends ItemBlock> , and pass YourItemBlock.class . I your item block class, you can override canBePlacedInArmorSlot or something like that, use your IDE to find method to override, but there's one.
  17. Well, this is interesting: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-tools/2478389-block-models-animated-minecraft-model-generator
  18. I had the same reaction.
  19. No. There's native json animation. Here's vanilla command block thing where it's used:
  20. You will have to create cstom explosion class, and handle explosions yourself. BTW, for easy max radius increase, there's a private double field in Explosion , obfuscated if i remember correctly, has it's value set to 16. I think that it's this field's value that you will want to change.
  21. I totally agree with that. Even if i managed to do this in 1.7.10 (with a lot of ASM), i don't want to look at 1.8.9 yet, as all rendering changed and i'll have to write all this from scratch. And it's sometimes not even working. @paradoxbomb In short, it depends on which blocks you want to target. More you are targetting, harder it will be. Simpliest solution here is, as said above, using tile entity and your own block to mimic another block, and recolor it. Just save old block state and color in your te, and use TESR to render a block with tint. Hint: you can recolor block, by using GL11.glColor before rendering it. Also, remember to push and pop matrixes! Hardest solution is one that supports blocks with tile entities and... it's very hard. It requires a lot of ASM. So, my advice, don't even try it, if you have never worked with ASM before.
  22. Only names of fields and methods should be translated. And into srg names, not obf ones. I also ran into the same issue few days ago, with user written java scripts on run time obfuscation. And i haven't found any answers. I was ready to ask here... But you were faster than me ...
  23. example for setBlock: The method setBlock(BlockPos, Block) is undefined for the type World So this does not seem to work. And then there are still some things with no xyz coords. Are you sure that you are using vanilla BlockPos ? Because some mods had their own class in 1.7.10, and iа using it, it will not work.
  24. [What Choonster said] + Are you sure you registered your event handler on correct bus? PS: Some events fire on different busses then default bus.
×
×
  • Create New...

Important Information

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