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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
package gtPlusPlus.xmod.forestry.bees.items;
import static gregtech.api.enums.Mods.GTPlusPlus;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IBeeHousing;
import forestry.api.apiculture.IBeeModifier;
import forestry.api.apiculture.IHiveFrame;
import gtPlusPlus.core.creative.AddToCreativeTab;
public class MBItemFrame extends Item implements IHiveFrame {
private final MBFrameType type;
private EnumRarity rarity_value = EnumRarity.uncommon;
private final String toolTip;
public MBItemFrame(final MBFrameType frameType, final String description) {
this(frameType, EnumRarity.uncommon, description);
}
public MBItemFrame(final MBFrameType frameType, final EnumRarity rarity, final String description) {
super();
this.type = frameType;
this.setMaxDamage(this.type.maxDamage);
this.setMaxStackSize(1);
this.setCreativeTab(AddToCreativeTab.tabMisc);
this.setUnlocalizedName("frame" + frameType.getName());
this.rarity_value = rarity;
this.toolTip = description;
GameRegistry.registerItem(this, "frame" + frameType.getName());
}
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
if (!this.toolTip.isEmpty()) {
list.add(EnumChatFormatting.GRAY + this.toolTip);
}
super.addInformation(stack, aPlayer, list, bool);
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(final IIconRegister par1IconRegister) {
this.itemIcon = par1IconRegister.registerIcon(GTPlusPlus.ID + ":frame" + this.type.getName());
}
// --------- IHiveFrame functions -----------------------------------------
@Override
public ItemStack frameUsed(final IBeeHousing housing, ItemStack frame, final IBee queen, final int wear) {
frame.setItemDamage(frame.getItemDamage() + wear);
if (frame.getItemDamage() >= frame.getMaxDamage()) {
// Break the frame.
frame = null;
}
return frame;
}
@Override
@SideOnly(Side.CLIENT)
public EnumRarity getRarity(final ItemStack par1ItemStack) {
return this.rarity_value;
}
@Override
public boolean hasEffect(final ItemStack par1ItemStack, final int pass) {
return this.rarity_value != EnumRarity.uncommon && this.rarity_value != EnumRarity.common;
}
@Override
public IBeeModifier getBeeModifier() {
return this.type;
}
@Override
public boolean isBookEnchantable(final ItemStack itemstack1, final ItemStack itemstack2) {
return false;
}
@Override
public boolean isRepairable() {
return false;
}
public float getTerritoryModifier(final IBeeGenome genome, final float currentModifier) {
return this.type.getTerritoryModifier(genome, currentModifier);
}
public float getMutationModifier(final IBeeGenome genome, final IBeeGenome mate, final float currentModifier) {
return this.type.getMutationModifier(genome, mate, currentModifier);
}
public float getLifespanModifier(final IBeeGenome genome, final IBeeGenome mate, final float currentModifier) {
return this.type.getLifespanModifier(genome, mate, currentModifier);
}
public float getProductionModifier(final IBeeGenome genome, final float currentModifier) {
return this.type.getProductionModifier(genome, currentModifier);
}
public float getFloweringModifier(final IBeeGenome genome, final float currentModifier) {
return this.type.getFloweringModifier(genome, currentModifier);
}
public float getGeneticDecay(final IBeeGenome genome, final float currentModifier) {
return this.type.getGeneticDecay(genome, currentModifier);
}
public boolean isSealed() {
return this.type.isSealed();
}
public boolean isSelfLighted() {
return this.type.isSelfLighted();
}
public boolean isSunlightSimulated() {
return this.type.isSunlightSimulated();
}
public boolean isHellish() {
return this.type.isHellish();
}
}
|