default ItemStack getMemberStack(IAlleleSpecies species, ISpeciesType type) { return getMemberStack(getTemplate(species), type); }
default ItemStack getMemberStack(IAllele[] template, ISpeciesType type) { return getMemberStack(templateAsIndividual(template), type); }
@Override public ItemStack getDisplayStack(IAlleleSpecies species, ISpeciesType type) { ItemStack stack = iconStacks.get(type, species.getUID()); if (stack == null) { stack = root.getMemberStack(species, type); iconStacks.put(type, species.getUID(), stack); } return stack; }
private static ImmutableMap<IAlleleSpecies, ItemStack> createEntries() { ImmutableMap.Builder<IAlleleSpecies, ItemStack> entries = ImmutableMap.builder(); for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { for (IIndividual individual : root.getIndividualTemplates()) { IAlleleSpecies species = individual.getGenome().getPrimary(); ItemStack itemStack = root.getMemberStack(root.templateAsIndividual(root.getTemplate(species)), root.getIconType()); entries.put(species, itemStack); } } return entries.build(); } }
@Override public ItemStack getItemStackRepresentitive() { final IIndividual first = this.getSpeciesRoot().getIndividualTemplates().get(0); return this.getSpeciesRoot().getMemberStack(first, this.getDefaultType()); }
@Override public ItemStack getItemStack() { final ISpeciesType type = this.value.getDefaultType(); final IIndividual ind = this.value.getDefaultIndividual(); return this.value.getSpeciesRoot().getMemberStack(ind, type); }
@Override public ItemStack getDefaultMember(final String uid) { IIndividual individual = this.getIndividual(uid); if (individual == null) { return ItemStack.EMPTY; } return this.getSpeciesRoot().getMemberStack(individual, this.getDefaultType()); }
public static List<GenepoolRecipeWrapper> create() { List<GenepoolRecipeWrapper> recipes = new ArrayList<>(); Collection<ISpeciesRoot> roots = AlleleManager.alleleRegistry.getSpeciesRoot().values(); for (ISpeciesRoot root : roots) { ISpeciesType[] speciesTypes = root.getIconType().getClass().getEnumConstants(); IAllele[] defaultTemplate = root.getDefaultTemplate(); IIndividual individual = root.templateAsIndividual(defaultTemplate); for (ISpeciesType speciesType : speciesTypes) { ItemStack memberStack = root.getMemberStack(individual, speciesType); memberStack.setItemDamage(OreDictionary.WILDCARD_VALUE); GenepoolRecipeWrapper recipeWrapper = new GenepoolRecipeWrapper(memberStack); recipes.add(recipeWrapper); } } return recipes; } }
public GuiNaturalistInventory(ISpeciesRoot speciesRoot, EntityPlayer player, Container container, int page, int maxPages) { super(Constants.TEXTURE_PATH_GUI + "/apiaristinventory.png", container); this.speciesRoot = speciesRoot; this.pageCurrent = page; this.pageMax = maxPages; xSize = 196; ySize = 202; for (IIndividual individual : speciesRoot.getIndividualTemplates()) { iconStacks.put(individual.getIdent(), speciesRoot.getMemberStack(individual, speciesRoot.getIconType())); } breedingTracker = speciesRoot.getBreedingTracker(player.world, player.getGameProfile()); }
public SpeciesDisplayHelper(ISpeciesRoot root) { this.root = root; ISpeciesType type = root.getIconType(); for (IIndividual individual : root.getIndividualTemplates()) { ItemStack itemStack = root.getMemberStack(individual, type); iconStacks.put(type, individual.getGenome().getPrimary().getUID(), itemStack); } }
@Override public ItemStack apply(ItemStack stack, Random rand, LootContext context) { ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(stack); if (speciesRoot != null) { ISpeciesType speciesType = speciesRoot.getType(stack); if (speciesType != null) { IAllele[] template = speciesRoot.getTemplate(speciesUid); if (template != null) { IIndividual individual = speciesRoot.templateAsIndividual(template); return speciesRoot.getMemberStack(individual, speciesType); } } } return stack; }
@Override public boolean onPollenRetrieved(IIndividual pollen) { if (!inventory.canStorePollen()) { return false; } ISpeciesRoot speciesRoot = AlleleManager.alleleRegistry.getSpeciesRoot(pollen); ItemStack pollenStack = speciesRoot.getMemberStack(pollen, EnumGermlingType.POLLEN); if (!pollenStack.isEmpty()) { inventory.storePollenStack(pollenStack); return true; } return false; } }
public static List<IsolatorRecipeWrapper> create() { List<IsolatorRecipeWrapper> recipes = new ArrayList<>(); Collection<ISpeciesRoot> roots = AlleleManager.alleleRegistry.getSpeciesRoot().values(); for (ISpeciesRoot root : roots) { ISpeciesType[] speciesTypes = root.getIconType().getClass().getEnumConstants(); IChromosomeType speciesChromosomeType = root.getSpeciesChromosomeType(); IAllele[] defaultTemplate = root.getDefaultTemplate(); IIndividual individual = root.templateAsIndividual(defaultTemplate); for (ISpeciesType speciesType : speciesTypes) { ItemStack memberStack = root.getMemberStack(individual, speciesType); memberStack.setItemDamage(OreDictionary.WILDCARD_VALUE); IAllele species = defaultTemplate[speciesChromosomeType.ordinal()]; ItemStack filledSequence = ItemSequence.create(new Gene(species, speciesChromosomeType, root), false); IsolatorRecipeWrapper recipeWrapper = new IsolatorRecipeWrapper(memberStack, filledSequence); recipes.add(recipeWrapper); } } return recipes; } }
private void setTokenSpecies(String speciesUid) { IAllele allele = AlleleManager.alleleRegistry.getAllele(speciesUid); if (allele instanceof IAlleleSpecies) { IAlleleSpecies species = (IAlleleSpecies) allele; ISpeciesRoot root = species.getRoot(); IAllele[] template = root.getTemplate(species); this.tokenIndividual = root.templateAsIndividual(template); this.tokenStack = root.getMemberStack(this.tokenIndividual, root.getIconType()); } }
@Override public ItemStack getConversionStack(final ItemStack stack) { IIndividual conversion = this.getConversion(stack); if (conversion == null) { return ItemStack.EMPTY; } ISpeciesType type = this.getSpeciesRoot().getType(stack); if (type == null) { type = this.getDefaultType(); } return this.getSpeciesRoot().getMemberStack(conversion, type); }
@Override protected void dropFewItems(boolean playerKill, int lootLevel) { for (ItemStack stack : contained.getLootDrop(this, playerKill, lootLevel)) { ItemStackUtil.dropItemStackAsEntity(stack, world, posX, posY, posZ); } // Drop pollen if any IIndividual pollen = getPollen(); if (pollen != null) { ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(pollen); ItemStack pollenStack = root.getMemberStack(pollen, EnumGermlingType.POLLEN); ItemStackUtil.dropItemStackAsEntity(pollenStack, world, posX, posY, posZ); } }
@Override protected void onIndexUpdate(int index, IMutation mutation) { ISpeciesRoot root = mutation.getRoot(); // Collection<String> conditions = mutation.getSpecialConditions(); String conditionText; if (!conditions.isEmpty()) { conditionText = String.format("[%.0f%%]", mutation.getBaseChance()); } else { conditionText = String.format("%.0f%%", mutation.getBaseChance()); } selectedElement.label(conditionText, 58, 0, -1, 12, GuiElementAlignment.TOP_LEFT, GuiConstants.BLACK_STYLE).addTooltip(conditions); selectedElement.drawable(62, 6, MUTATION_ARROW).addTooltip(conditions); // selectedElement.item(1, 1, root.getMemberStack(mutation.getAllele0(), root.getTypeForMutation(0))); selectedElement.item(40, 1, root.getMemberStack(mutation.getAllele1(), root.getTypeForMutation(1))); selectedElement.item(85, 1, root.getMemberStack(mutation.getTemplate(), root.getTypeForMutation(2))); } }
public ControlIndividualDisplay(IWidget parent, int x, int y, int size, IIndividual ind) { super(parent, x, y, size); IBreedingSystem system = Binnie.GENETICS.getSystem(ind.getGenome().getSpeciesRoot()); setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); setTooltip(); }
private void refreshPickup() { this.panelPickup.deleteAllChildren(); int i = 0; IBreedingSystem system = Binnie.GENETICS.getSystem(this.root); for (ISpeciesType type : system.getActiveTypes()) { IIndividual ind = this.root.templateAsIndividual(this.template); ind.analyze(); ItemStack stack = this.root.getMemberStack(ind, type); ControlItemDisplay display = new ControlItemDisplay(this.panelPickup, 4 + i % 3 * 18, 4 + i / 3 * 18); display.setItemStack(stack); display.setTooltip(); display.addEventHandler(EventMouse.Down.class, EventHandlerOrigin.SELF, display, event -> { NBTTagCompound nbt = new NBTTagCompound(); stack.writeToNBT(nbt); Window.get(event.getOrigin()).sendClientAction(ACTION_GENESIS, nbt); }); ++i; } }
public void setSpecies(final IAlleleSpecies species, EnumDiscoveryState state) { final ISpeciesRoot speciesRoot = Binnie.GENETICS.getSpeciesRoot(species); final IBreedingSystem system = Binnie.GENETICS.getSystem(speciesRoot); final IAllele[] template = system.getSpeciesRoot().getTemplate(species); final IIndividual ind = system.getSpeciesRoot().templateAsIndividual(template); super.setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); this.species = species; final GameProfile username = Window.get(this).getUsername(); if (state == EnumDiscoveryState.UNDETERMINED) { state = (system.isSpeciesDiscovered(species, Window.get(this).getWorld(), username) ? EnumDiscoveryState.DISCOVERED : EnumDiscoveryState.UNDISCOVERED); } if (Window.get(this) instanceof WindowAbstractDatabase && ((WindowAbstractDatabase) Window.get(this)).isMaster()) { state = EnumDiscoveryState.SHOW; } this.discovered = state; this.addAttribute(Attribute.MOUSE_OVER); }