本文整理汇总了Java中forestry.api.genetics.IIndividual类的典型用法代码示例。如果您正苦于以下问题:Java IIndividual类的具体用法?Java IIndividual怎么用?Java IIndividual使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IIndividual类属于forestry.api.genetics包,在下文中一共展示了IIndividual类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: same
import forestry.api.genetics.IIndividual; //导入依赖的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;
}
}
示例2: callMethod
import forestry.api.genetics.IIndividual; //导入依赖的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[]{};
}
示例3: setItem
import forestry.api.genetics.IIndividual; //导入依赖的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;
}
示例4: listAllSpecies
import forestry.api.genetics.IIndividual; //导入依赖的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;
}
示例5: getMeta
import forestry.api.genetics.IIndividual; //导入依赖的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;
}
示例6: canMateWith
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
@Override
public boolean canMateWith(IIndividual individual) {
if(getTree() == null)
return false;
if(getTree().getMate() != null)
return false;
return !getTree().getGenome().isGeneticEqual(individual.getGenome());
}
示例7: mateWith
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
@Override
public void mateWith(IIndividual individual) {
if(getTree() == null)
return;
getTree().mate((ITree)individual);
}
示例8: hasEffect
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
public boolean hasEffect(ItemStack itemstack) {
if(!itemstack.hasTagCompound())
return false;
IIndividual individual = new Tree(itemstack.getTagCompound());
if (individual.hasEffect())
return true;
else
return false;
}
示例9: getItemDisplayName
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
@Override
public String getItemDisplayName(ItemStack itemstack) {
if (!itemstack.hasTagCompound())
return "Unknown";
IIndividual individual = new Tree(itemstack.getTagCompound());
return individual.getDisplayName() + " " + type.getName();
}
示例10: addCreativeItems
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
public void addCreativeItems(List itemList, boolean hideSecrets) {
for (IIndividual individual : BreedingManager.treeTemplates) {
// Don't show secrets unless ordered to.
if (hideSecrets && individual.isSecret() && !Defaults.DEBUG) {
continue;
}
NBTTagCompound nbttagcompound = new NBTTagCompound();
ItemStack someStack = new ItemStack(this);
individual.writeToNBT(nbttagcompound);
someStack.setTagCompound(nbttagcompound);
itemList.add(someStack);
}
}
示例11: registerPrincess
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
@Override
public void registerPrincess(IIndividual bee) {
princessesTotal++;
IAlleleSpecies primary = bee.getGenome().getPrimary();
IAlleleSpecies secondary = bee.getGenome().getSecondary();
registerSpecies(primary);
registerSpecies(secondary);
markDirty();
}
示例12: registerDrone
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
@Override
public void registerDrone(IIndividual bee) {
dronesTotal++;
IAlleleSpecies primary = bee.getGenome().getPrimary();
IAlleleSpecies secondary = bee.getGenome().getSecondary();
registerSpecies(primary);
registerSpecies(secondary);
markDirty();
}
示例13: hasEffect
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
@Override
public boolean hasEffect(ItemStack itemstack) {
IIndividual individual = new Bee(itemstack.getTagCompound());
if (individual.hasEffect())
return true;
else
return false;
}
示例14: addCreativeItems
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
public void addCreativeItems(List itemList, boolean hideSecrets) {
for (IIndividual individual : BreedingManager.beeTemplates) {
// Don't show secret bees unless ordered to.
if (hideSecrets && individual.isSecret() && !Defaults.DEBUG) {
continue;
}
NBTTagCompound nbttagcompound = new NBTTagCompound();
ItemStack someStack = new ItemStack(this);
individual.writeToNBT(nbttagcompound);
someStack.setTagCompound(nbttagcompound);
itemList.add(someStack);
}
}
示例15: addInformation
import forestry.api.genetics.IIndividual; //导入依赖的package包/类
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean flag) {
if (itemstack.getTagCompound() == null)
return;
IIndividual individual = new Bee(itemstack.getTagCompound());
individual.addTooltip(list);
}