@Override public boolean isDNAManipulable(ItemStack member) { ISpeciesType type = getSpeciesRoot().getType(member); return type != null && isDNAManipulable(type); }
@Override public boolean isDNAManipulable(final ItemStack member) { ISpeciesType type = this.getSpeciesRoot().getType(member); return isDNAManipulable(type); }
@Override public boolean isDNAManipulable(final ItemStack member) { ISpeciesType type = this.getSpeciesRoot().getType(member); return isDNAManipulable(type); }
@Override public boolean isDNAManipulable(final ItemStack member) { ISpeciesType type = this.getSpeciesRoot().getType(member); return type != null && isDNAManipulable(type); }
public Collection<EnumFacing> getValidDirections(ItemStack itemStack, EnumFacing from) { ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(itemStack); IIndividual individual = null; ISpeciesType type = null; if (root != null) { individual = root.getMember(itemStack); type = root.getType(itemStack); } IFilterData filterData = new FilterData(root, individual, type); List<EnumFacing> validFacings = new LinkedList<>(); for (EnumFacing facing : EnumFacing.VALUES) { if (facing == from) { continue; } if (isValidFacing(facing, itemStack, filterData)) { validFacings.add(facing); } } return validFacings; }
public Collection<EnumFacing> getValidDirections(ItemStack itemStack, EnumFacing from) { ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(itemStack); IIndividual individual = null; ISpeciesType type = null; if (root != null) { individual = root.getMember(itemStack); type = root.getType(itemStack); } IFilterData filterData = new FilterData(root, individual, type); List<EnumFacing> validFacings = new LinkedList<>(); for (EnumFacing facing : EnumFacing.VALUES) { if (facing == from) { continue; } if (isValid(facing, itemStack, filterData)) { validFacings.add(facing); } } return validFacings; }
@Override public boolean isValid(ItemStack itemStack, EnumFacing facing) { ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(itemStack); IIndividual individual = null; ISpeciesType type = null; if (root != null) { individual = root.getMember(itemStack); type = root.getType(itemStack); } return isValid(facing, itemStack, new FilterData(root, individual, type)); }
@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 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); }