Jump to content

Muramasa

Members
  • Posts

    19
  • Joined

  • Last visited

Everything posted by Muramasa

  1. So I may of been too quick to class this as solved. It seems my initial strategy of rotating the matrix in 90 degree increments worsened the problem, but the issue still exists. It only happens on models that have more than one quad (and uv) per face
  2. I have solved the issue. It seems there was some weirdness when transforming the matrix in 90 degree increments. Passing a TransformationMatrix with hardcoded vector rotations did not produce incorrect UVs. I guess it was my fault? I'm not sure.. I don't know if multiplying a matrix rotation in 90 degree increments is incorrect or not. Thank you everyone for your help
  3. Here is my model class DynamicModel is just a integer configuration map (dependant on connection state) to baked model that is returned in DynamicBakedModel. When baking the model states, I pass a direction array, which multiples a transform matrix in 90 degree increments.
  4. I really appreciate the detailed response, but I can't go down the vanilla multipart route as I also need to implement covers, side culling and user disable-able connections. I feel like this is way too much to hold in a blockstate. Maybe I could use the vanilla rotations tho However this still highlights the issue that rotating UVs in code seems to be broken, unless I'm doing something wrong, but I don't know what that could be.
  5. I am trying to implement pipes. I have a model for every unique "shape", and when baking each of those shapes, I'm adding every rotation combination needed to a master map to return in my baked model. Even just rotation some shapes by 90 degrees messes with the UVs totally.
  6. So I'm having trouble baking a model with a rotation matrix. I am trying to create an IModelTransform given an array of Direction as shown here: https://pastebin.com/MjzAHeK9 However while the vertex data seems to be correctly rotated, the uvs are all wrong. I'm really not sure what I could be doing wrong as shown here: https://i.imgur.com/z6dcXBb.png
  7. I'm going to assume you're talking about "specific Tiles" that you're adding. You may be interested in implementing IFluidHandler rather than IFluidTank, because the handler is what pipes connect to, and the handler methods include ForgeDirection arguments, so you know which side of the block is being drained from, so you can check the TileEntity on that side. If I understand the bit with BC wooden pipes correctly, you're worried that one could use a plasma-compatible pipe as an intermediate, which you don't want. To solve this, just add the same logic you'd have in the machine to your plasma-compatible pipes. Hope this helps. Yeah sorry, I should of been a little more specific. I didn't know the drain method in IFluidHandler has a direction parameter, so thanks a lot for pointing that out. That will most likely solve the problem. The only thing I'll have to look into though is how this effect the machines in GT, but I'll mark this as solved for the moment until I get around to testing it.
  8. Hi there, I'm working on GregTech 5 Unofficial and I want to implement the mechanics that only specific Tiles (That implement IFluidTank) can only store Plasmas. I can stop these tiles from filling with fluid, as I don't need to know what tile is trying to transfer fluid to the machine, but not for drain. Is there a way to get the Tile trying to drain fluid from a tank? I suppose I could check the blocks around the machine, but someone could just place a plasma-compatible pipe next to the machine and drain from a BC wooden pipe. Thanks for looking, Mura.
  9. To re-create this mod: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1289639-v1-4-optileaves-faster-leaves-rendering-looks This disabled side rendering (or at least I assume that's what it does anyway) by modifying the minecraft jar. Apparently it has a pretty good fps increase. Of course I'm using 1.8.8 and there has already been a lot of performance changes and it's possibly redundant now.. but I thought I'd try it out.
  10. Hey guys, It was a quick question about how I would disable side rendering for a specific Vanilla block (Leaves in this case). Would I be required to use ASM? Thanks.
  11. Awesome, thanks so much dude! I'd of probably ended up trying to just cancel the event.. so thanks!
  12. Oh, I'm currently using that to render a new bar. Is it the same method for vanilla icons? bind the texture and then use drawTexturedModalRect? I wasn't sure if that would stop the vanilla icons from rendering after I rendered them (Hence the post).
  13. As title says, Is there a way to shift the position of the GUI Icons (The elements above the hot bar)? Thanks.
  14. Thanks man, that fixed it! Yeah I probably should of know to do that, but I really haven't looked in to lwjgl what so ever.
  15. So here is the problem: When I'm rendering my image using the element type "Experience" (or in this case armor) it seems to do funky things to the vanilla elements. My texture renders fine if I use the element type text but flickers now and again. I have a feeling this is a simple fix, but I really couldn't find anything on google. Thanks
  16. Thanks very much good sir! And for future googlers: ResourceLocation r = new ResourceLocation("maya:textures/gui/socket16.png"); mc.renderEngine.bindTexture(r); GL11.glPushMatrix(); GL11.glScalef(0.5F, 0.5F, 0.5F); drawTexturedModalRect(0, 0, 0, 0, 256, 256); GL11.glPopMatrix();
  17. So I am drawing a texture to the HUD but when I try and change the scale via GL11.glScalef is effects all other elements(obviously so). Is there something I'm missing or a better way to do this? My current code: ResourceLocation r = new ResourceLocation("maya:textures/gui/socket16.png"); mc.renderEngine.bindTexture(r); GL11.glScalef(0.5F, 0.5F, 0.5F); drawTexturedModalRect(0, 0, 0, 0, 256, 256); Note: the sizes are 256 because is doesn't get cut off.. not sure why that is. Thanks!
  18. Ah thanks very much for that! For anybody that wants the same thing, I had to use getLocalizedName().
  19. I am quite new to forge and I can't seem to figure out how to get the display name for a block when it's placed in the world. My current code: @SubscribeEvent public void onBlockHighlight(DrawBlockHighlightEvent event){ EntityPlayer p = event.player; World w = p.worldObj; String name = w.getBlock(event.target.blockX, event.target.blockY, event.target.blockZ).getUnlocalizedName(); } I am currently getting the unlocalized name, but is there some way to get the block display name from this? maybe the lang files? Thanks.
×
×
  • Create New...

Important Information

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