diff --git a/api/forestry b/api/forestry index 3b9c197ba..29ff813ed 160000 --- a/api/forestry +++ b/api/forestry @@ -1 +1 @@ -Subproject commit 3b9c197ba2a8b1a891fb1cd863b3c9e4645b65af +Subproject commit 29ff813edf4068efc92b33691e3c546a9e3618bd diff --git a/src/main/java/forestry/apiculture/GuiHandlerApiculture.java b/src/main/java/forestry/apiculture/GuiHandlerApiculture.java index 7be84a9c0..3e761a147 100755 --- a/src/main/java/forestry/apiculture/GuiHandlerApiculture.java +++ b/src/main/java/forestry/apiculture/GuiHandlerApiculture.java @@ -15,7 +15,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import forestry.api.apiculture.BeeManager; -import forestry.apiculture.genetics.BeeHelper; import forestry.apiculture.gui.ContainerAlveary; import forestry.apiculture.gui.ContainerAlvearyHygroregulator; import forestry.apiculture.gui.ContainerAlvearySieve; @@ -68,7 +67,7 @@ public class GuiHandlerApiculture extends GuiHandlerBase { return new GuiAlvearySwarmer(player.inventory, getTile(world, x, y, z, player, TileAlvearySwarmer.class)); case ApiaristChestGUI: - return getNaturalistChestGui(BeeHelper.UID, player, world, x, y, z, guiData); + return getNaturalistChestGui(BeeManager.beeRoot, player, world, x, y, z, guiData); case ApiaryGUI: return new GuiBeeHousing(player.inventory, getTile(world, x, y, z, player, TileApiary.class)); @@ -131,7 +130,7 @@ public class GuiHandlerApiculture extends GuiHandlerBase { return new ContainerAlvearySwarmer(player.inventory, getTile(world, x, y, z, player, TileAlvearySwarmer.class)); case ApiaristChestGUI: - return getNaturalistChestContainer(BeeHelper.UID, player, world, x, y, z, guiData); + return getNaturalistChestContainer(BeeManager.beeRoot, player, world, x, y, z, guiData); case ApiaryGUI: synchApiaristTracker(world, player); diff --git a/src/main/java/forestry/apiculture/genetics/BeeBranchDefinition.java b/src/main/java/forestry/apiculture/genetics/BeeBranchDefinition.java index 450b9e7e0..d5bda0eb7 100644 --- a/src/main/java/forestry/apiculture/genetics/BeeBranchDefinition.java +++ b/src/main/java/forestry/apiculture/genetics/BeeBranchDefinition.java @@ -7,8 +7,9 @@ import forestry.api.apiculture.BeeManager; import forestry.api.apiculture.EnumBeeChromosome; import forestry.api.genetics.IAllele; import forestry.api.genetics.IClassification; +import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.genetics.IBranchDefinition; -import forestry.core.genetics.alleles.Allele; +import forestry.core.genetics.alleles.AlleleHelper; import forestry.core.genetics.alleles.EnumAllele; public enum BeeBranchDefinition implements IBranchDefinition { @@ -19,96 +20,96 @@ public enum BeeBranchDefinition implements IBranchDefinition { INFERNAL("Diapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); - Allele.helper.set(alleles, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); } }, AUSTERE("Modapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - Allele.helper.set(alleles, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI); } }, TROPICAL("Caldapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); - Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectMiasmic); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic); } }, END("Finapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - Allele.helper.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END); - Allele.helper.set(alleles, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectMisanthrope); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectMisanthrope); } }, FROZEN("Coagapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW); - Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectGlacial); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectGlacial); } }, VENGEFUL("Punapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGEST); - Allele.helper.set(alleles, EnumBeeChromosome.EFFECT, Allele.effectRadioactive); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGEST); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.EFFECT, AlleleEffect.effectRadioactive); } }, FESTIVE("Festapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); } }, AGRARIAN("Rustapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); } }, BOGGY("Paludapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); } }, MONASTIC("Monapis") { @Override protected void setBranchProperties(IAllele[] alleles) { - Allele.helper.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); - Allele.helper.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); - Allele.helper.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - Allele.helper.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - Allele.helper.set(alleles, EnumBeeChromosome.CAVE_DWELLING, true); - Allele.helper.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); } }; @@ -140,18 +141,18 @@ public enum BeeBranchDefinition implements IBranchDefinition { if (defaultTemplate == null) { defaultTemplate = new IAllele[EnumBeeChromosome.values().length]; - Allele.helper.set(defaultTemplate, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.NOCTURNAL, false); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.TOLERANT_FLYER, false); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.CAVE_DWELLING, false); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); - Allele.helper.set(defaultTemplate, EnumBeeChromosome.EFFECT, Allele.effectNone); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TOLERANT_FLYER, false); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.CAVE_DWELLING, false); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.EFFECT, AlleleEffect.effectNone); } return Arrays.copyOf(defaultTemplate, defaultTemplate.length); } diff --git a/src/main/java/forestry/apiculture/genetics/BeeDefinition.java b/src/main/java/forestry/apiculture/genetics/BeeDefinition.java index 01cf8fbe8..4c232a423 100644 --- a/src/main/java/forestry/apiculture/genetics/BeeDefinition.java +++ b/src/main/java/forestry/apiculture/genetics/BeeDefinition.java @@ -32,8 +32,9 @@ import forestry.api.apiculture.IBeeMutationCustom; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.genetics.IAllele; +import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.config.ForestryItem; -import forestry.core.genetics.alleles.Allele; +import forestry.core.genetics.alleles.AlleleHelper; import forestry.core.genetics.alleles.EnumAllele; public enum BeeDefinition implements IBeeDefinition { @@ -46,8 +47,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); } @Override @@ -63,7 +64,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); } @Override @@ -79,7 +80,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override @@ -101,8 +102,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); } @Override @@ -122,9 +123,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); } @Override @@ -140,9 +141,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED); - Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); } @Override @@ -160,9 +161,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectBeatific); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectBeatific); } @Override @@ -180,9 +181,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); } @Override @@ -198,8 +199,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTENED); } @Override @@ -217,9 +218,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST); } @Override @@ -238,10 +239,10 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); } @Override @@ -258,10 +259,10 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); } @Override @@ -278,11 +279,11 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectHeroic); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectHeroic); } @Override @@ -303,9 +304,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectAggressive); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive); } @Override @@ -327,9 +328,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectAggressive); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive); } @Override @@ -352,9 +353,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectIgnition); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition); } @Override @@ -375,8 +376,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); } @Override @@ -394,8 +395,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); } @Override @@ -420,10 +421,10 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); - Allele.helper.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectCreeper); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectCreeper); } @Override @@ -445,8 +446,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); } @Override @@ -464,8 +465,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); } @Override @@ -484,10 +485,10 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); - Allele.helper.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectExploration); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectExploration); } @Override @@ -523,7 +524,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectReanimation); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectReanimation); } @Override @@ -541,9 +542,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectResurrection); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectResurrection); } @Override @@ -562,9 +563,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); } @Override @@ -582,8 +583,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); } @Override @@ -603,8 +604,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); } @Override @@ -624,8 +625,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); } @Override @@ -642,8 +643,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); } @Override @@ -662,8 +663,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - Allele.helper.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); } @Override @@ -685,7 +686,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectFestiveEaster); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectFestiveEaster); } @Override @@ -708,8 +709,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectSnowing); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectSnowing); } @Override @@ -732,8 +733,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectDrunkard); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectDrunkard); } @Override @@ -760,9 +761,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - Allele.helper.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.GOURD); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.GOURD); } @Override @@ -800,8 +801,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); - Allele.helper.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); } @Override @@ -819,10 +820,10 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); - Allele.helper.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectFertile); - Allele.helper.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectFertile); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); } @Override @@ -859,9 +860,9 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); - Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); } @Override @@ -881,10 +882,10 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - Allele.helper.set(template, EnumBeeChromosome.NOCTURNAL, true); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectMycophilic); - Allele.helper.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMycophilic); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGER); } @Override @@ -923,7 +924,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST); } @Override @@ -941,8 +942,8 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST); - Allele.helper.set(template, EnumBeeChromosome.EFFECT, Allele.effectRepulsion); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectRepulsion); } @Override @@ -993,7 +994,7 @@ public enum BeeDefinition implements IBeeDefinition { setSpeciesProperties(species); template = branch.getTemplate(); - Allele.helper.set(template, EnumBeeChromosome.SPECIES, species); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPECIES, species); setAlleles(template); genome = BeeManager.beeRoot.templateAsGenome(template); diff --git a/src/main/java/forestry/apiculture/genetics/BeeVariation.java b/src/main/java/forestry/apiculture/genetics/BeeVariation.java index 5c2ac79be..af8395da6 100644 --- a/src/main/java/forestry/apiculture/genetics/BeeVariation.java +++ b/src/main/java/forestry/apiculture/genetics/BeeVariation.java @@ -8,7 +8,7 @@ import forestry.api.apiculture.EnumBeeType; import forestry.api.apiculture.IBee; import forestry.api.apiculture.IBeeGenome; import forestry.api.genetics.IAllele; -import forestry.core.genetics.alleles.Allele; +import forestry.core.genetics.alleles.AlleleHelper; public abstract class BeeVariation implements IBeeDefinition { @@ -51,7 +51,7 @@ public abstract class BeeVariation implements IBeeDefinition { @Override protected void initializeTemplate(IAllele[] template) { - Allele.helper.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); } } } diff --git a/src/main/java/forestry/apiculture/genetics/alleles/AlleleBeeSpecies.java b/src/main/java/forestry/apiculture/genetics/alleles/AlleleBeeSpecies.java index 57e32f970..ba4c0261a 100644 --- a/src/main/java/forestry/apiculture/genetics/alleles/AlleleBeeSpecies.java +++ b/src/main/java/forestry/apiculture/genetics/alleles/AlleleBeeSpecies.java @@ -56,7 +56,7 @@ public class AlleleBeeSpecies extends AlleleSpecies implements IAlleleBeeSpecies private boolean nocturnal = false; public AlleleBeeSpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, boolean dominant, IClassification branch, String binomial, int primaryColor, int secondaryColor) { - super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, false); + super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial); this.primaryColour = primaryColor; this.secondaryColour = secondaryColor; diff --git a/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffect.java b/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffect.java new file mode 100644 index 000000000..59d7c305d --- /dev/null +++ b/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffect.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.apiculture.genetics.alleles; + +import net.minecraft.util.AxisAlignedBB; + +import forestry.api.apiculture.BeeManager; +import forestry.api.apiculture.IAlleleBeeEffect; +import forestry.api.apiculture.IBeeGenome; +import forestry.api.apiculture.IBeeHousing; +import forestry.api.apiculture.IBeeModifier; +import forestry.api.genetics.IEffectData; +import forestry.core.genetics.alleles.AlleleCategorized; +import forestry.core.proxy.Proxies; +import forestry.core.utils.vect.MutableVect; +import forestry.core.utils.vect.Vect; + +public abstract class AlleleEffect extends AlleleCategorized implements IAlleleBeeEffect { + + public static IAlleleBeeEffect effectNone; + public static IAlleleBeeEffect effectAggressive; + public static IAlleleBeeEffect effectHeroic; + public static IAlleleBeeEffect effectBeatific; + public static IAlleleBeeEffect effectMiasmic; + public static IAlleleBeeEffect effectMisanthrope; + public static IAlleleBeeEffect effectGlacial; + public static IAlleleBeeEffect effectRadioactive; + public static IAlleleBeeEffect effectCreeper; + public static IAlleleBeeEffect effectIgnition; + public static IAlleleBeeEffect effectExploration; + public static IAlleleBeeEffect effectFestiveEaster; + public static IAlleleBeeEffect effectSnowing; + public static IAlleleBeeEffect effectDrunkard; + public static IAlleleBeeEffect effectReanimation; + public static IAlleleBeeEffect effectResurrection; + public static IAlleleBeeEffect effectRepulsion; + public static IAlleleBeeEffect effectFertile; + public static IAlleleBeeEffect effectMycophilic; + + protected AlleleEffect(String valueName, boolean isDominant) { + super("forestry", "effect", valueName, isDominant); + } + + @Override + public IEffectData validateStorage(IEffectData storedData) { + return null; + } + + @Override + public boolean isCombinable() { + return false; + } + + @Override + public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { + return storedData; + } + + @Override + public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { + Proxies.render.addBeeHiveFX("particles/swarm_bee", housing.getWorld(), housing.getCoordinates(), genome.getPrimary().getIconColour(0)); + return storedData; + } + + protected Vect getModifiedArea(IBeeGenome genome, IBeeHousing housing) { + IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing); + float territoryModifier = beeModifier.getTerritoryModifier(genome, 1f); + + MutableVect area = new MutableVect(genome.getTerritory()); + area.multiply(territoryModifier); + + if (area.x < 1) { + area.x = 1; + } + if (area.y < 1) { + area.y = 1; + } + if (area.z < 1) { + area.z = 1; + } + + return new Vect(area); + } + + protected AxisAlignedBB getBounding(IBeeGenome genome, IBeeHousing housing) { + IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing); + float territoryModifier = beeModifier.getTerritoryModifier(genome, 1.0f); + + MutableVect area = new MutableVect(genome.getTerritory()); + area.multiply(territoryModifier); + Vect offset = new Vect(area).multiply(-1 / 2.0f); + + Vect min = new Vect(housing.getCoordinates()).add(offset); + Vect max = min.add(area); + + return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z); + } + +} diff --git a/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectNone.java b/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectNone.java index 2be84f20b..3b583421c 100644 --- a/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectNone.java +++ b/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectNone.java @@ -1,87 +1,17 @@ -/******************************************************************************* - * Copyright (c) 2011-2014 SirSengir. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser Public License v3 - * which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/lgpl-3.0.txt - * - * Various Contributors including, but not limited to: - * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges - ******************************************************************************/ -package forestry.apiculture.genetics.alleles; - -import net.minecraft.util.AxisAlignedBB; - -import forestry.api.apiculture.BeeManager; -import forestry.api.apiculture.IAlleleBeeEffect; -import forestry.api.apiculture.IBeeGenome; -import forestry.api.apiculture.IBeeHousing; -import forestry.api.apiculture.IBeeModifier; -import forestry.api.genetics.IEffectData; -import forestry.core.genetics.alleles.AlleleCategorized; -import forestry.core.proxy.Proxies; -import forestry.core.utils.vect.MutableVect; -import forestry.core.utils.vect.Vect; - -public class AlleleEffectNone extends AlleleCategorized implements IAlleleBeeEffect { - - public AlleleEffectNone(String valueName, boolean isDominant) { - super("forestry", "effect", valueName, isDominant); - } - - @Override - public IEffectData validateStorage(IEffectData storedData) { - return null; - } - - @Override - public boolean isCombinable() { - return false; - } - - @Override - public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { - return storedData; - } - - @Override - public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { - Proxies.render.addBeeHiveFX("particles/swarm_bee", housing.getWorld(), housing.getCoordinates(), genome.getPrimary().getIconColour(0)); - return storedData; - } - - protected Vect getModifiedArea(IBeeGenome genome, IBeeHousing housing) { - IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing); - float territoryModifier = beeModifier.getTerritoryModifier(genome, 1f); - - MutableVect area = new MutableVect(genome.getTerritory()); - area.multiply(territoryModifier); - - if (area.x < 1) { - area.x = 1; - } - if (area.y < 1) { - area.y = 1; - } - if (area.z < 1) { - area.z = 1; - } - - return new Vect(area); - } - - protected AxisAlignedBB getBounding(IBeeGenome genome, IBeeHousing housing) { - IBeeModifier beeModifier = BeeManager.beeRoot.createBeeHousingModifier(housing); - float territoryModifier = beeModifier.getTerritoryModifier(genome, 1.0f); - - MutableVect area = new MutableVect(genome.getTerritory()); - area.multiply(territoryModifier); - Vect offset = new Vect(area).multiply(-1 / 2.0f); - - Vect min = new Vect(housing.getCoordinates()).add(offset); - Vect max = min.add(area); - - return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z); - } - -} +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.apiculture.genetics.alleles; + +public class AlleleEffectNone extends AlleleEffect { + public AlleleEffectNone(String valueName, boolean isDominant) { + super(valueName, isDominant); + } +} diff --git a/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectThrottled.java b/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectThrottled.java index 2ae0b342b..6d047ebbc 100644 --- a/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectThrottled.java +++ b/src/main/java/forestry/apiculture/genetics/alleles/AlleleEffectThrottled.java @@ -15,7 +15,7 @@ import forestry.api.apiculture.IBeeHousing; import forestry.api.genetics.IEffectData; import forestry.core.genetics.EffectData; -public abstract class AlleleEffectThrottled extends AlleleEffectNone { +public abstract class AlleleEffectThrottled extends AlleleEffect { private boolean isCombinable = false; private final int throttle; diff --git a/src/main/java/forestry/arboriculture/GuiHandlerArboriculture.java b/src/main/java/forestry/arboriculture/GuiHandlerArboriculture.java index 9350a7326..b7c9d4556 100755 --- a/src/main/java/forestry/arboriculture/GuiHandlerArboriculture.java +++ b/src/main/java/forestry/arboriculture/GuiHandlerArboriculture.java @@ -14,7 +14,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import forestry.arboriculture.genetics.TreeHelper; +import forestry.api.arboriculture.TreeManager; import forestry.arboriculture.gui.GuiTreealyzer; import forestry.arboriculture.items.ItemTreealyzer.TreealyzerInventory; import forestry.core.GuiHandlerBase; @@ -34,7 +34,7 @@ public class GuiHandlerArboriculture extends GuiHandlerBase { switch (GuiId.values()[cleanId]) { case ArboristChestGUI: - return this.getNaturalistChestContainer(TreeHelper.UID, player, world, x, y, z, decodeGuiData(id)); + return this.getNaturalistChestContainer(TreeManager.treeRoot, player, world, x, y, z, decodeGuiData(id)); case TreealyzerGUI: ItemStack equipped = player.getCurrentEquippedItem(); @@ -62,7 +62,7 @@ public class GuiHandlerArboriculture extends GuiHandlerBase { switch (GuiId.values()[cleanId]) { case ArboristChestGUI: - return this.getNaturalistChestGui(TreeHelper.UID, player, world, x, y, z, decodeGuiData(id)); + return this.getNaturalistChestGui(TreeManager.treeRoot, player, world, x, y, z, decodeGuiData(id)); case TreealyzerGUI: ItemStack equipped = player.getCurrentEquippedItem(); diff --git a/src/main/java/forestry/arboriculture/blocks/BlockForestryLeaves.java b/src/main/java/forestry/arboriculture/blocks/BlockForestryLeaves.java index 22302df84..86f1cef09 100644 --- a/src/main/java/forestry/arboriculture/blocks/BlockForestryLeaves.java +++ b/src/main/java/forestry/arboriculture/blocks/BlockForestryLeaves.java @@ -48,6 +48,7 @@ import forestry.api.arboriculture.ITree; import forestry.api.arboriculture.TreeManager; import forestry.api.core.IToolScoop; import forestry.api.core.Tabs; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumFlutterType; import forestry.api.lepidopterology.IButterfly; import forestry.arboriculture.LeafDecayHelper; @@ -58,7 +59,6 @@ import forestry.arboriculture.tiles.TileLeaves; import forestry.core.proxy.Proxies; import forestry.core.utils.ItemStackUtil; import forestry.plugins.PluginArboriculture; -import forestry.plugins.PluginLepidopterology; public class BlockForestryLeaves extends BlockNewLeaf implements ITileEntityProvider, IGrowable { @@ -340,7 +340,7 @@ public class BlockForestryLeaves extends BlockNewLeaf implements ITileEntityProv TileEntity tile = world.getTileEntity(x, y, z); IButterfly caterpillar = tile instanceof TileLeaves ? ((TileLeaves) tile).getCaterpillar() : null; if (heldItem != null && (heldItem.getItem() instanceof IToolScoop) && caterpillar != null) { - ItemStack butterfly = PluginLepidopterology.butterflyInterface.getMemberStack(caterpillar, EnumFlutterType.CATERPILLAR.ordinal()); + ItemStack butterfly = ButterflyManager.butterflyRoot.getMemberStack(caterpillar, EnumFlutterType.CATERPILLAR.ordinal()); ItemStackUtil.dropItemStackAsEntity(butterfly, world, x, y, z); ((TileLeaves) tile).setCaterpillar(null); return true; diff --git a/src/main/java/forestry/arboriculture/genetics/Tree.java b/src/main/java/forestry/arboriculture/genetics/Tree.java index 5b2ad3aeb..116fcfc4f 100755 --- a/src/main/java/forestry/arboriculture/genetics/Tree.java +++ b/src/main/java/forestry/arboriculture/genetics/Tree.java @@ -48,11 +48,11 @@ import forestry.api.genetics.IChromosome; import forestry.api.genetics.IEffectData; import forestry.api.genetics.IFruitFamily; import forestry.api.genetics.IMutation; +import forestry.arboriculture.genetics.alleles.AlleleFruit; import forestry.arboriculture.tiles.TileLeaves; import forestry.core.config.Config; import forestry.core.genetics.Chromosome; import forestry.core.genetics.Individual; -import forestry.core.genetics.alleles.Allele; import forestry.core.tiles.TileUtil; import forestry.core.utils.StringUtil; @@ -328,7 +328,7 @@ public class Tree extends Individual implements ITree, IPlantable { } IAllele fruit = getGenome().getActiveAllele(EnumTreeChromosome.FRUITS); - if (fruit != Allele.fruitNone) { + if (fruit != AlleleFruit.fruitNone) { String strike = ""; if (!canBearFruit()) { strike = EnumChatFormatting.STRIKETHROUGH.toString(); diff --git a/src/main/java/forestry/arboriculture/genetics/TreeBranchDefinition.java b/src/main/java/forestry/arboriculture/genetics/TreeBranchDefinition.java index d8cd4bb12..6356cebe2 100644 --- a/src/main/java/forestry/arboriculture/genetics/TreeBranchDefinition.java +++ b/src/main/java/forestry/arboriculture/genetics/TreeBranchDefinition.java @@ -21,8 +21,12 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IAlleleRegistry; import forestry.api.genetics.IClassification; import forestry.api.genetics.IClassification.EnumClassLevel; +import forestry.arboriculture.genetics.alleles.AlleleFruit; +import forestry.arboriculture.genetics.alleles.AlleleGrowth; +import forestry.arboriculture.genetics.alleles.AlleleLeafEffect; import forestry.core.genetics.IBranchDefinition; -import forestry.core.genetics.alleles.Allele; +import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.AllelePlantType; import forestry.core.genetics.alleles.EnumAllele; public enum TreeBranchDefinition implements IBranchDefinition { @@ -81,18 +85,18 @@ public enum TreeBranchDefinition implements IBranchDefinition { if (defaultTemplate == null) { defaultTemplate = new IAllele[EnumTreeChromosome.values().length]; - Allele.helper.set(defaultTemplate, EnumTreeChromosome.FRUITS, Allele.fruitNone); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.GROWTH, Allele.growthLightlevel); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWEST); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.PLANT, Allele.plantTypeNone); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.EFFECT, Allele.leavesNone); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.AVERAGE); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.GIRTH, 1); - Allele.helper.set(defaultTemplate, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.FALSE); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.FRUITS, AlleleFruit.fruitNone); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.GROWTH, AlleleGrowth.growthLightlevel); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWEST); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.PLANT, AllelePlantType.plantTypeNone); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.EFFECT, AlleleLeafEffect.leavesNone); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.AVERAGE); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.GIRTH, 1); + AlleleHelper.instance.set(defaultTemplate, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.FALSE); } return Arrays.copyOf(defaultTemplate, defaultTemplate.length); } diff --git a/src/main/java/forestry/arboriculture/genetics/TreeDefinition.java b/src/main/java/forestry/arboriculture/genetics/TreeDefinition.java index 4476f6ab1..bd024ed55 100644 --- a/src/main/java/forestry/arboriculture/genetics/TreeDefinition.java +++ b/src/main/java/forestry/arboriculture/genetics/TreeDefinition.java @@ -41,6 +41,8 @@ import forestry.api.core.EnumTemperature; import forestry.api.genetics.IAllele; import forestry.api.world.ITreeGenData; import forestry.arboriculture.blocks.BlockForestryLeaves; +import forestry.arboriculture.genetics.alleles.AlleleFruit; +import forestry.arboriculture.genetics.alleles.AlleleGrowth; import forestry.arboriculture.render.IconProviderGermling; import forestry.arboriculture.render.IconProviderGermlingVanilla; import forestry.arboriculture.render.IconProviderLeaves; @@ -83,8 +85,9 @@ import forestry.arboriculture.worldgen.WorldGenWillow; import forestry.arboriculture.worldgen.WorldGenZebrawood; import forestry.core.config.Constants; import forestry.core.config.ForestryBlock; -import forestry.core.genetics.alleles.Allele; import forestry.core.genetics.alleles.AlleleBoolean; +import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.AllelePlantType; import forestry.core.genetics.alleles.EnumAllele; public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @@ -96,9 +99,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitApple); - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitApple); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); } @Override @@ -119,9 +122,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2); } @Override @@ -142,8 +145,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); } @Override @@ -164,9 +167,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER); //Allele.helper.set(alleles, EnumTreeChromosome.EFFECT, Allele.leavesBrimstone); } @@ -197,12 +200,12 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitWalnut); - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitWalnut); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2); } @Override @@ -225,11 +228,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitChestnut); - Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitChestnut); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2); } @Override @@ -252,11 +255,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitCherry); - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitCherry); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLER); } @Override @@ -279,10 +282,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitLemon); - Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitLemon); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST); } @Override @@ -304,10 +307,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitPlum); - Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.HIGH); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitPlum); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.HIGH); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALLEST); } @Override @@ -329,9 +332,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); } @Override @@ -352,9 +355,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); } @Override @@ -375,9 +378,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); } @Override @@ -399,9 +402,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); } @Override @@ -422,11 +425,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 3); - Allele.helper.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 3); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE); } @Override @@ -447,11 +450,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.GIGANTIC); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 4); - Allele.helper.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.GIGANTIC); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 4); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FIREPROOF, EnumAllele.Fireproof.TRUE); } @Override @@ -472,9 +475,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitCocoa); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGER); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FAST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitCocoa); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FAST); } @Override @@ -495,7 +498,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); } @Override @@ -516,9 +519,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2); } @Override @@ -540,9 +543,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); } @Override @@ -564,10 +567,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 3); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 3); } @Override @@ -588,8 +591,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2); } @Override @@ -610,10 +613,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2); } @Override @@ -657,7 +660,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.PLANT, Allele.plantTypeDesert); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.PLANT, AllelePlantType.plantTypeDesert); } @Override @@ -678,8 +681,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); } @Override @@ -701,9 +704,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.HIGH); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.HIGH); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); } @Override @@ -724,7 +727,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGEST); } @Override @@ -746,8 +749,8 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWEST); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 2); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOWEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 2); } @Override @@ -769,11 +772,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); - Allele.helper.set(alleles, EnumTreeChromosome.PLANT, Allele.plantTypeDesert); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); - Allele.helper.set(alleles, EnumTreeChromosome.GIRTH, 3); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.PLANT, AllelePlantType.plantTypeDesert); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GIRTH, 3); } @Override @@ -796,9 +799,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.HIGH); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.HIGH); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWEST); } @Override @@ -821,9 +824,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.FASTER); } @Override @@ -852,10 +855,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.GROWTH, Allele.growthTropical); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.GROWTH, AlleleGrowth.growthTropical); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.LARGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOW); } @Override @@ -879,10 +882,10 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitPapaya); - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitPapaya); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); } @Override @@ -904,11 +907,11 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.FRUITS, Allele.fruitDates); - Allele.helper.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FRUITS, AlleleFruit.fruitDates); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.FERTILITY, EnumAllele.Saplings.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.YIELD, EnumAllele.Yield.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.AVERAGE); } @Override @@ -930,9 +933,9 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { @Override protected void setAlleles(IAllele[] alleles) { - Allele.helper.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL); - Allele.helper.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); - Allele.helper.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.HEIGHT, EnumAllele.Height.SMALL); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.SAPPINESS, EnumAllele.Sappiness.LOW); + AlleleHelper.instance.set(alleles, EnumTreeChromosome.MATURATION, EnumAllele.Maturation.SLOWER); } @Override @@ -1058,7 +1061,7 @@ public enum TreeDefinition implements ITreeDefinition, ITreeGenerator { setSpeciesProperties(species); template = branch.getTemplate(); - Allele.helper.set(template, EnumTreeChromosome.SPECIES, species); + AlleleHelper.instance.set(template, EnumTreeChromosome.SPECIES, species); setAlleles(template); genome = TreeManager.treeRoot.templateAsGenome(template); diff --git a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleFruit.java b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleFruit.java index be3f40786..ac9acfd3a 100644 --- a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleFruit.java +++ b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleFruit.java @@ -16,6 +16,19 @@ import forestry.core.genetics.alleles.AlleleCategorized; public class AlleleFruit extends AlleleCategorized implements IAlleleFruit { + public static IAlleleFruit fruitNone; + public static IAlleleFruit fruitApple; + public static IAlleleFruit fruitCocoa; + public static IAlleleFruit fruitChestnut; + public static IAlleleFruit fruitCoconut; + public static IAlleleFruit fruitWalnut; + public static IAlleleFruit fruitCherry; + public static IAlleleFruit fruitDates; + public static IAlleleFruit fruitPapaya; + public static IAlleleFruit fruitLemon; + public static IAlleleFruit fruitPlum; + public static IAlleleFruit fruitJujube; + private final IFruitProvider provider; public AlleleFruit(String name, IFruitProvider provider) { diff --git a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleGrowth.java b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleGrowth.java index 414c44df7..45eb0d444 100644 --- a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleGrowth.java +++ b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleGrowth.java @@ -16,6 +16,10 @@ import forestry.core.genetics.alleles.AlleleCategorized; public class AlleleGrowth extends AlleleCategorized implements IAlleleGrowth { + public static IAlleleGrowth growthLightlevel; + public static IAlleleGrowth growthAcacia; + public static IAlleleGrowth growthTropical; + private final IGrowthProvider provider; public AlleleGrowth(String name, IGrowthProvider provider) { diff --git a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleLeafEffect.java b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleLeafEffect.java new file mode 100644 index 000000000..21f87a2fb --- /dev/null +++ b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleLeafEffect.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.arboriculture.genetics.alleles; + +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +import forestry.api.arboriculture.IAlleleLeafEffect; +import forestry.api.arboriculture.ITreeGenome; +import forestry.api.genetics.IEffectData; +import forestry.core.genetics.alleles.Allele; +import forestry.core.genetics.alleles.AlleleCategorized; +import forestry.core.utils.vect.Vect; + +public class AlleleLeafEffect extends AlleleCategorized implements IAlleleLeafEffect { + private static final int[] DEFAULT_EFFECT_AREA = new int[]{12, 12, 12}; + + public static Allele leavesNone; + + protected AlleleLeafEffect(String valueName, boolean isDominant) { + super("forestry", "leaves", valueName, isDominant); + } + + @Override + public boolean isCombinable() { + return true; + } + + @Override + public IEffectData validateStorage(IEffectData storedData) { + return storedData; + } + + @Override + public IEffectData doEffect(ITreeGenome genome, IEffectData storedData, World world, int x, int y, int z) { + return storedData; + } + + protected static AxisAlignedBB getBounding(int x, int y, int z, float modifier) { + int[] areaAr = DEFAULT_EFFECT_AREA; + Vect area = new Vect(areaAr).multiply(modifier); + Vect offset = area.multiply(-1 / 2.0f); + + Vect min = offset.add(x, y, z); + Vect max = min.add(area); + + return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z); + } +} diff --git a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleLeafEffectNone.java b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleLeafEffectNone.java index 5c1680125..ee2eeff6a 100644 --- a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleLeafEffectNone.java +++ b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleLeafEffectNone.java @@ -10,52 +10,13 @@ ******************************************************************************/ package forestry.arboriculture.genetics.alleles; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -import forestry.api.arboriculture.IAlleleLeafEffect; -import forestry.api.arboriculture.ITreeGenome; -import forestry.api.genetics.IEffectData; -import forestry.core.genetics.alleles.AlleleCategorized; -import forestry.core.utils.vect.Vect; - -public class AlleleLeafEffectNone extends AlleleCategorized implements IAlleleLeafEffect { - - private static final int[] DEFAULT_EFFECT_AREA = new int[]{12, 12, 12}; - +public class AlleleLeafEffectNone extends AlleleLeafEffect { public AlleleLeafEffectNone() { - super("forestry", "leaves", "none", true); - } - - @Override - public boolean isCombinable() { - return true; - } - - @Override - public IEffectData validateStorage(IEffectData storedData) { - return storedData; + super("none", true); } @Override public String getUnlocalizedName() { return "for.arboriculture.effect.none"; } - - @Override - public IEffectData doEffect(ITreeGenome genome, IEffectData storedData, World world, int x, int y, int z) { - return storedData; - } - - protected static AxisAlignedBB getBounding(int x, int y, int z, float modifier) { - int[] areaAr = DEFAULT_EFFECT_AREA; - Vect area = new Vect(areaAr).multiply(modifier); - Vect offset = area.multiply(-1 / 2.0f); - - Vect min = offset.add(x, y, z); - Vect max = min.add(area); - - return AxisAlignedBB.getBoundingBox(min.x, min.y, min.z, max.x, max.y, max.z); - } - } diff --git a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleTreeSpecies.java b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleTreeSpecies.java index 2da4373d1..5635ab400 100644 --- a/src/main/java/forestry/arboriculture/genetics/alleles/AlleleTreeSpecies.java +++ b/src/main/java/forestry/arboriculture/genetics/alleles/AlleleTreeSpecies.java @@ -46,7 +46,7 @@ public class AlleleTreeSpecies extends AlleleSpecies implements IAlleleTreeSpeci private EnumPlantType nativeType = EnumPlantType.Plains; public AlleleTreeSpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, boolean isDominant, IClassification branch, String binomial, ILeafIconProvider leafIconProvider, IGermlingIconProvider germlingIconProvider, ITreeGenerator generator) { - super(uid, unlocalizedName, authority, unlocalizedDescription, isDominant, branch, binomial, false); + super(uid, unlocalizedName, authority, unlocalizedDescription, isDominant, branch, binomial); this.generator = generator; this.germlingIconProvider = germlingIconProvider; diff --git a/src/main/java/forestry/arboriculture/gui/GuiTreealyzer.java b/src/main/java/forestry/arboriculture/gui/GuiTreealyzer.java index 291516b78..72ff0f25f 100755 --- a/src/main/java/forestry/arboriculture/gui/GuiTreealyzer.java +++ b/src/main/java/forestry/arboriculture/gui/GuiTreealyzer.java @@ -32,10 +32,10 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IAlleleInteger; import forestry.api.genetics.IFruitFamily; import forestry.arboriculture.genetics.TreeGenome; +import forestry.arboriculture.genetics.alleles.AlleleFruit; import forestry.arboriculture.items.ItemGermlingGE; import forestry.arboriculture.items.ItemTreealyzer.TreealyzerInventory; import forestry.core.config.ForestryItem; -import forestry.core.genetics.alleles.Allele; import forestry.core.genetics.alleles.AlleleBoolean; import forestry.core.genetics.alleles.AllelePlantType; import forestry.core.gui.ContainerAlyzer; @@ -240,14 +240,14 @@ public class GuiTreealyzer extends GuiAlyzer { drawLine(StringUtil.localize("gui.fruits"), COLUMN_0); String strike = ""; IAllele fruit0 = tree.getGenome().getActiveAllele(EnumTreeChromosome.FRUITS); - if (!tree.canBearFruit() && fruit0 != Allele.fruitNone) { + if (!tree.canBearFruit() && fruit0 != AlleleFruit.fruitNone) { strike = EnumChatFormatting.STRIKETHROUGH.toString(); } drawLine(strike + StringUtil.localize(tree.getGenome().getFruitProvider().getDescription()), COLUMN_1, fruitDominance0); strike = ""; IAllele fruit1 = tree.getGenome().getInactiveAllele(EnumTreeChromosome.FRUITS); - if (!tree.getGenome().getSecondary().getSuitableFruit().contains(((IAlleleFruit) fruit1).getProvider().getFamily()) && fruit1 != Allele.fruitNone) { + if (!tree.getGenome().getSecondary().getSuitableFruit().contains(((IAlleleFruit) fruit1).getProvider().getFamily()) && fruit1 != AlleleFruit.fruitNone) { strike = EnumChatFormatting.STRIKETHROUGH.toString(); } drawLine(strike + StringUtil.localize(((IAlleleFruit) fruit1).getProvider().getDescription()), COLUMN_2, fruitDominance1); diff --git a/src/main/java/forestry/arboriculture/tiles/TileArboristChest.java b/src/main/java/forestry/arboriculture/tiles/TileArboristChest.java index 65c75e9e6..135a63521 100644 --- a/src/main/java/forestry/arboriculture/tiles/TileArboristChest.java +++ b/src/main/java/forestry/arboriculture/tiles/TileArboristChest.java @@ -10,14 +10,13 @@ ******************************************************************************/ package forestry.arboriculture.tiles; -import forestry.api.genetics.AlleleManager; -import forestry.arboriculture.genetics.TreeHelper; +import forestry.api.arboriculture.TreeManager; import forestry.core.network.GuiId; import forestry.core.tiles.TileNaturalistChest; public class TileArboristChest extends TileNaturalistChest { public TileArboristChest() { - super(AlleleManager.alleleRegistry.getSpeciesRoot(TreeHelper.UID), GuiId.ArboristChestGUI.ordinal()); + super(TreeManager.treeRoot, GuiId.ArboristChestGUI.ordinal()); } diff --git a/src/main/java/forestry/arboriculture/tiles/TileLeaves.java b/src/main/java/forestry/arboriculture/tiles/TileLeaves.java index e16e87f5c..a7686d3c9 100644 --- a/src/main/java/forestry/arboriculture/tiles/TileLeaves.java +++ b/src/main/java/forestry/arboriculture/tiles/TileLeaves.java @@ -52,9 +52,9 @@ import forestry.api.lepidopterology.IButterflyNursery; import forestry.api.lepidopterology.IButterflyRoot; import forestry.arboriculture.genetics.Tree; import forestry.arboriculture.genetics.TreeDefinition; +import forestry.arboriculture.genetics.alleles.AlleleFruit; import forestry.arboriculture.network.IRipeningPacketReceiver; import forestry.arboriculture.network.PacketRipeningUpdate; -import forestry.core.genetics.alleles.Allele; import forestry.core.network.DataInputStreamForestry; import forestry.core.network.DataOutputStreamForestry; import forestry.core.network.PacketTileStream; @@ -227,7 +227,7 @@ public class TileLeaves extends TileTreeContainer implements IPollinatable, IFru isFruitLeaf = fruitProvider.markAsFruitLeaf(genome, worldObj, xCoord, yCoord, zCoord); if (isFruitLeaf) { // Hardcoded because vanilla oak trees don't show fruits. - if ((species == TreeDefinition.Oak.getGenome().getPrimary()) && (fruitProvider == Allele.fruitApple.getProvider())) { + if ((species == TreeDefinition.Oak.getGenome().getPrimary()) && (fruitProvider == AlleleFruit.fruitApple.getProvider())) { textureIndexFruits = -1; } else { textureIndexFruits = fruitProvider.getIconIndex(genome, worldObj, xCoord, yCoord, zCoord, getRipeningTime(), true); diff --git a/src/main/java/forestry/core/GuiHandlerBase.java b/src/main/java/forestry/core/GuiHandlerBase.java index 874bb87d7..f7b258255 100755 --- a/src/main/java/forestry/core/GuiHandlerBase.java +++ b/src/main/java/forestry/core/GuiHandlerBase.java @@ -16,7 +16,6 @@ import net.minecraft.world.World; import cpw.mods.fml.common.network.IGuiHandler; -import forestry.api.genetics.AlleleManager; import forestry.api.genetics.ISpeciesRoot; import forestry.core.gui.ContainerNaturalistInventory; import forestry.core.gui.GuiNaturalistInventory; @@ -39,14 +38,12 @@ public abstract class GuiHandlerBase implements IGuiHandler { return tileForestry; } - protected GuiNaturalistInventory getNaturalistChestGui(String rootUID, EntityPlayer player, World world, int x, int y, int z, int page) { + protected GuiNaturalistInventory getNaturalistChestGui(ISpeciesRoot speciesRoot, EntityPlayer player, World world, int x, int y, int z, int page) { TileNaturalistChest tile = getTile(world, x, y, z, player, TileNaturalistChest.class); - ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(rootUID); return new GuiNaturalistInventory(speciesRoot, player, new ContainerNaturalistInventory(player.inventory, tile, page), tile, page, 5); } - protected ContainerNaturalistInventory getNaturalistChestContainer(String rootUID, EntityPlayer player, World world, int x, int y, int z, int page) { - ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(rootUID); + protected ContainerNaturalistInventory getNaturalistChestContainer(ISpeciesRoot speciesRoot, EntityPlayer player, World world, int x, int y, int z, int page) { speciesRoot.getBreedingTracker(world, player.getGameProfile()).synchToPlayer(player); return new ContainerNaturalistInventory(player.inventory, getTile(world, x, y, z, player, TileNaturalistChest.class), page); } diff --git a/src/main/java/forestry/core/config/Constants.java b/src/main/java/forestry/core/config/Constants.java index 0c2dd6487..732f1638c 100644 --- a/src/main/java/forestry/core/config/Constants.java +++ b/src/main/java/forestry/core/config/Constants.java @@ -10,16 +10,12 @@ ******************************************************************************/ package forestry.core.config; -import java.util.Locale; - -import net.minecraftforge.oredict.OreDictionary; - import forestry.api.core.IForestryConstants; public class Constants implements IForestryConstants { // System public static final String MOD = "Forestry"; - public static final String ID = MOD.toLowerCase(Locale.ENGLISH); + public static final String ID = "forestry"; public static final String URL = "http://forestry.sengir.net/"; public static final int WORLD_HEIGHT = 256; diff --git a/src/main/java/forestry/core/genetics/alleles/Allele.java b/src/main/java/forestry/core/genetics/alleles/Allele.java index f1a37c73d..4fcde88cd 100644 --- a/src/main/java/forestry/core/genetics/alleles/Allele.java +++ b/src/main/java/forestry/core/genetics/alleles/Allele.java @@ -10,17 +10,10 @@ ******************************************************************************/ package forestry.core.genetics.alleles; -import java.util.EnumSet; - import net.minecraft.util.StatCollector; -import net.minecraftforge.common.EnumPlantType; - -import forestry.api.arboriculture.IAlleleFruit; -import forestry.api.arboriculture.IAlleleGrowth; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; -import forestry.api.lepidopterology.IAlleleButterflySpecies; public abstract class Allele implements IAllele { @@ -52,107 +45,6 @@ public abstract class Allele implements IAllele { return isDominant; } - public static AlleleHelper helper; - - /// BUTTERFLIES // SPECIES - // Moths - public static IAlleleButterflySpecies mothBrimstone; - public static IAlleleButterflySpecies mothLatticedHeath; - public static IAlleleButterflySpecies mothAtlas; - - // Butterflies - public static IAlleleButterflySpecies lepiCabbageWhite; - public static IAlleleButterflySpecies lepiGlasswing; - public static IAlleleButterflySpecies lepiEmeraldPeacock; - public static IAlleleButterflySpecies lepiThoasSwallow; - public static IAlleleButterflySpecies lepiCitrusSwallow; - public static IAlleleButterflySpecies lepiZebraSwallow; - public static IAlleleButterflySpecies lepiBlackSwallow; - public static IAlleleButterflySpecies lepiDianaFrit; - - public static IAlleleButterflySpecies lepiSpeckledWood; - public static IAlleleButterflySpecies lepiMadeiranSpeckledWood; - public static IAlleleButterflySpecies lepiCanarySpeckledWood; - - public static IAlleleButterflySpecies lepiMenelausBlueMorpho; - public static IAlleleButterflySpecies lepiPeleidesBlueMorpho; - public static IAlleleButterflySpecies lepiRhetenorBlueMorpho; - - public static IAlleleButterflySpecies lepiBrimstone; - public static IAlleleButterflySpecies lepiAurora; - public static IAlleleButterflySpecies lepiPostillion; - public static IAlleleButterflySpecies lepiPalaenoSulphur; - public static IAlleleButterflySpecies lepiReseda; - public static IAlleleButterflySpecies lepiSpringAzure; - public static IAlleleButterflySpecies lepiGozoraAzure; - public static IAlleleButterflySpecies lepiComma; - public static IAlleleButterflySpecies lepiBatesia; - public static IAlleleButterflySpecies lepiBlueWing; - - public static IAlleleButterflySpecies lepiMonarch; - public static IAlleleButterflySpecies lepiBlueDuke; - public static IAlleleButterflySpecies lepiGlassyTiger; - public static IAlleleButterflySpecies lepiPostman; - public static IAlleleButterflySpecies lepiSpicebush; - public static IAlleleButterflySpecies lepiMalachite; - public static IAlleleButterflySpecies lepiLLacewing; - - // / TREES // GROWTH PROVIDER 1350 - 1399 - public static IAlleleGrowth growthLightlevel; - public static IAlleleGrowth growthAcacia; - public static IAlleleGrowth growthTropical; - - // TREES FRUIT PROVIDERS - public static IAlleleFruit fruitNone; - public static IAlleleFruit fruitApple; - public static IAlleleFruit fruitCocoa; - public static IAlleleFruit fruitChestnut; - public static IAlleleFruit fruitCoconut; - public static IAlleleFruit fruitWalnut; - public static IAlleleFruit fruitCherry; - public static IAlleleFruit fruitDates; - public static IAlleleFruit fruitPapaya; - public static IAlleleFruit fruitLemon; - public static IAlleleFruit fruitPlum; - public static IAlleleFruit fruitJujube; - - // / BEES // EFFECTS 1800 - 1899 - public static Allele effectNone; - public static Allele effectAggressive; - public static Allele effectHeroic; - public static Allele effectBeatific; - public static Allele effectMiasmic; - public static Allele effectMisanthrope; - public static Allele effectGlacial; - public static Allele effectRadioactive; - public static Allele effectCreeper; - public static Allele effectIgnition; - public static Allele effectExploration; - public static Allele effectFestiveEaster; - public static Allele effectSnowing; - public static Allele effectDrunkard; - public static Allele effectReanimation; - public static Allele effectResurrection; - public static Allele effectRepulsion; - public static Allele effectFertile; - public static Allele effectMycophilic; - - // / TREES // EFFECTS - public static Allele leavesNone; - - // / BUTTERFLIES // EFFECTS - public static Allele butterflyNone; - - // These are "secondary" plant attributes, i.e. the tree can double as one. - public static final Allele plantTypeNone = new AllelePlantType("none", EnumSet.noneOf(EnumPlantType.class), true); - public static final Allele plantTypePlains = new AllelePlantType(EnumPlantType.Plains); - public static final Allele plantTypeDesert = new AllelePlantType(EnumPlantType.Desert); - public static final Allele plantTypeBeach = new AllelePlantType(EnumPlantType.Beach); - public static final Allele plantTypeCave = new AllelePlantType(EnumPlantType.Cave); - public static final Allele plantTypeWater = new AllelePlantType(EnumPlantType.Water); - public static final Allele plantTypeNether = new AllelePlantType(EnumPlantType.Nether); - public static final Allele plantTypeCrop = new AllelePlantType(EnumPlantType.Crop); - @Override public String getName() { return StatCollector.translateToLocal(getUnlocalizedName()); diff --git a/src/main/java/forestry/core/genetics/alleles/AlleleCategorized.java b/src/main/java/forestry/core/genetics/alleles/AlleleCategorized.java index 00d326a99..bd9404646 100644 --- a/src/main/java/forestry/core/genetics/alleles/AlleleCategorized.java +++ b/src/main/java/forestry/core/genetics/alleles/AlleleCategorized.java @@ -13,7 +13,7 @@ import net.minecraft.util.StatCollector; * and can fall back on generic names like * forestry.allele.fast */ -public class AlleleCategorized extends Allele { +public abstract class AlleleCategorized extends Allele { protected AlleleCategorized(String modId, String category, String valueName, boolean isDominant) { super(getUid(modId, category, valueName), getUnlocalizedName(modId, category, valueName), isDominant, true); } diff --git a/src/main/java/forestry/core/genetics/alleles/AlleleFactory.java b/src/main/java/forestry/core/genetics/alleles/AlleleFactory.java index 73befaf9f..464df142e 100644 --- a/src/main/java/forestry/core/genetics/alleles/AlleleFactory.java +++ b/src/main/java/forestry/core/genetics/alleles/AlleleFactory.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ package forestry.core.genetics.alleles; import forestry.api.genetics.IAlleleArea; diff --git a/src/main/java/forestry/core/genetics/alleles/AlleleHelper.java b/src/main/java/forestry/core/genetics/alleles/AlleleHelper.java index e7a2cbb41..0c525db96 100644 --- a/src/main/java/forestry/core/genetics/alleles/AlleleHelper.java +++ b/src/main/java/forestry/core/genetics/alleles/AlleleHelper.java @@ -22,12 +22,14 @@ import forestry.api.genetics.IAlleleBoolean; import forestry.api.genetics.IAlleleInteger; import forestry.api.genetics.IChromosomeType; import forestry.apiculture.flowers.FlowerProvider; +import forestry.core.config.Constants; import forestry.core.utils.vect.IVect; import forestry.plugins.PluginManager; public class AlleleHelper implements IAlleleHelper { - private static final String modId = "forestry"; + private static final String modId = Constants.ID; + public static AlleleHelper instance; private final Map> alleleMaps = new HashMap<>(); diff --git a/src/main/java/forestry/core/genetics/alleles/AllelePlantType.java b/src/main/java/forestry/core/genetics/alleles/AllelePlantType.java index 00b844a8a..bede51470 100644 --- a/src/main/java/forestry/core/genetics/alleles/AllelePlantType.java +++ b/src/main/java/forestry/core/genetics/alleles/AllelePlantType.java @@ -19,6 +19,15 @@ import forestry.api.genetics.IAllelePlantType; public class AllelePlantType extends AlleleCategorized implements IAllelePlantType { + public static final Allele plantTypeNone = new AllelePlantType("none", EnumSet.noneOf(EnumPlantType.class), true); + public static final Allele plantTypePlains = new AllelePlantType(EnumPlantType.Plains); + public static final Allele plantTypeDesert = new AllelePlantType(EnumPlantType.Desert); + public static final Allele plantTypeBeach = new AllelePlantType(EnumPlantType.Beach); + public static final Allele plantTypeCave = new AllelePlantType(EnumPlantType.Cave); + public static final Allele plantTypeWater = new AllelePlantType(EnumPlantType.Water); + public static final Allele plantTypeNether = new AllelePlantType(EnumPlantType.Nether); + public static final Allele plantTypeCrop = new AllelePlantType(EnumPlantType.Crop); + private final EnumSet types; protected AllelePlantType(EnumPlantType type) { diff --git a/src/main/java/forestry/core/genetics/alleles/AlleleSpecies.java b/src/main/java/forestry/core/genetics/alleles/AlleleSpecies.java index f3f025702..22923cdbc 100644 --- a/src/main/java/forestry/core/genetics/alleles/AlleleSpecies.java +++ b/src/main/java/forestry/core/genetics/alleles/AlleleSpecies.java @@ -46,18 +46,13 @@ public abstract class AlleleSpecies extends Allele implements IAlleleSpeciesCust private EnumTemperature climate = EnumTemperature.NORMAL; private EnumHumidity humidity = EnumHumidity.NORMAL; - protected AlleleSpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, boolean isDominant, IClassification branch, String binomial, boolean doRegister) { + protected AlleleSpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, boolean isDominant, IClassification branch, String binomial) { super(uid, unlocalizedName, isDominant, false); this.branch = branch; this.binomial = binomial; this.description = StatCollector.translateToLocal(unlocalizedDescription); this.authority = authority; - - // FIXME: do not register here - if (doRegister) { - AlleleManager.alleleRegistry.registerAllele(this); - } } @Override diff --git a/src/main/java/forestry/core/recipes/nei/NEIIntegrationConfig.java b/src/main/java/forestry/core/recipes/nei/NEIIntegrationConfig.java index c670810fc..9bab96391 100644 --- a/src/main/java/forestry/core/recipes/nei/NEIIntegrationConfig.java +++ b/src/main/java/forestry/core/recipes/nei/NEIIntegrationConfig.java @@ -16,6 +16,7 @@ import forestry.api.apiculture.BeeManager; import forestry.api.apiculture.EnumBeeType; import forestry.api.arboriculture.EnumGermlingType; import forestry.api.arboriculture.TreeManager; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumFlutterType; import forestry.core.utils.Log; import forestry.factory.gui.GuiWorktable; @@ -27,7 +28,6 @@ import forestry.factory.recipes.nei.NEIHandlerFermenter; import forestry.factory.recipes.nei.NEIHandlerMoistener; import forestry.factory.recipes.nei.NEIHandlerSqueezer; import forestry.factory.recipes.nei.NEIHandlerStill; -import forestry.plugins.PluginLepidopterology; import codechicken.nei.api.API; import codechicken.nei.api.IConfigureNEI; @@ -59,9 +59,9 @@ public class NEIIntegrationConfig implements IConfigureNEI { API.addSubset("Forestry.Trees.Saplings", new ItemFilterGenetic(TreeManager.treeRoot, EnumGermlingType.SAPLING.ordinal(), true)); API.addSubset("Forestry.Trees.Pollen", new ItemFilterGenetic(TreeManager.treeRoot, EnumGermlingType.POLLEN.ordinal(), true)); - API.addSubset("Forestry.Butterflies.Butterflies", new ItemFilterGenetic(PluginLepidopterology.butterflyInterface, EnumFlutterType.BUTTERFLY.ordinal(), true)); - API.addSubset("Forestry.Butterflies.Caterpillars", new ItemFilterGenetic(PluginLepidopterology.butterflyInterface, EnumFlutterType.CATERPILLAR.ordinal(), true)); - API.addSubset("Forestry.Butterflies.Serum", new ItemFilterGenetic(PluginLepidopterology.butterflyInterface, EnumFlutterType.SERUM.ordinal(), true)); + API.addSubset("Forestry.Butterflies.Butterflies", new ItemFilterGenetic(ButterflyManager.butterflyRoot, EnumFlutterType.BUTTERFLY.ordinal(), true)); + API.addSubset("Forestry.Butterflies.Caterpillars", new ItemFilterGenetic(ButterflyManager.butterflyRoot, EnumFlutterType.CATERPILLAR.ordinal(), true)); + API.addSubset("Forestry.Butterflies.Serum", new ItemFilterGenetic(ButterflyManager.butterflyRoot, EnumFlutterType.SERUM.ordinal(), true)); API.addSubset("Forestry.Bees.Combs", OreDictionary.getOres("beeComb")); API.addSubset("Forestry.Blocks", new ItemFilterOther(false)); diff --git a/src/main/java/forestry/lepidopterology/ButterflySpawner.java b/src/main/java/forestry/lepidopterology/ButterflySpawner.java index 90d3f47bf..c08291e04 100755 --- a/src/main/java/forestry/lepidopterology/ButterflySpawner.java +++ b/src/main/java/forestry/lepidopterology/ButterflySpawner.java @@ -14,6 +14,7 @@ import net.minecraft.world.World; import forestry.api.arboriculture.ILeafTickHandler; import forestry.api.arboriculture.ITree; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.IButterfly; import forestry.core.utils.Log; import forestry.lepidopterology.entities.EntityButterfly; @@ -28,7 +29,7 @@ public class ButterflySpawner implements ILeafTickHandler { return false; } - IButterfly spawn = PluginLepidopterology.butterflyInterface.getIndividualTemplates().get(world.rand.nextInt(PluginLepidopterology.butterflyInterface.getIndividualTemplates().size())); + IButterfly spawn = ButterflyManager.butterflyRoot.getIndividualTemplates().get(world.rand.nextInt(ButterflyManager.butterflyRoot.getIndividualTemplates().size())); if (world.rand.nextFloat() >= spawn.getGenome().getPrimary().getRarity() * 0.5f) { return false; } @@ -55,7 +56,7 @@ public class ButterflySpawner implements ILeafTickHandler { } private static void attemptButterflySpawn(World world, IButterfly butterfly, double x, double y, double z) { - if (PluginLepidopterology.butterflyInterface.spawnButterflyInWorld(world, butterfly.copy(), x, y + 0.1f, z) != null) { + if (ButterflyManager.butterflyRoot.spawnButterflyInWorld(world, butterfly.copy(), x, y + 0.1f, z) != null) { Log.finest("Spawned a butterfly '%s' at %s/%s/%s.", butterfly.getDisplayName(), x, y, z); } } diff --git a/src/main/java/forestry/lepidopterology/GuiHandlerLepidopterology.java b/src/main/java/forestry/lepidopterology/GuiHandlerLepidopterology.java index 9a4f29e74..496fbc823 100755 --- a/src/main/java/forestry/lepidopterology/GuiHandlerLepidopterology.java +++ b/src/main/java/forestry/lepidopterology/GuiHandlerLepidopterology.java @@ -14,10 +14,10 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import forestry.api.lepidopterology.ButterflyManager; import forestry.core.GuiHandlerBase; import forestry.core.gui.ContainerAlyzer; import forestry.core.network.GuiId; -import forestry.lepidopterology.genetics.ButterflyHelper; import forestry.lepidopterology.gui.GuiFlutterlyzer; import forestry.lepidopterology.items.ItemFlutterlyzer.FlutterlyzerInventory; @@ -42,7 +42,7 @@ public class GuiHandlerLepidopterology extends GuiHandlerBase { return new ContainerAlyzer(new FlutterlyzerInventory(player, equipped), player); case LepidopteristChestGUI: - return getNaturalistChestContainer(ButterflyHelper.UID, player, world, x, y, z, guiData); + return getNaturalistChestContainer(ButterflyManager.butterflyRoot, player, world, x, y, z, guiData); default: return null; @@ -69,7 +69,7 @@ public class GuiHandlerLepidopterology extends GuiHandlerBase { return new GuiFlutterlyzer(player, new FlutterlyzerInventory(player, equipped)); case LepidopteristChestGUI: - return getNaturalistChestGui(ButterflyHelper.UID, player, world, x, y, z, guiData); + return getNaturalistChestGui(ButterflyManager.butterflyRoot, player, world, x, y, z, guiData); default: return null; diff --git a/src/main/java/forestry/lepidopterology/entities/EntityButterfly.java b/src/main/java/forestry/lepidopterology/entities/EntityButterfly.java index 37c238a8d..5ddfa6778 100755 --- a/src/main/java/forestry/lepidopterology/entities/EntityButterfly.java +++ b/src/main/java/forestry/lepidopterology/entities/EntityButterfly.java @@ -36,10 +36,12 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.arboriculture.EnumGermlingType; +import forestry.api.arboriculture.TreeManager; import forestry.api.core.IToolScoop; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; import forestry.api.genetics.IIndividual; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumFlutterType; import forestry.api.lepidopterology.IAlleleButterflySpecies; import forestry.api.lepidopterology.IButterfly; @@ -47,7 +49,6 @@ import forestry.api.lepidopterology.IEntityButterfly; import forestry.core.utils.ItemStackUtil; import forestry.lepidopterology.genetics.Butterfly; import forestry.lepidopterology.render.RenderButterflyItem; -import forestry.plugins.PluginLepidopterology; public class EntityButterfly extends EntityCreature implements IEntityButterfly { @@ -112,7 +113,7 @@ public class EntityButterfly extends EntityCreature implements IEntityButterfly /* CONSTRUCTOR */ public EntityButterfly(World world) { super(world); - setDefaults(PluginLepidopterology.butterflyInterface.templateAsIndividual(PluginLepidopterology.butterflyInterface.getRandomTemplate(rand))); + setDefaults(ButterflyManager.butterflyRoot.templateAsIndividual(ButterflyManager.butterflyRoot.getRandomTemplate(rand))); } public EntityButterfly(World world, IButterfly butterfly) { @@ -164,7 +165,7 @@ public class EntityButterfly extends EntityCreature implements IEntityButterfly setIndividual(contained); if (nbttagcompound.hasKey("PLN")) { - pollen = AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees").getMember((NBTTagCompound) nbttagcompound.getTag("PLN")); + pollen = TreeManager.treeRoot.getMember((NBTTagCompound) nbttagcompound.getTag("PLN")); } state = EnumButterflyState.VALUES[nbttagcompound.getByte("STATE")]; @@ -308,7 +309,7 @@ public class EntityButterfly extends EntityCreature implements IEntityButterfly if (butterfly != null) { contained = butterfly; } else { - contained = PluginLepidopterology.butterflyInterface.templateAsIndividual(PluginLepidopterology.butterflyInterface.getDefaultTemplate()); + contained = ButterflyManager.butterflyRoot.templateAsIndividual(ButterflyManager.butterflyRoot.getDefaultTemplate()); } isImmuneToFire = contained.getGenome().getFireResist(); @@ -408,7 +409,7 @@ public class EntityButterfly extends EntityCreature implements IEntityButterfly if (!worldObj.isRemote) { contained.getGenome().getPrimary().getRoot().getBreedingTracker(worldObj, player.getGameProfile()).registerCatch(contained); - ItemStackUtil.dropItemStackAsEntity(PluginLepidopterology.butterflyInterface.getMemberStack(contained.copy(), EnumFlutterType.BUTTERFLY.ordinal()), worldObj, posX, posY, posZ); + ItemStackUtil.dropItemStackAsEntity(ButterflyManager.butterflyRoot.getMemberStack(contained.copy(), EnumFlutterType.BUTTERFLY.ordinal()), worldObj, posX, posY, posZ); setDead(); } else { player.swingItem(); diff --git a/src/main/java/forestry/lepidopterology/genetics/AlleleButterflySpecies.java b/src/main/java/forestry/lepidopterology/genetics/AlleleButterflySpecies.java index 5668c8198..11182277d 100755 --- a/src/main/java/forestry/lepidopterology/genetics/AlleleButterflySpecies.java +++ b/src/main/java/forestry/lepidopterology/genetics/AlleleButterflySpecies.java @@ -10,9 +10,9 @@ ******************************************************************************/ package forestry.lepidopterology.genetics; +import java.awt.Color; import java.util.EnumSet; import java.util.HashMap; -import java.util.Locale; import java.util.Map; import net.minecraft.init.Items; @@ -29,17 +29,16 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.IIconProvider; import forestry.api.genetics.IClassification; import forestry.api.genetics.IIndividual; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumFlutterType; -import forestry.api.lepidopterology.IAlleleButterflySpecies; +import forestry.api.lepidopterology.IAlleleButterflySpeciesCustom; import forestry.api.lepidopterology.IButterflyRoot; -import forestry.core.config.Constants; import forestry.core.genetics.alleles.AlleleSpecies; -import forestry.plugins.PluginLepidopterology; -public class AlleleButterflySpecies extends AlleleSpecies implements IAlleleButterflySpecies { +public class AlleleButterflySpecies extends AlleleSpecies implements IAlleleButterflySpeciesCustom { private final String texture; - private final int serumColour; + private final Color serumColour; private float rarity = 0.1f; private float flightDistance = 5.0f; private boolean isActualNocturnal = false; @@ -49,20 +48,15 @@ public class AlleleButterflySpecies extends AlleleSpecies implements IAlleleButt private final Map butterflyLoot = new HashMap<>(); private final Map caterpillarLoot = new HashMap<>(); - public AlleleButterflySpecies(String uid, boolean isDominant, String speciesName, IClassification branch, String binomial, int serumColour) { - super("forestry." + uid, getUnlocalizedName(speciesName, branch), "Sengir", "for.description." + uid, isDominant, branch, binomial, true); + public AlleleButterflySpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, String texturePath, boolean isDominant, IClassification branch, String binomial, Color serumColour) { + super(uid, unlocalizedName, authority, unlocalizedDescription, isDominant, branch, binomial); this.serumColour = serumColour; - texture = "forestry:" + Constants.TEXTURE_PATH_ENTITIES + "/butterflies/" + uid + ".png"; - } - - private static String getUnlocalizedName(String name, IClassification branch) { - IClassification parent = branch.getParent(); - return "for.butterflies.species." + parent.getUID().substring((parent.getLevel().name().toLowerCase(Locale.ENGLISH)).length() + 1) + '.' + name; + this.texture = texturePath; } @Override public IButterflyRoot getRoot() { - return PluginLepidopterology.butterflyInterface; + return ButterflyManager.butterflyRoot; } public AlleleButterflySpecies setRarity(float rarity) { @@ -182,6 +176,6 @@ public class AlleleButterflySpecies extends AlleleSpecies implements IAlleleButt if (renderPass > 0) { return 0xffffff; } - return serumColour; + return serumColour.getRGB() & 0xffffff; } } diff --git a/src/main/java/forestry/lepidopterology/genetics/AlleleEffect.java b/src/main/java/forestry/lepidopterology/genetics/AlleleEffect.java new file mode 100644 index 000000000..d51ac3f76 --- /dev/null +++ b/src/main/java/forestry/lepidopterology/genetics/AlleleEffect.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +import forestry.api.genetics.IEffectData; +import forestry.api.lepidopterology.IAlleleButterflyEffect; +import forestry.api.lepidopterology.IEntityButterfly; +import forestry.core.genetics.alleles.Allele; +import forestry.core.genetics.alleles.AlleleCategorized; + +public class AlleleEffect extends AlleleCategorized implements IAlleleButterflyEffect { + + public static Allele butterflyNone; + + public AlleleEffect(String valueName, boolean isDominant) { + super("forestry", "bf", valueName, isDominant); + } + + @Override + public boolean isCombinable() { + return true; + } + + @Override + public IEffectData validateStorage(IEffectData storedData) { + return null; + } + + @Override + public IEffectData doEffect(IEntityButterfly butterfly, IEffectData storedData) { + return storedData; + } + +} diff --git a/src/main/java/forestry/lepidopterology/genetics/AlleleEffectNone.java b/src/main/java/forestry/lepidopterology/genetics/AlleleEffectNone.java old mode 100755 new mode 100644 index 36bb391e3..766d96cf5 --- a/src/main/java/forestry/lepidopterology/genetics/AlleleEffectNone.java +++ b/src/main/java/forestry/lepidopterology/genetics/AlleleEffectNone.java @@ -1,44 +1,22 @@ -/******************************************************************************* - * Copyright (c) 2011-2014 SirSengir. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser Public License v3 - * which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/lgpl-3.0.txt - * - * Various Contributors including, but not limited to: - * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges - ******************************************************************************/ -package forestry.lepidopterology.genetics; - -import forestry.api.genetics.IEffectData; -import forestry.api.lepidopterology.IAlleleButterflyEffect; -import forestry.api.lepidopterology.IEntityButterfly; -import forestry.core.genetics.alleles.AlleleCategorized; - -public class AlleleEffectNone extends AlleleCategorized implements IAlleleButterflyEffect { - - public AlleleEffectNone() { - super("forestry", "bf", "none", false); - } - - @Override - public boolean isCombinable() { - return true; - } - - @Override - public IEffectData validateStorage(IEffectData storedData) { - return null; - } - - @Override - public String getUnlocalizedName() { - return "for.lepidopterology.effect.none"; - } - - @Override - public IEffectData doEffect(IEntityButterfly butterfly, IEffectData storedData) { - return storedData; - } - -} +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +public class AlleleEffectNone extends AlleleEffect { + public AlleleEffectNone() { + super("none", false); + } + + @Override + public String getUnlocalizedName() { + return "for.lepidopterology.effect.none"; + } +} diff --git a/src/main/java/forestry/lepidopterology/genetics/BranchButterflies.java b/src/main/java/forestry/lepidopterology/genetics/BranchButterflies.java new file mode 100644 index 000000000..375a01392 --- /dev/null +++ b/src/main/java/forestry/lepidopterology/genetics/BranchButterflies.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +import java.util.Locale; + +import forestry.core.genetics.Branch; + +public class BranchButterflies extends Branch { + public BranchButterflies(String scientific) { + super("moth." + scientific.toLowerCase(Locale.ENGLISH), scientific); + } +} diff --git a/src/main/java/forestry/lepidopterology/genetics/Butterfly.java b/src/main/java/forestry/lepidopterology/genetics/Butterfly.java index a3a5cc0c8..fdb589d9a 100755 --- a/src/main/java/forestry/lepidopterology/genetics/Butterfly.java +++ b/src/main/java/forestry/lepidopterology/genetics/Butterfly.java @@ -33,6 +33,7 @@ import forestry.api.genetics.IAlleleTolerance; import forestry.api.genetics.IChromosome; import forestry.api.genetics.IGenome; import forestry.api.genetics.IIndividual; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumButterflyChromosome; import forestry.api.lepidopterology.IAlleleButterflySpecies; import forestry.api.lepidopterology.IButterfly; @@ -44,7 +45,6 @@ import forestry.core.genetics.Chromosome; import forestry.core.genetics.GenericRatings; import forestry.core.genetics.IndividualLiving; import forestry.core.utils.StringUtil; -import forestry.plugins.PluginLepidopterology; public class Butterfly extends IndividualLiving implements IButterfly { @@ -96,7 +96,7 @@ public class Butterfly extends IndividualLiving implements IButterfly { public void readFromNBT(NBTTagCompound nbttagcompound) { if (nbttagcompound == null) { - this.genome = PluginLepidopterology.butterflyInterface.templateAsGenome(PluginLepidopterology.butterflyInterface.getDefaultTemplate()); + this.genome = ButterflyManager.butterflyRoot.templateAsGenome(ButterflyManager.butterflyRoot.getDefaultTemplate()); return; } @@ -105,7 +105,7 @@ public class Butterfly extends IndividualLiving implements IButterfly { if (nbttagcompound.hasKey("Genome")) { genome = new ButterflyGenome(nbttagcompound.getCompoundTag("Genome")); } else { - genome = PluginLepidopterology.butterflyInterface.templateAsGenome(PluginLepidopterology.butterflyInterface.getDefaultTemplate()); + genome = ButterflyManager.butterflyRoot.templateAsGenome(ButterflyManager.butterflyRoot.getDefaultTemplate()); } if (nbttagcompound.hasKey("Mate")) { mate = new ButterflyGenome(nbttagcompound.getCompoundTag("Mate")); @@ -247,10 +247,10 @@ public class Butterfly extends IndividualLiving implements IButterfly { genome1 = genomeOne; } - for (IButterflyMutation mutation : PluginLepidopterology.butterflyInterface.getMutations(true)) { + for (IButterflyMutation mutation : ButterflyManager.butterflyRoot.getMutations(true)) { float chance = mutation.getChance(nursery, allele0, allele1, genome0, genome1); if (chance > rand.nextFloat() * 100) { - return PluginLepidopterology.butterflyInterface.templateAsChromosomes(mutation.getTemplate()); + return ButterflyManager.butterflyRoot.templateAsChromosomes(mutation.getTemplate()); } } diff --git a/src/main/java/forestry/lepidopterology/genetics/ButterflyBranchDefinition.java b/src/main/java/forestry/lepidopterology/genetics/ButterflyBranchDefinition.java new file mode 100644 index 000000000..c6f7bdba5 --- /dev/null +++ b/src/main/java/forestry/lepidopterology/genetics/ButterflyBranchDefinition.java @@ -0,0 +1,128 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +import java.util.Arrays; + +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleRegistry; +import forestry.api.genetics.IClassification; +import forestry.api.lepidopterology.EnumButterflyChromosome; +import forestry.core.genetics.IBranchDefinition; +import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.EnumAllele; + +public enum ButterflyBranchDefinition implements IBranchDefinition { + Anthocharis, + Attacus, + Bassarona, + Batesia, + Celastrina, + Cethosia, + Chiasmia, + Colias, + Danaus, + Gonepteryx, + Greta, + Heliconius, + Morpho, + Myscelia, + Opisthograptis, + Papilio, + Parantica, + Pararge, + Pieris, + Polygonia, + Pontia, + Protographium, + Siproeta, + Speyeria; + + private static IAllele[] defaultTemplate; + + private final IClassification branch; + + ButterflyBranchDefinition() { + branch = new BranchButterflies(name()); + } + + @Override + public IAllele[] getTemplate() { + if (defaultTemplate == null) { + defaultTemplate = new IAllele[EnumButterflyChromosome.values().length]; + + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALL); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.METABOLISM, 3); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.FERTILITY, 3); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.TOLERANT_FLYER, false); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.FIRE_RESIST, false); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(defaultTemplate, EnumButterflyChromosome.EFFECT, AlleleEffect.butterflyNone); + } + return Arrays.copyOf(defaultTemplate, defaultTemplate.length); + } + + @Override + public IClassification getBranch() { + return branch; + } + + public static void createAlleles() { + IAlleleRegistry alleleRegistry = AlleleManager.alleleRegistry; + + alleleRegistry.getClassification("class.insecta").addMemberGroup( + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.ORDER, "lepidoptera", "Lepidoptera", + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.FAMILY, "geometridae", "Geometridae", + Opisthograptis.getBranch(), + Chiasmia.getBranch() + ), + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.FAMILY, "saturniidae", "Saturniidae", + Attacus.getBranch() + ), + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.FAMILY, "pieridae", "Pieridae", + Pieris.getBranch(), + Gonepteryx.getBranch(), + Anthocharis.getBranch(), + Colias.getBranch(), + Pontia.getBranch(), + Celastrina.getBranch() + ), + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.FAMILY, "nymphalidae", "Nymphalidae", + Pararge.getBranch(), + Polygonia.getBranch(), + Morpho.getBranch(), + Greta.getBranch(), + Batesia.getBranch(), + Myscelia.getBranch(), + Danaus.getBranch(), + Bassarona.getBranch(), + Parantica.getBranch(), + Heliconius.getBranch(), + Siproeta.getBranch(), + Cethosia.getBranch(), + Speyeria.getBranch() + ), + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.FAMILY, "lycaenidae", "Lycaenidae"), + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.FAMILY, "papilionidae", "Papilionidae", + Papilio.getBranch(), + Protographium.getBranch() + ), + alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.FAMILY, "notchidae", "Notchidae") + ) + ); + } +} diff --git a/src/main/java/forestry/lepidopterology/genetics/ButterflyDefinition.java b/src/main/java/forestry/lepidopterology/genetics/ButterflyDefinition.java new file mode 100644 index 000000000..4192987bf --- /dev/null +++ b/src/main/java/forestry/lepidopterology/genetics/ButterflyDefinition.java @@ -0,0 +1,367 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +import java.awt.Color; +import java.util.Arrays; +import java.util.Locale; + +import net.minecraft.item.ItemStack; + +import forestry.api.core.EnumHumidity; +import forestry.api.core.EnumTemperature; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IClassification; +import forestry.api.lepidopterology.ButterflyManager; +import forestry.api.lepidopterology.EnumButterflyChromosome; +import forestry.api.lepidopterology.EnumFlutterType; +import forestry.api.lepidopterology.IAlleleButterflySpeciesCustom; +import forestry.api.lepidopterology.IButterfly; +import forestry.api.lepidopterology.IButterflyGenome; +import forestry.core.config.Constants; +import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.EnumAllele; + +public enum ButterflyDefinition implements IButterflyDefinition { + CabbageWhite(ButterflyBranchDefinition.Pieris, "cabbageWhite", "rapae", new Color(0xccffee), true, 1.0f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); + } + }, + Brimstone(ButterflyBranchDefinition.Gonepteryx, "brimstone", "rhamni", new Color(0xf0ee38), true, 1.0f), + Aurora(ButterflyBranchDefinition.Anthocharis, "orangeTip", "cardamines", new Color(0xe34f05), true, 0.5f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); + } + }, + Postillion(ButterflyBranchDefinition.Colias, "postillion", "croceus", new Color(0xd77e04), true, 0.5f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOW); + } + }, + PalaenoSulphur(ButterflyBranchDefinition.Colias, "palaenoSulphur", "palaeno", new Color(0xf8fba3), true, 0.4f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + }, + Reseda(ButterflyBranchDefinition.Pontia, "reseda", "edusa", new Color(0x747d48), true, 0.3f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + }, + SpringAzure(ButterflyBranchDefinition.Celastrina, "springAzure", "argiolus", new Color(0xb8cae2), true, 0.3f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + } + }, + GozoraAzure(ButterflyBranchDefinition.Celastrina, "gozoraAzure", "gozora", new Color(0x6870e7), true, 0.2f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + } + }, + CitrusSwallow(ButterflyBranchDefinition.Papilio, "swallowtailC", "demodocus", new Color(0xeae389), false, 1.0f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 10); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.METABOLISM, 8); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + } + }, + EmeraldPeacock(ButterflyBranchDefinition.Papilio, "emeraldPeacock", "palinurus", new Color(0x7cfe80), true, 0.1f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 5); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + } + }, + ThoasSwallow(ButterflyBranchDefinition.Papilio, "swallowtailT", "thoas", new Color(0xeac783), false, 0.2f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + }, + Spicebush(ButterflyBranchDefinition.Papilio, "swallowtailS", "troilus", new Color(0xeefeff), true, 0.5f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); + } + }, + BlackSwallow(ButterflyBranchDefinition.Papilio, "swallowtailB", "polyxenes", new Color(0xeac783), true, 1.0f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + } + }, + ZebraSwallow(ButterflyBranchDefinition.Protographium, "swallowtailZ", "marcellus", new Color(0xeafeff), true, 0.5f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); + } + }, + Glasswing(ButterflyBranchDefinition.Greta, "glasswing", "oto", new Color(0x583732), true, 0.1f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 5); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + } + }, + SpeckledWood(ButterflyBranchDefinition.Pararge, "speckledWood", "aegeria", new Color(0x947245), true, 1.0f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 2); + } + }, + MSpeckledWood(ButterflyBranchDefinition.Pararge, "speckledWoodM", "xiphia", new Color(0x402919), true, 0.5f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 2); + } + }, + CSpeckledWood(ButterflyBranchDefinition.Pararge, "speckledWoodC", "xiphioides", new Color(0x51372a), true, 0.5f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 2); + } + }, + MBlueMorpho(ButterflyBranchDefinition.Morpho, "blueMorphoM", "menelaus", new Color(0x72e1fd), true, 0.5f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 2); + } + }, + PBlueMorpho(ButterflyBranchDefinition.Morpho, "blueMorphoP", "peleides", new Color(0x6ecce8), true, 0.25f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 2); + } + }, + RBlueMorpho(ButterflyBranchDefinition.Morpho, "blueMorphoR", "rhetenor", new Color(0x00bef8), true, 0.1f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.FERTILITY, 2); + } + }, + Comma(ButterflyBranchDefinition.Polygonia, "comma", "c-album", new Color(0xf89505), true, 0.3f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + }, + Batesia(ButterflyBranchDefinition.Batesia, "paintedBeauty", "hypochlora", new Color(0xfe7763), true, 0.3f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); + } + }, + BlueWing(ButterflyBranchDefinition.Myscelia, "blueWing", "ethusa", new Color(0x3a93cc), true, 0.3f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.METABOLISM, 5); + } + }, + Monarch(ButterflyBranchDefinition.Danaus, "monarch", "plexippus", new Color(0xffa722), true, 0.2f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); + } + }, + BlueDuke(ButterflyBranchDefinition.Bassarona, "blueDuke", "durga", new Color(0x304240), true, 0.5f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.COLD); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + } + }, + GlassyTiger(ButterflyBranchDefinition.Parantica, "glassyTiger", "aglea", new Color(0x5b3935), true, 0.3f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); + } + }, + Postman(ButterflyBranchDefinition.Heliconius, "postman", "melpomene", new Color(0xf7302d), true, 0.3f), + Malachite(ButterflyBranchDefinition.Siproeta, "malachite", "stelenes", new Color(0xbdff53), true, 0.5f) { + @Override + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + species.setTemperature(EnumTemperature.WARM) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + } + }, + LLacewing(ButterflyBranchDefinition.Cethosia, "leopardLacewing", "cyane", new Color(0xfb8a06), true, 0.7f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + } + }, + DianaFrit(ButterflyBranchDefinition.Speyeria, "dianaFritillary", "diana", new Color(0xffac05), true, 0.6f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); + } + }; + + private final IAlleleButterflySpeciesCustom species; + private final ButterflyBranchDefinition branch; + private IAllele[] template; + private IButterflyGenome genome; + + ButterflyDefinition(ButterflyBranchDefinition branchDefinition, String speciesName, String binomial, Color serumColor, boolean dominant, float rarity) { + this.branch = branchDefinition; + + String uid = "lepi" + name(); + IClassification parent = branch.getBranch().getParent(); + String unlocalizedName = "for.butterflies.species." + parent.getUID().substring((parent.getLevel().name().toLowerCase(Locale.ENGLISH)).length() + 1) + '.' + speciesName; + String unlocalizedDescription = "for.description." + uid; + + String texture = "forestry:" + Constants.TEXTURE_PATH_ENTITIES + "/butterflies/" + uid + ".png"; + + species = ButterflyManager.butterflyFactory.createSpecies("forestry." + uid, unlocalizedName, "Sengir", unlocalizedDescription, texture, dominant, branchDefinition.getBranch(), binomial, serumColor); + species.setRarity(rarity); + } + + public static void initButterflies() { + for (ButterflyDefinition butterfly : values()) { + butterfly.init(); + } + } + + private void init() { + setSpeciesProperties(species); + + template = branch.getTemplate(); + AlleleHelper.instance.set(template, EnumButterflyChromosome.SPECIES, species); + setAlleles(template); + + genome = ButterflyManager.butterflyRoot.templateAsGenome(template); + + ButterflyManager.butterflyRoot.registerTemplate(template); + } + + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + + } + + protected void setAlleles(IAllele[] alleles) { + + } + + @Override + public final IAllele[] getTemplate() { + return Arrays.copyOf(template, template.length); + } + + @Override + public final IButterflyGenome getGenome() { + return genome; + } + + @Override + public final IButterfly getIndividual() { + return new Butterfly(genome); + } + + @Override + public final ItemStack getMemberStack(EnumFlutterType flutterType) { + IButterfly butterfly = getIndividual(); + return ButterflyManager.butterflyRoot.getMemberStack(butterfly, flutterType.ordinal()); + } +} diff --git a/src/main/java/forestry/lepidopterology/genetics/ButterflyFactory.java b/src/main/java/forestry/lepidopterology/genetics/ButterflyFactory.java new file mode 100644 index 000000000..7f891b66f --- /dev/null +++ b/src/main/java/forestry/lepidopterology/genetics/ButterflyFactory.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +import java.awt.Color; + +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IClassification; +import forestry.api.lepidopterology.IAlleleButterflySpeciesCustom; +import forestry.api.lepidopterology.IButterflyFactory; + +public class ButterflyFactory implements IButterflyFactory { + @Override + public IAlleleButterflySpeciesCustom createSpecies(String uid, String unlocalizedName, String authority, String unlocalizedDescription, String texturePath, boolean isDominant, IClassification branch, String binomial, Color serumColour) { + IAlleleButterflySpeciesCustom species = new AlleleButterflySpecies(uid, unlocalizedName, authority, unlocalizedDescription, texturePath, isDominant, branch, binomial, serumColour); + AlleleManager.alleleRegistry.registerAllele(species); + return species; + } +} diff --git a/src/main/java/forestry/lepidopterology/genetics/ButterflyGenome.java b/src/main/java/forestry/lepidopterology/genetics/ButterflyGenome.java index ae131a19b..4e134c7c9 100755 --- a/src/main/java/forestry/lepidopterology/genetics/ButterflyGenome.java +++ b/src/main/java/forestry/lepidopterology/genetics/ButterflyGenome.java @@ -21,6 +21,7 @@ import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IChromosome; import forestry.api.genetics.IFlowerProvider; import forestry.api.genetics.ISpeciesRoot; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumButterflyChromosome; import forestry.api.lepidopterology.IAlleleButterflyEffect; import forestry.api.lepidopterology.IAlleleButterflySpecies; @@ -28,7 +29,6 @@ import forestry.api.lepidopterology.IButterflyGenome; import forestry.core.genetics.Genome; import forestry.core.genetics.alleles.AlleleBoolean; import forestry.core.genetics.alleles.AlleleTolerance; -import forestry.plugins.PluginLepidopterology; public class ButterflyGenome extends Genome implements IButterflyGenome { @@ -43,7 +43,7 @@ public class ButterflyGenome extends Genome implements IButterflyGenome { // NBT RETRIEVAL public static IAlleleButterflySpecies getSpecies(ItemStack itemStack) { - if (!PluginLepidopterology.butterflyInterface.isMember(itemStack)) { + if (!ButterflyManager.butterflyRoot.isMember(itemStack)) { return null; } @@ -52,7 +52,7 @@ public class ButterflyGenome extends Genome implements IButterflyGenome { return (IAlleleButterflySpecies) species; } - return (IAlleleButterflySpecies) getActiveAllele(itemStack, EnumButterflyChromosome.SPECIES, PluginLepidopterology.butterflyInterface); + return (IAlleleButterflySpecies) getActiveAllele(itemStack, EnumButterflyChromosome.SPECIES, ButterflyManager.butterflyRoot); } /* SPECIES */ @@ -128,7 +128,7 @@ public class ButterflyGenome extends Genome implements IButterflyGenome { @Override public ISpeciesRoot getSpeciesRoot() { - return PluginLepidopterology.butterflyInterface; + return ButterflyManager.butterflyRoot; } } diff --git a/src/main/java/forestry/lepidopterology/genetics/ButterflyHelper.java b/src/main/java/forestry/lepidopterology/genetics/ButterflyHelper.java index 08aaf66e6..af3792b98 100755 --- a/src/main/java/forestry/lepidopterology/genetics/ButterflyHelper.java +++ b/src/main/java/forestry/lepidopterology/genetics/ButterflyHelper.java @@ -27,6 +27,7 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IMutation; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumButterflyChromosome; import forestry.api.lepidopterology.EnumFlutterType; import forestry.api.lepidopterology.IAlleleButterflySpecies; @@ -39,7 +40,6 @@ import forestry.core.config.ForestryItem; import forestry.core.genetics.SpeciesRoot; import forestry.core.utils.EntityUtil; import forestry.lepidopterology.entities.EntityButterfly; -import forestry.plugins.PluginLepidopterology; public class ButterflyHelper extends SpeciesRoot implements IButterflyRoot { @@ -192,12 +192,12 @@ public class ButterflyHelper extends SpeciesRoot implements IButterflyRoot { @Override public IAllele[] getDefaultTemplate() { - return ButterflyTemplates.getDefaultTemplate(); + return MothDefinition.Brimstone.getTemplate(); } @Override public void registerTemplate(String identifier, IAllele[] template) { - butterflyTemplates.add(PluginLepidopterology.butterflyInterface.templateAsIndividual(template)); + butterflyTemplates.add(ButterflyManager.butterflyRoot.templateAsIndividual(template)); speciesTemplates.put(identifier, template); } diff --git a/src/main/java/forestry/lepidopterology/genetics/ButterflyTemplates.java b/src/main/java/forestry/lepidopterology/genetics/ButterflyTemplates.java deleted file mode 100755 index 4248de879..000000000 --- a/src/main/java/forestry/lepidopterology/genetics/ButterflyTemplates.java +++ /dev/null @@ -1,308 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011-2014 SirSengir. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser Public License v3 - * which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/lgpl-3.0.txt - * - * Various Contributors including, but not limited to: - * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges - ******************************************************************************/ -package forestry.lepidopterology.genetics; - -import forestry.api.genetics.IAllele; -import forestry.api.lepidopterology.EnumButterflyChromosome; -import forestry.core.genetics.alleles.Allele; -import forestry.core.genetics.alleles.EnumAllele; - -public class ButterflyTemplates { - - public static IAllele[] getDefaultTemplate() { - IAllele[] alleles = new IAllele[EnumButterflyChromosome.values().length]; - - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiCabbageWhite); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALL); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWEST); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); - Allele.helper.set(alleles, EnumButterflyChromosome.METABOLISM, 3); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 3); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); - Allele.helper.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); - Allele.helper.set(alleles, EnumButterflyChromosome.NOCTURNAL, false); - Allele.helper.set(alleles, EnumButterflyChromosome.TOLERANT_FLYER, false); - Allele.helper.set(alleles, EnumButterflyChromosome.FIRE_RESIST, false); - Allele.helper.set(alleles, EnumButterflyChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); - Allele.helper.set(alleles, EnumButterflyChromosome.EFFECT, Allele.butterflyNone); - - return alleles; - } - - public static IAllele[] getCabbageWhiteTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); - return alleles; - } - - public static IAllele[] getGlasswingTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiGlasswing); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 5); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - return alleles; - } - - public static IAllele[] getEmeraldPeacockTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiEmeraldPeacock); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 5); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - Allele.helper.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - return alleles; - } - - public static IAllele[] getCitrusSwallowTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiCitrusSwallow); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 10); - Allele.helper.set(alleles, EnumButterflyChromosome.METABOLISM, 8); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - Allele.helper.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - return alleles; - } - - public static IAllele[] getBlackSwallowTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiBlackSwallow); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOW); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - Allele.helper.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - return alleles; - } - - public static IAllele[] getBrimstoneMothTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.mothBrimstone); - return alleles; - } - - public static IAllele[] getSpeckledWoodTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiSpeckledWood); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 2); - return alleles; - } - - public static IAllele[] getMadeiranSpeckledWoodTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiMadeiranSpeckledWood); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 2); - return alleles; - } - - public static IAllele[] getCanarySpeckledWoodTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiCanarySpeckledWood); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 2); - return alleles; - } - - public static IAllele[] getMenelausBlueMorphoTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiMenelausBlueMorpho); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGER); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 2); - return alleles; - } - - public static IAllele[] getRhetenorBlueMorphoTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiRhetenorBlueMorpho); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGER); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 2); - return alleles; - } - - public static IAllele[] getPeleidesBlueMorphoTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiPeleidesBlueMorpho); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGER); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - Allele.helper.set(alleles, EnumButterflyChromosome.FERTILITY, 2); - return alleles; - } - - public static IAllele[] getBrimstoneTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiBrimstone); - return alleles; - } - - public static IAllele[] getAuroraTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiAurora); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); - return alleles; - } - - public static IAllele[] getPostillionTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiPostillion); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOW); - return alleles; - } - - public static IAllele[] getPalaenoSulphurTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiPalaenoSulphur); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); - return alleles; - } - - public static IAllele[] getResedaTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiReseda); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); - return alleles; - } - - public static IAllele[] getSpringAzureTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiSpringAzure); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - return alleles; - } - - public static IAllele[] getGozoraAzureTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiGozoraAzure); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - return alleles; - } - - public static IAllele[] getCommaTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiComma); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); - return alleles; - } - - public static IAllele[] getBatesiaTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiBatesia); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); - return alleles; - } - - public static IAllele[] getBlueWingTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiBlueWing); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); - Allele.helper.set(alleles, EnumButterflyChromosome.METABOLISM, 5); - return alleles; - } - - public static IAllele[] getBlueDukeTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiBlueDuke); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - return alleles; - } - - public static IAllele[] getGlassyTigerTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiGlassyTiger); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); - return alleles; - } - - public static IAllele[] getPostmanTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiPostman); - return alleles; - } - - public static IAllele[] getSpicebushTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiSpicebush); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); - return alleles; - } - - public static IAllele[] getMalachiteTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiMalachite); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - Allele.helper.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - return alleles; - } - - public static IAllele[] getLeopardLacewingTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiLLacewing); - Allele.helper.set(alleles, EnumButterflyChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - Allele.helper.set(alleles, EnumButterflyChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); - return alleles; - } - - public static IAllele[] getMonarchTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiMonarch); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); - return alleles; - } - - public static IAllele[] getThoasSwallowTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiThoasSwallow); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGE); - Allele.helper.set(alleles, EnumButterflyChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - return alleles; - } - - public static IAllele[] getZebraSwallowTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiZebraSwallow); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.AVERAGE); - return alleles; - } - - public static IAllele[] getDianaFritTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.lepiDianaFrit); - Allele.helper.set(alleles, EnumButterflyChromosome.SPEED, EnumAllele.Speed.SLOWER); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLER); - return alleles; - } - - public static IAllele[] getLatticedHeathTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.mothLatticedHeath); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLEST); - return alleles; - } - - public static IAllele[] getAtlasMothTemplate() { - IAllele[] alleles = getDefaultTemplate(); - Allele.helper.set(alleles, EnumButterflyChromosome.SPECIES, Allele.mothAtlas); - Allele.helper.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGEST); - return alleles; - } - - -} diff --git a/src/main/java/forestry/lepidopterology/genetics/IButterflyDefinition.java b/src/main/java/forestry/lepidopterology/genetics/IButterflyDefinition.java new file mode 100644 index 000000000..9e7685831 --- /dev/null +++ b/src/main/java/forestry/lepidopterology/genetics/IButterflyDefinition.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +import net.minecraft.item.ItemStack; + +import forestry.api.lepidopterology.EnumFlutterType; +import forestry.api.lepidopterology.IButterfly; +import forestry.api.lepidopterology.IButterflyGenome; +import forestry.core.genetics.IGeneticDefinition; + +public interface IButterflyDefinition extends IGeneticDefinition { + @Override + IButterflyGenome getGenome(); + + @Override + IButterfly getIndividual(); + + ItemStack getMemberStack(EnumFlutterType flutterType); +} diff --git a/src/main/java/forestry/lepidopterology/genetics/LepidopteristTracker.java b/src/main/java/forestry/lepidopterology/genetics/LepidopteristTracker.java index 2f72181c6..876c8df70 100755 --- a/src/main/java/forestry/lepidopterology/genetics/LepidopteristTracker.java +++ b/src/main/java/forestry/lepidopterology/genetics/LepidopteristTracker.java @@ -16,10 +16,10 @@ import com.mojang.authlib.GameProfile; import forestry.api.genetics.IBreedingTracker; import forestry.api.genetics.IIndividual; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.IButterfly; import forestry.api.lepidopterology.ILepidopteristTracker; import forestry.core.genetics.BreedingTracker; -import forestry.plugins.PluginLepidopterology; public class LepidopteristTracker extends BreedingTracker implements ILepidopteristTracker { @@ -34,7 +34,7 @@ public class LepidopteristTracker extends BreedingTracker implements ILepidopter @Override protected IBreedingTracker getBreedingTracker(EntityPlayer player) { - return PluginLepidopterology.butterflyInterface.getBreedingTracker(player.worldObj, player.getGameProfile()); + return ButterflyManager.butterflyRoot.getBreedingTracker(player.worldObj, player.getGameProfile()); } @Override diff --git a/src/main/java/forestry/lepidopterology/genetics/MothDefinition.java b/src/main/java/forestry/lepidopterology/genetics/MothDefinition.java new file mode 100644 index 000000000..e9ca5868a --- /dev/null +++ b/src/main/java/forestry/lepidopterology/genetics/MothDefinition.java @@ -0,0 +1,112 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.lepidopterology.genetics; + +import java.awt.Color; +import java.util.Arrays; +import java.util.Locale; + +import net.minecraft.item.ItemStack; + +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IClassification; +import forestry.api.lepidopterology.ButterflyManager; +import forestry.api.lepidopterology.EnumButterflyChromosome; +import forestry.api.lepidopterology.EnumFlutterType; +import forestry.api.lepidopterology.IAlleleButterflySpeciesCustom; +import forestry.api.lepidopterology.IButterfly; +import forestry.api.lepidopterology.IButterflyGenome; +import forestry.core.config.Constants; +import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.EnumAllele; + +public enum MothDefinition implements IButterflyDefinition { + Brimstone(ButterflyBranchDefinition.Opisthograptis, "brimstone", "luteolata", new Color(0xffea40), true, 1.0f), + LatticedHeath(ButterflyBranchDefinition.Chiasmia, "latticeHeath", "clathrata", new Color(0xf2f0be), true, 0.5f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.SMALLEST); + } + }, + Atlas(ButterflyBranchDefinition.Attacus, "atlas", "atlas", new Color(0xd96e3d), false, 0.1f) { + @Override + protected void setAlleles(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumButterflyChromosome.SIZE, EnumAllele.Size.LARGEST); + } + }; + + private final IAlleleButterflySpeciesCustom species; + private final ButterflyBranchDefinition branch; + private IAllele[] template; + private IButterflyGenome genome; + + MothDefinition(ButterflyBranchDefinition branchDefinition, String speciesName, String binomial, Color serumColor, boolean dominant, float rarity) { + branch = branchDefinition; + + String uid = "moth" + name(); + IClassification parent = branch.getBranch().getParent(); + String unlocalizedName = "for.butterflies.species." + parent.getUID().substring((parent.getLevel().name().toLowerCase(Locale.ENGLISH)).length() + 1) + '.' + speciesName; + String unlocalizedDescription = "for.description." + uid; + + String texture = "forestry:" + Constants.TEXTURE_PATH_ENTITIES + "/butterflies/" + uid + ".png"; + + species = ButterflyManager.butterflyFactory.createSpecies("forestry." + uid, unlocalizedName, "Sengir", unlocalizedDescription, texture, dominant, branchDefinition.getBranch(), binomial, serumColor); + species.setRarity(rarity); + species.setNocturnal(); + } + + public static void initMoths() { + for (MothDefinition butterfly : values()) { + butterfly.init(); + } + } + + private void init() { + setSpeciesProperties(species); + + template = branch.getTemplate(); + AlleleHelper.instance.set(template, EnumButterflyChromosome.SPECIES, species); + setAlleles(template); + + genome = ButterflyManager.butterflyRoot.templateAsGenome(template); + + ButterflyManager.butterflyRoot.registerTemplate(template); + } + + protected void setSpeciesProperties(IAlleleButterflySpeciesCustom species) { + + } + + protected void setAlleles(IAllele[] alleles) { + + } + + @Override + public final IAllele[] getTemplate() { + return Arrays.copyOf(template, template.length); + } + + @Override + public final IButterflyGenome getGenome() { + return genome; + } + + @Override + public final IButterfly getIndividual() { + return new Butterfly(genome); + } + + @Override + public final ItemStack getMemberStack(EnumFlutterType flutterType) { + IButterfly butterfly = getIndividual(); + return ButterflyManager.butterflyRoot.getMemberStack(butterfly, flutterType.ordinal()); + } +} diff --git a/src/main/java/forestry/lepidopterology/gui/GuiFlutterlyzer.java b/src/main/java/forestry/lepidopterology/gui/GuiFlutterlyzer.java index 67f5aefdf..373e03f0b 100755 --- a/src/main/java/forestry/lepidopterology/gui/GuiFlutterlyzer.java +++ b/src/main/java/forestry/lepidopterology/gui/GuiFlutterlyzer.java @@ -19,6 +19,7 @@ import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAlleleFlowers; import forestry.api.genetics.IAlleleInteger; import forestry.api.genetics.IAlleleTolerance; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumButterflyChromosome; import forestry.api.lepidopterology.IAlleleButterflySpecies; import forestry.api.lepidopterology.IButterfly; @@ -31,7 +32,6 @@ import forestry.core.utils.StringUtil; import forestry.lepidopterology.genetics.ButterflyGenome; import forestry.lepidopterology.items.ItemButterflyGE; import forestry.lepidopterology.items.ItemFlutterlyzer.FlutterlyzerInventory; -import forestry.plugins.PluginLepidopterology; public class GuiFlutterlyzer extends GuiAlyzer { @@ -62,7 +62,7 @@ public class GuiFlutterlyzer extends GuiAlyzer { if (inventory.getStackInSlot(k) == null) { continue; } - butterfly = PluginLepidopterology.butterflyInterface.getMember(inventory.getStackInSlot(k)); + butterfly = ButterflyManager.butterflyRoot.getMember(inventory.getStackInSlot(k)); if (butterfly == null || !butterfly.isAnalyzed()) { continue; } diff --git a/src/main/java/forestry/lepidopterology/items/ItemButterflyGE.java b/src/main/java/forestry/lepidopterology/items/ItemButterflyGE.java index c67f5dbc1..68bbdb5cd 100755 --- a/src/main/java/forestry/lepidopterology/items/ItemButterflyGE.java +++ b/src/main/java/forestry/lepidopterology/items/ItemButterflyGE.java @@ -30,6 +30,7 @@ import forestry.api.core.Tabs; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IIndividual; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumFlutterType; import forestry.api.lepidopterology.IButterfly; import forestry.api.lepidopterology.IButterflyNursery; @@ -67,7 +68,7 @@ public class ItemButterflyGE extends ItemGE { @Override public IButterfly getIndividual(ItemStack itemstack) { - return PluginLepidopterology.butterflyInterface.getMember(itemstack); + return ButterflyManager.butterflyRoot.getMember(itemstack); } @Override @@ -82,7 +83,7 @@ public class ItemButterflyGE extends ItemGE { return "???"; } - IButterfly butterfly = PluginLepidopterology.butterflyInterface.getMember(itemstack); + IButterfly butterfly = ButterflyManager.butterflyRoot.getMember(itemstack); if (butterfly == null) { return "???"; } @@ -98,13 +99,13 @@ public class ItemButterflyGE extends ItemGE { public void addCreativeItems(List itemList, boolean hideSecrets) { - for (IIndividual individual : PluginLepidopterology.butterflyInterface.getIndividualTemplates()) { + for (IIndividual individual : ButterflyManager.butterflyRoot.getIndividualTemplates()) { // Don't show secret butterflies unless ordered to. if (hideSecrets && individual.isSecret() && !Config.isDebug) { continue; } - itemList.add(PluginLepidopterology.butterflyInterface.getMemberStack(individual, type.ordinal())); + itemList.add(ButterflyManager.butterflyRoot.getMemberStack(individual, type.ordinal())); } } @@ -120,7 +121,7 @@ public class ItemButterflyGE extends ItemGE { return false; } - IButterfly butterfly = PluginLepidopterology.butterflyInterface.getMember(entityItem.getEntityItem()); + IButterfly butterfly = ButterflyManager.butterflyRoot.getMember(entityItem.getEntityItem()); if (butterfly == null) { return false; } @@ -211,7 +212,7 @@ public class ItemButterflyGE extends ItemGE { return false; } - IButterfly flutter = PluginLepidopterology.butterflyInterface.getMember(itemstack); + IButterfly flutter = ButterflyManager.butterflyRoot.getMember(itemstack); if (flutter == null) { return false; } diff --git a/src/main/java/forestry/lepidopterology/items/ItemFlutterlyzer.java b/src/main/java/forestry/lepidopterology/items/ItemFlutterlyzer.java index a3dc6bcaa..2c97d73a1 100755 --- a/src/main/java/forestry/lepidopterology/items/ItemFlutterlyzer.java +++ b/src/main/java/forestry/lepidopterology/items/ItemFlutterlyzer.java @@ -17,11 +17,11 @@ import net.minecraft.world.World; import forestry.api.core.ForestryAPI; import forestry.api.core.Tabs; import forestry.api.genetics.ISpeciesRoot; +import forestry.api.lepidopterology.ButterflyManager; import forestry.core.config.Config; import forestry.core.gui.IHintSource; import forestry.core.items.ItemAlyzer; import forestry.core.network.GuiId; -import forestry.plugins.PluginLepidopterology; public class ItemFlutterlyzer extends ItemAlyzer { @@ -33,7 +33,7 @@ public class ItemFlutterlyzer extends ItemAlyzer { @Override protected ISpeciesRoot getSpeciesRoot() { - return PluginLepidopterology.butterflyInterface; + return ButterflyManager.butterflyRoot; } /* IHINTSOURCE */ diff --git a/src/main/java/forestry/lepidopterology/recipes/MatingRecipe.java b/src/main/java/forestry/lepidopterology/recipes/MatingRecipe.java index 7203900b4..e6bb545d9 100644 --- a/src/main/java/forestry/lepidopterology/recipes/MatingRecipe.java +++ b/src/main/java/forestry/lepidopterology/recipes/MatingRecipe.java @@ -15,9 +15,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumFlutterType; import forestry.api.lepidopterology.IButterfly; -import forestry.plugins.PluginLepidopterology; public class MatingRecipe implements IRecipe { @@ -25,7 +25,7 @@ public class MatingRecipe implements IRecipe { private ItemStack cached; public MatingRecipe() { - unknown = PluginLepidopterology.butterflyInterface.getMemberStack(PluginLepidopterology.butterflyInterface.getIndividualTemplates().get(0), EnumFlutterType.BUTTERFLY.ordinal()); + unknown = ButterflyManager.butterflyRoot.getMemberStack(ButterflyManager.butterflyRoot.getIndividualTemplates().get(0), EnumFlutterType.BUTTERFLY.ordinal()); } @Override @@ -36,11 +36,11 @@ public class MatingRecipe implements IRecipe { int sera = 0; for (int i = 0; i < crafting.getSizeInventory(); i++) { - if (PluginLepidopterology.butterflyInterface.isMember(crafting.getStackInSlot(i), EnumFlutterType.BUTTERFLY.ordinal())) { + if (ButterflyManager.butterflyRoot.isMember(crafting.getStackInSlot(i), EnumFlutterType.BUTTERFLY.ordinal())) { butterflies++; - mated = PluginLepidopterology.butterflyInterface.isMated(crafting.getStackInSlot(i)); + mated = ButterflyManager.butterflyRoot.isMated(crafting.getStackInSlot(i)); cached = crafting.getStackInSlot(i); - } else if (PluginLepidopterology.butterflyInterface.isMember(crafting.getStackInSlot(i), EnumFlutterType.SERUM.ordinal())) { + } else if (ButterflyManager.butterflyRoot.isMember(crafting.getStackInSlot(i), EnumFlutterType.SERUM.ordinal())) { sera++; } } @@ -62,10 +62,10 @@ public class MatingRecipe implements IRecipe { IButterfly butterfly = null; IButterfly serum = null; for (int i = 0; i < crafting.getSizeInventory(); i++) { - if (PluginLepidopterology.butterflyInterface.isMember(crafting.getStackInSlot(i), EnumFlutterType.BUTTERFLY.ordinal())) { - butterfly = PluginLepidopterology.butterflyInterface.getMember(crafting.getStackInSlot(i)); - } else if (PluginLepidopterology.butterflyInterface.isMember(crafting.getStackInSlot(i), EnumFlutterType.SERUM.ordinal())) { - serum = PluginLepidopterology.butterflyInterface.getMember(crafting.getStackInSlot(i)); + if (ButterflyManager.butterflyRoot.isMember(crafting.getStackInSlot(i), EnumFlutterType.BUTTERFLY.ordinal())) { + butterfly = ButterflyManager.butterflyRoot.getMember(crafting.getStackInSlot(i)); + } else if (ButterflyManager.butterflyRoot.isMember(crafting.getStackInSlot(i), EnumFlutterType.SERUM.ordinal())) { + serum = ButterflyManager.butterflyRoot.getMember(crafting.getStackInSlot(i)); } } if (butterfly == null || serum == null) { @@ -74,7 +74,7 @@ public class MatingRecipe implements IRecipe { IButterfly mated = butterfly.copy(); mated.mate(serum); - return PluginLepidopterology.butterflyInterface.getMemberStack(mated, EnumFlutterType.BUTTERFLY.ordinal()); + return ButterflyManager.butterflyRoot.getMemberStack(mated, EnumFlutterType.BUTTERFLY.ordinal()); } @Override diff --git a/src/main/java/forestry/lepidopterology/render/RenderButterflyItem.java b/src/main/java/forestry/lepidopterology/render/RenderButterflyItem.java index 6c39993d0..37e8e6920 100644 --- a/src/main/java/forestry/lepidopterology/render/RenderButterflyItem.java +++ b/src/main/java/forestry/lepidopterology/render/RenderButterflyItem.java @@ -21,10 +21,10 @@ import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.IButterfly; import forestry.core.proxy.Proxies; import forestry.lepidopterology.entities.EntityButterfly; -import forestry.plugins.PluginLepidopterology; public class RenderButterflyItem implements IItemRenderer { @@ -75,9 +75,9 @@ public class RenderButterflyItem implements IItemRenderer { } private IButterfly initButterfly(ItemStack item, boolean scaled) { - IButterfly butterfly = PluginLepidopterology.butterflyInterface.getMember(item); + IButterfly butterfly = ButterflyManager.butterflyRoot.getMember(item); if (butterfly == null) { - butterfly = PluginLepidopterology.butterflyInterface.templateAsIndividual(PluginLepidopterology.butterflyInterface.getDefaultTemplate()); + butterfly = ButterflyManager.butterflyRoot.templateAsIndividual(ButterflyManager.butterflyRoot.getDefaultTemplate()); } if (entity == null) { diff --git a/src/main/java/forestry/plugins/PluginApiculture.java b/src/main/java/forestry/plugins/PluginApiculture.java index 95095626b..e609891b1 100644 --- a/src/main/java/forestry/plugins/PluginApiculture.java +++ b/src/main/java/forestry/plugins/PluginApiculture.java @@ -83,6 +83,7 @@ import forestry.apiculture.genetics.BeeMutationFactory; import forestry.apiculture.genetics.BeekeepingMode; import forestry.apiculture.genetics.HiveDrop; import forestry.apiculture.genetics.JubilanceFactory; +import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.apiculture.genetics.alleles.AlleleEffectAggressive; import forestry.apiculture.genetics.alleles.AlleleEffectCreeper; import forestry.apiculture.genetics.alleles.AlleleEffectExploration; @@ -141,7 +142,6 @@ import forestry.core.config.GameMode; import forestry.core.config.LocalizedConfiguration; import forestry.core.entities.EntityFXSnow; import forestry.core.fluids.Fluids; -import forestry.core.genetics.alleles.Allele; import forestry.core.items.ItemBlockForestry; import forestry.core.items.ItemForestry; import forestry.core.items.ItemOverlay; @@ -987,25 +987,25 @@ public class PluginApiculture extends ForestryPlugin { } // / BEES // EFFECTS 1800 - 1899 - Allele.effectNone = new AlleleEffectNone("none", true); - Allele.effectAggressive = new AlleleEffectAggressive(); - Allele.effectHeroic = new AlleleEffectHeroic(); - Allele.effectBeatific = new AlleleEffectPotion("beatific", false, Potion.regeneration, 100); - Allele.effectMiasmic = new AlleleEffectPotion("miasmic", false, Potion.poison, 600, 100, 0.1f); - Allele.effectMisanthrope = new AlleleEffectMisanthrope(); - Allele.effectGlacial = new AlleleEffectGlacial(); - Allele.effectRadioactive = new AlleleEffectRadioactive(); - Allele.effectCreeper = new AlleleEffectCreeper(); - Allele.effectIgnition = new AlleleEffectIgnition(); - Allele.effectExploration = new AlleleEffectExploration(); - Allele.effectFestiveEaster = new AlleleEffectNone("festiveEaster", true); - Allele.effectSnowing = new AlleleEffectSnowing(); - Allele.effectDrunkard = new AlleleEffectPotion("drunkard", false, Potion.confusion, 100); - Allele.effectReanimation = new AlleleEffectResurrection("reanimation", AlleleEffectResurrection.getReanimationList()); - Allele.effectResurrection = new AlleleEffectResurrection("resurrection", AlleleEffectResurrection.getResurrectionList()); - Allele.effectRepulsion = new AlleleEffectRepulsion(); - Allele.effectFertile = new AlleleEffectFertile(); - Allele.effectMycophilic = new AlleleEffectFungification(); + AlleleEffect.effectNone = new AlleleEffectNone("none", true); + AlleleEffect.effectAggressive = new AlleleEffectAggressive(); + AlleleEffect.effectHeroic = new AlleleEffectHeroic(); + AlleleEffect.effectBeatific = new AlleleEffectPotion("beatific", false, Potion.regeneration, 100); + AlleleEffect.effectMiasmic = new AlleleEffectPotion("miasmic", false, Potion.poison, 600, 100, 0.1f); + AlleleEffect.effectMisanthrope = new AlleleEffectMisanthrope(); + AlleleEffect.effectGlacial = new AlleleEffectGlacial(); + AlleleEffect.effectRadioactive = new AlleleEffectRadioactive(); + AlleleEffect.effectCreeper = new AlleleEffectCreeper(); + AlleleEffect.effectIgnition = new AlleleEffectIgnition(); + AlleleEffect.effectExploration = new AlleleEffectExploration(); + AlleleEffect.effectFestiveEaster = new AlleleEffectNone("festiveEaster", true); + AlleleEffect.effectSnowing = new AlleleEffectSnowing(); + AlleleEffect.effectDrunkard = new AlleleEffectPotion("drunkard", false, Potion.confusion, 100); + AlleleEffect.effectReanimation = new AlleleEffectResurrection("reanimation", AlleleEffectResurrection.getReanimationList()); + AlleleEffect.effectResurrection = new AlleleEffectResurrection("resurrection", AlleleEffectResurrection.getResurrectionList()); + AlleleEffect.effectRepulsion = new AlleleEffectRepulsion(); + AlleleEffect.effectFertile = new AlleleEffectFertile(); + AlleleEffect.effectMycophilic = new AlleleEffectFungification(); } public static double getSecondPrincessChance() { diff --git a/src/main/java/forestry/plugins/PluginArboriculture.java b/src/main/java/forestry/plugins/PluginArboriculture.java index f644b942b..64fa08cb7 100644 --- a/src/main/java/forestry/plugins/PluginArboriculture.java +++ b/src/main/java/forestry/plugins/PluginArboriculture.java @@ -67,6 +67,7 @@ import forestry.arboriculture.genetics.TreeMutationFactory; import forestry.arboriculture.genetics.TreekeepingMode; import forestry.arboriculture.genetics.alleles.AlleleFruit; import forestry.arboriculture.genetics.alleles.AlleleGrowth; +import forestry.arboriculture.genetics.alleles.AlleleLeafEffect; import forestry.arboriculture.genetics.alleles.AlleleLeafEffectNone; import forestry.arboriculture.items.ItemBlockLeaves; import forestry.arboriculture.items.ItemBlockWood; @@ -87,7 +88,6 @@ import forestry.core.config.ForestryBlock; import forestry.core.config.ForestryItem; import forestry.core.config.GameMode; import forestry.core.fluids.Fluids; -import forestry.core.genetics.alleles.Allele; import forestry.core.items.ItemBlockForestry; import forestry.core.items.ItemFruit.EnumFruit; import forestry.core.network.PacketIdClient; @@ -354,29 +354,29 @@ public class PluginArboriculture extends ForestryPlugin { TreeBranchDefinition.createAlleles(); // FRUITS - Allele.fruitNone = new AlleleFruit("none", new FruitProviderNone("none", null)); - Allele.fruitApple = new AlleleFruit("apple", new FruitProviderRandom("apple", EnumFruitFamily.POMES, new ItemStack(Items.apple), 1.0f).setColour(0xff2e2e).setOverlay("pomes")); - Allele.fruitCocoa = new AlleleFruit("cocoa", new FruitProviderPod("cocoa", EnumFruitFamily.JUNGLE, EnumPodType.COCOA)); + AlleleFruit.fruitNone = new AlleleFruit("none", new FruitProviderNone("none", null)); + AlleleFruit.fruitApple = new AlleleFruit("apple", new FruitProviderRandom("apple", EnumFruitFamily.POMES, new ItemStack(Items.apple), 1.0f).setColour(0xff2e2e).setOverlay("pomes")); + AlleleFruit.fruitCocoa = new AlleleFruit("cocoa", new FruitProviderPod("cocoa", EnumFruitFamily.JUNGLE, EnumPodType.COCOA)); // .setColours(0xecdca5, 0xc4d24a), true); - Allele.fruitChestnut = new AlleleFruit("chestnut", new FruitProviderRipening("chestnut", EnumFruitFamily.NUX, EnumFruit.CHESTNUT.getStack(), 1.0f).setRipeningPeriod(6).setColours(0x7f333d, 0xc4d24a).setOverlay("nuts"), true); - Allele.fruitWalnut = new AlleleFruit("walnut", new FruitProviderRipening("walnut", EnumFruitFamily.NUX, EnumFruit.WALNUT.getStack(), 1.0f).setRipeningPeriod(8).setColours(0xfba248, 0xc4d24a).setOverlay("nuts"), true); - Allele.fruitCherry = new AlleleFruit("cherry", new FruitProviderRipening("cherry", EnumFruitFamily.PRUNES, EnumFruit.CHERRY.getStack(), 1.0f).setColours(0xff2e2e, 0xc4d24a).setOverlay("berries"), true); - Allele.fruitDates = new AlleleFruit("dates", new FruitProviderPod("dates", EnumFruitFamily.JUNGLE, EnumPodType.DATES, EnumFruit.DATES.getStack(4))); - Allele.fruitPapaya = new AlleleFruit("papaya", new FruitProviderPod("papaya", EnumFruitFamily.JUNGLE, EnumPodType.PAPAYA, EnumFruit.PAPAYA.getStack())); + AlleleFruit.fruitChestnut = new AlleleFruit("chestnut", new FruitProviderRipening("chestnut", EnumFruitFamily.NUX, EnumFruit.CHESTNUT.getStack(), 1.0f).setRipeningPeriod(6).setColours(0x7f333d, 0xc4d24a).setOverlay("nuts"), true); + AlleleFruit.fruitWalnut = new AlleleFruit("walnut", new FruitProviderRipening("walnut", EnumFruitFamily.NUX, EnumFruit.WALNUT.getStack(), 1.0f).setRipeningPeriod(8).setColours(0xfba248, 0xc4d24a).setOverlay("nuts"), true); + AlleleFruit.fruitCherry = new AlleleFruit("cherry", new FruitProviderRipening("cherry", EnumFruitFamily.PRUNES, EnumFruit.CHERRY.getStack(), 1.0f).setColours(0xff2e2e, 0xc4d24a).setOverlay("berries"), true); + AlleleFruit.fruitDates = new AlleleFruit("dates", new FruitProviderPod("dates", EnumFruitFamily.JUNGLE, EnumPodType.DATES, EnumFruit.DATES.getStack(4))); + AlleleFruit.fruitPapaya = new AlleleFruit("papaya", new FruitProviderPod("papaya", EnumFruitFamily.JUNGLE, EnumPodType.PAPAYA, EnumFruit.PAPAYA.getStack())); // Allele.fruitCoconut = new AlleleFruit("fruitCoconut", new // FruitProviderPod("coconut", jungle, EnumPodType.COCONUT, new // ItemStack[] { new ItemStack( // ForestryItem.fruits, 1, EnumFruit.COCONUT.ordinal()) })); - Allele.fruitLemon = new AlleleFruit("lemon", new FruitProviderRipening("lemon", EnumFruitFamily.PRUNES, EnumFruit.LEMON.getStack(), 1.0f).setColours(0xeeee00, 0x99ff00).setOverlay("citrus"), true); - Allele.fruitPlum = new AlleleFruit("plum", new FruitProviderRipening("plum", EnumFruitFamily.PRUNES, EnumFruit.PLUM.getStack(), 1.0f).setColours(0x663446, 0xeeff1a).setOverlay("plums"), true); + AlleleFruit.fruitLemon = new AlleleFruit("lemon", new FruitProviderRipening("lemon", EnumFruitFamily.PRUNES, EnumFruit.LEMON.getStack(), 1.0f).setColours(0xeeee00, 0x99ff00).setOverlay("citrus"), true); + AlleleFruit.fruitPlum = new AlleleFruit("plum", new FruitProviderRipening("plum", EnumFruitFamily.PRUNES, EnumFruit.PLUM.getStack(), 1.0f).setColours(0x663446, 0xeeff1a).setOverlay("plums"), true); // / TREES // GROWTH PROVIDER 1350 - 1399 - Allele.growthLightlevel = new AlleleGrowth("lightlevel", new GrowthProvider()); - Allele.growthAcacia = new AlleleGrowth("acacia", new GrowthProvider()); - Allele.growthTropical = new AlleleGrowth("tropical", new GrowthProviderTropical()); + AlleleGrowth.growthLightlevel = new AlleleGrowth("lightlevel", new GrowthProvider()); + AlleleGrowth.growthAcacia = new AlleleGrowth("acacia", new GrowthProvider()); + AlleleGrowth.growthTropical = new AlleleGrowth("tropical", new GrowthProviderTropical()); // / TREES // EFFECTS 1900 - 1999 - Allele.leavesNone = new AlleleLeafEffectNone(); + AlleleLeafEffect.leavesNone = new AlleleLeafEffectNone(); } diff --git a/src/main/java/forestry/plugins/PluginCore.java b/src/main/java/forestry/plugins/PluginCore.java index 4818e116c..8c12660a2 100644 --- a/src/main/java/forestry/plugins/PluginCore.java +++ b/src/main/java/forestry/plugins/PluginCore.java @@ -52,7 +52,6 @@ import forestry.core.config.ForestryBlock; import forestry.core.config.ForestryItem; import forestry.core.config.GameMode; import forestry.core.genetics.ItemResearchNote; -import forestry.core.genetics.alleles.Allele; import forestry.core.genetics.alleles.AlleleFactory; import forestry.core.genetics.alleles.AlleleHelper; import forestry.core.genetics.alleles.AlleleRegistry; @@ -85,8 +84,6 @@ public class PluginCore extends ForestryPlugin { public static final RootCommand rootCommand = new RootCommand(); - private AlleleHelper alleleHelper; - @Override protected void setupAPI() { super.setupAPI(); @@ -109,7 +106,7 @@ public class PluginCore extends ForestryPlugin { rootCommand.addChildCommand(new CommandVersion()); rootCommand.addChildCommand(new CommandPlugins()); - Allele.helper = alleleHelper = new AlleleHelper(); + AlleleHelper.instance = new AlleleHelper(); ForestryBlock.core.registerBlock(new BlockBase(Material.iron, true), ItemBlockForestry.class, "core"); @@ -145,7 +142,7 @@ public class PluginCore extends ForestryPlugin { definitionEscritoire.register(); ForestryModEnvWarningCallable.register(); - alleleHelper.init(); + AlleleHelper.instance.init(); RecipeSorter.register("forestry:shapedrecipecustom", ShapedRecipeCustom.class, RecipeSorter.Category.SHAPED, "before:minecraft:shaped"); RecipeSorter.register("forestry:shapelessrecipecustom", ShapelessRecipeCustom.class, RecipeSorter.Category.SHAPELESS, "before:minecraft:shapeless"); diff --git a/src/main/java/forestry/plugins/PluginLepidopterology.java b/src/main/java/forestry/plugins/PluginLepidopterology.java index 96048b4ad..b2a20e61d 100755 --- a/src/main/java/forestry/plugins/PluginLepidopterology.java +++ b/src/main/java/forestry/plugins/PluginLepidopterology.java @@ -12,7 +12,6 @@ package forestry.plugins; import java.io.File; import java.util.EnumSet; -import java.util.Locale; import net.minecraft.block.material.Material; import net.minecraft.item.crafting.CraftingManager; @@ -24,15 +23,11 @@ import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.network.IGuiHandler; import forestry.Forestry; -import forestry.api.arboriculture.ITreeRoot; -import forestry.api.core.EnumHumidity; -import forestry.api.core.EnumTemperature; +import forestry.api.arboriculture.TreeManager; import forestry.api.core.Tabs; import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IClassification; -import forestry.api.genetics.IClassification.EnumClassLevel; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.lepidopterology.EnumFlutterType; -import forestry.api.lepidopterology.IButterflyRoot; import forestry.api.recipes.RecipeManagers; import forestry.core.blocks.BlockBase; import forestry.core.config.Constants; @@ -40,8 +35,6 @@ import forestry.core.config.ForestryBlock; import forestry.core.config.ForestryItem; import forestry.core.config.LocalizedConfiguration; import forestry.core.fluids.Fluids; -import forestry.core.genetics.Branch; -import forestry.core.genetics.alleles.Allele; import forestry.core.items.ItemBlockForestry; import forestry.core.proxy.Proxies; import forestry.core.recipes.ShapedRecipeCustom; @@ -52,10 +45,13 @@ import forestry.lepidopterology.ButterflySpawner; import forestry.lepidopterology.GuiHandlerLepidopterology; import forestry.lepidopterology.commands.CommandButterfly; import forestry.lepidopterology.entities.EntityButterfly; -import forestry.lepidopterology.genetics.AlleleButterflySpecies; +import forestry.lepidopterology.genetics.AlleleEffect; import forestry.lepidopterology.genetics.AlleleEffectNone; +import forestry.lepidopterology.genetics.ButterflyBranchDefinition; +import forestry.lepidopterology.genetics.ButterflyDefinition; +import forestry.lepidopterology.genetics.ButterflyFactory; import forestry.lepidopterology.genetics.ButterflyHelper; -import forestry.lepidopterology.genetics.ButterflyTemplates; +import forestry.lepidopterology.genetics.MothDefinition; import forestry.lepidopterology.items.ItemButterflyGE; import forestry.lepidopterology.items.ItemFlutterlyzer; import forestry.lepidopterology.proxy.ProxyLepidopterology; @@ -71,16 +67,15 @@ public class PluginLepidopterology extends ForestryPlugin { public static int spawnConstraint = 100; public static int entityConstraint = 1000; private static boolean allowPollination = true; - /** - * See {@link IButterflyRoot} for details. - */ - public static IButterflyRoot butterflyInterface; @Override protected void setupAPI() { super.setupAPI(); - AlleleManager.alleleRegistry.registerSpeciesRoot(PluginLepidopterology.butterflyInterface = new ButterflyHelper()); + ButterflyManager.butterflyRoot = new ButterflyHelper(); + AlleleManager.alleleRegistry.registerSpeciesRoot(ButterflyManager.butterflyRoot); + + ButterflyManager.butterflyFactory = new ButterflyFactory(); } @Override @@ -88,7 +83,8 @@ public class PluginLepidopterology extends ForestryPlugin { ForestryBlock.lepidopterology.registerBlock(new BlockBase(Material.iron, true), ItemBlockForestry.class, "lepidopterology"); ForestryBlock.lepidopterology.block().setCreativeTab(Tabs.tabLepidopterology); - createAlleles(); + ButterflyBranchDefinition.createAlleles(); + AlleleEffect.butterflyNone = new AlleleEffectNone(); } @Override @@ -122,7 +118,8 @@ public class PluginLepidopterology extends ForestryPlugin { EntityUtil.registerEntity(EntityButterfly.class, "butterflyGE", 0, 0x000000, 0xffffff, 50, 1, true); proxy.initializeRendering(); - registerTemplates(); + MothDefinition.initMoths(); + ButterflyDefinition.initButterflies(); BlockBase lepidopterology = ((BlockBase) ForestryBlock.lepidopterology.block()); MachineDefinition definitionChest = lepidopterology.addDefinition(new MachineDefinition(Constants.DEFINITION_LEPICHEST_META, "forestry.LepiChest", TileLepidopteristChest.class, Proxies.render.getRenderChest("lepichest"), @@ -137,7 +134,7 @@ public class PluginLepidopterology extends ForestryPlugin { .setBoundingBox(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F)); definitionChest.register(); - ((ITreeRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees")).registerLeafTickHandler(new ButterflySpawner()); + TreeManager.treeRoot.registerLeafTickHandler(new ButterflySpawner()); RecipeSorter.register("forestry:lepidopterologymating", MatingRecipe.class, RecipeSorter.Category.SHAPELESS, "before:minecraft:shapeless"); } @@ -186,172 +183,6 @@ public class PluginLepidopterology extends ForestryPlugin { "dustRedstone", 'D', "gemDiamond"); } - private static void createAlleles() { - - IClassification lepidoptera = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.ORDER, "lepidoptera", "Lepidoptera"); - AlleleManager.alleleRegistry.getClassification("class.insecta").addMemberGroup(lepidoptera); - - IClassification geometridae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "geometridae", "Geometridae"); - lepidoptera.addMemberGroup(geometridae); - IClassification saturniidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "saturniidae", "Saturniidae"); - lepidoptera.addMemberGroup(saturniidae); - - IClassification pieridae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "pieridae", "Pieridae"); - lepidoptera.addMemberGroup(pieridae); - IClassification nymphalidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "nymphalidae", "Nymphalidae"); - lepidoptera.addMemberGroup(nymphalidae); - IClassification lycaenidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "lycaenidae", "Lycaenidae"); - lepidoptera.addMemberGroup(lycaenidae); - IClassification papilionidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "papilionidae", "Papilionidae"); - lepidoptera.addMemberGroup(papilionidae); - IClassification notchidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "notchidae", "Notchidae"); - lepidoptera.addMemberGroup(notchidae); - - /* GEOMETRIDAE */ - IClassification opisthograptis = createButterflyBranch(geometridae, "Opisthograptis"); - IClassification chiasmia = createButterflyBranch(geometridae, "Chiasmia"); - - Allele.mothBrimstone = new AlleleButterflySpecies("mothBrimstone", true, "brimstone", opisthograptis, "luteolata", 0xffea40).setNocturnal().setRarity(1.0f); - Allele.mothLatticedHeath = new AlleleButterflySpecies("mothLatticedHeath", true, "latticedHeath", chiasmia, "clathrata", 0xf2f0be).setNocturnal().setRarity(0.5f); - - /* SATURNIIDAE */ - IClassification attacus = createButterflyBranch(saturniidae, "Attacus"); - - Allele.mothAtlas = new AlleleButterflySpecies("mothAtlas", false, "atlas", attacus, "atlas", 0xd96e3d).setNocturnal(); - - /* PIERIDAE */ - IClassification pieris = createButterflyBranch(pieridae, "Pieris"); - IClassification gonepteryx = createButterflyBranch(pieridae, "Gonepteryx"); - IClassification anthocharis = createButterflyBranch(pieridae, "Anthocharis"); - IClassification colias = createButterflyBranch(pieridae, "Colias"); - IClassification pontia = createButterflyBranch(pieridae, "Pontia"); - IClassification celastrina = createButterflyBranch(pieridae, "Celastrina"); - - Allele.lepiCabbageWhite = new AlleleButterflySpecies("lepiCabbageWhite", true, "cabbageWhite", pieris, "rapae", 0xccffee).setRarity(1.0f); - Allele.lepiBrimstone = new AlleleButterflySpecies("lepiBrimstone", true, "brimstone", gonepteryx, "rhamni", 0xf0ee38).setRarity(1.0f); - Allele.lepiAurora = new AlleleButterflySpecies("lepiAurora", true, "orangeTip", anthocharis, "cardamines", 0xe34f05).setRarity(0.5f); - Allele.lepiPostillion = new AlleleButterflySpecies("lepiPostillion", true, "postillion", colias, "croceus", 0xd77e04).setRarity(0.5f); - Allele.lepiPalaenoSulphur = new AlleleButterflySpecies("lepiPalaenoSulphur", true, "palaenoSulphur", colias, "palaeno", 0xf8fba3).setRarity(0.4f); - Allele.lepiReseda = new AlleleButterflySpecies("lepiReseda", true, "reseda", pontia, "edusa", 0x747d48).setRarity(0.3f); - - Allele.lepiSpringAzure = new AlleleButterflySpecies("lepiSpringAzure", true, "springAzure", celastrina, "argiolus", 0xb8cae2).setRarity(0.3f); - Allele.lepiGozoraAzure = new AlleleButterflySpecies("lepiGozoraAzure", true, "gozoraAzure", celastrina, "gozora", 0x6870e7).setRarity(0.2f); - - /* PAPILIONIDAE */ - IClassification papilio = createButterflyBranch(papilionidae, "Papilio"); - IClassification protographium = createButterflyBranch(papilionidae, "Protographium"); - - Allele.lepiCitrusSwallow = new AlleleButterflySpecies("lepiCitrusSwallow", false, "swallowtailC", papilio, "demodocus", 0xeae389).setRarity(1.0f) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - Allele.lepiEmeraldPeacock = new AlleleButterflySpecies("lepiEmeraldPeacock", true, "emeraldPeacock", papilio, "palinurus", 0x7cfe80) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - Allele.lepiThoasSwallow = new AlleleButterflySpecies("lepiThoasSwallow", false, "swallowtailT", papilio, "thoas", 0xeac783).setRarity(0.2f) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - Allele.lepiSpicebush = new AlleleButterflySpecies("lepiSpicebush", true, "swallowtailS", papilio, "troilus", 0xeefeff).setRarity(0.5f); - Allele.lepiBlackSwallow = new AlleleButterflySpecies("lepiBlackSwallow", true, "swallowtailB", papilio, "polyxenes", 0xeac783).setRarity(1.0f); - - Allele.lepiZebraSwallow = new AlleleButterflySpecies("lepiZebraSwallow", true, "swallowtailZ", protographium, "marcellus", 0xeafeff).setRarity(0.5f); - - /* NYMPHALIDAE */ - IClassification pararge = createButterflyBranch(nymphalidae, "Pararge"); - IClassification polygonia = createButterflyBranch(nymphalidae, "Polygonia"); - IClassification morpho = createButterflyBranch(nymphalidae, "Morpho"); - IClassification greta = createButterflyBranch(nymphalidae, "Greta"); - IClassification batesia = createButterflyBranch(nymphalidae, "Batesia"); - IClassification myscelia = createButterflyBranch(nymphalidae, "Myscelia"); - IClassification danaus = createButterflyBranch(nymphalidae, "Danaus"); - IClassification bassarona = createButterflyBranch(nymphalidae, "Bassarona"); - IClassification parantica = createButterflyBranch(nymphalidae, "Parantica"); - IClassification heliconius = createButterflyBranch(nymphalidae, "Heliconius"); - IClassification siproeta = createButterflyBranch(nymphalidae, "Siproeta"); - IClassification cethosia = createButterflyBranch(nymphalidae, "Cethosia"); - IClassification speyeria = createButterflyBranch(nymphalidae, "Speyeria"); - - Allele.lepiGlasswing = new AlleleButterflySpecies("lepiGlasswing", true, "glasswing", greta, "oto", 0x583732) - .setTemperatureDeprecated(EnumTemperature.WARM); - - Allele.lepiSpeckledWood = new AlleleButterflySpecies("lepiSpeckledWood", true, "speckledWood", pararge, "aegeria", 0x947245).setRarity(1.0f); - Allele.lepiMadeiranSpeckledWood = new AlleleButterflySpecies("lepiMSpeckledWood", true, "speckledWoodM", pararge, "xiphia", 0x402919).setRarity(0.5f); - Allele.lepiCanarySpeckledWood = new AlleleButterflySpecies("lepiCSpeckledWood", true, "speckledWoodC", pararge, "xiphioides", 0x51372a).setRarity(0.5f); - - Allele.lepiMenelausBlueMorpho = new AlleleButterflySpecies("lepiMBlueMorpho", true, "blueMorphoM", morpho, "menelaus", 0x72e1fd).setRarity(0.5f) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - Allele.lepiPeleidesBlueMorpho = new AlleleButterflySpecies("lepiPBlueMorpho", true, "blueMorphoP", morpho, "peleides", 0x6ecce8).setRarity(0.25f) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - Allele.lepiRhetenorBlueMorpho = new AlleleButterflySpecies("lepiRBlueMorpho", true, "blueMorphoR", morpho, "rhetenor", 0x00bef8) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - - Allele.lepiComma = new AlleleButterflySpecies("lepiComma", true, "comma", polygonia, "c-album", 0xf89505).setRarity(0.3f); - Allele.lepiBatesia = new AlleleButterflySpecies("lepiBatesia", true, "paintedBeauty", batesia, "hypochlora", 0xfe7763).setRarity(0.3f) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - Allele.lepiBlueWing = new AlleleButterflySpecies("lepiBlueWing", true, "blueWing", myscelia, "ethusa", 0x3a93cc).setRarity(0.3f); - - Allele.lepiMonarch = new AlleleButterflySpecies("lepiMonarch", true, "monarch", danaus, "plexippus", 0xffa722).setRarity(0.2f); - Allele.lepiBlueDuke = new AlleleButterflySpecies("lepiBlueDuke", true, "blueDuke", bassarona, "durga", 0x304240).setRarity(0.5f) - .setTemperatureDeprecated(EnumTemperature.COLD); - Allele.lepiGlassyTiger = new AlleleButterflySpecies("lepiGlassyTiger", true, "glassyTiger", parantica, "aglea", 0x5b3935).setRarity(0.3f); - Allele.lepiPostman = new AlleleButterflySpecies("lepiPostman", true, "postman", heliconius, "melpomene", 0xf7302d).setRarity(0.3f); - Allele.lepiMalachite = new AlleleButterflySpecies("lepiMalachite", true, "malachite", siproeta, "stelenes", 0xbdff53).setRarity(0.5f) - .setTemperatureDeprecated(EnumTemperature.WARM).setHumidityDeprecated(EnumHumidity.DAMP); - Allele.lepiLLacewing = new AlleleButterflySpecies("lepiLLacewing", true, "leopardLacewing", cethosia, "cyane", 0xfb8a06).setRarity(0.7f); - - Allele.lepiDianaFrit = new AlleleButterflySpecies("lepiDianaFrit", true, "dianaFritillary", speyeria, "diana", 0xffac05).setRarity(0.6f); - - Allele.butterflyNone = new AlleleEffectNone(); - } - - private static IClassification createButterflyBranch(IClassification family, String scientific) { - IClassification branch = new Branch("moth." + scientific.toLowerCase(Locale.ENGLISH), scientific); - branch.setParent(family); - return branch; - } - - private static void registerTemplates() { - butterflyInterface.registerTemplate(ButterflyTemplates.getBrimstoneMothTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getLatticedHeathTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getAtlasMothTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getCabbageWhiteTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getGlasswingTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getEmeraldPeacockTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getThoasSwallowTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getCitrusSwallowTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getBlackSwallowTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getZebraSwallowTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getDianaFritTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getSpeckledWoodTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getMadeiranSpeckledWoodTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getCanarySpeckledWoodTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getMenelausBlueMorphoTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getRhetenorBlueMorphoTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getPeleidesBlueMorphoTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getBrimstoneTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getAuroraTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getPostillionTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getPalaenoSulphurTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getResedaTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getSpringAzureTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getGozoraAzureTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getCommaTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getBatesiaTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getBlueWingTemplate()); - - butterflyInterface.registerTemplate(ButterflyTemplates.getBlueDukeTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getGlassyTigerTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getMonarchTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getPostmanTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getSpicebushTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getMalachiteTemplate()); - butterflyInterface.registerTemplate(ButterflyTemplates.getLeopardLacewingTemplate()); - - } - @Override public IGuiHandler getGuiHandler() { return new GuiHandlerLepidopterology(); diff --git a/src/main/java/forestry/storage/items/ItemNaturalistBackpack.java b/src/main/java/forestry/storage/items/ItemNaturalistBackpack.java index 4de119eb1..39a76013b 100755 --- a/src/main/java/forestry/storage/items/ItemNaturalistBackpack.java +++ b/src/main/java/forestry/storage/items/ItemNaturalistBackpack.java @@ -15,9 +15,9 @@ import net.minecraft.item.ItemStack; import forestry.api.apiculture.BeeManager; import forestry.api.core.ForestryAPI; +import forestry.api.lepidopterology.ButterflyManager; import forestry.api.storage.EnumBackpackType; import forestry.api.storage.IBackpackDefinition; -import forestry.plugins.PluginLepidopterology; import forestry.storage.BackpackDefinition; public class ItemNaturalistBackpack extends ItemBackpack { @@ -42,7 +42,7 @@ public class ItemNaturalistBackpack extends ItemBackpack { @Override public boolean isValidItem(ItemStack itemStack) { - return PluginLepidopterology.butterflyInterface.isMember(itemStack); + return ButterflyManager.butterflyRoot.isMember(itemStack); } }