• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ISpeciesRoot类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: same

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

import forestry.api.genetics.ISpeciesRoot; //导入依赖的package包/类
@Override
public Object[] callMethod(IComputerAccess computer, ILuaContext context, int method, Object[] arguments) throws LuaException, InterruptedException {
	if (!Config.enableAnalyzers)
		throw new LuaException("Analyzers have been disabled");
	switch (method) {
		case 0:
			ISpeciesRoot root = getRoot();
			ItemStack stack = getStackInSlot(0);
			if (stack == null || !root.isMember(stack))
				return new Object[] {false};
			IIndividual individual = root.getMember(stack);
			if (!individual.isAnalyzed())
				return new Object[] {null};
			HashMap<String, Object> ret = new HashMap<String, Object>();
			addGenome(stack, individual.getGenome(), ret);
			return new Object[] {ret};
		case 1:
			ItemStack specimen = getStackInSlot(0);
			if (specimen == null || !getRoot().isMember(specimen))
				return new Object[] {false};
			return new Object[] {true};
	}
	return new Object[]{};
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:25,代码来源:TileEntityAnalyzer.java


示例5: setItem

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


示例6: getBeeBreedingData

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


示例7: listAllSpecies

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


示例8: BreedingEvent

import forestry.api.genetics.ISpeciesRoot; //导入依赖的package包/类
private BreedingEvent(ISpeciesRoot root, GameProfile username, IBreedingTracker tracker) {
	super();
	this.root = root;
	this.username = username;
	this.tracker = tracker;
}
 
开发者ID:austinv11,项目名称:DartCraft2,代码行数:7,代码来源:ForestryEvent.java


示例9: SpeciesDiscovered

import forestry.api.genetics.ISpeciesRoot; //导入依赖的package包/类
public SpeciesDiscovered(ISpeciesRoot root, GameProfile username, IAlleleSpecies species, IBreedingTracker tracker) {
	super(root, username, tracker);
	this.species = species;
}
 
开发者ID:austinv11,项目名称:DartCraft2,代码行数:5,代码来源:ForestryEvent.java


示例10: MutationDiscovered

import forestry.api.genetics.ISpeciesRoot; //导入依赖的package包/类
public MutationDiscovered(ISpeciesRoot root, GameProfile username, IMutation allele,  IBreedingTracker tracker) {
	super(root, username, tracker);
	this.allele = allele;
}
 
开发者ID:austinv11,项目名称:DartCraft2,代码行数:5,代码来源:ForestryEvent.java


示例11: getRoot

import forestry.api.genetics.ISpeciesRoot; //导入依赖的package包/类
protected ISpeciesRoot getRoot() {
	return AlleleManager.alleleRegistry.getSpeciesRoot(getRootType());
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:4,代码来源:TileEntityAnalyzer.java


示例12: itemMatched

import forestry.api.genetics.ISpeciesRoot; //导入依赖的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.ISpeciesRoot类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java IBSimilarity类代码示例发布时间:2022-05-22
下一篇:
Java BBFileReader类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap