本文整理汇总了Java中forestry.api.genetics.IGenome类的典型用法代码示例。如果您正苦于以下问题:Java IGenome类的具体用法?Java IGenome怎么用?Java IGenome使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IGenome类属于forestry.api.genetics包,在下文中一共展示了IGenome类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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());
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:20,代码来源:TileEntityAnalyzerButterfly.java
示例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());
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:22,代码来源:TileEntityAnalyzerBee.java
示例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());
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:17,代码来源:TileEntityAnalyzerTree.java
示例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());
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:21,代码来源:TileButterflyAnalyzer.java
示例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()));
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:17,代码来源:TileTreeAnalyzer.java
示例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());
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:23,代码来源:TileBeeAnalyzer.java
示例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;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:18,代码来源:Mutation.java
示例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;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:20,代码来源:MutationReqRes.java
示例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;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:24,代码来源:Genome.java
示例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;
}
开发者ID:SleepyTrousers,项目名称:EnderIO,代码行数:27,代码来源:SpeciesItemFilter.java
示例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;
}
开发者ID:MagicBees,项目名称:MagicBees,代码行数:8,代码来源:MoonPhaseMutationBonus.java
示例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;
}
开发者ID:MagicBees,项目名称:MagicBees,代码行数:8,代码来源:MoonPhaseMutationRestriction.java
示例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;
}
开发者ID:OpenMods,项目名称:OpenPeripheral-Integration,代码行数:31,代码来源:AdapterBeeHousing.java
示例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;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:32,代码来源:MutationTimeLimited.java
示例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;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:40,代码来源:Bee.java
示例16: getChance
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public int getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
World world = housing.getWorld();
if (requiresDay && !world.isDaytime())
return 0;
if (requiresNight && world.isDaytime())
return 0;
// Skip if we are restricted by biomes and this one does not match.
if (restrictBiomes.size() > 0 && !restrictBiomes.contains(housing.getBiomeId()))
return 0;
BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(housing.getXCoord(), housing.getZCoord());
if (biome.temperature < minTemperature || biome.temperature > maxTemperature)
return 0;
if (biome.rainfall < minRainfall || biome.rainfall > maxRainfall)
return 0;
int processedChance = Math.round(chance * housing.getMutationModifier((IBeeGenome) genome0, (IBeeGenome) genome1)
* BeeManager.breedingManager.getBeekeepingMode(world).getMutationModifier((IBeeGenome) genome0, (IBeeGenome) genome1));
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;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:32,代码来源:Mutation.java
示例17: getAllele
import forestry.api.genetics.IGenome; //导入依赖的package包/类
@Override
public IAllele getAllele(IGenome genome, IChromosomeType chromosomeType) {
return genome.getActiveAllele(chromosomeType);
}
开发者ID:OpenMods,项目名称:OpenPeripheral-Integration,代码行数:5,代码来源:ConverterIIndividual.java
示例18: getOffspringSpecies
import forestry.api.genetics.IGenome; //导入依赖的package包/类
private static IAlleleSpecies getOffspringSpecies(IMutation mutation) {
final IGenome offspringGenome = mutation.getRoot().templateAsGenome(mutation.getTemplate());
return (IAlleleSpecies)offspringGenome.getActiveAllele(EnumBeeChromosome.SPECIES);
}
开发者ID:OpenMods,项目名称:OpenPeripheral-Integration,代码行数:5,代码来源:AdapterBeeHousing.java
示例19: mutateSpecies
import forestry.api.genetics.IGenome; //导入依赖的package包/类
private IChromosome[] mutateSpecies(World world, int x, int y, int z, IGenome genomeOne, IGenome genomeTwo) {
IChromosome[] parent1 = genomeOne.getChromosomes();
IChromosome[] parent2 = genomeTwo.getChromosomes();
IGenome genome0;
IGenome genome1;
IAllele allele0;
IAllele allele1;
if (world.rand.nextBoolean()) {
allele0 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele();
allele1 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele();
genome0 = genomeOne;
genome1 = genomeTwo;
} else {
allele0 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele();
allele1 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele();
genome0 = genomeTwo;
genome1 = genomeOne;
}
Collections.shuffle(TreeManager.treeMutations);
for (ITreeMutation mutation : TreeManager.treeMutations) {
int chance = 0;
// Stop blacklisted species.
//if (BeeManager.breedingManager.isBlacklisted(mutation.getTemplate()[0].getUID())) {
// continue;
//}
if ((chance = mutation.getChance(world, x, y, z, allele0, allele1, genome0, genome1)) > 0)
if (world.rand.nextInt(100) < chance) {
//IApiaristTracker breedingTracker = BeeManager.breedingManager.getApiaristTracker(world);
//breedingTracker.registerMutation(mutation);
return TreeManager.treeInterface.templateAsChromosomes(mutation.getTemplate());
}
}
return null;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:44,代码来源:Tree.java
示例20: itemMatched
import forestry.api.genetics.IGenome; //导入依赖的package包/类
private boolean itemMatched(@Nonnull ItemStack item) {
if (Prep.isInvalid(item)) {
return false;
}
ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(item);
if (speciesRoot == null) {
return false;
}
IIndividual member = speciesRoot.getMember(item);
if (member == null) {
return false;
}
IGenome genome = member.getGenome();
String primarySpeciesUid = genome.getPrimary().getUID();
String secondarySpeciesUid = genome.getSecondary().getUID();
for (int slot = 0; slot < items.size(); slot++) {
ItemStack slotItem = items.get(slot);
if (slotItem.getItem() == item.getItem()) {
switch (speciesMode) {
case BOTH:
if (primarySpeciesUids[slot].equals(primarySpeciesUid) && secondarySpeciesUids[slot].equals(secondarySpeciesUid)) {
return true;
}
break;
case PRIMARY:
if (primarySpeciesUids[slot].equals(primarySpeciesUid)) {
return true;
}
break;
case SECONDARY:
if (secondarySpeciesUids[slot].equals(secondarySpeciesUid)) {
return true;
}
break;
}
}
}
return false;
}
开发者ID:SleepyTrousers,项目名称:EnderIO,代码行数:45,代码来源:SpeciesItemFilter.java
注:本文中的forestry.api.genetics.IGenome类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论