Hello,
I am working on updating my mod to 1.10.2 from 1.7.10, but i got stuck in one position.
Here is code from my mod in 1.7.10 version which i would like to update :
public abstract class ItemsFirst extends Item {
protected final int ITEM_MAX;
private final String subid;
public ItemsFirst(String subId, int max) {
super();
subid = subId;
ITEM_MAX = max;
setHasSubtypes(true);
setUnlocalizedName(ModThings.MODID + "_" + subid);
}
@SideOnly(Side.CLIENT)
private IIcon[] icons;
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister register) {
icons = new IIcon[iTEM_MAX];
for (int i = 0; i < ITEM_MAX; i++) {
icons[i] = register.registerIcon(ModThings.MODID + ':' + subid + '/' + i);
}
}
@Override
public String getUnlocalizedName(ItemStack is) {
return super.getUnlocalizedName() + "_" + is.getItemDamage();
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(int dv) {
if ((dv >= 0) && (dv < ITEM_MAX)) {
return icons[dv];
}
return null;
}
@SideOnly(Side.CLIENT)
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < ITEM_MAX; i++) {
list.add(new ItemStack(this, 1, i));
}
}
}
public class LootsOfItems extends ItemsFirst {
public LootsOfItems() {
super("items", 28);
}
}
Here is the code which i made already on 1.10.2:
public class ItemThings extends Item implements ItemModelRegister {
protected String name;
protected int liczba;
public ItemThings(String name, int liczba) {
this.name = name;
this.liczba = liczba;
setUnlocalizedName(ModThings.MODID + "_" + name);
setRegistryName(name);
setHasSubtypes(true);
setCreativeTab(ThingsMod.creativeTab);
}
@Override
public void registerItemModel(Item item) {
ThingsMod.proxy.registerThingNormal(item, 0, name);
}
@Override
public ItemThings setCreativeTab(CreativeTabs tab) {
super.setCreativeTab(tab);
return this;
}
@SideOnly(Side.CLIENT)
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < liczba; i++) {
list.add(new ItemStack(this, 1, i));
}
}
@Override
public String getUnlocalizedName(ItemStack is) {
return super.getUnlocalizedName() + "_" + is.getItemDamage();
}
}
public interface ItemModelRegister {
void registerItemModel(Item item);
}
public class ItemThings extends Item implements ItemModelRegister {
protected String name;
protected int liczba;
public ItemThings(String name, int liczba) {
this.name = name;
this.liczba = liczba;
setUnlocalizedName("ThingsMod_" + name);
setRegistryName(name);
setHasSubtypes(true);
setCreativeTab(ThingsMod.creativeTab);
}
@Override
public void registerItemModel(Item item) {
ThingsMod.proxy.registerThingNormal(item, 0, name);
}
@Override
public ItemThings setCreativeTab(CreativeTabs tab) {
super.setCreativeTab(tab);
return this;
}
@SideOnly(Side.CLIENT)
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < liczba; i++) {
list.add(new ItemStack(this, 1, i));
}
}
@Override
public String getUnlocalizedName(ItemStack is) {
return super.getUnlocalizedName() + "_" + is.getItemDamage();
}
}
public class ItemNormal extends ItemThings {
private String ItemName;
public ItemNormal(String name, String ItemName, int liczba) {
super(ItemName, liczba);
maxStackSize = 64;
this.ItemName = ItemName;
}
}
Here is my registry class 1.10.2:
public class ManagerItems {
public static ItemThings ItemNormal;
public static void init() {
ItemNormal = register(new ItemNormal("ItemThingNormal", "ItemThingNormal", 3));
}
private static <T extends Item> T register(T item) {
GameRegistry.register(item);
if (item instanceof ItemModelRegister) {
((ItemModelRegister)item).registerItemModel(item);
}
return item;
}
}
Can you take a look and tell me what should i change or add to make that it will load specify in minecraft 1.10.2 texture for specify number of sub item?
Or maybe you have idea how to just update 1.7.10 code to work fine in 1.10.2?
Sorry for my english but you should know what i am talking about