当前位置: 首页>>代码示例>>Java>>正文


Java AlleleManager类代码示例

本文整理汇总了Java中forestry.api.genetics.AlleleManager的典型用法代码示例。如果您正苦于以下问题:Java AlleleManager类的具体用法?Java AlleleManager怎么用?Java AlleleManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AlleleManager类属于forestry.api.genetics包,在下文中一共展示了AlleleManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: same

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@Override
protected boolean same(ItemStack stack1, ItemStack stack2) {
	ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack1);
	if (root == null || !root.isMember(stack2)) {
		return false;
	}

	if (type == PrecisionModes.Type.MATCH) {
		if (root.getType(stack1) != root.getType(stack2)) {
			return false;
		}
	}

	IIndividual individual1 = root.getMember(stack1);
	IIndividual individual2 = root.getMember(stack2);

	try {
		return same(individual1, individual2);
	} catch (NullPointerException e) {
		return false;
	}
}
 
开发者ID:Vexatos,项目名称:BeeSpecific,代码行数:23,代码来源:SpeciesSpecificPrecisionType.java

示例2: getBeeParents

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@ScriptCallable(returnTypes = ReturnType.TABLE, description = "Get possible mutations that results in given bee")
public List<Map<String, Object>> getBeeParents(IBeeHousing housing, @Arg(name = "childType", description = "The type of bee you want the parents for") String childType) {
	ISpeciesRoot beeRoot = AlleleManager.alleleRegistry.getSpeciesRoot("rootBees");
	if (beeRoot == null) return null;

	List<Map<String, Object>> result = Lists.newArrayList();
	childType = childType.toLowerCase(Locale.ENGLISH);

	for (IMutation mutation : beeRoot.getMutations(false)) {
		if (mutation.isSecret() && !Config.showHiddenMutations) continue;
		final IAlleleSpecies species = getOffspringSpecies(mutation);

		if (alleleNameMatches(species, childType)) {
			result.add(serializeMutation(mutation, false));
		}
	}
	return result;
}
 
开发者ID:OpenMods,项目名称:OpenPeripheral-Integration,代码行数:19,代码来源:AdapterBeeHousing.java

示例3: getBeeChildren

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@ScriptCallable(returnTypes = ReturnType.TABLE, description = "Get possible mutations that can be created with given bee")
public List<Map<String, Object>> getBeeChildren(IBeeHousing housing, @Arg(name = "parentYpe", description = "The type of bee you want the children for") String childType) {
	ISpeciesRoot beeRoot = AlleleManager.alleleRegistry.getSpeciesRoot("rootBees");
	if (beeRoot == null) return null;

	List<Map<String, Object>> result = Lists.newArrayList();
	childType = childType.toLowerCase(Locale.ENGLISH);

	for (IMutation mutation : beeRoot.getMutations(false)) {
		if (mutation.isSecret() && !Config.showHiddenMutations) continue;

		if (alleleNameMatches(mutation.getAllele0(), childType) || alleleNameMatches(mutation.getAllele1(), childType)) {
			result.add(serializeMutation(mutation, true));
		}
	}
	return result;
}
 
开发者ID:OpenMods,项目名称:OpenPeripheral-Integration,代码行数:18,代码来源:AdapterBeeHousing.java

示例4: readFromNBT

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@Override
public void readFromNBT(NBTTagCompound nbttagcompound) {
	super.readFromNBT(nbttagcompound);

	for (int i = 0; i < typeFilter.length; i++) {
		typeFilter[i] = EnumFilterType.values()[nbttagcompound.getByte("TypeFilter" + i)];
	}

	for (int i = 0; i < 6; i++) {
		for (int j = 0; j < 3; j++) {
			if (nbttagcompound.hasKey("GenomeFilterS" + i + "-" + j + "-" + 0)) {
				genomeFilter[i][j][0] = AlleleManager.alleleRegistry.getAllele(nbttagcompound.getString("GenomeFilterS" + i + "-" + j + "-" + 0));
			}
			if (nbttagcompound.hasKey("GenomeFilterS" + i + "-" + j + "-" + 1)) {
				genomeFilter[i][j][1] = AlleleManager.alleleRegistry.getAllele(nbttagcompound.getString("GenomeFilterS" + i + "-" + j + "-" + 1));
			}
		}
	}
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:20,代码来源:PipeLogicPropolis.java

示例5: getBeeSpeciesCount

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@Override
public int getBeeSpeciesCount() {
	if (beeSpeciesCount < 0) {
		beeSpeciesCount = 0;
		Iterator it = AlleleManager.alleleRegistry.getRegisteredAlleles().entrySet().iterator();
		while (it.hasNext()) {
			Entry<String, IAllele> entry = (Entry<String, IAllele>) it.next();
			if (entry.getValue() instanceof IAlleleBeeSpecies)
				if (((IAlleleBeeSpecies) entry.getValue()).isCounted()) {
					beeSpeciesCount++;
				}
		}
	}

	return beeSpeciesCount;
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:17,代码来源:BreedingManager.java

示例6: readFromNBT

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@Override
public void readFromNBT(NBTTagCompound nbttagcompound) {

	// Legacy
	if (nbttagcompound.hasKey("PrimaryId")) {
		primary = ((ILegacyHandler) AlleleManager.alleleRegistry).getFromLegacyMap(nbttagcompound.getInteger("PrimaryId"));
		secondary = ((ILegacyHandler) AlleleManager.alleleRegistry).getFromLegacyMap(nbttagcompound.getInteger("SecondaryId"));

		if (primary == null || secondary == null)
			throw new RuntimeException("Legacy conversion of chromosome failed. Did one of your bee addons not update? No legacy mapping for ids: "
					+ nbttagcompound.getInteger("PrimaryId") + " - " + nbttagcompound.getInteger("SecondaryId"));

		return;
	}

	primary = AlleleManager.alleleRegistry.getAllele(nbttagcompound.getString(UID0_TAG));
	secondary = AlleleManager.alleleRegistry.getAllele(nbttagcompound.getString(UID1_TAG));
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:19,代码来源:Chromosome.java

示例7: setItem

import forestry.api.genetics.AlleleManager; //导入依赖的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

示例8: registerDeprecatedAlleleReplacements

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
public static void registerDeprecatedAlleleReplacements() {
	IAlleleRegistry registry = AlleleManager.alleleRegistry;
	
	registry.registerDeprecatedAlleleReplacement("magicbees.effectNodeAttract", effectNodeEmpower);
	registry.registerDeprecatedAlleleReplacement("magicbees.effectNodePurify", effectNodeConversionPure);
	registry.registerDeprecatedAlleleReplacement("magicbees.effectNodeFlux", effectNodeConversionTaint);
	registry.registerDeprecatedAlleleReplacement("magicbees.effectNodeCharge", effectNodeEmpower);
	registry.registerDeprecatedAlleleReplacement("magicbees.speciesTCAttractive", BeeSpecies.TC_EMPOWERING.getSpecies());
	registry.registerDeprecatedAlleleReplacement("magicbees.speciesBMBloodyBMBloody", BeeSpecies.EARTHY.getSpecies());
	registry.registerDeprecatedAlleleReplacement("magicbees.speciesBMBloodyBMBound", BeeSpecies.ARCANE.getSpecies());
}
 
开发者ID:MagicBees,项目名称:MagicBees,代码行数:12,代码来源:Allele.java

示例9: getBeeBreedingData

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@Asynchronous
@ScriptCallable(returnTypes = ReturnType.TABLE, description = "Get the full breeding list thingy. Experimental!")
public List<Map<String, Object>> getBeeBreedingData(IBeeHousing housing) {
	ISpeciesRoot beeRoot = AlleleManager.alleleRegistry.getSpeciesRoot("rootBees");
	if (beeRoot == null) return null;

	List<Map<String, Object>> result = Lists.newArrayList();

	for (IMutation mutation : beeRoot.getMutations(false)) {
		if (mutation.isSecret() && !Config.showHiddenMutations) continue;
		final Map<String, Object> mutationMap = Maps.newHashMap();
		try {
			IAlleleSpecies allele1 = mutation.getAllele0();
			if (allele1 != null) mutationMap.put(ALLELE_1, allele1.getName());
			IAlleleSpecies allele2 = mutation.getAllele1();
			if (allele2 != null) mutationMap.put(ALLELE_2, allele2.getName());

			final IAlleleSpecies offspringSpecies = getOffspringSpecies(mutation);
			mutationMap.put(MUTATION_RESULT, offspringSpecies.getName());

			mutationMap.put(MUTATION_CHANCE, mutation.getBaseChance());
			mutationMap.put(MUTATION_CONDITIONS, mutation.getSpecialConditions());

			result.add(mutationMap);
		} catch (Exception e) {
			throw new RuntimeException(String.format("Failed to get bee breeding information from %s, collected data: %s", mutation, mutationMap), e);
		}
	}
	return result;
}
 
开发者ID:OpenMods,项目名称:OpenPeripheral-Integration,代码行数:31,代码来源:AdapterBeeHousing.java

示例10: listAllSpecies

import forestry.api.genetics.AlleleManager; //导入依赖的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

示例11: getMeta

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@Override
public Object getMeta(Item target, ItemStack stack) {
	if (AlleleManager.alleleRegistry != null) {
		IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack);
		if (ind != null) return ConverterIIndividual.describeIndividual(ind);
	}

	return null;
}
 
开发者ID:OpenMods,项目名称:OpenPeripheral-Integration,代码行数:10,代码来源:IndividualMetaProvider.java

示例12: handleGenomeFilterChange

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
public void handleGenomeFilterChange(PacketPayload payload) {
	if (!payload.stringPayload[0].equals("NULL")) {
		genomeFilter[payload.intPayload[0]][payload.intPayload[1]][payload.intPayload[2]] = AlleleManager.alleleRegistry
				.getAllele(payload.stringPayload[0]);
	} else {
		genomeFilter[payload.intPayload[0]][payload.intPayload[1]][payload.intPayload[2]] = null;
	}
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:9,代码来源:PipeLogicPropolis.java

示例13: registerErsatzGenomes

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
private void registerErsatzGenomes() {
	AlleleManager.ersatzSpecimen.put(new ItemStack(Block.leaves.blockID, 1, 0), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getOakTemplate())));
	AlleleManager.ersatzSpecimen.put(new ItemStack(Block.leaves.blockID, 1, 1), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getSpruceTemplate())));
	AlleleManager.ersatzSpecimen.put(new ItemStack(Block.leaves.blockID, 1, 2), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getBirchTemplate())));
	AlleleManager.ersatzSpecimen.put(new ItemStack(Block.leaves.blockID, 1, 3), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getJungleTemplate())));
	
	AlleleManager.ersatzSaplings.put(new ItemStack(Block.sapling.blockID, 1, 0), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getOakTemplate())));
	AlleleManager.ersatzSaplings.put(new ItemStack(Block.sapling.blockID, 1, 1), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getSpruceTemplate())));
	AlleleManager.ersatzSaplings.put(new ItemStack(Block.sapling.blockID, 1, 2), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getBirchTemplate())));
	AlleleManager.ersatzSaplings.put(new ItemStack(Block.sapling.blockID, 1, 3), new Tree(TreeTemplates.templateAsGenome(TreeTemplates.getJungleTemplate())));
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:12,代码来源:PluginForestryArboriculture.java

示例14: registerBeeMutation

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
@Override
public void registerBeeMutation(IBeeMutation mutation) {
	if(AlleleManager.alleleRegistry.isBlacklisted(mutation.getTemplate()[0].getUID()))
		return;
	if(AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele0().getUID()))
		return;
	if(AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele1().getUID()))
		return;
	
	beeMutations.add(mutation);
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:12,代码来源:BreedingManager.java

示例15: getSpecies

import forestry.api.genetics.AlleleManager; //导入依赖的package包/类
protected String[] getSpecies() {
	List<String> species = new ArrayList<String>();

	for (IAllele allele : AlleleManager.alleleRegistry.getRegisteredAlleles().values()) {
		if (allele instanceof IAlleleBeeSpecies) {
			species.add(((IAlleleSpecies) allele).getName());
		}
	}

	return species.toArray(new String[] {});
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:12,代码来源:CommandGiveBee.java


注:本文中的forestry.api.genetics.AlleleManager类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。