Jump to content

jakj

Members
  • Posts

    3240
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by jakj

  1. Well, the author of Mine&Blade:Battlegear announced that he's quitting because 1.3 screwed up the way he does his mod. I personally think that mod just needs a fresh perspective to see a better way to write it to make it work in the new paradigm. Last I checked, the guy was being a dick and not releasing his source upon quitting modding, though it's been a while so that may have changed. (I haven't checked.) That'd be more your intermediate project, though, not one to start on. Keep it in mind for the future, though. A good starting point might be altering other mods via reflection, such as adding new weapon types (like a diamond-reinforced blunderbuss) to Balkon's weapon mod. There's a very handy EnumHelper class in the newest Forge.
  2. American accents (even non-standard ones) don't get as much traction on YouTube.
  3. I'm disappointed: I expected a review of Moogles in love. Like a 9-12 crossover.
  4. Congratulations on falling to the fallacy that people like only one game at a time.
  5. They haven't stopped.
  6. Simon is a lot smarter than he acts (because acting dumb gets more views, really). Every once in a while, he'll just whip out terms that even I, after having gone to university and reading plenty of books in my time, have never heard. Like "nominitive determinism", which makes perfect sense as soon as you hear it, but even if you know those two words, you might not put them together immediately in your head. And this in a Final Fantasy video.
  7. This is even a topic of discussion? This is beyond apples and oranges: It's more like cantaloupes versus chipmunks. Like blueberries and Reba McEntire. Like wicker baskets and a plasma screen. They just can't be compared in any rational way.
  8. Well, he's already almost obliterated every good word he's said on this forum, in another thread, and in this one he sounds like a drunkard, so I recommend you (if you are some sort of Teamspeak or RL friend) to remove him from the Internet until he is "recovered".
  9. Uh huh. I wonder if somebody guessed this guy's password or if I need to find out how to get me some of those tablets to try out.
  10. Well, the second-in-command of the site has called me names, so they stick. I can neither confirm nor deny their veracity.
  11. jakj

    REQUESTS

    Requests to make a mod, not install a mod, dipstick. I quote the description of the forum you're currently in: "REQUEST a mod be made here." Why am I still arguing with people who don't read? Am I just that bored? Or am I procrastinating while watching Tekkit To The Bridge?
  12. jakj

    REQUESTS

    people would figure out what the fuck this thread is for.
  13. I'm actually somewhat pleased with slowpoke's presence on this forum: He's conducting himself calmly and rationally, behaving himself, and at least superficially (since I cannot presume to know his mind) trying to improve things. I still don't agree with him barely at all, but I acknowledge him as a normal human being (which is not a label I apply to most).
  14. Why do people think two opposing biased diatribes equal an unbiased discussion?
  15. All I see is the same confirmation bias nonsense as everywhere else. That thread serves no purpose for us.
  16. Implicit automatic copyright is for original and non-derivative parts only, such as art not based on Minecraft's UI like Thaumcraft has, or original algorithms or data structures. If it can't be compiled outside of Minecraft, it's derivative.
  17. Well, I'm going to call this a Forge bug because of the way they changed the function, because if I return false instead of true, meaning continue processing and attempt to activate the block, then the inventory synchs fine. Honestly, I can't be assed to even try to report this to the Forge people, because they just don't seem that receptive. I'm just going to leave it with sub-optimal behavior and call it a day.
  18. @Override public boolean onItemUseFirst ( ItemStack Item , EntityPlayer Player , World World , int X , int Y , int Z , int Side , float HitX , float HitY , float HitZ ) { int Target = World . getBlockId ( X , Y , Z ) ; if ( Target == Block . stone . blockID ) { Item . stackSize -- ; PlayerUtil . Give ( Player , new ItemStack ( net.minecraft.src.Item . stick , 32 ) ) ; return ( true ) ; } return ( false ) ; } public static void Give ( EntityPlayer Player , ItemStack Stack ) { ( new RuntimeException ( "" + ( Player instanceof net.minecraft.src.EntityPlayerMP ) ) ) . printStackTrace ( ) ; if ( ! Player . inventory . addItemStackToInventory ( Stack ) ) { Player . dropPlayerItem ( Stack ) ; } } According to that diagnostic printout, whether on the integrated or dedicated server, the onItemUseFirst function is being called only client-side, which I do not understand, because ItemBucket has a right-click function that uses these same functions but synchs up just fine. (Well, mostly fine, but it's always right server-side and only a few display issues client-side now and then, as usual for Minecraft.) I understand that I could send a packet to the server to initiate the right-click function server-side, but not only is that more work than -should- be required (including the issue of then having to re-sync client-side), there's no reason I can see for it to be necessary.
  19. I have literally just spent the last two hours on Google and in the source trying to figure this out. I have waded through Packets left and right. I cannot figure out where in the code the player's inventory is synched, and right now, any changes to ItemStack instances or calls to addItemStackToInventory and dropPlayerItem just result in a client-visible update that disappears as soon as the inventory is changed again by vanilla code (like throwing an item or picking up a stack). But looking at SlotCrafting, that's all it does! ItemStack var4 = var3.getItem().getContainerItemStack(var3); if (!var3.getItem().doesContainerItemLeaveCraftingGrid(var3) || !this.thePlayer.inventory.addItemStackToInventory(var4)) { if (this.craftMatrix.getStackInSlot(var2) == null) { this.craftMatrix.setInventorySlotContents(var2, var4); } else { this.thePlayer.dropPlayerItem(var4); } } That's what it does, for example, when you use milk buckets to craft a cake. Why when I use addItemStackToInventory and dropPlayerItem does it not sync, but when SlotCrafting uses them it does sync? Where is it synching!? :-(
  20. 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
  21. Unless you can point me to more-specific wording, that's per 1000 clicks on the ad, not 1000 clicks through the ad display.
  22. It's a vector cross-product, if that helps. ;-)
  23. It's lighting for 3D: The normal points perpendicularly to the triangle being rendered (for example, if you drew a triangle on the sidewalk, the normal would be either straight into the ground or straight into the air, depending on which side of the triangle you consider "the front"), and this is used along with the positions of light sources to calculate brightness for faces. Lighting becomes smoother if you use normals at every vertex (or even every fragment/pixel), but that's even more work, and for shapes with low triangle-count (like Minecraft blocks), vertex normals end up losing a lot of the sharp transitions making it harder to tell the edges of the blocks. (Vertex/fragment normals are better for smooth surfaces or something with a lot of triangles like the mesh of a human face).
  24. Yes, that is something to keep in mind. Another of 1.3's little growing pains for everyone who hasn't already been doing SMP programming.
×
×
  • Create New...