MCCTeam / Minecraft-Console-Client

Lightweight console for Minecraft chat and automated scripts
https://mccteam.github.io
Other
1.61k stars 387 forks source link

[Idea] Integrated Notebot #2620

Open freeze-dolphin opened 9 months ago

freeze-dolphin commented 9 months ago

Prerequisites

Console Client Version

20231120-234

Describe your problem

If we have a Notebot in MCC, we can perform music fully automatically using our amazing MCC bots.

Suggest a possible solution

Integrated Notebot, here is my supposed configurations :)

[ChatBot.NoteBot]
Enabled = false

# The song list
# A list of the path to nbs files
Song_List = [ "path-to-nbs-file", ]

# The playback mode
#
# 0 - Play only once
# 1 - Repeat all
# 2 - Repeat one (the first one in Song_List, or maybe can be changed using a internal command)
# 3 - Shuffle
Playback_Mode = 0

# The command to be executed when start playing a song
#
# %song_file_name% stands for the nbs file name with file suffix stripped
# %song_length% stands for the duration of the song
Command_Executed_On_Playback = "/send Now playing: %song_file_name%"

# Whether to warn the user if any instrument required is missing
Warn_Missing_Instruments = true

# Whether to warn the user if any note is not in the range of Vanilla-Minecraft-playable pitch
Warn_Notes_Beyond_Limitation = true

# Instrument detection
#
# 0 - Block under
# 1 - Block state
Instrument_Detect_Mode = 0

# Interval between two songs
#
# set below 1 to disable interval
Interval = 30.0

# Time to wait before launching NoteBot after joining the server
Wait_Before_Start = 60.0

Attach screenshot here (If applicable)

Related video (The similar feature in Meteor-Client)

DISCLAIMER
I don't own the video, and I have nothing to do with it.
https://www.youtube.com/watch?v=jm9mlFsQJVk

Minecraft Version

1.20.2

Device

Other

Operating System

Linux

yyhhkya commented 9 months ago

i stand behind

ReinforceZwei commented 9 months ago

How would you store the "song" in the file? Could you elaborate more or give some example?

freeze-dolphin commented 9 months ago

How would you store the "song" in the file? Could you elaborate more or give some example?

We noteblock players nowadays use NBS (Noteblock Studio) to write songs, which can be stored in a file typed nbs.

Using such a software makes composing complex and minecraft-playable noteblock songs as easy as squeezing lemons.

There has been some libraries for parsing nbs files:

But I haven't find anything similar in C#, and that maybe the key to this feature.

ReinforceZwei commented 9 months ago

This looks interesting. How would the noteblock setup look like in the game? Do you have any showcase screenshots (maybe a screenshot of the player playing a song in the game)?

freeze-dolphin commented 9 months ago

This looks interesting. How would the noteblock setup look like in the game? Do you have any showcase screenshots (maybe a screenshot of the player playing a song in the game)?

Attached a related video in the screenshots section.

Check it out if interested. ;)