gotyaoi Posted August 26, 2012 Author Posted August 26, 2012 It works similarly to cactus, but only for the top of the block, and it deals 1 heart of damage per attack, adding "fuel" to it's internal storage based on the type of mob. It will store the "fuel" if it doesn't have any work to do. Quote
charcharmunro Posted August 26, 2012 Posted August 26, 2012 Is there any maximum capacity on its fuel reserves? I'm asking because if I have an absurd amount of baby chickens going into it, I wanna make sure they aren't being wasted. Quote
gotyaoi Posted August 26, 2012 Author Posted August 26, 2012 Not at the moment. Perhaps in the next release, but if so, I'll add some way to check that. Quote
charcharmunro Posted August 26, 2012 Posted August 26, 2012 You now realise you're gonna have to get some way to upgrade the furnace's speed/capacity using baby animals. Quote
jakj Posted August 26, 2012 Posted August 26, 2012 You now realise you're gonna have to get some way to upgrade the furnace's speed/capacity using baby animals. Probably using baby monsters in 1.3, like the baby zombies, or the ultimate boost, baby zombie testificates. Quote
charcharmunro Posted August 27, 2012 Posted August 27, 2012 How does one actually go about finding these baby monsters, anyway? Besides a baby testificate getting infected, there doesn't appear to be any way to get them to spawn besides modding them in. Quote
Xylord Posted August 27, 2012 Posted August 27, 2012 How does one actually go about finding these baby monsters, anyway? Besides a baby testificate getting infected, there doesn't appear to be any way to get them to spawn besides modding them in. First, find two zombies that really love each other. Gently place a fence around them, and then, let the magic happen. Seriously, I have no idea. But I think the most logic would be that they appear like baby mobs, no? Quote
jakj Posted August 30, 2012 Posted August 30, 2012 Graaaaaaainnssssss Okay, that was -really- cute. You made a man with a sore throat chuckle. Quote
The Merchant of Menace Posted August 30, 2012 Posted August 30, 2012 Graaaaaaainnssssss This. This is the best thing ever. Quote
jakj Posted August 30, 2012 Posted August 30, 2012 Oh, and in the "Oh my god minecraft why do you suck so much" category, I'm rediscovering what the modder of this thread meant when he was talking about the pain of trying to do alpha rendering. The pixel buffer does not have an alpha channel (and why the fuck not, Notch, why) so masking via multiplass blending doesn't work. Trying to use the secondary pixel buffer (normally used for the lightmap) and texture combiners fails because so much state is half-assed assumed throughout the code, that everything -except- the lightmap gets borked, and after all that still manages to completely ignore the existence of the second texture somehow. I am going to beat, hammer, and ASSAULT Minecraft with every tool at my disposal until it bends to my will and does as I say. IT WILL BE MY BITCH. Quote
Peter Griffin Posted August 30, 2012 Posted August 30, 2012 I think this mod is awesome, with some minor bugs its still good. Quote
gotyaoi Posted August 30, 2012 Author Posted August 30, 2012 I think this mod is awesome, with some minor bugs its still good. When you say minor bugs, please let me know what they are, so I can work on fixing them. Quote
Peter Griffin Posted August 30, 2012 Posted August 30, 2012 My friends who complain of minor bugs like complaining of there minecraft is crashing a bit more than usual but they play in t 24/7 so i think its just them. The only other think is when i craft some stained glass i get like two more than i should of and then they disappear back to the right amount and it makes my minecraft a bit laggy for a bit until i place the glass. Quote
jakj Posted September 1, 2012 Posted September 1, 2012 It's been a while since I looked at your code (or even the earlier pages of this thread), but I wonder if this doesn't work, now that I've had a chance to delve into Minecraft graphics programming more. If you were to create a texture file that uses partial transparency by alpha, and then do this... GL11 . glEnable ( GL11 . GL_BLEND ) ; GL11 . glBlendFunc ( GL11 . GL_SRC_ALPHA , GL11 . GL_ONE_MINUS_SRC_ALPHA ) ; /* render quads */ GL11 . glDisable ( GL11 . GL_BLEND ) ; ...would it not work? I was able to (accidentally, but hey) achieve a partially-transparent blue block in my hand via IItemRenderer, and I don't see why it wouldn't work in renderWorldBlock or a TileEntitySpecialRenderer, because it operates directly onto the framebuffer using the source's alpha, and is not hindered by the lack of alpha bitplanes in the destination buffer nor does it require being done on a special alpha pass. It would even work to layer multiple transparent quads on top of each other. So, in theory, you should be able to remove the base-class modification, and just let back-face culling take care of it, for both the glass blocks and glass panes. Yes, no, maybe so? Quote
gotyaoi Posted September 1, 2012 Author Posted September 1, 2012 Well, computer graphics aren't exactly my specialty, and I won't be able to work on it today, but I'll give it a shot. @Peter Griffin, if you're getting the multiple item errors in server play, I think that should be fixed in the next release. Quote
jakj Posted September 1, 2012 Posted September 1, 2012 I think it should work. By the way, I just figured out how to make and use GLSL shaders in Minecraft. \o/ They're sweet. I made one that can take image A as a mask (using only the alpha values) and apply arbitrary subimage of image B as the texture being masked. Between you and me, Minecraft graphical-flexibility is taking a gigantic leap forward. Quote
gotyaoi Posted September 2, 2012 Author Posted September 2, 2012 Hmm, had a chance to give it a try this evening after all. unfortunately, adding it to my custom renderer not only made my blocks completely opaque, but did the same for all other alpha rendered blocks. Very strange. I looked up a little bit on openGL, and apparently when using that technique, it's important to be able to control the order that things render in, so maybe that's what's messing up? Edit: Did a little more testing, and it appears that it only causes every other transparent block to go opaque if it's set to the alpha render pass. If I set it to the normal pass, my block is still opaque, but everything else is fine. *shrug* I'll keep playing around with it perhaps. Edit2: There is also the possibility that this is related to my graphics card, as I'm under the impression that that has a lot to do with how well openGL stuff works, and mine isn't exactly the newest. Edit3: Ok, new discovery, apparently the thing that was causing everything to be opaque was disabling blending at the end of my function. Blending appears to be enabled and disable at other parts of the code, so I was doing something it didn't expect. Edit4: So, if the only openGL things I do in my render function is enable blending and set the blend function near the beginning, then you can see my panes through each other, but you can see nothing else besides the horizon. Quote
jakj Posted September 2, 2012 Posted September 2, 2012 Well, that is something I hadn't considered: Because there are no alpha bitplanes in the rendering context, after the blending occurs during your draw call, the alpha bits are discarded, so anything drawn after you that is further on the depth plane will get culled. Hmm. It would work if you could guarantee somehow that you are the last thing to be drawn. Notch really did everything ass-backward, didn't he. I created an item-rendering function that allows me to specify a shape once and use it for all modes, instead of having to re-design the shape three times, and these are the lengths to which I had to go: @Override public void renderItem ( ItemRenderType Type , ItemStack Item , Object ... Arguments ) { GL11 . glPushMatrix ( ) ; RenderUtil . EnableTransparency ( ) ; if ( Type == ItemRenderType . INVENTORY ) { GL11 . glScaled ( 16 , 16 , 1 ) ; GL11 . glDisable ( GL11 . GL_LIGHTING ) ; GL11 . glFrontFace ( GL11 . GL_CW ) ; GL11 . glMatrixMode ( GL11 . GL_TEXTURE ) ; GL11 . glPushMatrix ( ) ; GL11 . glScaled ( 1 , -1 , 1 ) ; GL11 . glTranslated ( 0 , 1 , 0 ) ; GL11 . glMatrixMode ( GL11 . GL_MODELVIEW ) ; Render ( Tessellator . instance , Item ) ; GL11 . glMatrixMode ( GL11 . GL_TEXTURE ) ; GL11 . glPopMatrix ( ) ; GL11 . glMatrixMode ( GL11 . GL_MODELVIEW ) ; GL11 . glFrontFace ( GL11 . GL_CCW ) ; GL11 . glEnable ( GL11 . GL_LIGHTING ) ; } else if ( Type == ItemRenderType . ENTITY ) { GL11 . glRotatef ( 180 - RenderManager . instance . playerViewY , 0 , 1 , 0 ) ; GL11 . glTranslated ( -0.5 , -0.25 , 0 ) ; Render ( Tessellator . instance , Item ) ; } else if ( Type == ItemRenderType . EQUIPPED ) { GL11 . glFrontFace ( GL11 . GL_CW ) ; GL11 . glMatrixMode ( GL11 . GL_TEXTURE ) ; GL11 . glPushMatrix ( ) ; GL11 . glScaled ( -1 , 1 , 1 ) ; GL11 . glTranslated ( 1 , 0 , 0 ) ; GL11 . glMatrixMode ( GL11 . GL_MODELVIEW ) ; Render ( Tessellator . instance , Item ) ; GL11 . glMatrixMode ( GL11 . GL_TEXTURE ) ; GL11 . glPopMatrix ( ) ; GL11 . glMatrixMode ( GL11 . GL_MODELVIEW ) ; GL11 . glFrontFace ( GL11 . GL_CCW ) ; } RenderUtil . DisableTransparency ( ) ; GL11 . glPopMatrix ( ) ; } No wonder the big modders want to get paid for this stuff. :P Quote
Popcorn Posted September 13, 2012 Posted September 13, 2012 Ooooh tented windows would be pretty G! I like it man. I hope you can get the glass panes working though. Quote
gotyaoi Posted September 16, 2012 Author Posted September 16, 2012 Ooooh tented windows would be pretty G! I like it man. I hope you can get the glass panes working though. I'm not sure how many of this threads pages your read, but I did get the panes working. On a release note, I'll post something up as soon as I get some textures for the new block. Here's a little changelog in advance, in case anyone has any suggestions. The Glass Furnace now requires both a lava source block next to it and ground up animals to work. I can hold a maximum of 100 units of ground up animals. You can upgrade the Glass Furnace to the Sated Glass Furnace by completely filling it's internal buffer of ground up animals and putting 5 lava source blocks next to it, then feeding it one more baby animal. The Sated Glass Furnace has double the ground up animal capacity, each thing it eats provides double value and it makes stained glass twice as fast. Still only three block IDs! The Glass furnace now uses metadata to track facing, on/off state and whether it's upgraded or not. 4 directions X 2 states X 2 blocks = all the metadata, but it works. Quote
charcharmunro Posted September 16, 2012 Posted September 16, 2012 Might I suggest you make baby chickens worth less than other baby animals, because it's easier to set up a system to make that all happen forever? Quote
jakj Posted September 16, 2012 Posted September 16, 2012 Using the metadata that way is smart. Technically, any mod anywhere could be collapsed to a single block ID by reading/writing NBT, but that gets expensive very quickly. (Not that some mods don't do it that way already. I have to assume the Ender Storage mod does that in the title entity, since it has way more than 16 combinations of colours for the top, and I'd expect Mystcraft does it too, reading the name of the book out of the ItemStack's NBT.) Since expanded-IDs is baked into 1.3+Forge now, I'd recommend just sticking to what the 4 bits in the block metadata and the 31 bits in the itemstack damage can handle, for efficiency's sake. (In summary: You're awesome, so keep it up. ) Quote
elmarko98 Posted September 22, 2012 Posted September 22, 2012 How about one-way glass? Or is that really hard to do? Because there'd be nothing better that to stare at people through a window without them being able to see you. :D Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.