Commit Graph

131 Commits

Author SHA1 Message Date
Janmm14 79f85a2ce2 #3662: Add deprecation warning to ComponentSerializer.toString(Object)
It taking all objects is error-prone, deprecate it and create overloads
for used acceptable types.
2024-08-25 09:28:49 +10:00
md_5 8a88ce464e Minecraft 1.21 support 2024-06-14 01:05:00 +10:00
Janmm14 18eae8a1a6 #3664: Improve chat test code quality 2024-05-05 10:48:01 +10:00
Janmm14 336333acb1 #3665: Small improvements to TranslatableComponent
* Make TranslatableComponent format Pattern static
* Fix TranslatableComponent copy constructor not copying fallback
2024-04-25 07:58:27 +10:00
md_5 84d0ea73fa Minor formatting fixes 2024-03-31 10:09:20 +11:00
md_5 86e6fdf8a2 Fix lombok induced JavaDoc error 2024-03-31 10:02:23 +11:00
md_5 6ab0f5eba7 #3621: Warn about use of valid chat colors and add test 2024-03-31 09:53:03 +11:00
Rothes f224787222 #3621: Only serialize valid chat colors to "color" component 2024-03-31 09:51:04 +11:00
Janmm14 82684c7b6b #3634: Improve chat test code style.
Stop use of subclass for static method call.
Make test helper methods static.
2024-03-31 09:38:18 +11:00
Janmm14 c2f73d32b8 #3634: Micro-optimize chat deserialization 2024-03-31 09:38:17 +11:00
Diogo Correia c3f228f626 #3610, 3611: inverted isEmpty method on ComponentStyle 2024-02-02 11:16:46 +11:00
md_5 a1cd694363 Bump version to 1.20-R0.3-SNAPSHOT 2024-01-20 08:41:57 +11:00
md_5 3e2bc8e2d7 Release 1.20-R0.2 2024-01-20 08:37:37 +11:00
Parker Hawke 737d545fb6 #3569: Separate component styling into a ComponentStyle class 2024-01-06 16:35:30 +11:00
md_5 b711e4033f #3578: bungeecord-chat does not support array format UUIDs 2023-12-19 19:54:03 +11:00
md_5 231024ba42 Relax chat parsing to treat bytes as booleans to allow formatting read from NBT 2023-12-06 21:55:56 +11:00
Parker Hawke 16298a75f2 #3558: Add Translatable interface for fluid creation of TranslatableComponents 2023-11-10 07:03:46 +11:00
BoomEaro df20effacc #3557: Replace Guava Charsets with Java StandardCharsets 2023-10-31 21:49:17 +11:00
md_5 c92581d0dc #3556: Deserialize arrays to single components 2023-10-29 11:30:54 +11:00
Parker Hawke 0d45378986 #3540: Add TextComponent#fromLegacy() as an array-free alternative to #fromLegacyText() 2023-10-28 13:04:18 +11:00
md_5 0f5f09b6c5 Minecraft 23w43b support 2023-10-28 12:57:19 +11:00
md_5 e5c80d0044 Fix code formatting 2023-10-28 12:57:16 +11:00
Outfluencer 68b2df2b1e #3514: Add separator property to SelectorComponent 2023-10-05 07:21:13 +11:00
md_5 f9b75c4a3a Update tests to JUnit 5 2023-09-23 18:44:14 +10:00
Parker Hawke cfe00fa47c #3490: Add ComponentBuilder#build() and ComponentSerializer#deserialize()
Components traditionally use the extra data to represent components as a single BaseComponent object. While BaseComponent typically mirrors this behaviour, somewhere along the development of BungeeChat this practice was made unclear. Because ComponentBuilder#create() returns an array of BaseComponents, it has sort of been silently accepted that all components should be represented as arrays, which is incorrect. This heavily influenced the direction of Spigot's component API (with additions such as CommandSender#sendMessage(BaseComponent[])) which emphasizes this misconception of "all components are arrays".

Adding new methods to ComponentBuilder and ComponentSerializer should steer use of the BungeeChat API to be more oriented towards single component instances, not arrays.
2023-09-19 07:14:18 +10:00
md_5 d68ebd1eaf Minecraft 1.20.2-rc1 support 2023-09-17 08:10:42 +10:00
md_5 0dd7b98428 Bump version to 1.20-R0.2-SNAPSHOT 2023-08-07 08:01:47 +10:00
md_5 a793692a2c Release 1.20-R0.1 2023-08-07 07:56:00 +10:00
md_5 68200133b6 Minecraft 1.20 support 2023-06-08 01:30:00 +10:00
Outfluencer 19424aba9d #3430: Add new fallback field to TranslatableComponent 2023-01-28 11:32:59 +11:00
md_5 5467e3a842 Minecraft 1.19.3 support 2022-12-08 03:00:00 +11:00
Janmm14 2a716bbc7f #3344: Fix legacy chat conversion losing format reset information.
In legacy chat format, colors and reset do not retain any formatting.

In order to prevent this behaviour from creating unnecessary long json containing many redundant `formatting: false`, the original `fromLegacyText(...)` idea was to just override the color to white and handle the format reset just internally.

However eventual previous format rejection (aka reset) information was lost when appending multiple legacy format strings to a `ComponentBuilder`.

With this change we save the "reset wish" in the `BaseComponent` and update `ComponentBuilder`'s append function to not copy over formatting if the component has the reset flag set.
2022-06-30 21:22:16 +10:00
md_5 2ff4be7846 Update gson to 2.8.9 2022-06-28 21:40:53 +10:00
md_5 eccdf87f22 Minecraft 1.19 support 2022-06-08 02:00:00 +10:00
md_5 8b363d3d1f Minecraft 1.18-pre5 support 2021-11-22 09:00:00 +11:00
Janmm14 06bf088d27 #3186: Replace String.format calls in exceptions with simple string concats 2021-09-17 18:14:21 +10:00
md_5 bda1605627 Minor formatting fixes 2021-07-22 11:46:41 +10:00
md_5 90573625f1 Minecraft 1.17 support 2021-06-09 09:00:00 +10:00
Janmm14 d49e97c423 #3099: Improve toArray calls by using an empty array as parameter.
From Intellij IDEA inspections: Since late updates of OpenJDK 6 this call was intrinsified, making the performance of the empty array version the same and sometimes even better, compared to the pre-sized version.
2021-05-28 08:23:43 +10:00
md_5 9f6a798ea6 Bump version to 1.16-R0.5-SNAPSHOT 2021-01-15 10:19:24 +11:00
md_5 36c8df4d2f Release 1.16-R0.4 2021-01-15 09:49:36 +11:00
blablubbabc baf2f60850 #3018: Serialize text component properties in the same order as Minecraft 2021-01-13 10:17:16 +11:00
BlackHole 9c078b78c3 #2985: Add Keybinds.SOCIAL_INTERACTIONS 2020-11-04 19:43:11 +11:00
Mystiflow e93c762f16 #2921: ClickEvent without value exceptions in window title 2020-08-22 17:50:54 +10:00
WinX64 64e4f4658a #2931: Fix exceptions on ChatColor.of(Color) due to truncation 2020-08-22 17:47:01 +10:00
md_5 a0f9333a13 Bump version to 1.16-R0.4-SNAPSHOT 2020-07-18 17:36:11 +10:00
md_5 287e28a722 Release 1.16-R0.3 2020-07-18 17:31:21 +10:00
Mystiflow c1522ab94c #2909: Don't serialise as array for single element contents 2020-07-16 18:53:23 +10:00
Mystiflow 0af4bfdbdf #2905: HoverEvent getValue compat method 2020-07-15 09:05:05 +10:00
md_5 94c4fcbad7 Bump version to 1.16-R0.3-SNAPSHOT 2020-07-13 08:45:48 +10:00