All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Genshin Instruments

Genshin Instruments

by StavWasPlayZ • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Mod Banner - Genshin Instruments

Add Genshin Impact's set of instruments to your own Minecraft experience, and play your favorite songs with the familiar keybindings!

Looking for even more instruments? 👀
(New to playing? Check out this neat tutorial)

 



 

Full MIDI Support!

 

This mod adds the following instruments to the game:

  • Windsong Lyre [Stereo support]
  • Floral Zither [Old & New]
  • Vintage Lyre [Normalization support]
  • Arataki's Great and Glorious Drum
  • Nightwind Horn [Sustainable]

Instrument re-textures done by the awesome Gen (#9)! Check out their stuff, and show your support 😋
Modrinth | PlanetMinecraft | | Twitter


Support for:

  • Custom pitch on each instrument
  • Adjustable transposition with Left/Right shift (as set by your keybinds)
  • Several sets of note labels (Keyboard labels match your language & layout)
  • Multiplayer and shared instrument screens!

 

⚠️ IMPORTANT ⚠️: The Mod Author has Retired the project

Watch the video below to learn more:

 

Content Spotlight

 

(The video above was made possible through the M2KB project)

 


Are you a content creator? Lyre player?

Reach out to me in CurseForge PMs to have your video showcased here!


Recipes

Windsong Lyre

Vintage Lyre

Floral Zither

Arataki's Great and Glorious Drum

Nightwind Horn

 

THIS PROJECT IS NOT AFFILIATED WITH NEITHER HOYOVERSE NOR GENSHIN IMPACT. All audio assets and design elements belong to said company.


What started as a small, learning test project, has made its way to be my first ever published creation. I'm very thrilled and excited to be able to share something with the community, as both an average Minecraft and Genshin enjoyer :^)

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Neoforge
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Forge
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Forge
16h ago 1
1.20.6
Fabric
16h ago 1
1.20.6
Forge
16h ago 1
1.20.4
Fabric
16h ago 1
1.20.4
Forge
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Forge
16h ago 1
1.19.2
Forge
16h ago 1
1.18.2
Forge
16h ago 1
1.20.4
Fabric
16h ago 1
1.20.4
Forge
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Forge
16h ago 1
1.19.2
Forge
16h ago 1
1.18.2
Forge
16h ago 1
1.20.5
Neoforge
16h ago 1
1.20.4
Neoforge
16h ago 1
1.20.4
Neoforge
16h ago 1
1.20.4
Fabric
16h ago 1
1.20.2
Forge
16h ago 1
1.20.x
Forge
16h ago 1
1.20.x
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.2
Fabric
16h ago 1
1.18.2
Forge
16h ago 1
1.20.2
Forge
16h ago 1
1.20.x
Forge
16h ago 1
1.19.4
Fabric
16h ago 1
1.20.2
Fabric
16h ago 1
1.19.4
Forge
16h ago 1
1.20.x
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.3
Forge
16h ago 1
1.19.2
Forge
16h ago 1
1.19.2
Fabric
16h ago 1
1.18.2
Forge
16h ago 1
1.18.2
Fabric
16h ago 1
1.20.2
Fabric
16h ago 1
1.20.2
Forge
16h ago 1
1.20.x
Forge
16h ago 1
1.20.x
Fabric
16h ago 1
1.19.4
Forge
16h ago 1
1.19.4
Fabric
16h ago 1
1.19.3
Forge
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.20.x
Forge
16h ago 1
1.20.x
Fabric
16h ago 1
1.19.4
Forge
16h ago 1
1.19.4
Fabric
16h ago 1
1.19.3
Forge
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.4
Fabric
16h ago 1
1.20
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.4
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.4
Fabric
16h ago 1
1.20
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.4
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.20.1
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.4
Fabric
16h ago 1
1.20
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.4
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.20.1
Fabric
16h ago 1
1.20.1
Forge
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.4
Fabric
16h ago 1
1.20
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.20.1
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.4
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.4
Fabric
16h ago 1
1.20
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.20.1
Forge
16h ago 1
1.20.1
Fabric
16h ago 1
1.19.2
Forge
16h ago 1
1.19.2
Forge
16h ago 1
1.20.1
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20
Forge
16h ago 1
1.20
Forge
16h ago 1
1.19.4
Forge
16h ago 1
1.19.4
Forge
16h ago 1
1.19.4
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.3
Forge
16h ago 1
1.19.3
Forge
16h ago 1
  • NeoForge!**

# Changelog (since v5.0)

## Changes

### Recipes

  • Added 2 strings to all drums' recipes
  • Added Quartz to the Nightwind Horn's recipe

### Other

  • Added SteveNotSet to the mod credits

## Fixed:


# Fixed:
  • Error spam in server consoles when a dummy player (NPC) holds an instrument
# Changes

## Instruments

### Added 2 new instruments:

#### Ukulele
  • The 3rd and upper octave of the Ukulele serves for **chords**.
  • This behavior can be toggled within the Ukulele's *Instrument Options*, allowing for an extended 3rd octave *(Treble mode)*.
  • MIDI overflow for this instrument cannot surpass the 3rd octave.

#### Djem Djem Drum
  • It makes funny sounds

## Advancements

Added 2 new advancements:

### Chasing Waves
Play any of the People of the Springs' instruments

### Master of the Springs
Play all of the People of the Springs' instruments

## Recipes

### The following recipes have changed:
  • Arataki's Great and Glorious Drum
  • Uses **Spruce Planks** instead of **Acacia Planks**.
  • Floral Zither
  • Now matches that of the Ukulele and the Even More Instruments! Guitar

## UI Tweaks

  • Arataki's Great and Glorious Drum MIDI Options Screen's Dominant Drum Type option is now displayed as a big button instead of a small one

## Tags

### Added:
  • genshin/people_of_the_springs
  • 4 instrument family tags
  • instrument_families/brass
  • instrument_families/percussion
  • instrument_families/woodwinds
  • instrument_families/drums

### Changes:
  • Renamed genshin_instruments to genshin/instruments

# Fixed:

## MIDI

  • On some MIDI devices, releasing a note counts as a note being pressed
  • Fixes infinite sustain on sustainable instruments (Nightwind Horn)
  • Improper MIDI IN device validation (fixes game freezing)

## Since RC1:

  • Fixed Ukulele & Djem Djem Drum not being apart of the "A Band of One" advancement
# Changes

## Instruments

### Added 2 new instruments:

#### Ukulele
  • The 3rd and upper octave of the Ukulele serves for **chords**.
  • This behavior can be toggled within the Ukulele's *Instrument Options*, allowing for an extended 3rd octave *(Treble mode)*.
  • MIDI overflow for this instrument cannot surpass the 3rd octave.

#### Djem Djem Drum
  • It makes funny sounds

## Advancements

Added 2 new advancements:

### Chasing Waves
Play any of the People of the Springs' instruments

### Master of the Springs
Play all of the People of the Springs' instruments

## Recipes

### The following recipes have changed:
  • Arataki's Great and Glorious Drum
  • Uses **Spruce Planks** instead of **Acacia Planks**.
  • Floral Zither
  • Now matches that of the Ukulele and the Even More Instruments! Guitar

## UI Tweaks

  • Arataki's Great and Glorious Drum MIDI Options Screen's Dominant Drum Type option is now displayed as a big button instead of a small one

## Tags

### Added:
  • genshin/people_of_the_springs
  • 4 instrument family tags
  • instrument_families/brass
  • instrument_families/percussion
  • instrument_families/woodwinds
  • instrument_families/drums

### Changes:
  • Renamed genshin_instruments to genshin/instruments

# Fixed:

## MIDI

  • On some MIDI devices, releasing a note counts as a note being pressed
  • Fixes infinite sustain on sustainable instruments (Nightwind Horn)
  • Improper MIDI IN device validation (fixes game freezing)

## Since RC1:

  • Fixed Ukulele & Djem Djem Drum not being apart of the "A Band of One" advancement
# Changes

## Instruments

### Added 2 new instruments:

#### Ukulele
  • The 3rd and upper octave of the Ukulele serves for **chords**.
  • This behavior can be toggled within the Ukulele's *Instrument Options*, allowing for an extended 3rd octave *(Treble mode)*.
  • MIDI overflow for this instrument cannot surpass the 3rd octave.

#### Djem Djem Drum
  • It makes funny sounds

## Advancements

Added 2 new advancements:

### Chasing Waves
Play any of the People of the Springs' instruments

### Master of the Springs
Play all of the People of the Springs' instruments

## Recipes

### The following recipes have changed:
  • Arataki's Great and Glorious Drum
  • Uses **Spruce Planks** instead of **Acacia Planks**.
  • Floral Zither
  • Now matches that of the Ukulele and the Even More Instruments! Guitar

## UI Tweaks

  • Arataki's Great and Glorious Drum MIDI Options Screen's Dominant Drum Type option is now displayed as a big button instead of a small one

## Tags

### Added:
  • genshin/people_of_the_springs
  • 4 instrument family tags
  • instrument_families/brass
  • instrument_families/percussion
  • instrument_families/woodwinds
  • instrument_families/drums

### Changes:
  • Renamed genshin_instruments to genshin/instruments

# Fixed:

## MIDI

  • On some MIDI devices, releasing a note counts as a note being pressed
  • Fixes infinite sustain on sustainable instruments (Nightwind Horn)
  • Improper MIDI IN device validation (fixes game freezing)

## Since RC1:

  • Fixed Ukulele & Djem Djem Drum not being apart of the "A Band of One" advancement
# Changes

## Instruments

### Added 2 new instruments:

#### Ukulele
  • The 3rd and upper octave of the Ukulele serves for **chords**.
  • This behavior can be toggled within the Ukulele's *Instrument Options*, allowing for an extended 3rd octave *(Treble mode)*.
  • MIDI overflow for this instrument cannot surpass the 3rd octave.

#### Djem Djem Drum
  • It makes funny sounds

## Advancements

Added 2 new advancements:

### Chasing Waves
Play any of the People of the Springs' instruments

### Master of the Springs
Play all of the People of the Springs' instruments

## Recipes

### The following recipes have changed:
  • Arataki's Great and Glorious Drum
  • Uses **Spruce Planks** instead of **Acacia Planks**.
  • Floral Zither
  • Now matches that of the Ukulele and the Even More Instruments! Guitar

## UI Tweaks

  • Arataki's Great and Glorious Drum MIDI Options Screen's Dominant Drum Type option is now displayed as a big button instead of a small one

## Tags

### Added:
  • genshin/people_of_the_springs
  • 4 instrument family tags
  • instrument_families/brass
  • instrument_families/percussion
  • instrument_families/woodwinds
  • instrument_families/drums

### Changes:
  • Renamed genshin_instruments to genshin/instruments

# Fixed:

## MIDI

  • On some MIDI devices, releasing a note counts as a note being pressed
  • Fixes infinite sustain on sustainable instruments (Nightwind Horn)
  • Improper MIDI IN device validation (fixes game freezing)

## Since RC1:

  • Fixed Ukulele & Djem Djem Drum not being apart of the "A Band of One" advancement
# Changes

## Instruments

### Added 2 new instruments:

#### Ukulele
  • The 3rd and upper octave of the Ukulele serves for **chords**.
  • This behavior can be toggled within the Ukulele's *Instrument Options*, allowing for an extended 3rd octave *(Treble mode)*.
  • MIDI overflow for this instrument cannot surpass the 3rd octave.

#### Djem Djem Drum
  • It makes funny sounds

## Advancements

Added 2 new advancements:

### Chasing Waves
Play any of the People of the Springs' instruments

### Master of the Springs
Play all of the People of the Springs' instruments

## Recipes

### The following recipes have changed:
  • Arataki's Great and Glorious Drum
  • Uses **Spruce Planks** instead of **Acacia Planks**.
  • Floral Zither
  • Now matches that of the Ukulele and the Even More Instruments! Guitar

## UI Tweaks

  • Arataki's Great and Glorious Drum MIDI Options Screen's Dominant Drum Type option is now displayed as a big button instead of a small one

## Tags

### Added:
  • genshin/people_of_the_springs
  • 4 instrument family tags
  • instrument_families/brass
  • instrument_families/percussion
  • instrument_families/woodwinds
  • instrument_families/drums

### Changes:
  • Renamed genshin_instruments to genshin/instruments

# Fixed:

## MIDI

  • On some MIDI devices, releasing a note counts as a note being pressed
  • Fixes infinite sustain on sustainable instruments (Nightwind Horn)
  • Improper MIDI IN device validation (fixes game freezing)
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
  • Defined version range being incorrect
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.2

## Changes
  • Renamed author name to StavWasPlayZ

## Fixed
  • Background of instruments sometimes appearing at full alpha
  • Instrument block entities not getting properly removed
# Genshin Instruments v4.0.1

Fixed:
  • Opening the instrument settings screen causes improper closing of the instrument

# Genshin Instruments v4.0

Hey everyone! Sorry I'm late for the game!

This update introduces the long-awaited **Nightwind Horn**!

Enjoy thy playings!~

## Changes
  • Added the **Nightwind Horn**
  • The Nightwind Horn is a *sustainable instrument*. You can hold it to make a loooong sound!
  • The longer you press, the more echo there will eventually be.
  • The sound decays after a period of time.
  • Textures, as always, made by the awesome [Gen](https://www.planetminecraft.com/member/genmode/)!
  • Added pitch-fixed note layout variants for ABC and do re mi

### MIDI
  • MIDI overflows now sound *much* better more polished.
  • Before, it would sample the current sound in the octave; and pitch it by 1 octave.
  • Now, the sampled sound is always the *highest / lowest* in the instrument, pitched by the offset of the note pressed.
  • For example, to play C4, we take B3 - then pitch it up by **1** to get C4.
  • Previously, would take C3, then pitch it up by **12** to get a C4.
  • The default sensitivty level is now 80%

## Fixed
  • Game crashing for some PCs not using English as their language locale
  • Players being seen as not playing and not being heard when joining a world or dimension where a player has already entered playing mode
  • Incorrect naming of Arataki's Great and Glorious Drum
  • Some instrument option toggles' previous value being discarded on screen refresh
  • Some MIDI devices' names having weird whitespaces
  • \[FABRIC\]** Mixin conflicts on Entity#getPersistentData

## API Changes
Wayy too many lmao.
If you run into migration problems, feel free to contact me, and I'll help you out resolve it directly. I'll dedicate some time to update the wiki in the future.

### Noteable Changes:
  • Added the ability to implement custom holdable instruments and sounds via HeldNoteSoundRegistrar
  • All instrument packet utility methods have been moved from the generic ServerUtil to their respective sound type packet util classes (NoteSoundPacketUtil, HeldNoteSoundPacketUtil).
  • Added InstrumentScreenRegistry in place of the old "load it yourself" method. See implementation for more details.
  • \[FABRIC ONLY\]** To add an item to the Instruments tab, you now must use the GICreativeModeTabs#addToInstrumentsTab.
  • Priority is first given to the Genshin Instruments mod (0), then EMI (1). You should thus set yours starting 3, or (much better) use the GICreativeModeTabs#getUniquePriority method to generate your own, consistantly unique priority identifier.
  • This generator uses String#hashCode on your mod ID, so a hash collision *may* occur? But extroadinarily low chances.
  • This works to resolve the messy instruments tab when using EMI.

### Instrument Events
  • InstrumentPlayedEvent is now divided into NoteSoundPlayedEvent and HeldNoteSoundPlayedEvent. The original can still be used to catch all said events.
  • The ByPlayer variants are now integrated into the aforementioned events as an InstrumentPlayedEvent.EntityInfo optional.
  • Added InstrumentOpenStateChangedEvent. Self-explanatory.


P.S: I'm sorry this took me an eternity.

Though, you have to still consider that I am the *only* developer and maintainer of this project, so things *will have* to move my speed.

I'm also a student. And I also have other projects.


As you have seen above, I've made *a lot* of changes (over the course of *~4 months!*) to the core mod, whilst also making sure to keep API compatibility and support for both foreign programmers (if any; else still maintain good code practices) - and the Even More Instruments! mod.

I was not prepared for a sustained instrument to be implemented in Genshin, and I thus also did not consider it from the start that I'll *ever* have - or need - to do it. *(maybe as a nieche concept that never will get implemented bc time.)*

Though, evidently, this forced change. And forced change it did.
And if you don't believe me, [see it for yourself](https://github.com/StavWasPlayZ/Genshin-Instruments/compare/7a9992b06331787b3e89ad004a3ec0bbd4404c2cd39860437204e1940d75f1d65a536fc67235cdce).

I did not even have the time to play the new summer event :(

Anyways, let's hope that the Natlan instrument doesn't have a new, game-breaking mechanic again.
Else... Yeah, mental teardown.

(Otherwise, addition should be swift! :3)
# Genshin Instruments v4.0

Hey everyone! Sorry I'm late for the game!

This update introduces the long-awaited **Nightwind Horn**!

Enjoy thy playings!~

## Changes
  • Added the **Nightwind Horn**
  • The Nightwind Horn is a *sustainable instrument*. You can hold it to make a loooong sound!
  • The longer you press, the more echo there will eventually be.
  • The sound decays after a period of time.
  • Textures, as always, made by the awesome [Gen](https://www.planetminecraft.com/member/genmode/)!
  • Added pitch-fixed note layout variants for ABC and do re mi

### MIDI
  • MIDI overflows now sound *much* better more polished.
  • Before, it would sample the current sound in the octave; and pitch it by 1 octave.
  • Now, the sampled sound is always the *highest / lowest* in the instrument, pitched by the offset of the note pressed.
  • For example, to play C4, we take B3 - then pitch it up by **1** to get C4.
  • Previously, would take C3, then pitch it up by **12** to get a C4.
  • The default sensitivty level is now 80%

## Fixed
  • Game crashing for some PCs not using English as their language locale
  • Players being seen as not playing and not being heard when joining a world or dimension where a player has already entered playing mode
  • Incorrect naming of Arataki's Great and Glorious Drum
  • Some instrument option toggles' previous value being discarded on screen refresh
  • Some MIDI devices' names having weird whitespaces

## API Changes
Wayy too many lmao.
If you run into migration problems, feel free to contact me, and I'll help you out resolve it directly. I'll dedicate some time to update the wiki in the future.

### Noteable Changes:
  • Added the ability to implement custom holdable instruments and sounds via HeldNoteSoundRegistrar
  • All instrument packet utility methods have been moved from the generic ServerUtil to their respective sound type packet util classes (NoteSoundPacketUtil, HeldNoteSoundPacketUtil).
  • Added InstrumentScreenRegistry in place of the old "load it yourself" method. See implementation for more details.
  • \[FABRIC ONLY\]** To add an item to the Instruments tab, you now must use the GICreativeModeTabs#addToInstrumentsTab.
  • Priority is first given to the Genshin Instruments mod (0), then EMI (1). You should thus set yours starting 3, or (much better) use the GICreativeModeTabs#getUniquePriority method to generate your own, consistantly unique priority identifier.
  • This generator uses String#hashCode on your mod ID, so a hash collision *may* occur? But extroadinarily low chances.
  • This works to resolve the messy instruments tab when using EMI.

### Instrument Events
  • InstrumentPlayedEvent is now divided into NoteSoundPlayedEvent and HeldNoteSoundPlayedEvent. The original can still be used to catch all said events.
  • The ByPlayer variants are now integrated into the aforementioned events as an InstrumentPlayedEvent.EntityInfo optional.
  • Added InstrumentOpenStateChangedEvent. Self-explanatory.


P.S: I'm sorry this took me an eternity.

Though, you have to still consider that I am the *only* developer and maintainer of this project, so things *will have* to move my speed.

I'm also a student. And I also have other projects.


As you have seen above, I've made *a lot* of changes (over the course of *~4 months!*) to the core mod, whilst also making sure to keep API compatibility and support for both foreign programmers (if any; else still maintain good code practices) - and the Even More Instruments! mod.

I was not prepared for a sustained instrument to be implemented in Genshin, and I thus also did not consider it from the start that I'll *ever* have - or need - to do it. *(maybe as a nieche concept that never will get implemented bc time.)*

Though, evidently, this forced change. And forced change it did.
And if you don't believe me, [see it for yourself](https://github.com/StavWasPlayZ/Genshin-Instruments/compare/7a9992b06331787b3e89ad004a3ec0bbd4404c2cd39860437204e1940d75f1d65a536fc67235cdce).

I did not even have the time to play the new summer event :(

Anyways, let's hope that the Natlan instrument doesn't have a new, game-breaking mechanic again.
Else... Yeah, mental teardown.

(Otherwise, addition should be swift! :3)
## Fixed:
  • Opening the instrument settings screen causes improper closing of the instrument
# Genshin Instruments v4.0

Hey everyone! Sorry I'm late for the game!

This update introduces the long-awaited **Nightwind Horn**!

Enjoy thy playings!~

## Changes
  • Added the **Nightwind Horn**
  • The Nightwind Horn is a *sustainable instrument*. You can hold it to make a loooong sound!
  • The longer you press, the more echo there will eventually be.
  • The sound decays after a period of time.
  • Textures, as always, made by the awesome [Gen](https://www.planetminecraft.com/member/genmode/)!
  • Added pitch-fixed note layout variants for ABC and do re mi

### MIDI
  • MIDI overflows now sound *much* better more polished.
  • Before, it would sample the current sound in the octave; and pitch it by 1 octave.
  • Now, the sampled sound is always the *highest / lowest* in the instrument, pitched by the offset of the note pressed.
  • For example, to play C4, we take B3 - then pitch it up by **1** to get C4.
  • Previously, would take C3, then pitch it up by **12** to get a C4.
  • The default sensitivty level is now 80%

## Fixed
  • Game crashing for some PCs not using English as their language locale
  • Players being seen as not playing and not being heard when joining a world or dimension where a player has already entered playing mode
  • Incorrect naming of Arataki's Great and Glorious Drum
  • Some instrument option toggles' previous value being discarded on screen refresh
  • Some MIDI devices' names having weird whitespaces
  • \[FABRIC\]** Mixin conflicts on Entity#getPersistentData

## API Changes
Wayy too many lmao.
If you run into migration problems, feel free to contact me, and I'll help you out resolve it directly. I'll dedicate some time to update the wiki in the future.

### Noteable Changes:
  • Added the ability to implement custom holdable instruments and sounds via HeldNoteSoundRegistrar
  • All instrument packet utility methods have been moved from the generic ServerUtil to their respective sound type packet util classes (NoteSoundPacketUtil, HeldNoteSoundPacketUtil).
  • Added InstrumentScreenRegistry in place of the old "load it yourself" method. See implementation for more details.
  • \[FABRIC ONLY\]** To add an item to the Instruments tab, you now must use the GICreativeModeTabs#addToInstrumentsTab.
  • Priority is first given to the Genshin Instruments mod (0), then EMI (1). You should thus set yours starting 3, or (much better) use the GICreativeModeTabs#getUniquePriority method to generate your own, consistantly unique priority identifier.
  • This generator uses String#hashCode on your mod ID, so a hash collision *may* occur? But extroadinarily low chances.
  • This works to resolve the messy instruments tab when using EMI.

### Instrument Events
  • InstrumentPlayedEvent is now divided into NoteSoundPlayedEvent and HeldNoteSoundPlayedEvent. The original can still be used to catch all said events.
  • The ByPlayer variants are now integrated into the aforementioned events as an InstrumentPlayedEvent.EntityInfo optional.
  • Added InstrumentOpenStateChangedEvent. Self-explanatory.


P.S: I'm sorry this took me an eternity.

Though, you have to still consider that I am the *only* developer and maintainer of this project, so things *will have* to move my speed.

I'm also a student. And I also have other projects.


As you have seen above, I've made *a lot* of changes (over the course of *~4 months!*) to the core mod, whilst also making sure to keep API compatibility and support for both foreign programmers (if any; else still maintain good code practices) - and the Even More Instruments! mod.

I was not prepared for a sustained instrument to be implemented in Genshin, and I thus also did not consider it from the start that I'll *ever* have - or need - to do it. *(maybe as a nieche concept that never will get implemented bc time.)*

Though, evidently, this forced change. And forced change it did.
And if you don't believe me, [see it for yourself](https://github.com/StavWasPlayZ/Genshin-Instruments/compare/7a9992b06331787b3e89ad004a3ec0bbd4404c2cd39860437204e1940d75f1d65a536fc67235cdce).

I did not even have the time to play the new summer event :(

Anyways, let's hope that the Natlan instrument doesn't have a new, game-breaking mechanic again.
Else... Yeah, mental teardown.

(Otherwise, addition should be swift! :3)
# Genshin Instruments v4.0

Hey everyone! Sorry I'm late for the game!

This update introduces the long-awaited **Nightwind Horn**!

Enjoy thy playings!~

## Changes
  • Added the **Nightwind Horn**
  • The Nightwind Horn is a *sustainable instrument*. You can hold it to make a loooong sound!
  • The longer you press, the more echo there will eventually be.
  • The sound decays after a period of time.
  • Textures, as always, made by the awesome [Gen](https://www.planetminecraft.com/member/genmode/)!
  • Added pitch-fixed note layout variants for ABC and do re mi

### MIDI
  • MIDI overflows now sound *much* better more polished.
  • Before, it would sample the current sound in the octave; and pitch it by 1 octave.
  • Now, the sampled sound is always the *highest / lowest* in the instrument, pitched by the offset of the note pressed.
  • For example, to play C4, we take B3 - then pitch it up by **1** to get C4.
  • Previously, would take C3, then pitch it up by **12** to get a C4.
  • The default sensitivty level is now 80%

## Fixed
  • Game crashing for some PCs not using English as their language locale
  • Players being seen as not playing and not being heard when joining a world or dimension where a player has already entered playing mode
  • Incorrect naming of Arataki's Great and Glorious Drum
  • Some instrument option toggles' previous value being discarded on screen refresh
  • Some MIDI devices' names having weird whitespaces

## API Changes
Wayy too many lmao.
If you run into migration problems, feel free to contact me, and I'll help you out resolve it directly. I'll dedicate some time to update the wiki in the future.

### Noteable Changes:
  • Added the ability to implement custom holdable instruments and sounds via HeldNoteSoundRegistrar
  • All instrument packet utility methods have been moved from the generic ServerUtil to their respective sound type packet util classes (NoteSoundPacketUtil, HeldNoteSoundPacketUtil).
  • Added InstrumentScreenRegistry in place of the old "load it yourself" method. See implementation for more details.
  • \[FABRIC ONLY\]** To add an item to the Instruments tab, you now must use the GICreativeModeTabs#addToInstrumentsTab.
  • Priority is first given to the Genshin Instruments mod (0), then EMI (1). You should thus set yours starting 3, or (much better) use the GICreativeModeTabs#getUniquePriority method to generate your own, consistantly unique priority identifier.
  • This generator uses String#hashCode on your mod ID, so a hash collision *may* occur? But extroadinarily low chances.
  • This works to resolve the messy instruments tab when using EMI.

### Instrument Events
  • InstrumentPlayedEvent is now divided into NoteSoundPlayedEvent and HeldNoteSoundPlayedEvent. The original can still be used to catch all said events.
  • The ByPlayer variants are now integrated into the aforementioned events as an InstrumentPlayedEvent.EntityInfo optional.
  • Added InstrumentOpenStateChangedEvent. Self-explanatory.


P.S: I'm sorry this took me an eternity.

Though, you have to still consider that I am the *only* developer and maintainer of this project, so things *will have* to move my speed.

I'm also a student. And I also have other projects.


As you have seen above, I've made *a lot* of changes (over the course of *~4 months!*) to the core mod, whilst also making sure to keep API compatibility and support for both foreign programmers (if any; else still maintain good code practices) - and the Even More Instruments! mod.

I was not prepared for a sustained instrument to be implemented in Genshin, and I thus also did not consider it from the start that I'll *ever* have - or need - to do it. *(maybe as a nieche concept that never will get implemented bc time.)*

Though, evidently, this forced change. And forced change it did.
And if you don't believe me, [see it for yourself](https://github.com/StavWasPlayZ/Genshin-Instruments/compare/7a9992b06331787b3e89ad004a3ec0bbd4404c2cd39860437204e1940d75f1d65a536fc67235cdce).

I did not even have the time to play the new summer event :(

Anyways, let's hope that the Natlan instrument doesn't have a new, game-breaking mechanic again.
Else... Yeah, mental teardown.

(Otherwise, addition should be swift! :3)
# Genshin Instruments v4.0

Hey everyone! Sorry I'm late for the game!

This update introduces the long-awaited **Nightwind Horn**!

Enjoy thy playings!~

## Changes
  • Added the **Nightwind Horn**
  • The Nightwind Horn is a *sustainable instrument*. You can hold it to make a loooong sound!
  • The longer you press, the more echo there will eventually be.
  • The sound decays after a period of time.
  • Textures, as always, made by the awesome [Gen](https://www.planetminecraft.com/member/genmode/)!
  • Added pitch-fixed note layout variants for ABC and do re mi

### MIDI
  • MIDI overflows now sound *much* better more polished.
  • Before, it would sample the current sound in the octave; and pitch it by 1 octave.
  • Now, the sampled sound is always the *highest / lowest* in the instrument, pitched by the offset of the note pressed.
  • For example, to play C4, we take B3 - then pitch it up by **1** to get C4.
  • Previously, would take C3, then pitch it up by **12** to get a C4.
  • The default sensitivty level is now 80%

## Fixed
  • Game crashing for some PCs not using English as their language locale
  • Players being seen as not playing and not being heard when joining a world or dimension where a player has already entered playing mode
  • Incorrect naming of Arataki's Great and Glorious Drum
  • Some instrument option toggles' previous value being discarded on screen refresh
  • Some MIDI devices' names having weird whitespaces

## API Changes
Wayy too many lmao.
If you run into migration problems, feel free to contact me, and I'll help you out resolve it directly. I'll dedicate some time to update the wiki in the future.

### Noteable Changes:
  • Added the ability to implement custom holdable instruments and sounds via HeldNoteSoundRegistrar
  • All instrument packet utility methods have been moved from the generic ServerUtil to their respective sound type packet util classes (NoteSoundPacketUtil, HeldNoteSoundPacketUtil).
  • Added InstrumentScreenRegistry in place of the old "load it yourself" method. See implementation for more details.
  • \[FABRIC ONLY\]** To add an item to the Instruments tab, you now must use the GICreativeModeTabs#addToInstrumentsTab.
  • Priority is first given to the Genshin Instruments mod (0), then EMI (1). You should thus set yours starting 3, or (much better) use the GICreativeModeTabs#getUniquePriority method to generate your own, consistantly unique priority identifier.
  • This generator uses String#hashCode on your mod ID, so a hash collision *may* occur? But extroadinarily low chances.
  • This works to resolve the messy instruments tab when using EMI.

### Instrument Events
  • InstrumentPlayedEvent is now divided into NoteSoundPlayedEvent and HeldNoteSoundPlayedEvent. The original can still be used to catch all said events.
  • The ByPlayer variants are now integrated into the aforementioned events as an InstrumentPlayedEvent.EntityInfo optional.
  • Added InstrumentOpenStateChangedEvent. Self-explanatory.


P.S: I'm sorry this took me an eternity.

Though, you have to still consider that I am the *only* developer and maintainer of this project, so things *will have* to move my speed.

I'm also a student. And I also have other projects.


As you have seen above, I've made *a lot* of changes (over the course of *~4 months!*) to the core mod, whilst also making sure to keep API compatibility and support for both foreign programmers (if any; else still maintain good code practices) - and the Even More Instruments! mod.

I was not prepared for a sustained instrument to be implemented in Genshin, and I thus also did not consider it from the start that I'll *ever* have - or need - to do it. *(maybe as a nieche concept that never will get implemented bc time.)*

Though, evidently, this forced change. And forced change it did.
And if you don't believe me, [see it for yourself](https://github.com/StavWasPlayZ/Genshin-Instruments/compare/7a9992b06331787b3e89ad004a3ec0bbd4404c2cd39860437204e1940d75f1d65a536fc67235cdce).

I did not even have the time to play the new summer event :(

Anyways, let's hope that the Natlan instrument doesn't have a new, game-breaking mechanic again.
Else... Yeah, mental teardown.

(Otherwise, addition should be swift! :3)
# Genshin Instruments v4.0

Hey everyone! Sorry I'm late for the game!

This update introduces the long-awaited **Nightwind Horn**!

Enjoy thy playings!~

## Changes
  • Added the **Nightwind Horn**
  • The Nightwind Horn is a *sustainable instrument*. You can hold it to make a loooong sound!
  • The longer you press, the more echo there will eventually be.
  • The sound decays after a period of time.
  • Textures, as always, made by the awesome [Gen](https://www.planetminecraft.com/member/genmode/)!
  • Added pitch-fixed note layout variants for ABC and do re mi

### MIDI
  • MIDI overflows now sound *much* better more polished.
  • Before, it would sample the current sound in the octave; and pitch it by 1 octave.
  • Now, the sampled sound is always the *highest / lowest* in the instrument, pitched by the offset of the note pressed.
  • For example, to play C4, we take B3 - then pitch it up by **1** to get C4.
  • Previously, would take C3, then pitch it up by **12** to get a C4.
  • The default sensitivty level is now 80%

## Fixed
  • Game crashing for some PCs not using English as their language locale
  • Players being seen as not playing and not being heard when joining a world or dimension where a player has already entered playing mode
  • Incorrect naming of Arataki's Great and Glorious Drum
  • Some instrument option toggles' previous value being discarded on screen refresh
  • Some MIDI devices' names having weird whitespaces

## API Changes
Wayy too many lmao.
If you run into migration problems, feel free to contact me, and I'll help you out resolve it directly. I'll dedicate some time to update the wiki in the future.

### Noteable Changes:
  • Added the ability to implement custom holdable instruments and sounds via HeldNoteSoundRegistrar
  • All instrument packet utility methods have been moved from the generic ServerUtil to their respective sound type packet util classes (NoteSoundPacketUtil, HeldNoteSoundPacketUtil).
  • Added InstrumentScreenRegistry in place of the old "load it yourself" method. See implementation for more details.
  • \[FABRIC ONLY\]** To add an item to the Instruments tab, you now must use the GICreativeModeTabs#addToInstrumentsTab.
  • Priority is first given to the Genshin Instruments mod (0), then EMI (1). You should thus set yours starting 3, or (much better) use the GICreativeModeTabs#getUniquePriority method to generate your own, consistantly unique priority identifier.
  • This generator uses String#hashCode on your mod ID, so a hash collision *may* occur? But extroadinarily low chances.
  • This works to resolve the messy instruments tab when using EMI.

### Instrument Events
  • InstrumentPlayedEvent is now divided into NoteSoundPlayedEvent and HeldNoteSoundPlayedEvent. The original can still be used to catch all said events.
  • The ByPlayer variants are now integrated into the aforementioned events as an InstrumentPlayedEvent.EntityInfo optional.
  • Added InstrumentOpenStateChangedEvent. Self-explanatory.


P.S: I'm sorry this took me an eternity.

Though, you have to still consider that I am the *only* developer and maintainer of this project, so things *will have* to move my speed.

I'm also a student. And I also have other projects.


As you have seen above, I've made *a lot* of changes (over the course of *~4 months!*) to the core mod, whilst also making sure to keep API compatibility and support for both foreign programmers (if any; else still maintain good code practices) - and the Even More Instruments! mod.

I was not prepared for a sustained instrument to be implemented in Genshin, and I thus also did not consider it from the start that I'll *ever* have - or need - to do it. *(maybe as a nieche concept that never will get implemented bc time.)*

Though, evidently, this forced change. And forced change it did.
And if you don't believe me, [see it for yourself](https://github.com/StavWasPlayZ/Genshin-Instruments/compare/7a9992b06331787b3e89ad004a3ec0bbd4404c2cd39860437204e1940d75f1d65a536fc67235cdce).

I did not even have the time to play the new summer event :(

Anyways, let's hope that the Natlan instrument doesn't have a new, game-breaking mechanic again.
Else... Yeah, mental teardown.

(Otherwise, addition should be swift! :3)
# Fixed - v3.4.1.1:
  • NeoForge update listener
  • Instrument background decorations sometimes not blending (alpha at 100%)
# Fixed - v3.4.1.1:
  • NeoForge update listener
  • Instrument background decorations sometimes not blending (alpha at 100%)
This version proposes API tweaks & changes, long-awaited community suggestions, and preparation for v4.0's new wind instrument.

# Changes
  • Added Chinese support by charmaznable & SteveNotSet
  • Added GUI visibility toggle (MoonstruckLucii suggestion)

## Achievements
  • Master achievement now grants 5exp
  • Root achievement now takes in any instrument, not just Genshin ones
  • Specified Master achievement to be Genshin-specific

## MIDI
  • New slider added: Sensitivity
Allows the player to control how sensitive dynamic touch input should be

## Technical
  • Fixed conventional key namings in Player's InstrumentOpen NBT capability

### Tags
  • New tag group: genshin_instruments to specify genshin-specific instruments

### API
  • Moved wind instruments support from Even More Instruments! to Genshin Instruments

# Fixed
  • Do-ReMi and Don-Ka labeling
  • Volume slider saving a way too accurate representation of volume
  • Potential resource leaks while reading Instrument styler sheets
This version proposes API tweaks & changes, long-awaited community suggestions, and preparation for v4.0's new wind instrument.

# Changes
  • Added Chinese support by charmaznable & SteveNotSet
  • Added GUI visibility toggle (MoonstruckLucii suggestion)

## Achievements
  • Master achievement now grants 5exp
  • Root achievement now takes in any instrument, not just Genshin ones
  • Specified Master achievement to be Genshin-specific

## MIDI
  • New slider added: Sensitivity
Allows the player to control how sensitive dynamic touch input should be

## Technical
  • Fixed conventional key namings in Player's InstrumentOpen NBT capability

### Tags
  • New tag group: genshin_instruments to specify genshin-specific instruments

### API
  • Moved wind instruments support from Even More Instruments! to Genshin Instruments

# Fixed
  • Do-ReMi and Don-Ka labeling
  • Volume slider saving a way too accurate representation of volume
  • Potential resource leaks while reading Instrument styler sheets
This version proposes API tweaks & changes, long-awaited community suggestions, and preparation for v4.0's new wind instrument.

# Changes
  • Added Chinese support by charmaznable & SteveNotSet
  • Added GUI visibility toggle (MoonstruckLucii suggestion)

## Achievements
  • Master achievement now grants 5exp
  • Root achievement now takes in any instrument, not just Genshin ones
  • Specified Master achievement to be Genshin-specific

## MIDI
  • New slider added: Sensitivity
Allows the player to control how sensitive dynamic touch input should be

## Technical
  • Fixed conventional key namings in Player's InstrumentOpen NBT capability

### Tags
  • New tag group: genshin_instruments to specify genshin-specific instruments

### API
  • Moved wind instruments support from Even More Instruments! to Genshin Instruments

# Fixed
  • Do-ReMi and Don-Ka labeling
  • Volume slider saving a way too accurate representation of volume
  • Potential resource leaks while reading Instrument styler sheets
  • Instrument buttons sometimes appearing black (Forge-only)
This version proposes API tweaks & changes, long-awaited community suggestions, and preparation for v4.0's new wind instrument.

# Changes
  • Added Chinese support by charmaznable & SteveNotSet
  • Added GUI visibility toggle (MoonstruckLucii suggestion)

## Achievements
  • Master achievement now grants 5exp
  • Root achievement now takes in any instrument, not just Genshin ones
  • Specified Master achievement to be Genshin-specific

## MIDI
  • New slider added: Sensitivity
Allows the player to control how sensitive dynamic touch input should be

## Technical
  • Fixed conventional key namings in Player's InstrumentOpen NBT capability

### Tags
  • New tag group: genshin_instruments to specify genshin-specific instruments

### API
  • Moved wind instruments support from Even More Instruments! to Genshin Instruments

# Fixed
  • Do-ReMi and Don-Ka labeling
  • Volume slider saving a way too accurate representation of volume
  • Potential resource leaks while reading Instrument styler sheets
  • Instrument buttons sometimes appearing black (Forge-only)
Genshin Instruments Icon
Download Genshin Instruments
Select game version
Select platform