Stardew Valley Shirt Tailoring (2024)

Quiz Lab

Quiz Lab

Gaming

Video Games

Can you name every item that can be tailored into a shirt in Stardew Valley?

By martunowotny

25m

266 Questions

4 Plays4 Plays

4 Plays

Comments

Give Quiz Kudos

Give Quiz Kudos

-

")$objective.click(() => {window.onClickObjective(reckoningQuestObjective.quest_number, reckoningQuestObjective.objective_number, reckoningQuestObjective.quest_id, reckoningQuestObjective.objective_id, $objective);});if (!window.mweb) {$j('#snark').hide();$objective.insertAfter($j('#gameOverMsg'));} else if (is_flagship_app_view) {$j('#snark').html();$objective.appendTo($j('#snark'));} else {$objective.appendTo($j('#reckoning .stats-wrapper'));}} else if (showSnark) {var snark = getSnark(userPct);var attachSnarkModalListener = false;if (snark !== '') {snark = ""+snark+"";if (!window.mweb) {if (false) {attachSnarkModalListener = true;snark += "";} else {snark += "";}}} else {$j('#snark').hide();}$j('#snark').html(snark);if(attachSnarkModalListener){ $j('#hide-snark-open-confirmation-modal').on('click', function () { var modalArgs = {title: 'Hide These Messages?',message: 'Are you sure you want to hide post-quiz messages?', onYes: function(remodal){ $j.ajax({ type: "GET", url: "/ajax/user_settings.php", data: {s: 0}, success: function(response) { if (response.success) { $j('#snark').hide(); remodal.close(); } else { if (response.responseJSON.message) { remodal.$modal.find('#confirmation-error').html(response.responseJSON.message); remodal.$modal.find('#confirmation-error').show(); } else { remodal.$modal.find('#confirmation-error').html('There was an error saving your preferences. Please contact feedback if you continue to see this issue.'); remodal.$modal.find('#confirmation-error').show(); } } }, error: function(response) { if (response.responseJSON.message) { remodal.$modal.find('#confirmation-error').html(response.responseJSON.message); remodal.$modal.find('#confirmation-error').show(); } else { remodal.$modal.find('#confirmation-error').html('There was an error saving your preferences. Please contact feedback if you continue to see this issue.'); remodal.$modal.find('#confirmation-error').show(); } } }); } }; SporcleLib.Modal._openConfirmationModal(modalArgs); }); }} else {$j('#snark').hide();}// Update get reckoning with playlist infovar playlistData;if (mweb) {playlistData = typeof window.playlist === 'object' && window.playlist.hasOwnProperty('games') ? window.playlist : null;} else {playlistData = window.Sporcle.gameData.playlist ? window.Sporcle.gameData.playlist.vm.data : null;}if (playlistData) {playlistReckoning(playlistData, userPct, false && !stopwatch);}$j('#playGameBar').addClass('reckoning');$j('#reckonBox').show();if (mweb) {/* mobile games only */$j('#reckoning-numright').html(numRight);$j('#reckoning-time').html(displayTime(timerSecs));if (stopwatch) {$j('#reckoning-time-title').text("Stopwatch");$j('#reckoning-time, #reckoning-score').addClass('timePast');}var checkToOpenFlorinPlayGoalModal = () => {if (userPct == 0) {return;}if (!florinsPlayGoalData) {return;}var openModal = false;if (florinsPlayGoalData.reward_claimable) {openModal = true;} else if (florinsPlayGoalData.curr_streak + 1 == florinsPlayGoalData.goal_days && florinsPlayGoalData.plays_today == 0) {// First play of the day, this should complete their play goalopenModal = true;}if (openModal) { window.SporcleLib.Modal.openFlorinPlayGoalModal({ // Fudge these values to be at the goal, since we haven't necessarily logged this play yet and it might be the 7th curr_streak : florinsPlayGoalData.goal_days, reward_claimable : true, plays_today : florinsPlayGoalData.plays_today + 1, goal_days : florinsPlayGoalData.goal_days, reward_amount : florinsPlayGoalData.reward_amount, })}}if (is_flagship_app_view) {let animations = window.animations;let hapticType = 'success';let completeMsg;let animConfig = {animationData : animations.checkmark,loop : true,playSegments : [[0, 30], [31, 75]]};if (userPct == 1) {animConfig.animationData = animations.perfectScore;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "Perfect Score!";} else if (timerSecs == 0) {hapticType = 'error';animConfig.animationData = animations.outOfTime;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "Out of Time!";} else if (_spks && !didGiveUp) {hapticType = 'error';animConfig.animationData = animations.bomb;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "You Hit a Mine!";}window.SporcleLib.Modal.openModalFromTpl($j('#post-game-modal-tpl').html(), {show_loading : false,onInit : (modal) => {let $modal = modal.$modal; $modal.attr('id', 'postGameModal'); postGameAnim = lottie.loadAnimation({container : $modal.find('#postGameIcon')[0],animationData : animConfig.animationData,loop : animConfig.loop,autoplay : false});$modal.find('.modal-close').on('click', () => {window.continuePostQuiz();}); $modal.find('#completeMsg').html(completeMsg); $modal.find('#postPct').html(roundPercentScore(userPct));$modal.find('#postCorrect').html($j('#reckoning-score').text());if (snark) {$modal.find('#snark').html(snark);} else {$modal.find('#snark').hide();}setTimeout(() => {postGameAnim.playSegments(animConfig.playSegments, true);// if (hapticType) {// setTimeout(() => {// window.SporcleApp.api.playHaptic(hapticType);// }, 150);// }}, 150);},onClose : () => {// Need this delay because if we open a new modal right as the close animation finishes,// Then the modal events get confused and the "onOpen" callback never gets calledsetTimeout(() => {checkToOpenFlorinPlayGoalModal();}, 50);}});} else {checkToOpenFlorinPlayGoalModal();}}$j('#playGameBox').empty().hide();$j('#postGameBox').show();}function toggleshow() {showans = !showans;}function roundPercentScore(pctScore) {return _.round(100 * pctScore);}function updateBadge(userPct) {var earned = false;if (quizBadge && userPct > 0) { if (quizBadge.criteria && quizBadge.criteria.length) { var requiredCount = quizBadge.criteria.length; var earnedCount = 0; //Loop through possible badge criteria to see if we earned them quizBadge.criteria.forEach(function (criterion) { var comparison = parseInt(criterion.compare); if(criterion.name === 'percent'){ if ((comparison === 0 && userPct === parseFloat(criterion.value)) || //'0' means percent needs to equal (comparison === 1 && userPct > parseFloat(criterion.value)) || //'1' means percent needs to be greater than (comparison === -1 && userPct < parseFloat(criterion.value)) //'-1' means percent needs to be less than (at the time of writing, no badge exists like this) ) { earnedCount++; } } else if (criterion.name === 'month'){ var d = new Date(); //getMonth() starts at 0 if((d.getMonth() + 1 == criterion.value && comparison === 0) || (d.getMonth() + 1 > criterion.value && comparison === 1) || (d.getMonth() + 1 < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'day'){ var d = new Date(); if((d.getDate() == criterion.value && comparison === 0) || (d.getDate() > criterion.value && comparison === 1) || (d.getDate() < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'day_of_the_week'){ var d = new Date(); if((d.getDay() == criterion.value && comparison === 0) || (d.getDay() > criterion.value && comparison === 1) || (d.getDay() < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'avg_percent' && typeof averageScore !== 'undefined') {var roundedUserPct = _.round(userPct, 2); //matches backend precision in badge trackervar roundedAvgPct = _.round(averageScore, 2);if((roundedUserPct == roundedAvgPct && comparison === 0) || (roundedUserPct > roundedAvgPct && comparison === 1) || (roundedUserPct < roundedAvgPct && comparison === -1) ){ earnedCount++; } }}); earned = earnedCount == requiredCount;} else {earned = true;}} if (earned) {quizBadge.condition_earned = true;quizBadge.achieved_count++; var spliceIndex = null;_(quizBadge.remaining_conditions).each(function(condition, index) {if (quizBadge.condition_id == condition.condition_id) {spliceIndex = index;}});_(quizBadge.conditions).each(function(condition, index) {if (quizBadge.condition_id == condition.condition_id) {condition.earned = true;}});if (spliceIndex !== null) {quizBadge.remaining_conditions.splice(spliceIndex, 1); quizBadge.condition_earned_date = (new Date()).toLocaleDateString(undefined, { year: 'numeric', month: 'long', day: 'numeric' });; }if (quizBadge.remaining_conditions.length === 0 ) {if (quizBadge.badge_earned && quizBadge.levelable) {quizBadge.achieved_count = 0;quizBadge.level++;var currDate = new Date();quizBadge.last_level_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();} else {quizBadge.badge_earned = true;var currDate = new Date();quizBadge.earned_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();if (quizBadge.levelable) {quizBadge.level = 1;quizBadge.last_level_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();quizBadge.achieved_count = 0;}}}if (badgeTooltip) {badgeTooltip.deactivate();}if (badgeTooltipRightRail) {badgeTooltipRightRail.deactivate();}var template = _.template($j('#quiz-badge-template').html());if (window.mweb) {$j('#main-wrapper .quiz-badge').replaceWith($j(template(quizBadge)));} else {quizBadge.tooltip_trigger_id = 'quiz-badge-art';$j('#main-quiz-content .quiz-badge').replaceWith($j(template(quizBadge)));quizBadge.tooltip_trigger_id = 'quiz-badge-art-right-rail';$j('#right-rail .quiz-badge').replaceWith($j(template(quizBadge)));if (!quizBadge.badge_earned) {if (window.setupUnearnedBadgeTooltip) {window.setupUnearnedBadgeTooltip($j('#quiz-badge-art'), quizBadge);window.setupUnearnedBadgeTooltip($j('#quiz-badge-art-right-rail'), quizBadge);} else {var conditionsTemp = _.template($j('#badge-conditions-template').html());var tooltipHtml = $j(conditionsTemp(quizBadge));const badgeTooltipOptions = { //this should match /sporcle-ui/tooltips/functionalTooltipstarget : true,tipJoint : 'bottom middle',showOn : 'mouseover',hideTriggers : ['target','tip'],stemLength : 8,stemBase : 12,hideOn : 'mouseout',removeElementsOnHide : true,background : 'white',borderColor : '#d8d8d8',borderWidth : 1,shadowOffset : [3,3],shadowBlur : 10,showEffect : 'slide',showEffectDuration : 0.1,hideEffectDuration : 0.3,className : 'badge-tooltip',shadowColor : 'rgba(0,0,0,0.25)'};badgeTooltip = new Opentip('#quiz-badge-art', tooltipHtml.html(), badgeTooltipOptions);badgeTooltipRightRail = new Opentip('#quiz-badge-art-right-rail', tooltipHtml.html(), badgeTooltipOptions);}} else {if (window.setupEarnedBadgeTooltip) {window.setupEarnedBadgeTooltip($j('#quiz-badge-art'), quizBadge);window.setupEarnedBadgeTooltip($j('#quiz-badge-art-right-rail'), quizBadge);}}}}}function showHintTooltip(x, y, hint) {$hint = $j('#hintTooltip');if ($hint.length == 0) {$hint = $j('

' +'

' +'

' +'

' +'

' +'

').appendTo($j('body'));}if (hint) {var $afterContainer = $hint.find('.afterContainer');var $after = $hint.find('.after');// Set to max width before resize$afterContainer.css({width: '120px'});$hint.show();// Set tooltip text to hint$after.html(hint);// Get width of tooltip with textvar width = Math.ceil($after[0].offsetWidth) + 1;var leftShift = 0;if (mweb) {// Make sure the tooltip doesn't go off either side of the screenvar leftBound = 51;var rightBound = $j('body').width() - 71;var buf = 11;// Shift based on width of textvar shiftLimit = Math.max(width/2 - 20, 0);if (x < leftBound) {// Too close to left edge of screenleftShift = -shiftLimit;x = Math.max(x, buf);} else if (x > rightBound) {// Too close to right edge of screenleftShift = shiftLimit;x = Math.min(x, $j('body').width() - buf);}}// Set the position of the hint$hint.css({left: x + 'px',top: y + 'px',});// Set outer container size and position$afterContainer.css({width: width + 'px',left: '-' + ((width / 2) + leftShift) + 'px'});} else {$hint.hide();}}function getRandomColor() {var r = Math.round(Math.random() * 255);var g = Math.round(Math.random() * 255);var b = Math.round(Math.random() * 255);return 'rgb(' + r + ',' + g + ',' + b + ')';}function hintTooltipIsDisplayed() {return $j('#hintTooltip').is(':visible');}function getCurrentHintText() {return $j('#hintTooltip .afterContainer .after').text();}// This is used to yield execution to the main javascript thread so that we can break longer running tasks into smaller tasks.// See here: https://web.dev/articles/optimize-long-tasks?utm_source=devtoolsfunction yieldToMain () {return new Promise(resolve => {setTimeout(resolve, 0);});}async function runStartCode(stopwatch) {if (typeof gamePageIsLoaded != "undefined" && gamePageIsLoaded) {if (window.startTriggered) {return;} else {window.startTriggered = true;}if (typeof stopwatch !== 'undefined') {if (stopwatch) {window.selectTimerSetting('stopwatch');} else {window.selectTimerSetting('timer');}}// The `startGame` function does a lot, so we want to yield execution both before and after this call. Yielding before// will allow the existing task to finish, freeing up the runtime to move to the next thing in the message queue before startGame// executes. Yielding after will do the same, before we perform the rest of the actions related to starting a quiz.await yieldToMain();await startGame(1500);await yieldToMain();callSPHooks('postStart');}}function callSPHooks(name) {if (typeof _spHooks != 'undefined') {var hlen = _spHooks[name].length;for (var i = 0; i < hlen; i++) {_spHooks[name][i]();}}}

0/266

Quiz is untimed. Quiz plays in practice mode will not be counted towards challenge completion or badge progress.

25:00

Type of itemRecipeShirt name
MineralShirt
Artisan goodGlobby shirt
MineralShirt
Fish*Sailor shirt*
Cooked dishShirt
VegetableCrop top shirt
MineralShirt
Artifact*Excavator shirt*
ArtifactCaptain's Uniform
ArtifactDoll shirt
ArtifactRegal Mantle
ArtifactBrown suit
ArtifactGreen tunic
MineralShirt
ArtifactSoft arrow shirt
Cooked dishShirt
Vegetable*Button down shirt*
GeodeTrinket shirt
Cooked dishBelted coat
Cooked dishShirt
Cooked dishBanana shirt
MineralShirt
MineralShirt
Fertilizer*High-wasted shirt*
Monster lootDark shirt
ResourceShirt
Cooked dishGreen vest
Artisan good*Black leather jacket*
MineralShirt
FruitShirt
Cooked dishShirt
Cooked dishNight sky shirt
Explosive*Bomber jacket
ArtifactBlue long vest
Artifact*Skeleton shirt*
FlowerSuit top
Cooked dishShirt
Fish*Fish shirt*
Trash*Trash can shirt*
Cooked dishShirt and tie
Monster lootPink striped shirt
Fish*Fishing vest*
Fruit80's shirt
MineralShirt
Cooked dishCarp shirt
Vegetable*Shirt and belt*
ForageGreen belted shirt
MineralShirt
ForageOrange shirt
Artisan goodShirt
Cooked dishToasted shirt
ArtifactCanvas jacket
ArtifactFluffy shirt
ArtifactAntiquity shirt
Cooked dishFringed vest
Fish*Sailor shirt*
ResourceShirt
ResourceShirt
FruitVacation shirt
CropFlannel shirt
Artisan good/Cooked dishPour-over shirt*
Cooked dish*Shirt
ForageShirt
Cooked dishClassic overalls
Cooked dishShirt
ResourceCopper breastplate
Resource*Turtleneck sweater*
Type of itemRecipeShirt name
Forage*Strapped top*
VegetableStriped shirt
Cooked dishCrab cake shirt
Cooked dishRed striped shirt
Fish*Rain coat
Cooked dishShirt
ForageShirt
ForageShirt
ForageShirt
ForageMint blouse
Fertilizer*High-waisted shirt*
MineralPendant shirt
Cooked dishShirt o' the sea
MineralShirt
ArtifactGolden shirt
Animal productGreen jacket shirt
Animal productLime green striped shirt
Artisan goodAquamarine shirt
Artifact*Gold trimmed shirt*
MineralShirt
Animal productPlain overalls
Cooked dishShirt
ArtifactJewelry shirt
MineralShirt
Medical supplyLetterman jacket
Cooked dishChef coat
MineralGray suit
MineralShirt
Cooked dishShirt
Resource*Basic pullover
VegetableGreen overalls
Cooked dishBlacksmith apron
FoodDenim jacket
MineralPurple blouse
MineralShirt
Cooked dishShirt
MineralBandana shirt
Cooked dishStore owner's jacket
Cooked dishShirt
Cooked dishFried egg shirt
Cooked dishShirt
GeodeBlue hoodie
MineralDark jacket
Cooked dishShirt
MineralShirt
GeodeGray hoodie
MineralShirt
Cooked dishGinger overalls
ArtifactOfficer uniform
Cooked dishSunset shirt
Artisan goodShirt
Animal productShirt
ResourceGold breastplate
GeodeIsland bikini
ArtifactRelic shirt
MineralShirt
Fish}Collared shirt*
Artisan goodTea shirt
ResourceShirt
Cooked dishRed flannel shirt
ForageBrown overalls
MineralClassy top
MineralVintage polo
ForageFancy red blouse
Cooked dishRetro rainbow shirt
ResourceIridium breastplate
ResourceIridium energy shirt
Type of itemRecipeShirt name
ResourceSteel breastplate
MineralShirt
MineralLeafy top
MineralGreen thumb shirt
MineralBandana shirt
Artisan goodShirt
TrashShirt
Artisan goodSports shirt
MineralBandana shirt
Animal productCardigan
Animal productShirt
Animal productSleeveless overalls
ForageLime green tunic
MineralHappy shirt
Drink}Dark highlight shirt*
MineralShirt
Cooked dishShirt
Cooked dishShirt
MineralGoodnight shirt
FoodMagic sprinkle shirt
ForageMagenta shirt
GeodeRed hoodie
Cooked dishShirt
MineralGreen belted shirt
Cooked dishYellow suit
Cooked dishDirt shirt
MineralToga shirt
Artisan goodLight blue shirt
Animal productWhite overalls shirt
ForageMorel shirt
MineralBrown jacket
Medical supplyFake muscles shirt
MineralShirt
MineralShirt
MineralStudded vest
MineralOcean shirt
FishBlue buttoned vest
Artisan goodOil stained shirt
Cooked dishYellow and green shirt
GeodeOmni shirt
MineralShirt
ArtifactBridal shirt
MineralShirt with bow
Cooked dishWhite gi
Cooked dishTrack jacket
Cooked dishShirt
Cooked dishTunnelers jersey
MineralSlime shirt
Artisan goodShirt
Cooked dishShirt
Cooked dishShort jacket
Cooked dishHot pink shirt
Cooked dishWhite dot shirt
Artifact}Caveman shirt*
ArtifactSkull shirt
MineralPrismatic shirt
MineralPrismatic shirt (white sleeves)
MineralPrismatic shirt (black sleeves)
Cooked dishHoliday shirt
Cooked dishShirt
ForageShirt
MineralJester shirt
MineralGray vest
Animal productShirt
Cooked dishSilky shirt
Vegetable*Tank top*
ForageBikini top
Type of itemRecipeShirt name
ArtifactNavy tuxedo
Cooked dishRed tuxedo
ResourceNecklace shirt
Cooked dishShirt
Fruit*Green buttoned vest*
IngredientWhite overalls
Cooked dishLight blue striped shirt
Cooked dishShirt
Animal product/artisan goodPolka dot shirt*
Cooked dishShirt
MineralShirt
ArtifactCircuitboard shirt
ArtifactRusty shirt
ArtifactCowboy poncho
Cooked dishShirt
FishFaded denim shirt
Cooked dishShirt
FruitShirt
MineralBackpack shirt
ResourceTan striped shirt
Cooked dishShirt
Fish*Tube top*
Cooked dishMineral dog jacket
FishKelp shirt
Cooked dishShrimp enthusiast shirt
MineralShirt
Monster lootShirt
ForageShirt
MineralGaudy shirt
Monster lootYoba shirt
Cooked dishSauce-stained shirt
Cooked dishFlames shirt
ForageSpring shirt
Monster lootMidnight dog jacket
MineralStar shirt
Cooked dishCamo shirt
ResourceWork shirt
Cooked dishHeart shirt
ArtifactWumbus shirt
ArtifactBobo shirt
IngredientSugar shirt
Cooked dishGreen flannel shirt
Cooked dishBurger shirt
FlowerShirt
MineralShirt
MineralDark striped shirt
Cooked dishOasis gown
VegetableTomato shirt
MineralShirt
Lighting itemHigh heat shirt
Cooked dishTortilla shirt
Cooked dishTropical sunrise shirt
Cooked dishRanger uniform
Animal product/artisan goodDark bandana shirt*
Cooked dishMayoral suspenders
IngredientOrange gi
Animal productShirt
Monster lootArcane shirt
VegetableCrop tank top
IngredientWarm flannel shirt
BaitShirt
Forage"Good grief" shirt
FlowerDarkness suit
ForageOrange bow shirt
Animal productPlain shirt
Stardew Valley Shirt Tailoring (2024)
Top Articles
Latest Posts
Article information

Author: Saturnina Altenwerth DVM

Last Updated:

Views: 5644

Rating: 4.3 / 5 (64 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Saturnina Altenwerth DVM

Birthday: 1992-08-21

Address: Apt. 237 662 Haag Mills, East Verenaport, MO 57071-5493

Phone: +331850833384

Job: District Real-Estate Architect

Hobby: Skateboarding, Taxidermy, Air sports, Painting, Knife making, Letterboxing, Inline skating

Introduction: My name is Saturnina Altenwerth DVM, I am a witty, perfect, combative, beautiful, determined, fancy, determined person who loves writing and wants to share my knowledge and understanding with you.