Jump to content

[1.12] Getting Item instance from registry name?


AnZaNaMa

Recommended Posts

Hi, I'm not extremely familiar with the new registry system that has been introduced in 1.12. I'm attempting to figure out how I can get an instance of an Item from its registry name (i.e. "minecraft:torch")

 

It looks like in 1.7.10, you could call GameData.findItem(modid, name) however, I haven't been able to find anything from newer versions. I would think it's a part of the registry system, but I'm not sure how it would be done.

- Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.

Link to comment
Share on other sites

Item.REGISTRY.getObjectById(id)

  • Like 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Is there a similar registry for entities? doesn't look like Entity class has an Entity.REGISTRY

- Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.

Link to comment
Share on other sites

12 minutes ago, AnZaNaMa said:

Is there a similar registry for entities? doesn't look like Entity class has an Entity.REGISTRY

ForgeRegistries.ENTITIES

 

I found that by looking at GameRegistry.registerModEntity and seeing what it called.

Edited by Draco18s
  • Like 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Thank you. Sorry, I haven't worked with entities so I didn't have any experience with methods involving them or I would have just looked there.

- Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.

Link to comment
Share on other sites

You can also use the @ObjectHolder injection system if you need to get a reference to an arbitrary block or item (or indeed anything that lives in a registry).  Example:

class MyClass {
  // If the block actually exists, Forge will inject its value into SOME_BLOCK
  // when block registration is done
  @ObjectHolder("somemod:someblock")
  public static final Block SOME_BLOCK = null;
  
  // later on, during the game...
  public void myMethod() {
    if (SOME_BLOCK != null) {
      // then it was registered and you can use it
      doStuffWith(SOME_BLOCK);
    }
  }
}

See https://mcforge.readthedocs.io/en/latest/concepts/registries/ for more information.

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.

×
×
  • Create New...

Important Information

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