@Override public ItemStack getResult(ItemStack cast, Fluid fluid) { Material shaftMaterial = TinkerTools.arrowShaft.getMaterial(cast); Material headMaterial = getMaterialForFluid(fluid); return BoltCore.getItemstackWithMaterials(shaftMaterial, headMaterial); }
@Override public boolean matches(ItemStack cast, Fluid fluid) { // cast needs to be a shaft with shaft material, fluid needs to belong to a material with head stats return cast.getItem() == TinkerTools.arrowShaft && TinkerTools.arrowShaft.getMaterial(cast).hasStats(MaterialTypes.SHAFT) && isFluidWithHeadMaterial(fluid); }
@SubscribeEvent public static void onToolPartReplace(TinkerCraftingEvent.ToolPartReplaceEvent event) { ItemStack firstStack = event.getToolParts().get(0); if(firstStack.getItem() instanceof ToolPart) { if(((ToolPart) firstStack.getItem()).getMaterial(firstStack).equals(TinkerMaterials.ardite)) { event.setCanceled(true); } } } }
public boolean checkMissingMaterialTooltip(ItemStack stack, List<String> tooltip, String statIdentifier) { Material material = getMaterial(stack); if(material == Material.UNKNOWN) { NBTTagCompound tag = TagUtil.getTagSafe(stack); String materialID = tag.getString(Tags.PART_MATERIAL); String error; if(!materialID.isEmpty()) { error = I18n.translateToLocalFormatted("tooltip.part.missing_material", materialID); } else { error = I18n.translateToLocal("tooltip.part.missing_info"); } tooltip.addAll(LocUtils.getTooltips(error)); return true; } else if(statIdentifier != null && material.getStats(statIdentifier) == null) { tooltip.addAll(LocUtils.getTooltips(Util.translateFormatted("tooltip.part.missing_stats", material.getLocalizedName(), statIdentifier))); return true; } return false; } }
@Override public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) { Material material = getMaterial(stack); @Override public String getItemStackDisplayName(@Nonnull ItemStack stack) { Material material = getMaterial(stack);
if(output.getItem() instanceof ToolPart) { ToolPart toolPart = (ToolPart) output.getItem(); Material material = toolPart.getMaterial(output);