Posted July 22, 20169 yr I have several similar classes that I use to create my Items. public class ItemOreMetal extends Item { public ItemOreMetal() { setCreativeTab(Foundation.creativeTab); setHasSubtypes(true); } @Override public void getSubItems(Item item, CreativeTabs creativeTabs, List list) { for(EnumOreType metal : EnumOreType.values()) { list.add(new ItemStack(this, 1, metal.getMeta())); } } } The only difference is the enum I use to create the sub-items. Would it be possible to take in the enum in the constructor and use it from there? So I wouldn't have so many classes.
July 22, 20169 yr Author Yes. Would this be the right way to do it? public class ItemEnum extends Item { public EnumBasicType type; public ItemEnum(EnumBasicType typeIn) { type = typeIn; setCreativeTab(TeslaFoundation.creativeTab); setHasSubtypes(true); } @Override public void getSubItems(Item item, CreativeTabs creativeTabs, List list) { for(EnumBasicType basicType : type.values()) { list.add(new ItemStack(this, 1, basicType.getMeta())); } } }
July 22, 20169 yr Author No. You have to pass in the Enum class and use Class#getEnumConstants . Alright got that working. How would I do the same thing to my block classes? i.e. PropertyEnum
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.