本文整理汇总了Java中forestry.api.genetics.IGenome类的典型用法代码示例。如果您正苦于以下问题:Java IGenome类的具体用法?Java IGenome怎么用?Java IGenome使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IGenome类属于forestry.api.genetics包,在下文中一共展示了IGenome类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addGenome
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
protected void addGenome(ItemStack stack, IGenome origGenome, HashMap<String, Object> ret) {
IButterflyGenome genome = (IButterflyGenome) origGenome;
ret.put("speciesPrimary", genome.getPrimary().getName());
ret.put("speciesSecondary", genome.getSecondary().getName());
ret.put("speed", genome.getSpeed());
ret.put("lifespan", genome.getLifespan());
ret.put("metabolism", genome.getMetabolism());
ret.put("fertility", genome.getFertility());
ret.put("nocturnal", genome.getNocturnal());
ret.put("tolerantFlyer", genome.getTolerantFlyer());
ret.put("fireResistant", genome.getFireResist());
ret.put("flower", genome.getFlowerProvider().getDescription());
ret.put("effect", genome.getEffect().getUID());
ret.put("temperature", genome.getPrimary().getTemperature().toString());
ret.put("toleranceTemperature", genome.getToleranceTemp().toString());
ret.put("humidity", genome.getPrimary().getHumidity().toString());
ret.put("toleranceHumidity", genome.getToleranceHumid().toString());
}
示例2: addGenome
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
protected void addGenome(ItemStack stack, IGenome origGenome, HashMap<String,Object> ret) {
IBeeRoot root = (IBeeRoot) getRoot();
IBeeGenome genome = (IBeeGenome) origGenome;
ret.put("type", root.getType(stack).name());
ret.put("speciesPrimary", genome.getPrimary().getName());
ret.put("speciesSecondary", genome.getSecondary().getName());
ret.put("speed", genome.getSpeed());
ret.put("lifespan", genome.getLifespan());
ret.put("fertility", genome.getFertility());
ret.put("nocturnal", genome.getNocturnal());
ret.put("tolerantFlyer", genome.getTolerantFlyer());
ret.put("caveDwelling", genome.getCaveDwelling());
ret.put("flower", genome.getFlowerProvider().getDescription());
ret.put("territory", Util.arrayToMap(genome.getTerritory()));
ret.put("effect", genome.getEffect().getUID());
ret.put("temperature", genome.getPrimary().getTemperature().toString());
ret.put("toleranceTemperature", genome.getToleranceTemp().toString());
ret.put("humidity", genome.getPrimary().getHumidity().toString());
ret.put("toleranceHumidity", genome.getToleranceHumid().toString());
}
示例3: addGenome
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
protected void addGenome(ItemStack stack, IGenome origGenome, HashMap<String, Object> ret) {
ITreeGenome genome = (ITreeGenome) origGenome;
ret.put("speciesPrimary", genome.getPrimary().getName());
ret.put("speciesSecondary", genome.getSecondary().getName());
ret.put("height", genome.getHeight());
ret.put("fertility", genome.getFertility());
ret.put("yield", genome.getYield());
ret.put("sappiness", genome.getSappiness());
ret.put("matures", genome.getMaturationTime());
ret.put("fruit", genome.getFruitProvider().getDescription());
ret.put("growth", genome.getGrowthProvider().getDescription());
ret.put("girth", genome.getGirth());
ret.put("plant", Util.EnumSetToMap(genome.getPlantTypes()));
ret.put("effect", genome.getEffect().getUID());
}
示例4: addGenome
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
protected void addGenome(ItemStack stack, IGenome origGenome, Map<String, Object> ret) {
IButterflyGenome genome = (IButterflyGenome) origGenome;
ret.put("speciesPrimary", genome.getPrimary().getName());
ret.put("speciesSecondary", genome.getSecondary().getName());
ret.put("speed", genome.getSpeed());
ret.put("lifespan", genome.getLifespan());
ret.put("metabolism", genome.getMetabolism());
ret.put("fertility", genome.getFertility());
ret.put("nocturnal", genome.getNocturnal());
ret.put("tolerantFlyer", genome.getTolerantFlyer());
ret.put("fireResistant", genome.getFireResist());
ret.put("flower", genome.getFlowerProvider().getDescription());
ret.put("effect", genome.getEffect().getUID());
ret.put("temperature", genome.getPrimary().getTemperature().toString());
ret.put("toleranceTemperature", genome.getToleranceTemp().toString());
ret.put("humidity", genome.getPrimary().getHumidity().toString());
ret.put("toleranceHumidity", genome.getToleranceHumid().toString());
}
示例5: addGenome
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
protected void addGenome(ItemStack stack, IGenome origGenome, Map<String, Object> ret) {
ITreeGenome genome = (ITreeGenome) origGenome;
ret.put("speciesPrimary", genome.getPrimary().getName());
ret.put("speciesSecondary", genome.getSecondary().getName());
ret.put("height", genome.getHeight());
ret.put("fertility", genome.getFertility());
ret.put("yield", genome.getYield());
ret.put("sappiness", genome.getSappiness());
ret.put("matures", genome.getMaturationTime());
ret.put("fruit", genome.getFruitProvider().getDescription());
ret.put("growth", genome.getGrowthProvider().getDescription());
ret.put("girth", genome.getGirth());
ret.put("plant", Util.iterableToMap(genome.getPlantTypes()));
}
示例6: addGenome
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
protected void addGenome(ItemStack stack, IGenome origGenome, Map<String, Object> ret) {
IBeeRoot root = (IBeeRoot) getRoot();
IBeeGenome genome = (IBeeGenome) origGenome;
ret.put("type", Util.camelCase(root.getType(stack).name()));
ret.put("speciesPrimary", genome.getPrimary().getName());
ret.put("speciesSecondary", genome.getSecondary().getName());
ret.put("speed", genome.getSpeed());
ret.put("lifespan", genome.getLifespan());
ret.put("fertility", genome.getFertility());
ret.put("nocturnal", genome.getNocturnal());
ret.put("tolerantFlyer", genome.getTolerantFlyer());
ret.put("caveDwelling", genome.getCaveDwelling());
ret.put("flower", genome.getFlowerProvider().getDescription());
ret.put("territory", Util.arrayToMap(genome.getTerritory()));
ret.put("effect", genome.getEffect().getUID());
ret.put("temperature", genome.getPrimary().getTemperature().toString());
ret.put("toleranceTemperature", genome.getToleranceTemp().toString());
ret.put("humidity", genome.getPrimary().getHumidity().toString());
ret.put("toleranceHumidity", genome.getToleranceHumid().toString());
}
示例7: getChance
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public int getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
int processedChance = chance;
BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(x, z);
if (biome.temperature < minTemperature || biome.temperature > maxTemperature)
return 0;
if (biome.rainfall < minRainfall || biome.rainfall > maxRainfall)
return 0;
if (this.allele0.getUID().equals(allele0.getUID()) && this.allele1.getUID().equals(allele1.getUID()))
return processedChance;
if (this.allele1.getUID().equals(allele0.getUID()) && this.allele0.getUID().equals(allele1.getUID()))
return processedChance;
return 0;
}
示例8: getChance
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public int getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
int chance = super.getChance(housing, allele0, allele1, genome0, genome1);
// If we have no chance anyway, we don't need to check.
if (chance <= 0)
return 0;
World world = housing.getWorld();
if (blockRequired == null)
return chance;
int blockid = world.getBlockId(housing.getXCoord(), housing.getYCoord() - 1, housing.getZCoord());
int meta = world.getBlockMetadata(housing.getXCoord(), housing.getYCoord() - 1, housing.getZCoord());
if (blockid == blockRequired.itemID && meta == blockRequired.getItemDamage())
return chance;
else
return 0;
}
示例9: isGeneticEqual
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public boolean isGeneticEqual(IGenome other) {
IChromosome[] genetics = other.getChromosomes();
if(chromosomes.length != genetics.length)
return false;
for(int i = 0; i < chromosomes.length; i++) {
IChromosome chromosome = chromosomes[i];
if(chromosome == null && genetics[i] != null)
return false;
if(chromosome != null && genetics[i] == null)
return false;
if(chromosome == null && genetics[i] == null)
continue;
if(!chromosome.getPrimaryAllele().getUID().equals(genetics[i].getPrimaryAllele().getUID()))
return false;
if(!chromosome.getSecondaryAllele().getUID().equals(genetics[i].getSecondaryAllele().getUID()))
return false;
}
return true;
}
示例10: setItem
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Nonnull
private ItemStack setItem(int slot, @Nonnull ItemStack itemStack) {
if (slot < 0 || slot >= items.size()) {
return ItemStack.EMPTY;
}
ItemStack prevStack = items.get(slot);
if (!prevStack.isEmpty()) {
this.primarySpeciesUids[slot] = null;
this.secondarySpeciesUids[slot] = null;
}
items.set(slot, itemStack);
ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(itemStack);
if (speciesRoot != null) {
IIndividual member = speciesRoot.getMember(itemStack);
if (member != null) {
IGenome genome = member.getGenome();
primarySpeciesUids[slot] = genome.getPrimary().getUID();
secondarySpeciesUids[slot] = genome.getSecondary().getUID();
}
}
return prevStack;
}
示例11: getChance
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
if (MoonPhase.getMoonPhase(world).isBetween(this.moonPhaseStart, this.moonPhaseEnd)) {
return this.mutationBonus;
}
return 1;
}
示例12: getChance
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
if (MoonPhase.getMoonPhase(world).isBetween(this.moonPhaseStart, this.moonPhaseEnd)) {
return 1;
}
return 0;
}
示例13: listAllSpecies
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@ScriptCallable(returnTypes = ReturnType.TABLE, description = "Get all known bees species")
public List<Map<String, String>> listAllSpecies(IBeeHousing housing) {
ISpeciesRoot beeRoot = AlleleManager.alleleRegistry.getSpeciesRoot("rootBees");
if (beeRoot == null) return null;
final Set<IAlleleSpecies> allSpecies = Sets.newTreeSet(alleleCompatator);
// approach 1: parents and children of all mutations
for (IMutation mutation : beeRoot.getMutations(false)) {
allSpecies.add(mutation.getAllele0());
allSpecies.add(mutation.getAllele1());
allSpecies.add(getOffspringSpecies(mutation));
}
// approach 2: template bees
for (IIndividual individual : beeRoot.getIndividualTemplates()) {
final IGenome genome = individual.getGenome();
allSpecies.add(genome.getPrimary()); // secondary is same as primary
}
// TODO approach 3
// beeRoot.getRegisteredAlleles(EnumBeeChromosome.SPECIES) (Forestry 4.2 API)
final List<Map<String, String>> result = Lists.newArrayList();
for (IAlleleSpecies allele : allSpecies)
if (!allele.isSecret() || Config.showHiddenBees) result.add(serializeAllele(allele));
return result;
}
示例14: getChance
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public int getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
int chance = super.getChance(housing, allele0, allele1, genome0, genome1);
if (chance == 0)
return 0;
if (start == null && end == null)
return chance;
DayMonth now = new DayMonth();
// If we are equal to start day, return chance.
if (Calendar.getInstance().get(Calendar.DAY_OF_MONTH) == start.day && Calendar.getInstance().get(Calendar.MONTH) + 1 == start.month)
return chance;
// Still here but not time span? No mutation!
if (end == null)
return 0;
// Equal to end date, return chance.
if (Calendar.getInstance().get(Calendar.DAY_OF_MONTH) == end.day && Calendar.getInstance().get(Calendar.MONTH) + 1 == end.month)
return chance;
// Still a chance we are in between
if (start.before(now) && end.after(now))
return chance;
// Now we finally failed.
return 0;
}
示例15: mutateSpecies
import forestry.api.genetics.IGenome; //导入依赖的package包/类
private IChromosome[] mutateSpecies(IBeeHousing housing, IGenome genomeOne, IGenome genomeTwo) {
World world = housing.getWorld();
IChromosome[] parent1 = genomeOne.getChromosomes();
IChromosome[] parent2 = genomeTwo.getChromosomes();
IGenome genome0;
IGenome genome1;
IAllele allele0;
IAllele allele1;
if (world.rand.nextBoolean()) {
allele0 = parent1[EnumBeeChromosome.SPECIES.ordinal()].getPrimaryAllele();
allele1 = parent2[EnumBeeChromosome.SPECIES.ordinal()].getSecondaryAllele();
genome0 = genomeOne;
genome1 = genomeTwo;
} else {
allele0 = parent2[EnumBeeChromosome.SPECIES.ordinal()].getPrimaryAllele();
allele1 = parent1[EnumBeeChromosome.SPECIES.ordinal()].getSecondaryAllele();
genome0 = genomeTwo;
genome1 = genomeOne;
}
for (IBeeMutation mutation : BeeManager.breedingManager.getMutations(true)) {
int chance = 0;
if ((chance = mutation.getChance(housing, allele0, allele1, genome0, genome1)) > 0)
if (world.rand.nextInt(100) < chance) {
IApiaristTracker breedingTracker = BeeManager.breedingManager.getApiaristTracker(world, housing.getOwnerName());
breedingTracker.registerMutation(mutation);
return BeeManager.beeInterface.templateAsChromosomes(mutation.getTemplate());
}
}
return null;
}