aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/extrabees/apiary/EnumHiveFrame.java
blob: 6a135c2532ee30d34114d0ac5e356886831244cf (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
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
140
package binnie.extrabees.apiary;

import binnie.core.Mods;
import binnie.core.Mods.Mod;
import binnie.core.genetics.BeeModifierLogic;
import binnie.core.genetics.EnumBeeBooleanModifier;
import binnie.core.genetics.EnumBeeModifier;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.proxy.ExtraBeesProxy;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IBeeHousing;
import forestry.api.apiculture.IHiveFrame;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

public enum EnumHiveFrame
  implements IHiveFrame
{
  Cocoa,  Cage,  Soul,  Clay,  Debug;
  
  Item item;
  
  public static void init()
  {
    Cocoa.logic.setModifier(EnumBeeModifier.Lifespan, 0.75F, 0.25F);
    Cocoa.logic.setModifier(EnumBeeModifier.Production, 1.5F, 5.0F);
    
    Cage.logic.setModifier(EnumBeeModifier.Territory, 0.5F, 0.1F);
    Cage.logic.setModifier(EnumBeeModifier.Lifespan, 0.75F, 0.5F);
    Cage.logic.setModifier(EnumBeeModifier.Production, 0.75F, 0.5F);
    
    Soul.logic.setModifier(EnumBeeModifier.Mutation, 1.5F, 5.0F);
    Soul.logic.setModifier(EnumBeeModifier.Lifespan, 0.75F, 0.5F);
    Soul.logic.setModifier(EnumBeeModifier.Production, 0.25F, 0.1F);
    Soul.setMaxDamage(80);
    
    Clay.logic.setModifier(EnumBeeModifier.Lifespan, 1.5F, 5.0F);
    Clay.logic.setModifier(EnumBeeModifier.Mutation, 0.5F, 0.2F);
    Clay.logic.setModifier(EnumBeeModifier.Production, 0.75F, 0.2F);
    
    Debug.logic.setModifier(EnumBeeModifier.Lifespan, 1.0E-004F, 1.0E-004F);
    


    GameRegistry.addRecipe(new ItemStack(Cocoa.item), new Object[] { " c ", "cFc", " c ", Character.valueOf('F'), Mods.Forestry.stack("frameImpregnated"), Character.valueOf('c'), new ItemStack(Items.dye, 1, 3) });
    


    GameRegistry.addShapelessRecipe(new ItemStack(Cage.item), new Object[] { Mods.Forestry.stack("frameImpregnated"), Blocks.iron_bars });
    

    GameRegistry.addShapelessRecipe(new ItemStack(Soul.item), new Object[] { Mods.Forestry.stack("frameImpregnated"), Blocks.soul_sand });
    

    GameRegistry.addRecipe(new ItemStack(Clay.item), new Object[] { " c ", "cFc", " c ", Character.valueOf('F'), Mods.Forestry.stack("frameImpregnated"), Character.valueOf('c'), Items.clay_ball });
  }
  
  public int getIconIndex()
  {
    return 55 + ordinal();
  }
  
  public void setMaxDamage(int damage)
  {
    this.maxDamage = damage;
  }
  
  int maxDamage = 240;
  BeeModifierLogic logic = new BeeModifierLogic();
  
  private EnumHiveFrame() {}
  
  public ItemStack frameUsed(IBeeHousing house, ItemStack frame, IBee queen, int wear)
  {
    frame.setItemDamage(frame.getItemDamage() + wear);
    if (frame.getItemDamage() >= frame.getMaxDamage()) {
      return null;
    }
    return frame;
  }
  
  public float getTerritoryModifier(IBeeGenome genome, float currentModifier)
  {
    return this.logic.getModifier(EnumBeeModifier.Territory, currentModifier);
  }
  
  public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier)
  {
    return this.logic.getModifier(EnumBeeModifier.Mutation, currentModifier);
  }
  
  public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier)
  {
    return this.logic.getModifier(EnumBeeModifier.Lifespan, currentModifier);
  }
  
  public float getProductionModifier(IBeeGenome genome, float currentModifier)
  {
    return this.logic.getModifier(EnumBeeModifier.Production, currentModifier);
  }
  
  public float getFloweringModifier(IBeeGenome genome, float currentModifier)
  {
    return this.logic.getModifier(EnumBeeModifier.Flowering, currentModifier);
  }
  
  public float getGeneticDecay(IBeeGenome genome, float currentModifier)
  {
    return this.logic.getModifier(EnumBeeModifier.GeneticDecay, currentModifier);
  }
  
  public boolean isSealed()
  {
    return this.logic.getModifier(EnumBeeBooleanModifier.Sealed);
  }
  
  public boolean isSelfLighted()
  {
    return this.logic.getModifier(EnumBeeBooleanModifier.SelfLighted);
  }
  
  public boolean isSunlightSimulated()
  {
    return this.logic.getModifier(EnumBeeBooleanModifier.SunlightStimulated);
  }
  
  public boolean isHellish()
  {
    return this.logic.getModifier(EnumBeeBooleanModifier.Hellish);
  }
  
  public String getName()
  {
    return ExtraBees.proxy.localise("item.frame." + toString().toLowerCase());
  }
}