public static PartMaterialType bow(IToolPart part) { return new PartMaterialType(part, MaterialTypes.BOW, MaterialTypes.HEAD); }
public Arrow() { super(PartMaterialType.arrowShaft(TinkerTools.arrowShaft), PartMaterialType.arrowHead(TinkerTools.arrowHead), PartMaterialType.fletching(TinkerTools.fletching)); addCategory(Category.NO_MELEE, Category.PROJECTILE); }
public CrossBow() { super(PartMaterialType.crossbow(TinkerTools.toughToolRod), PartMaterialType.bow(TinkerTools.bowLimb), PartMaterialType.extra(TinkerTools.toughBinding), PartMaterialType.bowstring(TinkerTools.bowString)); this.addPropertyOverride(PROPERTY_PULL_PROGRESS, pullProgressPropertyGetter); this.addPropertyOverride(PROPERTY_IS_PULLING, isPullingPropertyGetter); this.addPropertyOverride(PROPERTY_IS_LOADED, new BooleanItemPropertyGetter() { @Override public boolean applyIf(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { return entityIn != null && isLoaded(stack); } }); }
Iterator<IToolPart> partIter = pmt.getPossibleParts().iterator(); if(!partIter.hasNext()) { continue; if(pmt.usesStat(stats.getIdentifier())) { tooltips.addAll(stats.getLocalizedInfo()); for(ITrait trait : pmt.getApplicableTraitsForMaterial(material)) { if(!usedTraits.contains(trait)) { tooltips.add(material.getTextColor() + trait.getLocalizedName());
private void registerExtraTraitModifiers(Material material, ToolCore tool, PartMaterialType partMaterialType) { partMaterialType.getPossibleParts().forEach(part -> registerExtraTraitModifiers(material, tool, partMaterialType, part)); }
if(!pmt.isValid(slotStack)) { sb.append(TextFormatting.RED); if(pmt.isValidItem((IToolPart) slotStack.getItem())) { for(IToolPart part : pmt.getPossibleParts()) { if(part instanceof Item) { sb.append(((Item) part).getItemStackDisplayName(new ItemStack((Item) part)));
@Override public boolean hasUseForStat(String stat) { for(ToolCore tool : TinkerRegistry.getTools()) { for(PartMaterialType pmt : tool.getRequiredComponents()) { if(pmt.isValidItem(this) && pmt.usesStat(stat)) { return true; } } } return false; }
public Bolt() { super(PartMaterialType.arrowShaft(TinkerTools.boltCore), new BoltHeadPartMaterialType(TinkerTools.boltCore), PartMaterialType.fletching(TinkerTools.fletching)); addCategory(Category.NO_MELEE, Category.PROJECTILE); toolBuildComponents = ImmutableList.of(requiredComponents[0], requiredComponents[2]); }
Map<Integer, Object> stats = Maps.newHashMap(); for (IMaterialStats stat : material.getAllStats()) { if (pmt == null || pmt.usesStat(stat.getIdentifier())) { stats.put(++i, context.makePartialChild(stat).getMeta());
@SideOnly(Side.CLIENT) public void updateIcon() { icon = null; if(restriction != null) { Iterator<IToolPart> iterator = restriction.getPossibleParts().iterator(); while(iterator.hasNext() && icon == null) { icon = iterator.next().getOutlineRenderStack(); } } } }
/** * Register a tool, making it known to tinkers' systems. * All toolparts used to craft the tool will be registered as well. */ public static void registerTool(ToolCore tool) { tools.add(tool); for(PartMaterialType pmt : tool.getRequiredComponents()) { for(IToolPart tp : pmt.getPossibleParts()) { registerToolPart(tp); } } }
public static PartMaterialType crossbow(IToolPart part) { return new PartMaterialType(part, MaterialTypes.HANDLE, MaterialTypes.EXTRA); } }
private void registerCustomTextures(int i, ResourceLocation resourceLocation, ToolCore toolCore) { if(toolCore == null) { CustomTextureCreator.registerTexture(resourceLocation); } else { for(IToolPart part : toolCore.getRequiredComponents().get(i).getPossibleParts()) { CustomTextureCreator.registerTextureForPart(resourceLocation, part); } } }
public static PartMaterialType extra(IToolPart part) { return new PartMaterialType(part, MaterialTypes.EXTRA); }