blob: 3da322536074d3c8227d53ee6a543a1e9e2eeb29 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
package gtPlusPlus.xmod.sc2.items;
import vswe.stevescarts.TileEntities.TileEntityCartAssembler;
import net.minecraft.entity.player.EntityPlayer;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import vswe.stevescarts.ModuleData.ModuleData;
import vswe.stevescarts.ModuleData.ModuleDataLoader;
import net.minecraft.item.ItemStack;
import net.minecraft.creativetab.CreativeTabs;
import vswe.stevescarts.Items.ItemCartModule;
import net.minecraft.util.IIcon;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.creative.AddToCreativeTab;
import net.minecraft.item.Item;
public class ItemCartModuleEx extends ItemCartModule {
IIcon unknownIcon;
public ItemCartModuleEx() {
this.setCreativeTab(AddToCreativeTab.tabMisc);
}
public String getName(final ItemStack par1ItemStack) {
final ModuleData data = this.getModuleData(par1ItemStack, true);
if (data == null) {
return "Unknown SC2 module";
}
return data.getName();
}
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(final int dmg) {
final ModuleData data = ModuleData.getList().get((byte) dmg);
if (data != null) {
return data.getIcon();
}
return this.unknownIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(final IIconRegister register) {
for (final ModuleData module : ModuleDataLoader.moduleListCustom.values()) {
final StringBuilder sb = new StringBuilder();
String x = (sb.append("stevescarts").append(":").append(module.getRawName()).append("_icon").toString());
Logger.REFLECTION("Icon Path for Module: "+x);
module.createIcon(register);
}
final StringBuilder sb = new StringBuilder();
this.unknownIcon = register
.registerIcon(sb.append("stevescarts").append(":").append("unknown_icon").toString());
}
public String getUnlocalizedName() {
return "item.SC2:unknownexoticmodule";
}
public String getUnlocalizedName(final ItemStack item) {
final ModuleData data = this.getModuleData(item, true);
if (data != null) {
return "item.SC2:" + data.getRawName();
}
return this.getUnlocalizedName();
}
@SideOnly(Side.CLIENT)
public void getSubItems(final Item item, final CreativeTabs par2CreativeTabs, final List par3List) {
for (final ModuleData module : ModuleDataLoader.getList().values()) {
if (module.getIsValid()) {
par3List.add(module.getItemStack());
}
}
}
@SideOnly(Side.CLIENT)
public void addInformation(final ItemStack par1ItemStack, final EntityPlayer par2EntityPlayer, final List par3List,
final boolean par4) {
final ModuleData module = this.getModuleData(par1ItemStack, true);
if (module != null) {
module.addInformation(par3List, par1ItemStack.getTagCompound());
} else if (par1ItemStack != null && par1ItemStack.getItem() instanceof ItemCartModuleEx) {
par3List.add("Module id " + par1ItemStack.getItemDamage());
} else {
par3List.add("Unknown exotic module id");
}
}
public ModuleData getModuleData(final ItemStack itemstack, final boolean ignoreSize) {
if (itemstack != null && itemstack.getItem() instanceof ItemCartModuleEx
&& (ignoreSize || itemstack.stackSize != TileEntityCartAssembler.getRemovedSize())) {
return ModuleData.getList().get((byte) itemstack.getItemDamage());
}
return null;
}
}
|