A fan-made, faithful recreation of Beat Saber in Minecraft.
This mod was inspired by deep knowledge of how Beat Saber functions, created from members of the community who have been studying it for years.
Not only does this mod function like Beat Saber, it's also playable inside virtual reality using Vivecraft! This allows for a truly accurate experience, as you'll really be swinging your sabers physically in 3D space!
Experience a unique take on virtual reality's most popular rhythm game, all within the confines of the blocky sandbox we all know and love!
Note
This mod is still in active development, please be patient about features that haven't been added yet, and report bugs to the GitHub here (check that it hasn't already been reported first please)
BeatCraft can be downloaded from here: https://modrinth.com/mod/beatcraft
or from releases here on GitHub.
made for fabric 1.21.1
Mod Dependencies: (these will be auto-downloaded if you get the mod with the modrinth/CurseForge app)
- Load Beatmap V2, V3, and V4
- Color notes, bombs, chains, arcs, walls
- Accurate spawning animations
- Accurate scoring
- AnimateTrack, AssignPathAnimation events
- AssignPlayerToTrack (yes, separating hands and head stuff too), and AssignTrackParent events.
- V2 lightshows
- V3 lightshows
- V4 lightshows
- Chroma coloring features
- Ingame song selection menu
- Ingame Beatsaver downloader
- Level modifiers (song speed, ghost notes, etc.)
It's recommended to create a new world with creative + cheats, using the BeatCraft world generation preset.
You should spawn in the play area with a pair of sabers.
If you break the play area or lose your sabers, refer to commands
from the creative inventory, sabers will appear black.
to fix this there are 2 item components that modify the saber colors:
beatcraft:saber_color
:
a packed color integer. the base 10 equivalent to a hexadecimal value. (ei. 0xFFFFFF, which would be white, is 16777215 in base 10)
beatcraft:sync_color
:
can be -1, 0, or 1
-1: saber will always render with the color specified bybeatcraft:saber_color
0: when in a map, the saber will switch to the left note color
1: when in a map, the saber will switch to the right note color
a set of blocks so you can build environments that feel closer to beat saber.
Black Mirror Block
has no relation to black mirror.
just a solid black block.
Reflective Mirror Block
top surface will be a mirror if the block is placed at y = -1
Reflections can be disabled in quality settings
Light Tile Blocks
Look kinda glowy.
Comes in many shapes.
There is a new BeatCraft
worldgen preset that generates an empty world with a layer of barriers to stand on.
Upon joining a new world for the first time:
- you will be teleported to 0 0 0
- you will be given a pair of sabers
- the time will be set to midnight
- difficulty will be set to peaceful
- gamerule DoDaylightCycle will be set to false
gives you sabers that default to the iconic red and blue of beat saber, but will also auto-sync to the current map's color scheme.
/custom_sabers list
displays a list of all loaded saber models.
Click a model name in chat to copy the selector to the clipboard.
/custom_sabers refresh
re-scans the custom saber directory and reloads all models.
/custom_sabers select <data>
paste the content from clicking on a model from
list
to select that model.
generates the default pillar and runway for playing.
enables/disables FPFC mode, allowing you to interact with the menu while not in VR.
/color_helper hex <hex_code>
converts a color in the form RRGGBB to several formats. useful for giving yourself a saber with a specific color.
/color_helper intRGB <r> <g> <b>
converts 3 ints (0 to 255) to several formats. useful for giving yourself a saber with a specific color.
/color_helper floatRGB <r> <g> <b>
converts 3 floats (0.0 to 1.0) to several formats. useful for giving yourself a saber with a specific color.
Warning
some sub-commands of /song
may cause bugs as they are being phased out.
they are still included mainly for debugging.
/song play [beat]
resumes the currently playing song if beat is not provided, otherwise plays from the specified beat.
/song pause
pauses the song. This works differently from the pause button in the way that this doesn't bring up the pause screen, and you can still see and interact with the notes and stuff.
/song restart
restarts the map from the beginning
/song speed <scalar|"reset">
"reset" sets the speed to 1.0. otherwise speed is set to the specified value as long as it's between 0.0001 and 5.0
/song unload
Warning
unloads the current map.
running this is likely to break/softlock the mod.
/song loadFile
Warning
loads a beatmap difficulty from an absolute path to a file.
running this may crash the game, or the HUD may not work correctly.
/song scrub <beats>
moves forward or backwards in the map by however many beats are specified.
/song load <map> <set> <difficulty>
Warning
loads a song from the beatmaps folder. This command was replaced with the song selection menu, and using the command will not properly update the HUD.
/song record <output_file>
Warning
specify a file name (i.e. "recording.json") that the next map you play will be saved to.
this feature is currently buggy and not recommended for use.
/song replay <replay_file>
Warning
specify a file name (i.e. "recording.json") to replay.
currently very broken.
Warning
All multiplayer features may be very buggy, so please report bugs here