diff options
author | Dream-Master <dream-master@gmx.net> | 2018-09-11 23:00:06 +0200 |
---|---|---|
committer | Dream-Master <dream-master@gmx.net> | 2018-09-11 23:00:06 +0200 |
commit | 0fc364af0bc99b02d9592e4aa915ab6f6a01c941 (patch) | |
tree | 22c3a249d24e85585f60bc6d286478f1499e26b1 | |
parent | ce5eddacbc385755221557a5e69082a2a2d75099 (diff) | |
download | GT5-Unofficial-0fc364af0bc99b02d9592e4aa915ab6f6a01c941.tar.gz GT5-Unofficial-0fc364af0bc99b02d9592e4aa915ab6f6a01c941.tar.bz2 GT5-Unofficial-0fc364af0bc99b02d9592e4aa915ab6f6a01c941.zip |
merge @Zoko061602 changes
Thanks
-rw-r--r-- | src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java | 38 | ||||
-rw-r--r-- | src/main/java/gregtech/loaders/misc/GT_Bees.java | 89 |
2 files changed, 124 insertions, 3 deletions
diff --git a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java index 778019e4a3..cde47b54c7 100644 --- a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java +++ b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java @@ -5,11 +5,13 @@ import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleFlowers; import forestry.apiculture.genetics.Bee; import forestry.apiculture.genetics.BeeDefinition; import forestry.apiculture.genetics.BeeVariation; import forestry.apiculture.genetics.IBeeDefinition; import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.EnumAllele; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; @@ -41,6 +43,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.MEADOWS.getTemplate(); + //AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); } @Override @@ -1048,6 +1051,8 @@ public enum GT_BeeDefinition implements IBeeDefinition { private final static byte EXTRABEES = 1; private final static byte GENDUSTRY = 2; private final static byte MAGICBEES = 3; + private final static byte GREGTECH = 4; + private IAllele[] template; private IBeeGenome genome; @@ -1056,7 +1061,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { String lowercaseName = this.toString().toLowerCase(Locale.ENGLISH); String species = "species" + WordUtils.capitalize(lowercaseName); - String uid = "forestry." + species; + String uid = "gregtech." + species; String description = "for.description." + species; String name = "for.bees.species." + lowercaseName; @@ -1072,18 +1077,47 @@ public enum GT_BeeDefinition implements IBeeDefinition { bee.registerMutations(); } } + + private static IAlleleBeeEffect getEffect(byte modid, String name) { + String s; + switch(modid) { + case EXTRABEES: s = new StringBuilder().append("extrabees.effect.").append(name).toString();break; + case GENDUSTRY: s = new StringBuilder().append("gendustry.effect.").append(name).toString();break; + case MAGICBEES: s = new StringBuilder().append("magicbees.effect").append(name).toString();break; + case GREGTECH: s = new StringBuilder().append("gregtech.effect").append(name).toString();break; + default: s = new StringBuilder().append("forestry.effect").append(name).toString();break; + + } + return (IAlleleBeeEffect) AlleleManager.alleleRegistry.getAllele(s); + } + + private static IAlleleFlowers getFlowers(byte modid, String name) { + String s; + switch(modid) { + case EXTRABEES: s = new StringBuilder().append("extrabees.flowers.").append(name).toString();break; + case GENDUSTRY: s = new StringBuilder().append("gendustry.flowers.").append(name).toString();break; + case MAGICBEES: s = new StringBuilder().append("magicbees.flowers").append(name).toString();break; + case GREGTECH: s = new StringBuilder().append("gregtech.flowers").append(name).toString();break; + default: s = new StringBuilder().append("forestry.flowers").append(name).toString();break; + + } + return (IAlleleFlowers) AlleleManager.alleleRegistry.getAllele(s); + } + private static IAlleleBeeSpecies getSpecies(byte modid, String name) { String s; switch(modid) { case EXTRABEES: s = new StringBuilder().append("extrabees.species.").append(name).toString();break; case GENDUSTRY: s = new StringBuilder().append("gendustry.bee.").append(name).toString();break; case MAGICBEES: s = new StringBuilder().append("magicbees.species").append(name).toString();break; + case GREGTECH: s = new StringBuilder().append("gregtech.effect").append(name).toString();break; default: s = new StringBuilder().append("forestry.species").append(name).toString();break; } return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele(s); } + protected abstract void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies); protected abstract void setAlleles(IAllele[] template); @@ -1131,4 +1165,4 @@ public enum GT_BeeDefinition implements IBeeDefinition { return new BeeVariation.RainResist(this); } -} +}
\ No newline at end of file diff --git a/src/main/java/gregtech/loaders/misc/GT_Bees.java b/src/main/java/gregtech/loaders/misc/GT_Bees.java index 227e948fda..afc02efbea 100644 --- a/src/main/java/gregtech/loaders/misc/GT_Bees.java +++ b/src/main/java/gregtech/loaders/misc/GT_Bees.java @@ -1,18 +1,105 @@ package gregtech.loaders.misc; import cpw.mods.fml.common.Loader; +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.apiculture.IAlleleBeeSpecies; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAlleleArea; +import forestry.api.genetics.IAlleleFloat; +import forestry.api.genetics.IAlleleInteger; +import forestry.core.genetics.alleles.Allele; import gregtech.GT_Mod; import gregtech.common.items.ItemComb; public class GT_Bees { + static IAlleleInteger noFertility; + static IAlleleInteger superFertility; + + static IAlleleInteger noFlowering; + static IAlleleInteger superFlowering; + + static IAlleleArea noTerritory; + static IAlleleArea superTerritory; + + static IAlleleFloat noWork; + static IAlleleFloat speedBlinding; + static IAlleleFloat superSpeed; + public static ItemComb combs; public GT_Bees() { if (Loader.isModLoaded("Forestry") && GT_Mod.gregtechproxy.mGTBees) { + combs = new ItemComb(); combs.initCombsRecipes(); - GT_BeeDefinition.initBees(); + GT_BeeDefinition.initBees(); + } + } + + private static void setupGTAlleles(){ + + noFertility = new AlleleInteger("fertilitySterile", 0, false, EnumBeeChromosome.FERTILITY); + superFertility = new AlleleInteger("fertilityMultiply", 8, false, EnumBeeChromosome.FERTILITY); + + noFlowering = new AlleleInteger("floweringNonpollinating", 0, false, EnumBeeChromosome.FLOWERING); + superFlowering = new AlleleInteger("floweringNaturalistic", 240, false, EnumBeeChromosome.FLOWERING); + + noTerritory = new AlleleArea("areaLethargic", 1, 1, false); + superTerritory = new AlleleArea("areaExploratory", 32, 16, false); + + noWork = new AlleleFloat("speedUnproductive", 0, false); + speedBlinding = (IAlleleFloat) AlleleManager.alleleRegistry.getAllele("magicbees.speedBlinding"); + superSpeed = new AlleleFloat("speedAccelerated", 4F, false); + + + } + + private static class AlleleFloat extends Allele implements IAlleleFloat { + private float value; + + public AlleleFloat(String id, float val, boolean isDominant) { + super("gregtech."+id, "gregtech."+id, isDominant); + this.value = val; + AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPEED); + + } + + @Override + public float getValue(){ + return this.value; + } + } + + private static class AlleleInteger extends Allele implements IAlleleInteger { + + private int value; + + public AlleleInteger(String id, int val, boolean isDominant, EnumBeeChromosome c) { + super("gregtech."+id, "gregtech."+id, isDominant); + this.value = val; + AlleleManager.alleleRegistry.registerAllele(this, c); + } + + @Override + public int getValue(){ + return this.value; + } + } + + private static class AlleleArea extends Allele implements IAlleleArea { + + private int[] value; + + public AlleleArea(String id, int rangeXZ,int rangeY, boolean isDominant) { + super("gregtech."+id, "gregtech."+id, isDominant); + this.value = new int[] {rangeXZ,rangeY,rangeXZ}; + AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.TERRITORY); + } + + @Override + public int[] getValue(){ + return this.value; } } } |