-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathchangelog.txt
More file actions
3946 lines (2269 loc) · 201 KB
/
changelog.txt
File metadata and controls
3946 lines (2269 loc) · 201 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
CHANGELOG | FANCYMENU v3.8.6
- Fixed incompatibility with "Jade" in MC 26.1.1
%changelog:end%
CHANGELOG | FANCYMENU v3.8.5
- Ported the mod to Minecraft 26.1.1
%changelog:end%
CHANGELOG | FANCYMENU v3.8.4
- Minimum required Konkrete version is now v1.9.18
- Fixed background blur not working for some menu background types in MC 1.21.11 (#1500)
- Fixed inactive buttons don't show labels in MC 1.21.11 (#1471)
- Fixed "Panorama" menu background type not rendering in the layout editor in MC 1.21.11
- Fixed anchoring elements to each other via manual element ID input not working in MC 1.21.11 (#1501)
- Fixed error related to serializing enchanted items that causes the client to disconnect from servers in MC 1.21.11 (#1499, #1495)
- Fixed crash when using JsonPath features in MC 1.21.11 (#1488)
%changelog:end%
CHANGELOG | FANCYMENU v3.8.2
- Fixed bugs related to the Player Entity element in MC 1.21.10
%changelog:end%
CHANGELOG | FANCYMENU v3.8.1
- There's now a hint in the Action Script Editor screen that tells the user to right-click the area to add actions when the script is still empty
- Fixed mod breaking on some launchers that use the .minecraft folder as instance folder (#1425)
- Fixed Manage Listeners screen closes when pressing ENTER (#1423)
- Fixed custom menu backgrounds not working in some cases in 1.20.1 and below (#1420, #1422)
%changelog:end%
CHANGELOG | FANCYMENU v3.8.0 - The "I'm Not Gonna Read All That" Update
- Dropped support for (Lex)Forge for Minecraft 1.21+
- Dropped support for Minecraft 1.18.2, 1.21.4, 1.21.8
- Added a new system: Listeners (#1247)
- Listeners can make you, well, listen to specific game events like mouse movement, mouse clicks, keyboard key presses, menus getting opened/closed and even in-world events like entities dying, the player gaining an effect or spotting an entity and SO MUCH MORE!
- You can add multiple listeners for the same event type and each listener can execute its own action script when triggered
- Listeners are the only system in FancyMenu that is constantly enabled, even when you are not in menus, which means listeners constantly listen to events and can trigger their action scripts, even if you have no menu open (while walking around in a world, for example)
- To manage (add/edit/remove) listeners, click on "Customization -> Manage Listeners" in the menu bar when NOT IN THE EDITOR
- Added rotation support for many element types, which means you can now freely rotate them (#1258)
- In basic mode you can use the rotation grabber to easily rotate the element or you can set the rotation manually in the element's right-click menu
- In advanced mode, the rotation value supports placeholders, which gives you maximum control over the element's rotation, but in this mode the rotation grabber is disabled
- It is possible to disable the visual rotation controls in the editor settings (menu bar -> Window -> Element Rotation Controls) to not see the grabber anymore
- You can Shift-click the rotation grabber to make it snap to 45 degree steps
- Added tilt support (horizontal and vertical) for many element types, which means you can now tilt them (#1259)
- In basic mode you can use the tilt grabbers to easily tilt the element or you can set the tilt manually in the element's right-click menu
- In advanced mode, the tilt values support placeholders, which gives you maximum control over the element's vertical/horizontal tilt, but in this mode the tilt grabbers are disabled
- It is possible to disable the tilt visual tilt controls in the editor settings (menu bar -> Window -> Element Tilt Controls) to not see the grabbers anymore
- You can Shift-click the tilt grabbers to make them snap to 15 degree steps
- Added "Is Element Focused" requirement to check if an element is "focused" (this is, for example, when buttons or sliders show an outline while using the arrow or Tab keys to navigate) (#1325)
- Added "Has Player Permission Level" requirement to check if the player has a specific permission level (like level 4 for operator) (#1239)
- Added "Is Resource Pack Enabled" requirement to check if a resource pack is enabled by its display name (#1002)
- Added "Is Any Screen Open" requirement that returns true when ANY screen is open (useful for listeners, since they work outside menus) (#1275)
- Added "Show Toast" action to show a custom Toast notification in the upper-right corner of the screen
- Added "Reset Element Animator" action to reset an "Element Animator" element, so it starts playing its animation (#1307)
- Added "Toggle Element Animator" action to toggle if an "Element Animator" element should play its animation
- Added "Enable Element Animator" action to enable an "Element Animator" element, so it plays its animation
- Added "Disable Element Animator" action to disable an "Element Animator" element, so it does not play its animation
- Added "Mimic Keybind" action to mimic pressing one of Minecraft's keybinds (the ones you see in the Controls screen) (#1287)
- Added "Display in Chat [Client-Side]" action to print messages to the local chat (without sending them to the server) (#1286)
- Added "Manage Resource Pack" action to enable/disable/toggle a specific resource pack (#1304)
- Added "Reload Resource Packs" action to reload resource packs just like when pressing F3 + T in-game (#1274)
- Added "Delete File in Game Directory" action to delete files in the instance's game directory and the ".minecraft" directory (#1242)
- Added "Create File in Game Directory" action to create new empty files in the instance's game directory and the ".minecraft" directory (#1242)
- Added "Move File in Game Directory" action to move files in the instance's game directory and the ".minecraft" directory (#1242)
- Added "Copy File in Game Directory" action to copy files in the instance's game directory and the ".minecraft" directory (#1242)
- Added "Rename File in Game Directory" action to rename files in the instance's game directory and the ".minecraft" directory (#1242)
- Added "Download File to Game Directory" action to download files to the instance's game directory and the ".minecraft" directory (#1242)
- There's also a listener that triggers when a file finishes downloading via this action (also includes if the download succeeded or not)
- Added "Write File in Game Directory" action to write text content to files in the instance's game directory and the ".minecraft" directory (#1242)
- Added "Select File from System" action that lets the user select a file on their PC and copies it to a target path inside the instance directory (or the ".minecraft" directory) (#1327)
- Also has a listener called "On File Selected" that triggers after a file got selected (#1328)
- Added "File Size" placeholder to get the size of a local file in bytes (#1244)
- Added "File MD5" placeholder to get the MD5 hash of a local file
- Added "Last Death Message" placeholder that returns the player's last death message if there is any (#1165)
- Added "Number Base Converter" placeholder to convert a number between bases (supports decimals) (#1291)
- Added "Uptime Duration" placeholder that returns the seconds or milliseconds that passed since the game got launched (#1306)
- Added "Get NBT Data (Server-Side)" placeholder that supports the full feature range of the "/data get" command (requires FancyMenu on the server) (#1344)
- Added "Print to Game Log" action to print text to the game's log for debugging (#1267)
- Added "Popup Mode" to Custom GUIs, so they look like they open on top of the previous screen by rendering the previous screen in the background
- Added "OLED Purple" FancyMenu theme (by Mowzy - Thanks so much for the great looking design!)
- Added "Nether" FancyMenu theme (by Mowzy - Thanks so much for the great looking design!)
- Added "Butter Dark" FancyMenu theme (by caelaThinx - Thanks so much for the great looking design!)
- Added "Butter OLED" FancyMenu theme (by caelaThinx - Thanks so much for the great looking design!)
- Added/Updated the following translations:
- German (de_de)
- Greek (el_gr)
- Mexican Spanish (es_mx)
- French (fr_fr)
- Japanese (ja_jp)
- Russian (ru_ru)
- Simplified Chinese (zh_cn)
- The action script editor got a complete overhaul
- Lots of visual QoL improvements to make editing scripts easier
- Added a minimap at the right side for easy navigation in longer scripts
- It now adds new actions, statements and loops below the selected entry
- Double-clicking the value of an action lets you edit the value without going into the full value editing screen
- Added folders that can hold actions and statement chains for easier organizing scripts (folders can be collapsed and renamed) (#1309)
- IF statement chains (with appended ELSE/ELSE-IF statements) and WHILE loops can now be collapsed
- The sidebar with buttons for adding actions, etc. got replaced with a right-click context menu that opens when you right-click the script body (or an entry in there)
- Added undo/redo support (CTRL + Z / CTRL + Y)
- Added lots of shortcuts for easier navigation in the script
- DEL : Quick-delete the selected entry
- ENTER : Starts the in-line editing of the selected entry (or opens the edit screen if there is not in-line edit for the selected entry)
- CTRL + C : Copy the selected action (only works with actions for now)
- CTRL + V : Paste the previously copied action
- CTRL + Z : One step back (undo)
- CTRL + Y : One step forward (redo)
- ARROW UP : Navigate one entry up from the currently selected one
- ARROW DOWN : Navigate one entry down from the currently selected one
- SHIFT + ARROW UP : Move the selected entry one up
- SHIFT + ARROW DOWN : Move the selected entry one down
- A : Quick-open the Action Chooser screen to add a new action
- Most screens with search bars now have their search bar auto-focused when opening the screen, so you can start typing right away (#1360)
- The "FancyMenu JavaScript API" for "Browser" elements now exposes FancyMenu's placeholder system, so you can basically use placeholders in the API now (#1343)
- Moved the "execute" functions of the "FancyMenu JavaScript API" to a dedicated "actions" namespace ("fancymenu.actions.execute...) (legacy scripts keep working like before)
- The text of the Death screen can now be customized (title, score, death reason)
- Backported the new FER-powered "Player Entity" element from MC 1.21.4+ to MC 1.21.1, so you can now use all the cool new features there!
- The old version of the element is a seperate one and keeps working for now, but it is marked as deprecated now and will be removed in the future
- Some placeholders now show an error when the user tries to use them in an asynchronous environment (like a Ticker element) when they can't safely get parsed asynchronously
- Some actions now show an error when the user tries to use them in an asynchronous environment (like a Ticker element) when they can't safely execute asynchronously
- Some requirements now show an error when the user tries to use them in an asynchronous environment (like a Ticker element) when they can't safely be used asynchronously
- Improved the "flow" of the action script building process
- Clicking "Edit" now only works when an action is selected that has a value
- Clicking "Edit" now goes straight to the Edit Action Value screen instead of opening the action type selection first
- The "Edit Value" and "Done" buttons in the action type selection have been merged into one button that shows either "Next Step" or "Done" depending on if the selected action type needs a value or not
- Double-clicking on an action type in the action selection list now works as a shortcut to clicking "Next Step"/"Done"
- It's now possible to double-click requirements in the requirement selection list of the Add/Edit Requirement Screen
- When the requirement has a value, double-clicking opend the Edit Value screen, if not, it works as a shortcut to pressing "Done"
- The description boxes of the selection screens for actions and requirements now have line wrapping for their description boxes so you don't need to scroll horizontally anymore
- You can now target the default ".minecraft" directory in the "File Text" placeholder by starting the target file path with ".minecraft/" (#1242)
- You can now target the default ".minecraft" directory in the "File/Folder Exists" requirement by starting the target file path with ".minecraft/" (#1242)
- It's now possible to use placeholders in the tint value of Image elements (#1271)
- The Markdown renderer now has basic character escaping support via leading backslash to make formatting-related characters render as literal characters, like underscores, ticks, brackets, etc. (#1319)
- This finally makes it possible to print player names with underscores (if you get the player name via placeholder, use the "Replace Text" placeholder to replace "_" with "\_")
- Updated the list of Patreon supporters in the Credits screen (Thanks so much to all the supporters and big sorry for updating the list so slowly, but I always forget that screen exists lmao)
- The former "Get NBT Data" placeholder got optimized for working entirely client-side and got renamed to "Get NBT Data (Client-Side)"
- Most of FancyMenu's UI tooltips (like in context menus, etc.) now have line wrapping, so tooltips don't get too long anymore in some cases (#1314)
- The "Round (Math)" placeholder now has a "decimal" option to define what decimal place the number should get rounded to (existing placeholders keep working like before) (#1308)
- The information displayed at element borders (X/Y position, size, etc.) should be a lot easier to read now
- Now uses FancyMenu's UI scale setting instead of a hardcoded scale (#1281)
- The text has a half transparent dark background now
- The "Manage Target Elements" screen of the "Element Animator" element got some QoL improvements
- It now lets you delete targets in the same screen without going to a second screen first
- It now has an option to remove targets by ID, so you can easily copy an element's ID in the editor and then remove it there without searching it in long target lists first
- Renamed the "Screen Identifier" placeholder to "Current Screen Identifier" to make it more clear what it does exactly
- The Widgets menu in the menu bar of the layout editor (menu bar -> UI -> Widgets) now supports toggling each widget instead of just enabling it on left-click
- The "Scrolling Enabled/Disabled" entry in the right-click context menu of the "Text" element got moved down to other scroll-related entries (#1312)
- Setting a tooltip to a "Button" or "Slider" element now adds the tooltip as real Vanilla tooltip to the widget, instead of using a custom tooltip system (#1204)
- This makes these tooltips compatible with everything that changes the tooltip style and tooltips now work when navigating in menus by using the arrow or Tab keys
- The list of actions in the action chooser screen is sorted alphabetically now
- The list of requirements in the requirement chooser screen is sorted alphabetically now
- The list of placeholders in the text editor screen is sorted alphabetically now
- The list of variables in the Manage Variables screen is sorted alphabetically now
- Fixed "World Save Data" placeholder being in the wrong category
- Fixed text in some of FancyMenu's screen's looks bad in light mode (text was hard to read because it didn't change to a dark color for contrast)
- Fixed missing localizations for some options of the new (1.21.4+) Player Entity element (#1276)
- Fixed Discord Join button in menu bar does not work (#1263)
- Fixed WHILE blocks cannot be moved via drag-and-drop or via buttons in the Edit Action Script screen
- I'm actually not sure if that is a bug that was public or if I just messed it up while working on the screen, but it's fixed now anyways lmao
- Fixed placeholder parser failing to replace placeholders in some edge case strings with lots of curly brackets outside placeholders (#1268)
- Fixed "Get NBT Data" placeholder returning nothing in many cases (#1273)
- Fixed "Browser" element consuming scroll events even when set to "interactable = false" (#1277)
- Fixed enchanted items missing from Inventory NBT when trying to get it via the "Get NBT Data" placeholder (#1260)
- Fixed Layers widget in Layout Editor screen sometimes not fully interactable (unable to click on visibility icon, unable to drag scroll grabber, etc.) (#1154)
- I'm actually not sure if I fully fixed that, since the bug(s) trigger randomly, so it's super hard to tell if it actually got fixed..
- Fixed MCEF Video menu backgrounds sometimes fail to load, causing the GUI to look glitchy (#1317, #1252)
- Fixed Audio elements don't stop playing when joining a world via quick-play (#1270)
- Fixed some elements stop working when hiding the menu bar via "Hide Menu Bar" option in context menu (#1236)
- Fixed game becoming unresponsive when trying to join a world or server while already in a world or on a server (#1332)
- Fixed after reloading the webpage in a "Browser" element, the FancyMenu JavaScript API injected into browsers stops working (#1339)
- Fixed "Is Any Effect Active" requirement not working (#1097)
- Fixed tooltips of "Button" and "Slider" elements don't parse "%n%" into real line breaks anymore (#1340)
- Fixed Vanilla tooltips sometimes render behind custom elements added via FancyMenu
- Fixed "Join Server" action not working in the Disconnected screen (#1341)
- Fixed "Back to Last Screen" action opens the layout editor when just edited the actions's parent screen in the layout editor
- Fixed cursor keeps the last type it had when closing a menu while hovering something in a Browser element that changes the cursor to a non-default one (#1342)
- Fixed "executeWithCallback()" function in "FancyMenu JavaScript API" invokes "onSuccess()" and "onFailure()" in weird ways instead of just invoking "onSuccess()" on actual success and "onFailure()" only on actual failure (#1345)
- Fixed the clear version of the Pause screen (F3 + ESC) showing customizations from the normal Pause screen (#1350)
- Fixed Slider elements, Dragger elements and other things related to mouse-dragging logic not working correctly in the Inventory screen (and other types of container screens) (#1364)
- Fixed APNG textures not restarting correctly when used in places that restart animated textures, like button backgrounds that restart on button hover
%changelog:end%
CHANGELOG | FANCYMENU v3.7.1
- Fixed some text input fields not working correctly in MC 1.21.4+ (#1254)
%changelog:end%
CHANGELOG | FANCYMENU v3.7.0
- Dropped support for MC 1.21.7
- This is probably the last build that will support the Forge mod loader in MC 1.21.1+, future builds will drop support for it (NeoForge is still supported - this is just for (Lex)Forge)
- Added back "Player Entity" element in MC 1.21.4+ (#1191)
- Now needs "FER" (Fancy Entity Renderer) for rendering the element (this is a new optional dependency - without this mod installed, the Player Entity element will not work)
- This new element is sadly not compatible with old ones, so you need to remake Player Entity elements in MC 1.21.4+ (sorry for that!)
- Now supports rotating the entity's body on the Z axis
- Now supports normal element resizing like other elements (no need to set a scale anymore)
- Now has a setting to set Vanilla's existing poses (like standing, crouching, swimming, sleeping, etc.)
- Now has a setting to enable "body movement", which basically plays idle animations like arms moving around, etc. when enabled (or other pose-related movement like the swimming animation)
- It's now possible to set armor and tools for the player to wear/hold (#1150)
- The new Player Entity element will get backported to older MC versions in the future when "FER" (Fancy Entity Renderer) gets released for these older versions
- Added "Is MCEF Loaded" requirement to check if the MCEF mod is loaded, which is needed for the Browser element and all video-related features
- Added "World Save Names" placeholder that returns a list of the names of all local world saves
- Added "World Save Data" placeholder that returns data for a target world name as single-line JSON (like difficulty, icon path, etc.)
- Added "Send HTTP Request" action that can send text data to a web target (like a REST API for example)
- Target URL, body and header keys/values have full placeholder support
- It is possible to write the response to a variable for later use
- It's now possible to restart animated textures used in "Image" menu backgrounds when a screen/menu gets opened (#1237)
- It's now possible to restart animated textures used in "Image" elements when a screen/menu gets opened (#1237)
- It is now possible to execute FancyMenu's actions from within the "Browser" element, which means you can now basically make web-based UIs (#1223)
- "Random Layout Groups" that contain only universal layouts now remember their picked layout across all screens the layout group gets applied to when the group is set to "Only First Time" (#722)
- Removed old unused "Preload Animations" option from FancyMenu's settings, since it was only for the old animation system that does not exist anymore
- Reverted the changes I did to the caching logic of placeholders and requirements, because they created more problems than they solved (#1215)
- I instead added settings to set individual, custom caching durations for requirements and placeholders (or disable caching by setting the duration to 0) (#1194, #1193)
- FancyMenu should now cause way less "MCEF was never initialized" errors in the log
- The file where data about normalized scroll screens is stored now gets saved in /config/fancymenu/ (it was previously saved in the MC instance root, which was a bug)
- The file where position offsets of Dragger elements is stored now gets saved in /fancymenu_data/ to not accidentally copy it to modpacks anymore
- The keyframe editor of the "Element Animator" element now shows the layout editor's grid and supports grid snapping (#1231)
- You can disable grid or grid snapping in the layout editor settings if you don't like it
- For devs: It is no longer possible to register actions that have the character ":" in its identifier (this will result in a crash now)
- Fixed complex custom logic using placeholders and requirments lags/flickers in some cases due to the caching of placeholders and requirements (#1213)
- Fixed negative widget coordinates produce errors in widget ID calculation (#1226, #1206)
- Fixed log error spam related to packets (#1217, #1163)
- Fixed "Last Server/World Name" placeholder ignores "full_world_path=false" when its return type is set to "both" (#1214)
- Fixed Forge builds crash on launch in some MC versions (#1229)
- Fixed mouse in Browser element stays pressed when releasing mouse outside the browser window
- Fixed keyboard input not working in Browser element (#1207)
%changelog:end%
CHANGELOG | FANCYMENU v3.6.4
- Dropped support for MC 1.21.6
- Fixed "Join Server" action causing users to be stuck on an empty screen without a way to close it in some situations (#1220, #1210, #1221)
- Big Thanks to GitHub user Raconteur32 for the research on the bug and providing a fix!
%changelog:end%
CHANGELOG | FANCYMENU v3.6.3
- Added support for Minecraft 1.21.7
%changelog:end%
CHANGELOG | FANCYMENU v3.6.2
- Fixed new loading requirement caching breaks layouts with duplicated requirement container IDs (#1195)
%changelog:end%
CHANGELOG | FANCYMENU v3.6.1
- Removed the leftover debug button ("Open Video Player") I accidentally left in the MC 1.20.1 build of the mod
%changelog:end%
CHANGELOG | FANCYMENU v3.6.0
- Dropped support for Minecraft 1.21.5
- Added "Checkbox" element as an easy way to toggle settings (#940)
- Executes its action script on click
- Similar to sliders, the current checkbox state can be accessed with $$value in the action script and loading requirements
- Added "Expose Scroll Area Content Of Current Screen" feature to extract buttons and sliders from scroll areas, so FancyMenu can see and customize them
- This is especially useful to make options screens (like the Video Settings screen) customizable
- This is experimental and will probably not work for all screens
- If scroll areas contain more than just buttons and sliders, the additional elements will get lost, because the scroll area gets removed from the screen (until you disable the feature for that screen)
- Added "Video [MCEF]" element to MC 1.20.1+ that plays a video file (powered by the MCEF mod, so you need that mod for it to work!) (#685)
- Added "Video [MCEF]" menu background type to MC 1.20.1+ that plays a video file (powered by the MCEF mod, so you need that mod for it to work!) (#685)
- Will continue playing across menus when used in a universal layout
- Added "Set Video Element Volume" action to MC 1.20.1+ to set the volume of a Video element
- Added "Toggle Video Element Paused State" action to MC 1.20.1+ to toggle the paused state of a Video element
- Added "Video Element Volume" placeholder to MC 1.20.1+ to get the volume of a Video element
- Added "Video Element Duration" placeholder to MC 1.20.1+ to get the duration of a Video element
- Added "Video Element Play Time" placeholder to MC 1.20.1+ to get the current play time (progress) of a Video element
- Added "Video Element Paused State" placeholder to MC 1.20.1+ to get the paused state (true/false) of a Video element
- Added "Set Video Background Volume" action to MC 1.20.1+ to set the volume of a Video menu background
- Added "Toggle Video Background Paused State" action to MC 1.20.1+ to toggle the paused state of a Video menu background
- Added "Video Background Volume" placeholder to MC 1.20.1+ to get the volume of a Video menu background
- Added "Video Background Duration" placeholder to MC 1.20.1+ to get the duration of a Video menu background
- Added "Video Background Play Time" placeholder to MC 1.20.1+ to get the current play time (progress) of a Video menu background
- Added "Video Background Paused State" placeholder to MC 1.20.1+ to get the paused state (true/false) of a Video menu background
- Added "Tooltip" element to render a tooltip at a specific position or the mouse position (#1135)
- Supports custom background textures with nine-slicing
- Full Markdown support, similar to Text elements
- Added "Text Character Count" placeholder that returns the character count of the given text (#1160)
- Added "Text Width" placeholder that returns the width in pixels of the given text (#1159)
- Added "Uppercase Text" placeholder that returns its input text as all-uppercase
- Added "Lowercase Text" placeholder that returns its input text as all-lowercase
- Added "File Text" placeholder that returns text lines of the given file or URL (returns either all lines or just the last X lines) (#1101)
- Added "Clipboard Content" placeholder that returns the current text content stored in the system's clipboard (#1118)
- Added new value "full_world_path" to the "Last World/Server" placeholder to control if the placeholder should return full world paths or only the world name (does not work for servers) (#1151)
- Old placeholders should continue working, but if you want to use the new value, you should use the Placeholder menu to paste the new version of the placeholder to the text area
- Added "World Players List" placeholder that returns a list of all players currently in the world
- Added "Scoreboard Player Team" placeholder that returns the current team of the given player (#1149, #452)
- Added "Scoreboard Score" placeholder that returns the score value of a player for a specific objective (#452)
- Added "Scoreboard Objectives List" placeholder that returns a list of all objectives in the scoreboard (#452)
- Added "Scoreboard Tracked Players" placeholder that returns a list of all players tracked by the scoreboard (#452)
- Added "Scoreboard Display Slot" placeholder that returns the objective displayed in a specific slot (sidebar, list, etc.) (#452)
- Added "Scoreboard Has Score" placeholder that checks if a player has a score for a specific objective (true/false) (#452)
- Added "Scoreboard Objective Display Name" placeholder that returns the display name of an objective (supports JSON format) (#452)
- Added "Scoreboard Objective Criteria" placeholder that returns the criteria type of an objective (dummy, trigger, etc.) (#452)
- Added "Scoreboard Objective Render Type" placeholder that returns how an objective is rendered (integer or hearts) (#452)
- Added "Scoreboard Player Scores List" placeholder that returns a formatted list of all scores for a specific player (#452)
- Added "Scoreboard Objective Count" placeholder that returns the total number of objectives in the scoreboard (#452)
- Added "Replace Text" placeholder that replaces text in a string using literal text or regular expressions (regex)
- Added "Get NBT Data" placeholder to get NBT data from entities and blocks (similar to '/data get' command) (will probably replace the now deprecated placeholder in SpiffyHUD)
- Added "Player Has Tag" placeholder that returns true if a specific player has a specific tag (#1133)
- Added "Player Tags List" placeholder that returns all tags a specific player has
- Added full support for tables to the Markdown parser
- The "Browser" element now works in Minecraft 1.20.1
- The parallax intensity value of menu backgrounds now supports placeholders (#1164)
- The parallax intensity value of elements now supports placeholders (#1164)
- The "Text" element now converts newline codes written as normal text ("\n") to real newline codes and displays text containing these as multiline text
- Example: "This is text.\nSecond line." will get shown as two lines in the "Text" element with "This is text." on the first and "Second line." on the second line
- Works for placeholder replacements that contain "\n"
- And before that one guy pulls the "aKsHuaLLy" card again: I know that "\n" written as "normal text" is just a frickin escaped newline, but normal people don't know what a frickin escaped newline is
- The "path" value of the "Random Text" placeholder got renamed to "source" (old placeholders still work and see the old "path" value as "source" now)
- The "Random Text" placeholder now accepts URLs as "source" value to get text content from remote/web files (#823)
- The "Random Text" placeholder now accepts direct plain text as "source" value to get text lines (separate lines with "\n" for plain text)
- The "JSON Parser" placeholder now accepts plain JSON text content as source
- Improved the placeholder parsing logic to better parse multi-line placeholders and weirdly formatted placeholders in general (#1132)
- Loading requirement containers now cache their "requirements met" value for 150 milliseconds for performance optimization reasons
- I don't think this will break any logic stuff in layouts, but if you notice something, tell me please! Thank you!
- Placeholder replacements now get cached for 150 milliseconds (was 30 milliseconds before) for performance optimization reasons
- I don't think this will break any logic stuff in layouts, but if you notice something, tell me please! Thank you!
- Made it more clear that the source file of the "Random Text" placeholder needs to be in FancyMenu's assets folder (#1127, #1128)
- The up/down arrows when a context menu is scrollable are now clickable to scroll up and down (alternative way to normal scrolling)
- Fixed inactive Vanilla buttons become active if customizations are enabled for the screen they're part of (#1161)
- Fixed placeholders not working in the URL value of the "Browser" element (#1141)
- Fixed game crashing when setting nine-slicing borders of buttons/sliders to half the texture's size or larger (#1134)
- Fixed game crashing when executing the "Join Server" action via a "Ticker" element (another attempt at fixing this) (#1157)
- Fixed open/close screen audio not working when opening/closing the screen for the first time (#1148)
- Fixed elements snapping to grid when multiple elements are selected in the editor (#1158)
- Fixed preview element in keyframe editor screen (of the Element Animator) snapping to grid like a normal editor element instead of ignoring the grid (#1172)
- Fixed line wrapping in "Text" elements sometimes not working when the text contains hyperlinks with long URLs (#1166)
- Fixed placeholder color formatting in text editor not working for placeholders without values (#1131)
- Fixed element internally gets moved further out of screen when dragging it and "Stay on Screen" is enabled and the element has reached a screen edge (#860)
- Disabled customization for Cobblemon screens, because they were causing problems (#1116)
- Disabled customization for "Applied Energistics 2" & "Applied Energistics 2 Wireless Terminals" screens as a potential fix for crashes some users experienced (#1092)
- Disabled customization for "Xareo's World Map" and "Xaero's Mini Map" to fix crashes related to them (#1063)
- It should now be at least more difficult to crash the game when anchoring elements to itself, child elements or similar (#1142)
- This anchor-ception shit is super difficult, so it will probably still crash in some cases, but at least less often lmao
%changelog:end%
CHANGELOG | FANCYMENU v3.5.3
- Added support for MC 1.21.6
%changelog:end%
CHANGELOG | FANCYMENU v3.5.2
- Fixed a bug in 1.18.2, 1.19.2 and 1.20.1 that made custom menu backgrounds in the Title screen sometimes look washed out (foggy) because of a gradient that got rendered over it (#1139)
%changelog:end%
CHANGELOG | FANCYMENU v3.5.1
- Ported mod to MC 1.21.5
- The old "Custom Localizations" system got removed, so it's now not possible anymore to load localizations using FancyMenu's own localization file format
- Loading Vanilla Minecraft localization files via resource pack still works like before, so this is now the new default to load custom localizations
%changelog:end%
CHANGELOG | FANCYMENU v3.5.0 - The "Quality of Life" Update
- Added "Last World or Server" placeholder that returns the last world/server or an empty value if no last world/server was set (#1091)
- Added a "Template Mode" for buttons, so the button will apply many of its settings like textures and sounds to all other buttons in the screen (#1009, #672)
- Added "Is Internet Connection Available" loading requirement to check if there's a working internet connection available
- Added "Back to Last Screen" action to open the screen that was open before the current one (#511)
- Added more grid sizes for the editor (50, 60, 70, 80, 90, 100)
- Added grid snapping feature to the layout editor (#780)
- Snapping precision is configurable
- Can be toggled off
- Added a search bar to the actions browser to search for actions by their names and descriptions (Add/Edit Action Screen)
- Added a search bar to the requirements browser to search for requirements by their names and descriptions (Add/Edit Requirement Screen)
- Added a search bar to the placeholders browser in the text editor to search for placeholders by their names, descriptions and identifiers
- Added a search bar to the variables browser in the Manage Variables screen to search for variables by their names and values (#743)
- It is now possible to move layers (elements) in the Layer widget by dragging them (with multi-selection support) (#1112)
- The Layers widget lets you make layers (elements) invisible in the editor now without actually deleting them (they will be visible outside the editor) (#1112)
- The Manage Variables screen now shows the variable's value after each variable name
- Placeholders can now be edited with multi-line support in the text editor (this feature is experimental, so it could break stuff in some cases)
- The color formatting of placeholders in the text editor got reworked to be more useful (they now get formatted similar to other text editors format JSON-like text)
- Updated names and descriptions of all placeholders, actions and requirements related to FM's variables to be more clear
- The placeholder browser in the text editor now dynamically changes its size based on the window size to be able to better see long placeholder names
- There's now an unsaved changes indicator in the layout editor (#658)
- Context menus are now scrollable when they are too long for the window size (#1110)
- You can now set a hover sound for Custom Slider elements (was only possible for Custom Button elements and Vanilla sliders/buttons before) (#1015)
- Replaced the old hardcoded dummy Title screen elements (logo, splash, branding, realms button icons) with actual widgets, which means they can be moved now and basically work like Vanilla buttons (#656)
- Improved the error handling of the "Join Server" action (#1055)
- It will now display a warning when trying to execute the "Open Screen or Custom GUI" action asynchronously in a Ticker element (it will not execute the action anymore, because that breaks the game)
- Removed the old and deprecated "Run Button Script" action, since it got replaced by the action script system long time ago
- Removed the old and long deprecated Text element from FancyMenu v2, because it got replaced by the new Text element in FancyMenu v3
- Removed the old and long deprecated Slider element from FancyMenu v2, because it got replaced by the new Slider element in FancyMenu v3
- Internally there were still some leftovers from the old animation system for backwards compatibility with other mods, which got REMOVED now, so some mods could break
- Fixed raw text components fail to get parsed when they don't start with " { " (#1089)
- Fixed FancyMenu creating directories in "/" when loaded server-side (hopefully fixed, not 100% sure if that fix works every time) (#1056)
- Fixed custom slider textures broken in MC 1.21.4 (#1106)
- Fixed description of "Mouse Clicked" requirement showing as one line instead of multiple lines
- Fixed undo/redo in the text editor not working when adding placeholders via the placeholder browser (#1109)
- Fixed "Format Error" in description of "Current Audio Track" placeholder
- Fixed unable to undo/redo moving an element in the editor when it got moved only 1 pixel
- Fixed up/down arrows of layers in the Layer widget not correctly showing as normal/greyed out when a layer is at the very top or very bottom of the list
- Fixed incompatibility with Valkyrien Skies 2 (#1119, #957)
- Hopefully fixed JSON placeholder sometimes not showing its replacement anymore after reloading FancyMenu (#1100)
%changelog:end%
CHANGELOG | FANCYMENU v3.4.6
- Added option to the Element Animator's Keyframe Editor screen to manually set the timestamp of the selected keyframe (#1081)
- It is now possible to use the arrow keys to move the preview in the Keyframe Editor screen of the Element Animator (#1082)
- Improved the smooth filling logic of Progress Bar elements to make them not jump too much when correcting visual bugs
- Fixed button in Keyframe Editor screen of Element Animator going out of screen when using a GUI scale that's too big for the screen (#1080)
- Fixed Progress Bar elements refilling themselves every time the user reloads the screen or resizes the window (#1078)
- Fixed Element Animator not stopping to animate elements when the Animator gets hidden via requirements, etc. (#1077)
- Fixed game crashing when deleting a keyframe in the Keyframe Editor screen of the Element Animator (#1076)
%changelog:end%
CHANGELOG | FANCYMENU v3.4.5
- Changed FancyMenu's license to DSMSLv3 (nothing will really change, it's just an updated version that's a bit clearer about forking the code and stuff)
- Added option to disable the smooth filling animation of Progress Bar elements (#1073)
- Added "Current Player Oxygen Level" placeholder (for Spiffy) (#1069)
- Added "Max Player Oxygen Level" placeholder (for Spiffy) (#1069)
- Added "Current Player Oxygen Level (Percent)" placeholder (for Spiffy) (#1069)
- Added "/fmlayout <layout_name> <enabled [true|false]> <target_players>" command to remotely enable/disable layouts for players (#1068)
- Added German localization
- Added Russian localization (Thanks to xllifi!)
- Added Japanese localization
- Updated Simplified Chinese localization (Thanks to Henry!)
- Renamed placeholders, actions and requirements referring to the "active hotbar slot" to say "selected hotbar slot" instead (#1067)
- Fixed "Modified JAR" warning rendering over Forge/NeoForge "Failed to Load" screen (#1074)
- Fixed Progress Bar element never visually reaching 100% (#1071)
- Fixed some cases where the dragged element would change its position when changing its anchor by hovering an anchor point or element
- Fixed server crashing on launch when FancyMenu is installed (#1065)
- Fixed entry spam in audio_element_controller_metas.json file (#1066)
- Fixed tooltips of custom buttons not having a background until a Vanilla tooltip gets rendered (probably only happened in MC 1.21.1)
%changelog:end%
CHANGELOG | FANCYMENU v3.4.4
- Added "In Memory Of UwUCookies" to the credits
- Fixed visual glitch in element fading (#1050)
%changelog:end%
CHANGELOG | FANCYMENU v3.4.3
- "Share to Lan" and "Report Player" buttons in the Pause screen now have the same widget identifier to fix button customizations resetting when one of the buttons replaces the other (#1047)
- You may need to make a new layout for this fix to work
- "Disconnect" and "Back to Main Menu" buttons in the Pause screen now have the same widget identifier to fix button customizations resetting when one of the buttons replaces the other (#1047)
- You may need to make a new layout for this fix to work
- Improved element fading speed logic to better handle high speed values
- Temporarily removed the "Browser" element from MC 1.20.1 because it crashed the game (will try to get it to work in 1.20.1, but not sure if I will succeed)
- Fixed screen flickering black for a moment when opening the Inventory screen (#1045)
- Fixed world rendering breaks when opening the Inventory screen while having Distant Horizons installed (#1042)
- Fixed element fading speed is calculated the wrong way around (#1035)
- Fixed context menu not opening when right-clicking a Vanilla widget outside the editor (when the debug overlay is enabled) (#1036)
%changelog:end%
CHANGELOG | FANCYMENU v3.4.2
- Fixed FM crashing when using latest NeoForge 1.21.4 version
%changelog:end%
CHANGELOG | FANCYMENU v3.4.1
- Re-compiled some Fabric builds with older Loom version for in-dev compatibility reasons
%changelog:end%
CHANGELOG | FANCYMENU v3.4.0
- This update is available for MC 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4 (all other versions get dropped)
- Added "Element Animator" element that allows you to animate the position and size of other elements by using keyframes (#412)
- Added "Is Key Pressed" requirement to check for keyboard key presses (#966)
- Added "Mouse Clicked" requirement to check if left/right mouse button is clicked
- Added "Only Once Per Session" requirement that returns true only once per game session (#1024)
- Added "Split Text" placeholder to split text at a specific character or regex (#1011)
- Added "Trim Text" placeholder that removes all leading and trailing spaces of the given text, but not spaces within the text (#989)
- Added "Crop Text" placeholder to remove a specific amount of characters from the beginning and end of the given text (#987)
- Added "Ceiling (Math)" placeholder that returns the smallest integer greater than or equal to the given number (#1014)
- Added "Floor (Math)" placeholder that returns the largest integer less than or equal to the given number (#1014)
- Added "Round (Math)" placeholder that returns the closest integer to the given number (#1014)
- Added "Sign (Math)" placeholder that returns 1 if the number is positive, -1 if the number is negative, 0 if the number is zero (#1014)
- Added "Switch Case" placeholder that matches a value against multiple cases and returns the corresponding result (#1014)
- Added "Current Audio Track" placeholder to get the current track played by an Audio element (#758)
- Has a track name mapping feature that allows you to return fancy display names for track file names (like "audio.ogg" becomes "Cool Audio" when returned by the placeholder)
- Added "Audio Duration" placeholder to get the total duration of the current track of an Audio element
- Added "Audio Play Time" placeholder to get the current play time of the current track of an Audio element
- Has an option to return process percentage (0-100) instead of play time (00:00)
- Added "Audio Playing State" placeholder to get the playing state of an Audio element (returns "true" when playing, "false" otherwise)
- Added "Next Track" action to go to the next track of an Audio element
- Added "Previous Track" action to go to the previous track of an Audio element
- Added "Toggle Play/Pause" action to toggle the playing state of an Audio element
- Added "Sticky Anchor" mode for elements that makes them always keep the same distance to their anchor, no matter the element's size
- Added "Auto Sizing" mode for elements that makes them adjust their size automatically when the screen size changes (#838)
- Added "Plain Text" Markdown formatting code that ignores all formatting codes inside (similar to code block, but without the visible block) (#983)
- Added "Browser" element to _browse the web_ (for MC 1.20.1+) (#850)
- Added "Color" background type, which is basically the one from Drippy, but ported to the base mod (#985)
- Added "Item" element to render items (sword, potato, etc.) in menus (#521)
- Added a parallax effect feature to the "Image" menu background type (supports inverted movement and customizable intensity) (#735)
- Added a parallax effect feature to all elements (supports inverted movement and customizable intensity)
- Added WHILE loop feature to the action script system (#1023)
- Added "Load Once Per Session" mode for all element types (#1019)
- Enabling this will make the element only load once per game session (game restart = new game session)
- The element stays active/visible until the user opens a new screen
- Added ability to set the weight of audio tracks in the Audio element to control how likely each track is to be selected in shuffle mode (#1020)
- Renamed the "Random Line of TXT File" placeholder to "Random Text"
- Improved the UI "Auto" scale to choose a more fitting UI scale for 1080p, 2K and 4K monitors (scales FancyMenu's menu bar and context menus)
- The UI will now show at scale 2 when the window width is bigger than 3000 pixels OR the height is bigger than 1700 pixels
- The changes make FM's UI show at scale 1 for 1080p and 2K monitors and at scale 2 for 4K monitors
- You can now recolor all element types that are only visible in the editor as colored rectangle (Ticker, Audio, Dragger, etc.) (#902)
- It is now possible to set an element's in-editor display name in its right-click menu (was only possible via the layer widget before) (#902)
- Markdown bullet point lists now support up to 10 levels of indentation
- You can now execute action scripts when opening and closing a screen (#1018)
- Menu backgrounds are stackable now, which means if you have multiple layouts with a background defined for the same menu, all backgrounds will get rendered now
- Combining this with the new Parallax feature for Image backgrounds makes it possible to render layered parallax backgrounds
- Elements will now always stay at the same position when their anchor point gets changed (this was previously only the case when changing their anchor via hovering)
- The Title screen Copyright button's opacity is now capped at 0.4, so people can't make it invisible via the opacity setting anymore (#984)
- It is now possible to set the tint of "Image" elements (#873)
- FancyMenu does not cancel the call to super.render() in the TitleScreen anymore to make mods who inject into this method work again (#857)
- For devs: Added method "afterConstruction()" to the "AbstractElement" class, which gets called after the element's builder has finished constructing the instance
- Improved the logic behind layout indexes, so ordering happens earlier to catch more edge cases where it could apply parts of layouts in the wrong order
- Fixed being able to delete the Copyright button in the Title screen (#997)
- Fixed conflict with "Immersive Engineering" by disabling FancyMenu in all screens related to this mod (#965)
- Fixed "Smaller Than" being forcibly replaced with "Smaller Than or Equals" in the "Is Number" requirement (#954)
- Fixed typo in tooltip of Layout Index (#968)
- Fixed FM's menu bar not being clickable in the Create World screen until resizing the window in some cases (#1004)
- Fixed game crashing when resetting the "base color" of a Text element (#1003)
- Fixed text input field in Resource Chooser screen breaks when pressing CTRL + BACKSPACE (#1006)
- Fixed nine-slicing being broken in MC 1.21.4 (#1000)
- Fixed incompatibility with "Exit Confirmation" mod (#972)
- Fixed incompatibility with "DungeonZ" mod (#755)
- Fixed incompatibility with "RPG HUD" mod (#739)
- Fixed "Back to Server List" button in Disconnected screen resetting itself in some cases (#988)
- The button now has a custom identifier
- You will probably need to make a new layout for that fix to work (old layouts will ignore the fix)
- Fixed text widgets in Disconnected screen changing their identifier (#949)
- The widgets now have custom identifiers
- You will probably need to make a new layout for that fix to work (old layouts will ignore the fix)
- Fixed Appearance Delay ignoring decimal values (#1010)
- Fixed background blur not working for some background types in MC 1.21.4
- Fixed button click sounds being cut off (#671)
- Fixed hover label not working for Vanilla buttons when a normal label is also set (#945)
- Fixed menu bar not clickable in Creative Inventory screen until the user resizes the window (#978)
- Fixed hidden/customized buttons in the Pause screen sometimes reset itself (#802)
- The widgets now have custom identifiers
- You will probably need to make a new layout for that fix to work (old layouts will ignore the fix)
- Fixed interacting with a slider and then interacting with FM's menu bar makes the menu bar control the slider (#1007)
- Fixed "Audio Element Volume" placeholder returning "0.0" when the volume was never updated using the "Set Audio Element Volume" action
- Fixed scaling a Text element breaks positioning of Markdown bullet points (bullet point list) (#905)
- Fixed Markdown text spacing wrong when the start of the line was shifted to the right by a bullet point or quote block and the text scale was bigger or smaller than 1.0 (#906)
- Fixed custom menu backgrounds not rendering in Custom GUIs in MC 1.18.2 and 1.19.2 (#1027)
- Fixed some screens not showing custom backgrounds (like the "Receiving Level Screen" and "Dirt Message Screen") in MC 1.18.2 and 1.19.2 (#896)
- Fixed Death screen not showing custom backgrounds in MC 1.18.2, 1.19.2 and 1.20.1 (#1026)
%changelog:end%
CHANGELOG | FANCYMENU v3.3.5
- Fixed opacity not working for the Image menu background type in MC 1.21.4
%changelog:end%
CHANGELOG | FANCYMENU v3.3.4
- Fixed broken texture opacity in various places
%changelog:end%
CHANGELOG | FANCYMENU v3.3.3
- Added support for MC 1.21.4
- Temporarily removed the "Player Entity" element in MC 1.21.4+, because I'm waiting for an API to make rendering it easier
- These elements will show as red boxes for now in the editor and will be invisible outside the editor
%changelog:end%
CHANGELOG | FANCYMENU v3.3.2
- Renamed config option "welcome_screen_shown" to "show_welcome_screen"
- The value now needs to be FALSE to NOT SHOW the Welcome screen
- This RESETS the config option to control the Welcome screen, so it will now show again when opening the game
- Sorry for that, but I had enough of people asking why the screen shows up every launch or tell me they can't disable it..
- Added a tooltip to the "Open Documentation" button in the Welcome screen that tells the user clicking this button will permanently hide the screen
%changelog:end%
CHANGELOG | FANCYMENU v3.3.1
- Fixed game crashing on start when using Forge for MC 1.19.2 and 1.20.1
%changelog:end%
CHANGELOG | FANCYMENU v3.3.0
IMPORTANT: I developed this update over a long time, so it's possible that I forgot about some changes and didn't mention them here. Sorry for that.
- Removed FancyMenu's deprecated (old) animation format MENU BACKGROUND (use FMA files instead and set them as normal Image background)
- Removed FancyMenu's deprecated (old) animation format ELEMENT (use FMA files instead and set them as normal Image element)
- Added tons of new placeholders related to the current world/server the player is in (too many to list all of them, just go exploring :p)
- Added tons of new requirements related to the current world/server the player is in (too many to list all of them, just go exploring :p)
- Added "Set Audio Element Volume" action to set the volume of Audio elements
- Added "Audio Element Volume" placeholder to get the volume of an Audio element
- Added Fade-Out feature to elements (can be used to fade-out elements when their loading requirements hide them)
- Fade-In will now trigger again when the element gets visible again because of its loading requirements
- Fading and Appearance Delay are now separated from each other, so you don't need to enable appearance delays anymore to use fading
- You can set the base opacity of elements now (in other words, you can make elements translucent now)
- You can rename layouts now
- You can control the active state of buttons and sliders now, which means you can disable them now
- You can use placeholders as color value for the Rectangle Shape element now
- Added a Welcome screen that tells the user to read the docs (only opens the very first time and will not show for modpack users, as long as the config file gets shipped)
- Added "Dragger" element that can be dragged by users to make parts of your layouts movable
- Removed hardcoded incompatibility with RRLS (Remove Reloading Screen) in MC 1.20.1 (#858)
- Fixed a bug that made the last hovered hyperlink of a Text element stay hovered when it was hovered while the element got hidden by its loading requirements
- Fixed Progress Bar elements not showing alpha of HEX color (#890)
- Fixed Debug Overlay not interactable after enabling it until changing or resizing the screen
- Fixed issue with alpha handling of ImageButtons that caused issues with some other mods (#936)
- Fixed panoramas rendering behind list backgrounds in scrollable screens (#908)
- Fixed FMA file used as button texture not restarting on button hover in some cases (#878)
- Fixed "Is Number" requirement showing "Bigger Than or Equals" as mode when "Smaller Than or Equals" is selected (#866)
- Fixed being able to anchor a parent element to one of its children if parent has at least 2 children (#872)
- Fixed panoramas and slideshows fail to get loaded when the properties file has special space chars before lines (#944)
- Fixed unable to open CreateWorldScreen via command or action in MC 1.21.1 (#888)
- Fixed game sometimes crashing when customizing certain screens like the PauseScreen (#907)
- Fixed game crashing when transfering to another server in MC 1.21.1 (#929)
%changelog:end%
CHANGELOG | FANCYMENU v3.2.6
- Dropped support for MC 1.21.0
- Fixed crash on latest Forge 1.21.1 build
- Fixed crash on latest NeoForge 1.21.1 build
%changelog:end%
CHANGELOG | FANCYMENU v3.2.5
- Ported to Minecraft 1.21.0
- Completely removed FancyMenu's old deprecated animation format (menu background, element)
- FMA files are the new recommended way to implement animated textures
- It stopped working anyways, because Load My Resources will not get any more updates
%changelog:end%
CHANGELOG | FANCYMENU v3.2.4
- Ported to Forge 1.20.6
%changelog:end%
CHANGELOG | FANCYMENU v3.2.3
- Added option to apply Vanilla MC's background blur to custom backgrounds in MC 1.20.6
- The layout editor now opens the target screen again when closing the editor in MC 1.20.6
- Minimized the changes the layout editor does to Vanilla widgets, so they are less likely to be broken when leaving the editor
- Fixed game crash when opening the Create World screen while customizations are enabled for that screen in MC 1.20.6
- Fixed customized Vanilla widgets show as uncustomized in the editor despite having a layout open that customizes said widgets in MC 1.20+ (maybe 1.19+)
- Fixed some of FancyMenu's screens crashing the game (like the Choose Resource screen) in MC 1.20.6
- Fixed Vanilla menu panorama rendering above FancyMenu's panorama backgrounds when the Vanilla one is changed with a resource pack
- Fixed missing localization for description of "Set Player Name" option of Player Entity elements
%changelog:end%
CHANGELOG | FANCYMENU v3.2.2
- Backported FM v3.2.X to MC 1.20.4 (1.20.4 will probably get dropped again after this update)
- Fixed Game Intro only accepting APNG files (now also accepts GIF and FMA files)
%changelog:end%
CHANGELOG | FANCYMENU v3.2.1
- Fixed custom backgrounds rendering after Vanilla widgets in the Title screen in MC 1.20.6
%changelog:end%
CHANGELOG | FANCYMENU v3.2.0
- Added support for FMA (FancyMenu Animation) files, which is a new animated texture format created for FancyMenu
- This format is very similar to FM's old animation format, but it's now a single file and has very similar features as GIF and APNG images
- FMA files have no audio support, because it's an animated texture format (there will be video support for that in the future)
- There's now a "modpack mode" that disables all overlays and hotkeys to toggle overlays
- You need to manually enable this mode by setting "modpack_mode" to "true" in "/config/fancymenu/options.txt"
- Player Entity elements fail to get their skin less often now (added fallback API (Minetools) for when Mojang's API is _not in the right mood_)
- For developers:
- It should now be possible to access all of FancyMenu's registries in the mod init phase (Fabric, Forge & NeoForge) without any problems
- It's now possible to control if elements, placeholders, loading requirements, actions and menu backgrounds should show up in their "Add" menus
- This for example makes it possible to allow elements/placeholders/requirements/actions/backgrounds only for specific types of screens
- You can now control if universal layouts should get applied to specific types of screens
- Visibility and active state suppliers for ContextMenus are now stackable
- You can now control the visibility of FancyMenu's customization overlay (without, for example, completely blacklisting a screen)
- Fixed Ticker element not saving its tick delay value
%changelog:end%
CHANGELOG | FANCYMENU v3.1.7
- Dropped versions (1.20.2, 1.20.4 and 1.20.5) will get this update, but they remain "dropped" and will not get other feature updates in the future
- Moved the "Copy File/Folder" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
- Moved the "Delete File/Folder" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
- Moved the "Download File" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
- Moved the "Move File/Folder" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
- Moved the "Open File/Folder" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
- Moved the "Rename File/Folder" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
- Moved the "Unpack ZIP File" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
- Moved the "Execute CMD/Terminal Command" action to a separate optional addon ("FancyMenu System Interactions Addon") to make it more obvious it is used (action is opt-in now)
%changelog:end%
CHANGELOG | FANCYMENU v3.1.6 for MC 1.20.6
There was no update needed for 1.20.6, so I just added the MC 1.20.6 tag to the existing builds on CurseForge and Modrinth.
I will also instantly drop support for MC 1.20.5.
%changelog:end%
CHANGELOG | FANCYMENU v3.1.6
- Dropped support for MC 1.20.4
- Ported to MC 1.20.5
- Removed option to toggle the header/footer shadow/separator of scroll lists in MC 1.20.5+
- Removed option of Custom GUIs to toggle the dark transparent background overlay that used to get rendered when in a world, because it no longer exists in MC
- MC 1.20.5+ renders a dark background overlay in scrollable screens and FancyMenu respects this overlay and renders custom backgrounds BEHIND this overlay
- This avoids difficult to read scroll list items
- This overlay can be removed with a resource pack ("textures/gui/menu_list_background.png" and "textures/gui/inworld_menu_list_background.png")
- I noticed a strange bug (?) that bricks the target screen when leaving the editor, so you get redirected to the Title screen for now, because that seems to fix it
- Added an option to MC 1.20.5+ to render the dark screen background overlay rendered by Vanilla Minecraft on custom screen backgrounds (disabled by default)
%changelog:end%
CHANGELOG | FANCYMENU v3.1.5
- Forge should now show a detailed error when starting the game with the unsupported video and/or audio extensions installed
%changelog:end%
CHANGELOG | FANCYMENU v3.1.4
- Fixed GIF images still ignoring their loop count (please work, I beg you)
%changelog:end%
CHANGELOG | FANCYMENU v3.1.3
- Added "Music Controller" element to control Vanilla music that plays in menus
- Because it's an element, it works per-screen, not only globally like before
- Includes the world music that keeps playing in menus that don't pause the game
- Old global option in settings should still work normal and will not get removed
- The mod should now respect the loop count of GIF images (like it already did with APNGs)
- It is now possible to randomize slideshows
- Removed "Loop Animated Textures" option for Button and Slider element background textures
- This feature was a forgotten v2-relic that did not work anymore in v3
- The mod now respects loop counts of both APNG and GIF textures, so you can simply "disable" looping by making a non-looping GIF/APNG
- Most of FancyMenu's screens should now adjust their GUI scale if buttons get out of screen because the window is too small or the GUI scale too big
- All of FancyMenu's commands are now normal server-side commands (like every Vanilla command)
- This means that you now need FancyMenu on the server if you plan to use FM commands in multiplayer
- Makes commands way more stable and fixes potential glitches and bugs caused by FM registering the same command twice (on client and server)
- "Remove Reloading Screen" is now listed as incompatible for older Minecraft versions (before 1.20.4)
- The game will not start if RRLS is installed while having FancyMenu installed in MC versions before 1.20.4
- Both mods seem to work fine together in 1.20.4+, so RRLS is not listed as incompatible there
- Fixed all custom window icon files showing as set, but still unable to enable custom window icon toggle
- Fixed skin and cape textures of Player Entity elements not updating correctly (showing old, outdated textures) (thanks adamk33n3r!)
- Fixed missing feedback when the mod failed to open a screen via the "Open Screen" action
- Fixed missing feedback when the mod failed to mimic a button via the "Mimic Button" action
- Fixed "Is Singleplayer" loading requirement returning true when Singleplayer world is "opened to LAN"
- Fixed "/fmvariable" command not working when executed via "/execute as" Vanilla command
- Fixed Markdown quote text formatting never ends quote
- Fixed unable to connect to servers without FancyMenu installed on NeoForge
- Fixed "/openguiscreen" command gets sent to chat instead of executing it as command in MC 1.18.2
%changelog:end%
CHANGELOG | FANCYMENU v3.1.2
- Added Chinese (Simplified) translation by BredyAK, ddaodan, nageih
- Fixed "Other Element" anchor point, placeholders and loading requirements related to other element's position/size/hover state not working in Custom GUIs
%changelog:end%
CHANGELOG | FANCYMENU v3.1.1 NeoForge
- Ported to NeoForge 1.20.4
%changelog:end%
CHANGELOG | FANCYMENU v3.1.1
- Lowered required Fabric API version of the Fabric 1.20.1 version to v0.88.1
- The Forge version now soft-crashes on load when the video or audio extension is loaded and shows an error dialog that tells the user to remove the extension(s)
%changelog:end%
CHANGELOG | FANCYMENU v3.1.0
- This update marks the end of FancyMenu v3's Public Beta phase! FMv3 is now considered STABLE!
- Lowered minimum required MC 1.20.1 Forge version to 47.1.47
- The "Custom Screen Title" entry in the editor is now disabled for Custom GUIs, since it doesn't work for them anyways
- The "Header/Footer Customizations" entry in the editor is now disabled for Custom GUIs, since Custom GUIs don't have headers/footers
- Reduced amount of sub-menus to set a button/slider background/handle texture
- Improved the rotation logic of cubic panoramas (they should not randomly speed up anymore, but you maybe need to adjust your panorama's speed if it is too slow/fast now)
- It is now possible to pre-load cubic panoramas and slideshows via the resource pre-loader (Customization -> Pre-Load Resources)
- Local sources in the Manage Resource Pre-Load screen now show as short paths (not absolute paths anymore)
- You can now disable the focusability/navigability of custom buttons, custom sliders and custom input fields (navigable = gets focused when using the Tab/Arrow key navigation in screens)
- Added French localization by Mozork01
- Added "start_rotation" property to cubic panoramas to set the rotation angle they should start at (value between 0 and 360)
- Added "Repeat Texture" mode to Image element that lets you render tileable (seamless) images as repeating texture (like the default Minecraft dirt menu background)
- Added "Repeat Texture" mode to Image menu background that lets you render tileable (seamless) images as repeating texture (like the default Minecraft dirt menu background)
- Added "Repeat Texture" mode to menu header/footer that lets you render tileable (seamless) header/footer textures as repeating texture (like the default Minecraft dirt menu background)
- Added "Nine-Slicing" mode to Image element
- Added "Nine-Slicing" mode to Vanilla Button/Slider, Custom Button and Custom Slider elements
- Excluded "Skin Swapper" mod screens from customization
- Fixed [<=1.19.2] layer editor widget looks broken (layers list gets rendered out of widget window when list is long enough to scroll)
- Fixed Choose Resource screen adding "/config/fancymenu/assets/" to non-local sources when editing them in the text editor
- Fixed Custom GUIs showing their identifier as title if no title was set
- Fixed Custom GUIs not correctly applying some of the settings configured in the Build/Edit Custom GUI screen
- Fixed tooltips of buttons and sliders sometimes stay visible after the button/slider vanished
- Fixed "Server MOTD" placeholder not working for MOTDs with only one line
- Fixed unable to hide Customization Overlay in some mod screens
- This fixes the incompatibility with the Pixelmon mod
- This could also fix the "bug" that makes it look like FancyMenu's shortcuts aren't working (they work, but nothing happens, because the overlay stays visible)
- Fixed Input Field element not correctly saving some settings
- Fixed [1.20.4] Custom screen backgrounds not working in screens with scroll lists (like Singleplayer screen; backgrounds still act a bit different there compared to older MC versions, but at least they work)
- Fixed [1.20.4] Scroll lists appear as customizable widgets in the editor
- Fixed conflict with "ukulib" (Fixed on ukulib's side in ukulib v1.1.2)
- Fixed conflict with "Applied Energistics 2 Wireless Terminals" (and maybe base mod as well)
%changelog:end%
CHANGELOG | FANCYMENU v3.0.6
- Fixed wrong mod version for Fabric builds (was stuck at 3.0.3; gradle script should now set correct version)
- Fixed background of CreateWorldScreen not customizable in some MC versions
- Fixed some inconsistencies and other issues in the en_us locals
- The CreateWorldScreen with all its tabs should be almost fully customizable now in 1.20+
- To make full use of the new customization compatibility layer, you need to remake your layouts for this screen
- You need to make SEPARATE LAYOUTS for every tab (Game, World, More) (cross-tab layouts loose all customizations that can't be applied to every tab)
- The header an footer can be customized in the "Header/Footer Customizations" menu when right-clicking the editor background (this was the "Scroll List Customizations" menu before)