aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/extrabees/apiary/EnumHiveFrame.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/binnie/extrabees/apiary/EnumHiveFrame.java')
-rw-r--r--src/Java/binnie/extrabees/apiary/EnumHiveFrame.java140
1 files changed, 140 insertions, 0 deletions
diff --git a/src/Java/binnie/extrabees/apiary/EnumHiveFrame.java b/src/Java/binnie/extrabees/apiary/EnumHiveFrame.java
new file mode 100644
index 0000000000..6a135c2532
--- /dev/null
+++ b/src/Java/binnie/extrabees/apiary/EnumHiveFrame.java
@@ -0,0 +1,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());
+ }
+}