Jump to content

[1.8]Replacement for ItemRenderer.renderItemIn2D?


Renkin42

Recommended Posts

Basically, I was previously using code found in RenderItem to render my Tomahawk as a 3D sprite when thrown. Unfortunately, with the massive rendering updates that function has disappeared, and I've had zero luck navigating the rat's nest of unmapped function names to figure out a replacement. Any suggestions? Here is the 1.7.10 version of the class:

https://github.com/Renkin42/Renkin42SWT/blob/master/src/main/java/renkin42/stuffWorthThrowing/client/RenderTomahawk.java

Link to comment
Share on other sites

No, that isn't what I want at all (already using it for other items btw), what I want is the extruded sprites you see when you drop an item with fancy graphics on. RenderSnowball just renders the item sprite as always facing the player. As I said I was able to do it in 1.7.10, but in 1.8 all the rendering functions have changed and alot of it is still obfuscated, making finding the replacement ridiculously difficult.

Link to comment
Share on other sites

Then submit names for them, they are community supplied.

anyways there is a built in way to load the model from a texture. See how the vanilla game does almost every item.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

I would quite happily do so if I had ANY idea what was going on, but I don't, hence why I am asking for help from more experienced and astute programmers than I. The only reason I figured it out the first time was because of the helpfully-named functions which no longer exist.

Link to comment
Share on other sites

Look at RenderSnowball, as they've told you. You should be able to COPY that, probably verbatim, into whatever render class you are using.

 

It uses RenderItem#renderItemModel(ItemStack) in combination with GLStateManager. If you find the few obfuscated field / function names confusing, look at the type of the variable or return type of the method, if any (e.g. field_177083_e is of type RenderItem, which makes it pretty obvious what it is).

 

Or, even better, since you are just rendering the item anyway, why not just USE RenderSnowball as your render class? Are you doing anything else in there?

Link to comment
Share on other sites

As I said before, I am familiar with RenderSnowball and, in fact, I am using it where appropriate. However, right now that is not what I am looking for. RenderSnowball renders an item as a flat sprite which always faces the player. What I am looking for the replacement for "renderItemIn2D", a method which stretches out a sprite and renders it as a 3D model (why the name says 2D I will never know).

Link to comment
Share on other sites

All right, I think I tracked it down, maybe, lots more errors to fix to its hard to tell. Anyway, the code I was previously basing this on was moved to RenderEntityItem. In there I found the function I needed, I'll post again once I can actually test this:

renderItem.func_180454_a(itemStack, renderItem.getItemModelMesher().getItemModel(itemStack));

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • the world capability works for the current world and its different for every dimension  sound like what you need  the only thing is you cannot access data from a diferent world things like reading a data of the overworld from the nether would nwork
    • use inventorytick() whit the slot number you can know if its into an armour slot         //########## ########## ##########     public void inventoryTick(ItemStack helditem, Level warudo, Entity en, int slot, boolean value) {         Long wtick = 0L;         int tick = 0;         // System.out.println("\n#inventoryTick#\n");         if( !warudo.isClientSide ){             wtick = warudo.dayTime();             if( wtick % 20 == 0 && en instanceof Player ) {                 item_handler ih = get_itemhandler(helditem);                 //inicializar tiempo                 if (ih.start_time < 1L) {                     ih.start_time = wtick;                 }                 ih.time = (int) ( wtick - ih.start_time );                 tick = ih.time;                 //cada 5 seg causar daño por fuego al player                 if (tick > 0 && tick % 100 == 0) {                     en.setSecondsOnFire(1);                 }                 //despues de un minuto el lingote se enfria y vielve a ser hierro                 if ( tick > 1200 ) { //                     helditem = new ItemStack( Items.IRON_INGOT, helditem.getCount() );                     ((Player) en).getInventory().setItem(slot, helditem );                 }             }         }     }
    • i have not test it but  you must extend the slot class overriding the max stack size to 1  public int getMaxStackSize() { return this.container.getMaxStackSize(); }   then in the menu class use your custome slot class to declare the slot    this.addSlot(new SlotItemHandler(handler00, 6, 62, 35));//slot zero this.addSlot(new ArmourSlotItemHandler(handler00, null,5, 80, 8));//head  
    • I have java, jarfix, Minecraft java, and forge all downloaded/installed, however I've been trying to make forge work for literal weeks now, and it quite literally just wont load. My primary launcher is Modrinth and when I try to launch a game with forge instead of fabric it'll just stop loading, no error message or anything in the logs, and when I try to launch directly from the Minecraft launcher I just get "Exit Code: 1". I also do not have anything in my mods folder. I'm at a loss... I've tried with practically every version at this point, but the specific versions I'm trying to get into are 1.20.1 and 1.19.2
    • My forge 1.12.2 server is very slow and laggy. The reason is probably because every 5 seconds, the console spits out this message (or smth like it):   Running 15ms behind! Is the server overloaded? Skipping 60 ticks (example, but keeps sending messages just like it)   I've been trying to allocate ram to fix this issue. How can I do this on 1.12.2? There is no jvm args.txt, like in 1.20.1.  
  • Topics

×
×
  • Create New...

Important Information

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