From 5891381e1a0ef26c6091dbb4b65701c055409c48 Mon Sep 17 00:00:00 2001 From: hhhzzzsss Date: Wed, 23 Jun 2021 00:28:38 -0500 Subject: [PATCH] Update README.md --- README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e7b6e62..63d3e75 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,61 @@ # SongPlayer -A Fabric mod for Minecraft that plays noteblocks +A Fabric mod for Minecraft that plays noteblocks. The current version is for Minecraft 1.17. -# What to download -In the build/lib folder there's four jar files. The mod is the file called song-player-1.0.0.jar +# How to use +The mod is in build/lib/song-player-1.1.0.jar. There will also be a releases section where you can grab my mod from. + +This mod requires fabric api. # Adding songs -You can put midis in the .minecraft/songs folder +You can put midis in the .minecraft/songs folder. # Using the client -You can get a list of commands with $help +All the commands are case insensitive. -The most important ones are +## $help +Lists commands -$play \ +## $help \ +Explains a command and shows the command usage. -$stop +## $play \ +Plays a particular midi from the .minecraft/songs folder. + +## $playurl \ +Plays a midi from a particular url. The url should be a direct download link to a midi. + +## $stop +Stops playing/building + +## $goto \ +Goes to a specific time in the song. + +## $loop +Toggles song looping. + +## $current +Gets the current song that is playing. + +## $songs +Lists the songs in your .minecraft/songs folder. + +## $setCreativeCommand \ +By default, the client uses /gmc to go into creative mode. However, /gmc does not work on all servers. If the creative command is different, set it with this command. For example, if the server uses vanilla commands, do `$setCreativeCommand /gamemode creative`. + +## $setSurvivalCommand \ +By default, the client uses /gms to go into survival mode. However, /gms does not work on all servers. If the survival command is different, set it with this command. For example, if the server uses vanilla commands, do `$setSurvivalCommand /gamemode survival`. + +## $toggleFakePlayer +Toggles whether a fake player will show up to represent your true position while playing a song. When playing a song, since it automatically enables freecam, your true position will be different from your apparent position. The fake player will show where you actually are. By default this is disabled. + +# Mechanism +SongPlayer places noteblocks with nbt and instrument data already in them, so the noteblocks do not need to be individually tuned. Ayunami2000 had previously done a proof-of-concept of this method. + +My client will automatically detect what noteblocks are needed and place them automatically before each song is played, which makes playing songs quite easy. The only drawback is that you need to be able to switch between creative and survival mode, which my client will attempt to do automatically. + +When playing a song, freecam is enabled. You will be able to move around freely, but in reality you are only moving your camera while your player stays at the center of the noteblocks. This is because noteblocks can only be played if you're within reach distance of them, so you have to stand at the center of the noteblocks to play them, but it's still nice to be able to move around while your song is playing. + +# 1.17 Support +I was pretty late to update my client to 1.17, so Ayunami2000 decided to do it for me, which is pretty neat. You can see their repo here: https://github.com/ayunami2000/SongPlayer-1.17. At the moment of writing this though, they don't seem to have updated the the noteblock base id, which would make the client get all the notes wrong, so I don't reccomend using it. + +I've now updated SongPlayer to 1.17 myself though so you can get it from here.