3333@ Environment (EnvType .CLIENT )
3434public class BlockTunerClient implements ClientModInitializer {
3535
36- private static boolean keyToPiano = false ;
37- private static boolean playMode = false ;
38-
3936 public static final Vector <MidiDevice > transmitters = new Vector <>(0 , 1 );
4037 private static int deviceIndex = 0 ;
4138
@@ -57,22 +54,6 @@ public void onInitializeClient() {
5754
5855 }
5956
60- public static boolean isPlayMode () {
61- return playMode ;
62- }
63-
64- public static void togglePlayMode () {
65- playMode = !playMode ;
66- }
67-
68- public static boolean isKeyToPiano () {
69- return keyToPiano ;
70- }
71-
72- public static void toggleKeyToPiano () {
73- keyToPiano = !keyToPiano ;
74- }
75-
7657 public static int getDeviceIndex () {
7758 return deviceIndex ;
7859 }
@@ -95,7 +76,7 @@ public static MidiDevice getCurrentDevice(){
9576 return transmitters .get (deviceIndex );
9677 }
9778
98- public static void refreshMidiDevice (){
79+ public static void refreshMidiDevice () {
9980 MidiDevice device ;
10081 transmitters .clear ();
10182 transmitters .add (null );
@@ -124,4 +105,148 @@ public static void refreshMidiDevice(){
124105
125106 }
126107
108+ public static String getNoteName (int note ) {
109+ int keySignature = BlockTunerConfig .getKeySignature ();
110+ String noteName = "" ;
111+ switch (note ) {
112+ case 0 , 12 , 24 -> {
113+ if (keySignature >= -1 ) {
114+ noteName = "F\u266f " ;
115+ } else if (keySignature <= -3 ) {
116+ noteName = "G\u266d " ;
117+ } else {
118+ noteName = "F\u266f | G\u266d " ;
119+ }
120+ }
121+ case 1 , 13 -> {
122+ if (keySignature >= 6 ) {
123+ noteName = "F\ud834 \udd2a " ;
124+ } else if (keySignature <= 4 && keySignature >= -6 ) {
125+ noteName = "G" ;
126+ if (keySignature >= 3 || keySignature <= -5 ) {
127+ noteName = "G\u266e " ;
128+ }
129+ } else if (keySignature == 5 ){
130+ noteName = "F\ud834 \udd2a | G\u266e " ;
131+ } else {
132+ noteName = "G\u266e | A\ud834 \udd2b " ;
133+ }
134+ }
135+ case 2 , 14 -> {
136+ if (keySignature >= 1 ) {
137+ noteName = "G\u266f " ;
138+ } else if (keySignature <= -1 ) {
139+ noteName = "A\u266d " ;
140+ } else {
141+ noteName = "G\u266f | A\u266d " ;
142+ }
143+ }
144+ case 3 , 15 -> {
145+ if (keySignature >= 7 ) {
146+ noteName = "G\ud834 \udd2a | A\u266e " ;
147+ } else if (keySignature >= -4 ) {
148+ noteName = "A" ;
149+ if (keySignature <= -3 || keySignature >= 5 ) {
150+ noteName = "A\u266e " ;
151+ }
152+ } else if (keySignature <= -6 ) {
153+ noteName = "B\ud834 \udd2b " ;
154+ } else {
155+ noteName = "A\u266e | B\ud834 \udd2b " ;
156+ }
157+ }
158+ case 4 , 16 -> {
159+ if (keySignature >= 3 ) {
160+ noteName = "A\u266f " ;
161+ } else if (keySignature <= 1 ) {
162+ noteName = "B\u266d " ;
163+ } else {
164+ noteName = "A\u266f | B\u266d " ;
165+ }
166+ }
167+ case 5 , 17 -> {
168+ if (keySignature >= -2 ) {
169+ noteName = "B" ;
170+ if (keySignature <= -1 || keySignature >= 7 ) {
171+ noteName = "B\u266e " ;
172+ }
173+ } else if (keySignature <= -4 ) {
174+ noteName = "C\u266d " ;
175+ } else {
176+ noteName = "B\u266e | C\u266d " ;
177+ }
178+ }
179+ case 6 , 18 -> {
180+ if (keySignature >= 5 ) {
181+ noteName = "B\u266f " ;
182+ } else if (keySignature <= 3 ) {
183+ noteName = "C" ;
184+ if (keySignature >= 2 || keySignature <= -6 ) {
185+ noteName = "C\u266e " ;
186+ }
187+ } else {
188+ noteName = "B\u266f | C\u266e " ;
189+ }
190+ }
191+ case 7 , 19 -> {
192+ if (keySignature >= 0 ) {
193+ noteName = "C\u266f " ;
194+ } else if (keySignature <= -2 ) {
195+ noteName = "D\u266d " ;
196+ } else {
197+ noteName = "C\u266f | D\u266d " ;
198+ }
199+ }
200+ case 8 , 20 -> {
201+ if (keySignature >= 7 ) {
202+ noteName = "C\ud834 \udd2a " ;
203+ } else if (keySignature >= -5 && keySignature <= 5 ) {
204+ noteName = "D" ;
205+ if (keySignature <= -4 || keySignature >= 4 ) {
206+ noteName = "D\u266e " ;
207+ }
208+ } else if (keySignature <= -7 ) {
209+ noteName = "E\ud834 \udd2b " ;
210+ } else if (keySignature == -6 ) {
211+ noteName = "C\ud834 \udd2a | D\u266e " ;
212+ } else {
213+ noteName = "D\u266e | E\ud834 \udd2b " ;
214+ }
215+ }
216+ case 9 , 21 -> {
217+ if (keySignature >= 2 ) {
218+ noteName = "D\u266f " ;
219+ } else if (keySignature <= 0 ) {
220+ noteName = "E\u266d " ;
221+ } else {
222+ noteName = "D\u266f | E\u266d " ;
223+ }
224+ }
225+ case 10 , 22 -> {
226+ if (keySignature >= -3 ) {
227+ noteName = "E" ;
228+ if (keySignature <= -2 || keySignature >= 6 ) {
229+ noteName = "E\u266e " ;
230+ }
231+ } else if (keySignature <= -5 ) {
232+ noteName = "F\u266d " ;
233+ } else {
234+ noteName = "E\u266e | F\u266d " ;
235+ }
236+ }
237+ case 11 , 23 -> {
238+ if (keySignature >= 4 ) {
239+ noteName = "E\u266f " ;
240+ } else if (keySignature <= 2 ) {
241+ noteName = "F" ;
242+ if (keySignature >= 1 || keySignature <= -7 ) {
243+ noteName = "F\u266e " ;
244+ }
245+ } else {
246+ noteName = "E\u266f | F\u266e " ;
247+ }
248+ }
249+ }
250+ return noteName ;
251+ }
127252}
0 commit comments