aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDream-Master <dream-master@gmx.net>2018-09-11 23:00:06 +0200
committerDream-Master <dream-master@gmx.net>2018-09-11 23:00:06 +0200
commit0fc364af0bc99b02d9592e4aa915ab6f6a01c941 (patch)
tree22c3a249d24e85585f60bc6d286478f1499e26b1
parentce5eddacbc385755221557a5e69082a2a2d75099 (diff)
downloadGT5-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.java38
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_Bees.java89
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;
}
}
}