Jump to content

MrArcane111

Members
  • Posts

    95
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

MrArcane111's Achievements

Stone Miner

Stone Miner (3/8)

8

Reputation

  1. I was hoping that wasn't the case. *sigh* Darn it. I'll go ahead and post it into the suggestions forum.
  2. Friends, I have run into a bit of an issue. I can negate both the fallDistance (event though it's already 0) and the attackDamage in the EnderTeleportEvent, but my character still takes damage. I did a little bit of investigation and found that the EntityEnderPearl class damages the player without passing the damage through the Event, thus rendering the attackDamage parameter useless. Example: EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, this.posX, this.posY, this.posZ, 5.0F); if (!MinecraftForge.EVENT_BUS.post(event)) { // Don't indent to lower patch size if (this.getThrower().isRiding()) { this.getThrower().mountEntity((Entity)null); } this.getThrower().setPositionAndUpdate(this.posX, this.posY, this.posZ); this.getThrower().fallDistance = 0.0F; this.getThrower().attackEntityFrom(DamageSource.fall, 5.0F); } As you can see, the attack damage is NOT passed through the event. Is this a Forge bug? What can I do to fix this? Thanks for your help! Thanks to diesieben07, this issue has been patched. See the patch here: https://github.com/MinecraftForge/MinecraftForge/pull/1134.
  3. First off, why are you still coding for 1.6.4? Use 1.7.2! Secondly, to render an item: Minecraft mc = Minecraft.getMinecraft(); GL11.glTranslatef(8, 0, 0); float scale = 1.9F; GL11.glScalef(scale, scale, scale); float angle = mc.theWorld.getWorldTime() * 11.6F; GL11.glRotatef(angle, 0 - 0.5F, 0 - 0.5F, 0); if (is != null) { mc.renderEngine.bindTexture(TextureMap.locationItemsTexture); int renderPass = 0; do { IIcon icon = Items.ender_eye.getIcon(item, renderPass); if (icon != null) { float minU = icon.getMinU(); float maxU = icon.getMaxU(); float minV = icon.getMinV(); float maxV = icon.getMaxV(); ItemRenderer.renderItemIn2D(Tessellator.instance, maxU, minV, minU, maxV, icon.getIconWidth(), icon.getIconHeight(), 1.0F / 16.0F); GL11.glColor3f(1.0F, 1.0F, 1.0F); } renderPass++; } while (renderPass < is.getItem().getRenderPasses(is.getItemDamage())); } You will need to adjust the icon and GL scales/translations --I basically just ripped this out of my Ender Glove code. This will render any item that you want with a thickness (default is 0.0625F). As an added bonus, this also rotates said item around various axes --adjust as you see fit. You will have to adjust this method for blocks. Good luck!
  4. Never mind. Problem solved. If anyone's curious: https://github.com/Surseance/EnderGloves/blob/master/src/main/java/endergloves/common/item/ItemEnderGlove.java P.S. The code is a bit messy; will clean it up in a few days. It works perfectly though, so don't complain.
  5. Pretty sure that it is not open-source. Take a look at the CraftingManager to see what you can find in there. Then come back here again with questions.
  6. Look at the way the books work since you can edit those in a similar way you are describing. After that, you could check out the ComputerCraft source.
  7. I think you're best bet is to sit down with a pen and paper (what? are you serious? yes...I'm serious) and outline your thoughts on paper. Is your energy going to be wireless? Is it going to involve actual mechanics (all energy systems are roughly based on physics)? Etc. Once you have done this, you will need to actually read up on real energy to see how it's done: i.e. how much energy dissipates over time/distance, resistances of certain objects, maximum currents/voltages allowed, emf in batteries. Now that it is outlined in paper, and you have a basic understanding of how real energy works, you can begin to start writing your code. I'd suggest using Interfaces instead of coding the methods straight into the Blocks themselves. This will make them more accessible, API-friendly, and most of all: simple. DO NOT MAKE YOUR ENERGY SYSTEM OVERLY COMPLICATED. This will lead to screaming, shouting, and/or a broken computer. Remember to K.I.S.S. when coding these things. Hope this helps!
  8. Howdy, folks. Here's my problem: I created my own method for grabbing a block's drops. public static ItemStack getDroppedItemStack(World world, EntityLivingBase entityLiving, Block block, int x, int y, int z) { ArrayList<ItemStack>drops = block.getDrops(world, x, y, z, world.getBlockMetadata(x, y, z), EnchantmentHelper.getFortuneModifier(entityLiving)); ItemStack is = null; for (int size = 0; size < drops.size(); size++) { is = (ItemStack)drops.get(size); } return is; } The problem is, however, that when I am adding these drops to a given inventory (in an item's onBlockDestroyed method), I am only getting one of the drops. Understandably so because I am only returning ONE instance of an ItemStack, which cannot handle two. So my question is: how DOES one return two ItemStacks for multiple drops (i.e. wheat) of a block? Do I make a second ItemStack to copy? I don't know. Anyway, thanks for the help!
  9. If you are STILL getting errors, trying looking at the three ways to setup a workspace environment: setupCIWorkspace - Sets up the bare minimum to build a minecraft mod. Idea for CI servers setupDecompWorkspace - DevWorkspace + the deobfuscated Minecraft source linked as a source jar. setupDevWorkspace - CIWorkspace + natives and assets to run and test Minecraft Try one of them and see which one works. (I had build failures on one of the three). Make sure to increase the allocated RAM for gradle too.
  10. Use an ISBRH in conjunction with your TESR. Please. Then you can specialize the rendering in the renderInventoryBlock method.
  11. Use this: @Override public TileEntity createNewTileEntity(World var1, int metadata) { return new TileEntityShield(); } Your other TileEntity method isn't getting called because it was removed for a meta-sensitive version. Also, please, please, PLEASE use @Override notations in your code...it'll save so much headache both for us and you. You can automagically tell which method is not getting called by using that notation. *sigh*
  12. Would you like to post your code, or shall we guess what line in which class is being the problem?
  13. Why do people continually NOT deobf their code? It looks awful! Seriously, rename all your values to something more legible.
  14. Really, man? Was Google down? Anyway, here's a tutorial about GUIs: http://www.minecraftforum.net/topic/1412300-147forgeblaueseichoerns-gui-tutorial/ I would also highly suggest reading tutorials about UV texture coordinates in OpenGL too, as GUI building has a lot to do with it. Plus, it'll broaden your knowledge about OpenGL/LWJGL overall.
  15. As for the hitbox, do you mean collision or "mouse over/break" one? They're two different ones.
×
×
  • Create New...

Important Information

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