Posted October 23, 201410 yr Hey all. Just wondering if there is a way to get an instance of GameData so I can look up an item by it's name in iItemRegistry using "findItem(String modId, String name)". I see there is FMLCommonHandler.instance(), and not sure if I can get a GameData instance from that. Thanks!
October 24, 201410 yr Author Awesome, I found it FMLControlledNamespacedRegistry<Item> myDataInstance = GameData.getItemRegistry(); Item objectReturned = myDataInstance.getObject("moreMusic:record1");
October 24, 201410 yr Yes, but I'm not quite sure that it is better practice to make your own field name to point to the instance. Seems to me that it is more readable just using GameData methods as needed directly. While modding on our own, we are of course free to name things how we want, it is generally best to practice programming as if you're part of a coding team, in which case readability (by other people) is an important principle. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
October 24, 201410 yr Author Well I'm adding hundreds of items through a config and need to grab a random item from a list. To me it seemed better to get the item back (numbered string) this way instead of storing another array of items since one already exists.
October 24, 201410 yr You don't understand my point. Any time you want to get the instance you can just use GameData.getItemRegistry().getObject() method directly. You don't need to "store" the registry to use it because you can chain the getObject() method to the getItemRegistry() method. Besides which, in Java when you "grabbed the instance" you actually aren't making a copy of it, you're just pointing to the one that already exists. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
October 24, 201410 yr Author Ok I understand. Thanks, that was exactly what I was looking for originally. I didn't find that method in the class when I checked before.
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.