Mctittles Posted October 23, 2014 Posted October 23, 2014 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! Quote
Mctittles Posted October 24, 2014 Author Posted October 24, 2014 Awesome, I found it FMLControlledNamespacedRegistry<Item> myDataInstance = GameData.getItemRegistry(); Item objectReturned = myDataInstance.getObject("moreMusic:record1"); Quote
jabelar Posted October 24, 2014 Posted October 24, 2014 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. Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/
Mctittles Posted October 24, 2014 Author Posted October 24, 2014 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. Quote
jabelar Posted October 24, 2014 Posted October 24, 2014 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. Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/
Mctittles Posted October 24, 2014 Author Posted October 24, 2014 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. 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.
Note: Your post will require moderator approval before it will be visible.