Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions apps/frontend/posts/blog/2026-05-19_smithed-summit-2026
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
title: 'Submit your songs to Smithed Summit 2026!'
date: '2026-05-19'
author: 'encode42'
authorImage: 'encode42.png'
image: '/img/blog/summit26/banner.png'
tags: ['events']
---

It's time for our third major community event! The in-game Minecraft data pack convention, [**Smithed Summit 2026**](https://smithed.net/summit), is coming this summer! We'll be holding a **booth** and a **live performance** at the event, and, just like last time, we're opening submissions for note block songs to be played on the server, around the convention grounds, to all attendees.

Our goal is to include as many submissions as possible. No matter your skill level or experience creating note block music, everybody is welcome! Use this jam as an opportunity to **try new things**, and as motivation to experiment with interesting techniques. We encourage everybody to embrace their unique creativity to create original note block compositions or stylized covers. After all, we've got three great "prompts" to pique your imagination this time around.

Your songs will be played in-game through our data pack playback system, so **it's highly recommended to account for network lag!** A song that's too intense could exaggerate network stutters, or worse, overwhelm a player's bandwidth, resulting in worse playback. We have guidelines on intensity in the _Limits_ section below.

## 🔮 Themes

The Summit convention will be split up into three regions:

### 🌿 Patched Plateaus

Colorful rolling plains with green grass and fields of flowers!

![Patched Plateaus - a colorful rolling plains with green grass and fields of flowers. Keywords that describe this region: city, colorful, modern, playful.](/img/blog/summit26/patched-plateaus.webp)

### 🍂 Textured Tropics

A dense tropical jungle with towering baobab trees and bamboo shoots!
![Textured Tropics - a dense tropical jungle with towering baobab trees and bamboo shoots. Keywords that describe this region: tropical, warm, thrilling, vacation.](/img/blog/summit26/textured-tropics.webp)

### 🏭 Welded Woodlands

A snowy, autumnal forest with aging industrial infrastructure!
![Welded Woodlands - a snowy, autumnal forest with aging industrial infrastructure. Keywords that describe this region: industrial, cold, serious, suspenseful.](/img/blog/summit26/welded-woodlands.webp)

> _The images above are a courtesy of Smithed._

**For a more detailed look into each region, check the [Summit announcement video](https://youtu.be/Ud33t4ZwmwI) for a fly-through of the world map!**

## 🕛 Deadline

Submissions will be cut off on **June 16th, 2026**. You must submit your songs before then, but we can manually accept submissions up to **July 1st, 2026** on a case-by-case basis.

## ✅ What's allowed?

- Original note block songs (recommended, regardless of experience).
- Covers of existing songs, only if they have been created with the themes below in mind.
- **Traditional note block covers are discouraged, as songs should be relevant to their respective region themes!**
- Although we cannot prevent you from submitting songs created before the jam, we encourage using this as an opportunity to try something new!

## ❎ Limits

- Songs should be simple with a **max. average polyphony of 128 sounds**, and an **absolute max. of 200 sounds** playing at once.
- You can check this in Note Block Studio by going to `Settings` → `Playback` tab → `Show number of active sounds`, and closely watching the sound count indicator located at the bottom of the window while your song plays.
- Usage of the Tempo Changer or Sound Stopper special instruments will **not** be functional.
- Each participant can submit as few or many songs as they'd like, with one for each region being a good stretch goal.
- Each submission must be relevant to one of the three region themes.
- Custom sounds must utilize the path from the **Import sounds from Minecraft** feature:
- Go to `Settings` → `Import sounds from Minecraft`, and make sure to select custom sounds from the `minecraft` directory after importing them from your Minecraft installation.
- This is the only way to ensure your custom sounds will work in-game!

## ❔ Notes

- Song tempo will be quantized to 20 ticks per second.
- This means that songs with any tempo different than 20 ticks per second will have their note playback times rounded to the nearest 20th of a second.
- There is no song length requirement or limit. Go wild!
- Note and layer panning (stereo) will be functional, but relative to a specific point (speakers placed throughout the world).
- Fine pitch adjustment will be functional.
- You can use use note blocks outside of the vanilla two-octave range (up to six octaves!)
- You can use custom sounds from vanilla Minecraft (also up to six octaves!)
- Your submission **does not** need to be vanilla-compatible! As long as it abides by the above limitations, it is valid.
- Sooner especially does not equal better! You have an entire month to work on submissions; use this time to your advantage.

## 📝 Submissions

Once your song has been finished, and you're ready to submit it for the event, upload it to [Note Block World](https://noteblock.world) with the `#summit26` tag in the song title or description.

The description of your song **must include**:

- Your Minecraft username (so we can credit you in the event server)
- Which region you're submitting your song to be played in:
- `[Patched Plateaus]`
- `[Textured Tropics]`
- `[Welded Woodlands]`

Just like any other song uploaded to Note Block World, **you keep all rights to your submission!** However, we (and Smithed) hold the right to play submissions on the event server and distribute the converted data pack.

**We'll credit you by your username in Note Block World.** If you'd like to change it, you can do so by clicking your user icon in the top right corner of the page. Make sure to do this by the end of the submission period!

In case you're not interested in uploading the songs to Note Block World, manual submissions can be handled on a case-by-case basis. In that case, join our [Discord](https://discord.gg/note-block-world-608692895179997252) and reach out to us in the event's channel!

---

We can't wait to see what you all come up with!

If you have any questions about the event, feel free to [get in touch](/contact). We hope to see you at the event, and we look forward to hearing your amazing creations in-game! 🎵
Binary file added apps/frontend/public/img/blog/summit26/banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/frontend/public/img/event/summit-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 28 additions & 31 deletions apps/frontend/src/modules/browse/EventBanner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import Link from 'next/link';
import { useEffect, useState } from 'react';

export const EventBanner = () => {
const targetDate = Date.UTC(2025, 10, 8, 17, 0, 0); // November is 10 (0-indexed)
const targetDate = Date.UTC(2026, 5, 16, 17, 0, 0); // June is 5 (0-indexed)

const [timeLeft, setTimeLeft] = useState(() =>
Math.max(0, targetDate - Date.now()),
Expand All @@ -21,69 +21,66 @@ export const EventBanner = () => {

const formatTime = (ms: number) => {
const totalSeconds = Math.floor(ms / 1000);
const hours = Math.floor(totalSeconds / 3600);
const days = Math.floor(totalSeconds / (3600 * 24));
const hours = Math.floor((totalSeconds % (3600 * 24)) / 3600);
const minutes = Math.floor((totalSeconds % 3600) / 60);
const seconds = totalSeconds % 60;

return `${String(hours).padStart(2, '0')}:${String(minutes).padStart(
if (days > 0) {
return `${String(days).padStart(2, '0')} days`;
}
return `${String(days).padStart(2, '0')}d ${String(hours).padStart(
2,
'0',
)}:${String(seconds).padStart(2, '0')}`;
)}:${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;
};

return (
<div className='flex flex-row mx-auto w-fit justify-between items-center text-pretty gap-6 py-4 px-2 sm:px-8 text-md rounded-xl mb-10 bg-top backdrop-filter backdrop-blur-lg bg-linear-to-br from-15% from-pink-800/50 via-rose-900/50 to-85% to-red-900/50 relative'>
<div className='flex flex-row mx-auto w-fit h-32 justify-between items-center text-pretty gap-6 py-4 px-2 sm:px-8 text-md rounded-xl mb-10 bg-top backdrop-filter backdrop-blur-lg bg-linear-to-br from-15% from-blue-800/50 via-blue-900/50 to-85% to-blue-900/50 relative'>
<div
className='absolute h-full w-full top-0 left-0 z-[-1] rounded-xl opacity-50 brightness-[0.3]'
style={{
backgroundImage: "url('/img/event/maestro-banner.png')",
backgroundSize: 'contain',
backgroundAttachment: 'fixed',
backgroundImage: "url('/img/event/summit26-banner.png')",
backgroundSize: 'cover',
//backgroundAttachment: 'fixed',
backgroundRepeat: 'no-repeat',
backgroundPosition: '0% 100%',
}}
></div>
<Image src='/img/event/maestro-icon.png' alt='' width={64} height={64} />
<Image src='/img/event/summit-icon.png' alt='' width={72} height={72} />

<div className='flex-1 leading-tight max-w-(--breakpoint-md) w-fit'>
<p className='uppercase text-md font-bold tracking-wider text-yellow-300 mb-1 w-fit'>
<FontAwesomeIcon icon={faExclamationCircle} />{' '}
{timeLeft === 0 ? (
'Happening NOW!'
'Almost over!'
) : (
<>Starting in {formatTime(timeLeft)}</>
<>Ends in {formatTime(timeLeft)}</>
)}
</p>
<p>
Watch your songs played LIVE in the{' '}
Submit your songs to be played at{' '}
<Link
href='https://www.youtube.com/watch?v=G78AnHpIw5w'
className='text-blue-300 hover:text-blue-200'
className='text-blue-300 hover:text-blue-200 font-bold'
>
M.A.E.S.T.R.O. machine
</Link>{' '}
on{' '}
<span className='font-bold'>Maestro&apos;s Musical Masterpieces</span>
, a public performance featuring the machine&apos;s creators! Live on{' '}
Smithed Summit
</Link>
, the one and only Minecraft data pack convention! Read our{' '}
<Link
href='https://youtube.com/live/d0_A3GMuGJ8'
href='/blog/smithed-summit-2026'
className='text-blue-300 hover:text-blue-200'
>
YouTube
blog post
</Link>{' '}
and{' '}
to learn more, or{' '}
<Link
href='https://discord.gg/note-block-world-608692895179997252'
href='/search?q=%23summit26'
className='text-blue-300 hover:text-blue-200'
>
Discord
</Link>
. Read our{' '}
<Link
href="/blog/maestro's_musical_masterpieces"
className='text-blue-300 hover:text-blue-200'
>
blog post
browse the entries
</Link>{' '}
for more!
submitted so far.
</p>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
CarouselNext,
CarouselPrevious,
} from '../../shared/components/client/Carousel';
import { EventBanner } from '../EventBanner';
import { WelcomeBanner } from '../WelcomeBanner';

import { CategoryButtonGroup } from './client/CategoryButton';
Expand All @@ -38,7 +39,7 @@ export const HomePageComponent = () => {
<>
{/* Welcome banner/Hero */}
<WelcomeBanner />
{/* <EventBanner /> */}
<EventBanner />

{/* FEATURED SONGS */}
{featuredSongsPage.length > 0 && (
Expand Down
Loading
Loading