Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

sci4me

Members
  • Joined

  • Last visited

Everything posted by sci4me

  1. sci4me replied to sci4me's topic in Modder Support
    anyone? i mean.. do i really have to spend hours upon hours just to get a texture? thats how it looks to me...
  2. sci4me replied to sci4me's topic in Modder Support
    that tutorial already has the uv's done and ready to export... how do i make the uv's? also, what export options do i want to use for the .obj file?
  3. sci4me replied to sci4me's topic in Modder Support
    I have been looking around but have had no success. Isn't there a way to generate a template texture from an object file somehow???
  4. sci4me posted a topic in Modder Support
    Hey guys. So I just got done with my model in blender. I want to just use the materials I applied to it in blender as my textures. Or, if its easy to make textures based on the model, I can do that too. I am just wondering, either, how would I use the .mtl materials file to do the textures OR how can I make a texture sheet for the model ? Im not going to make it manually-my model is complex... Please reply asap! Thanks!
  5. FML has code that deals with libs but idk if i can use it. ILibrarySet and IFMLLoadingPlugin... idk. anyone?
  6. but how will it work in the actual game? once the mods compiled...? also, the library im using has natives.... so.. yh raspberry pi = forgemod =
  7. Hey guys, so my mod REQUIRES a specific library .. and I was wondering.. how would I set it up to use the library? Would I HAVE to put the libraries source into my code? Or would I put the library jars into a folder?
  8. I also have this issue. Really want irc... so useful...
  9. sci4me posted a topic in Modder Support
    Hey guys. So If I want to make a completely new world type with my own world generation and all that, what classes do I have to make and where do I need to register them?
  10. yeah. but as far as updating things.. like .. when i have a single bluestone and i place a torch and then break it, the bluestone stays on until i update it again...
  11. Ok well i have been working on it and i almost have it working EXCEPT for a few small things. redstone does look like it connects to bluestone but it doesnt actually connect. it just renders taht way. that probably isnt fixable. the main issue now, is that the wires arent updating properly... and i have no idea why... but i think i can get it by myself now.
  12. Hey guys. So I just got done with adding more *insert color here* stone wires, and the work... except they all connect to redstone wires... and i cant figure out how to make them not connect to redstone... nothing is working. If you can help, please reply. thx
  13. well... if anyone can help, PELASE do ...
  14. ... uh... well... so... can u help still?
  15. .. all i want is an upside down hopper lol... why cant glRotate work? would be a 1 or 2 line thing if glRotate worked for this...
  16. hmm.. all it did was make the inside of the hopper look like pink wool..... uhm... i did something wrong?!?! edit: renderer.renderStandardBlock is being called...
  17. ok fair enough, but first of all.. texture V ?? there are things like setRenderBounds, setOverrideBlockTexture, setNormal, renderBottomFace, draw, startDrawingQuads, etc... so .. here, ill post the code package mods.UpwardsHopper; import org.lwjgl.opengl.GL11; import net.minecraft.block.Block; import net.minecraft.block.BlockHopper; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.Icon; import net.minecraft.world.IBlockAccess; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; public class RenderUpwardsHopper implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { if(block instanceof BlockUpwardsHopper) { return renderBlockHopper(Block.hopperBlock, x, y, z, world, renderer); } return false; } @Override public boolean shouldRender3DInInventory() { return false; } @Override public int getRenderId() { return UpwardsHopper.instance.hopperRenderID; } public boolean renderBlockHopper(BlockHopper par1BlockHopper, int par2, int par3, int par4, IBlockAccess blockAccess, RenderBlocks renderer) { Tessellator tessellator = Tessellator.instance; tessellator.setBrightness(par1BlockHopper.getMixedBrightnessForBlock(blockAccess, par2, par3, par4)); float f = 1.0F; int l = par1BlockHopper.colorMultiplier(blockAccess, par2, par3, par4); float f1 = (float) (l >> 16 & 255) / 255.0F; float f2 = (float) (l >> 8 & 255) / 255.0F; float f3 = (float) (l & 255) / 255.0F; if(EntityRenderer.anaglyphEnable) { float f4 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; float f6 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; f1 = f4; f2 = f5; f3 = f6; } tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); return renderBlockHopperMetadata(par1BlockHopper, par2, par3, par4, blockAccess.getBlockMetadata(par2, par3, par4), false, renderer); } public boolean renderBlockHopperMetadata(BlockHopper par1BlockHopper, int par2, int par3, int par4, int par5, boolean par6, RenderBlocks renderer) { Tessellator tessellator = Tessellator.instance; int i1 = BlockHopper.func_94451_c(par5); double d0 = 0.625D; renderer.setRenderBounds(0.0D, d0, 0.0D, 1.0D, 1.0D, 1.0D); if(par6) { tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderer.renderBottomFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(par1BlockHopper, 0, par5)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderer.renderTopFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(par1BlockHopper, 1, par5)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderer.renderEastFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(par1BlockHopper, 2, par5)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderer.renderWestFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(par1BlockHopper, 3, par5)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderer.renderNorthFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(par1BlockHopper, 4, par5)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderer.renderSouthFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(par1BlockHopper, 5, par5)); tessellator.draw(); } else { renderer.renderStandardBlock(par1BlockHopper, par2, par3, par4); } float f; if(!par6) { tessellator.setBrightness(par1BlockHopper.getMixedBrightnessForBlock(renderer.blockAccess, par2, par3, par4)); float f1 = 1.0F; int j1 = par1BlockHopper.colorMultiplier(renderer.blockAccess, par2, par3, par4); f = (float) (j1 >> 16 & 255) / 255.0F; float f2 = (float) (j1 >> 8 & 255) / 255.0F; float f3 = (float) (j1 & 255) / 255.0F; if(EntityRenderer.anaglyphEnable) { float f4 = (f * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; float f5 = (f * 30.0F + f2 * 70.0F) / 100.0F; float f6 = (f * 30.0F + f3 * 70.0F) / 100.0F; f = f4; f2 = f5; f3 = f6; } tessellator.setColorOpaque_F(f1 * f, f1 * f2, f1 * f3); } Icon icon = BlockHopper.func_94453_b("hopper"); Icon icon1 = BlockHopper.func_94453_b("hopper_inside"); f = 0.125F; if(par6) { tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderer.renderSouthFace(par1BlockHopper, (double) (-1.0F + f), 0.0D, 0.0D, icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderer.renderNorthFace(par1BlockHopper, (double) (1.0F - f), 0.0D, 0.0D, icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderer.renderWestFace(par1BlockHopper, 0.0D, 0.0D, (double) (-1.0F + f), icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderer.renderEastFace(par1BlockHopper, 0.0D, 0.0D, (double) (1.0F - f), icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderer.renderTopFace(par1BlockHopper, 0.0D, -1.0D + d0, 0.0D, icon1); tessellator.draw(); } else { renderer.renderSouthFace(par1BlockHopper, (double) ((float) par2 - 1.0F + f), (double) par3, (double) par4, icon); renderer.renderNorthFace(par1BlockHopper, (double) ((float) par2 + 1.0F - f), (double) par3, (double) par4, icon); renderer.renderWestFace(par1BlockHopper, (double) par2, (double) par3, (double) ((float) par4 - 1.0F + f), icon); renderer.renderEastFace(par1BlockHopper, (double) par2, (double) par3, (double) ((float) par4 + 1.0F - f), icon); renderer.renderTopFace(par1BlockHopper, (double) par2, (double) ((float) par3 - 1.0F) + d0, (double) par4, icon1); } renderer.setOverrideBlockTexture(icon); double d1 = 0.25D; double d2 = 0.25D; renderer.setRenderBounds(d1, d2, d1, 1.0D - d1, d0 - 0.002D, 1.0D - d1); if(par6) { tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderer.renderSouthFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderer.renderNorthFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderer.renderWestFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderer.renderEastFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderer.renderTopFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, icon); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderer.renderBottomFace(par1BlockHopper, 0.0D, 0.0D, 0.0D, icon); tessellator.draw(); } else { renderer.renderStandardBlock(par1BlockHopper, par2, par3, par4); } if(!par6) { double d3 = 0.375D; double d4 = 0.25D; renderer.setOverrideBlockTexture(icon); if(i1 == 0) { renderer.setRenderBounds(d3, 0.0D, d3, 1.0D - d3, 0.25D, 1.0D - d3); renderer.renderStandardBlock(par1BlockHopper, par2, par3, par4); } if(i1 == 2) { renderer.setRenderBounds(d3, d2, 0.0D, 1.0D - d3, d2 + d4, d1); renderer.renderStandardBlock(par1BlockHopper, par2, par3, par4); } if(i1 == 3) { renderer.setRenderBounds(d3, d2, 1.0D - d1, 1.0D - d3, d2 + d4, 1.0D); renderer.renderStandardBlock(par1BlockHopper, par2, par3, par4); } if(i1 == 4) { renderer.setRenderBounds(0.0D, d2, d3, d1, d2 + d4, 1.0D - d3); renderer.renderStandardBlock(par1BlockHopper, par2, par3, par4); } if(i1 == 5) { renderer.setRenderBounds(1.0D - d1, d2, d3, 1.0D, d2 + d4, 1.0D - d3); renderer.renderStandardBlock(par1BlockHopper, par2, par3, par4); } } renderer.clearOverrideBlockTexture(); return true; } } I suppose its not a big deal if its stolen.. probably not an original idea anyway.. meh.
  18. is it not possible to do it .. simpler?
  19. Hey guys. So, I have an ISimpleBlockRenderingHandler that renders a block, and I wasnt to make it render upside down... what would the easiest way to this be? It uses the tesselator and all that and draws all the points so.. idk.. I have tried things like glRotate and all that and nothing seems to work. If anyone knows how to do this, PLEASE let me know! THX!
  20. Hey guys. So I just switch to linux, and I cannot install forge for the life of me! I have tried every thing I could find on google and nothing has worked. When I run the install.sh, it asks to run the cleanup, I say yes and then it just closes out... help?
  21. So.. when I add a second gui handler, it makes the gui's from the first not work.. they just wont open. The reason I want multiple is because my mod is in modules. If not, its not a big deal.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.