Commit Graph

125 Commits

Author SHA1 Message Date
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
md_5
a99f62f693
Release 1.16-R0.2 2020-07-13 08:23:55 +10:00
Mystiflow
fd4864d475
#2899: Various chat API stability updates
- Check if a value CAN be parsed as a BaseComponent[] before attempting to parse it through the Content deserialiser
- When removing enclosing quotes from deserialised NBT, don't remove all quotes as they may have been escaping
- Check for ALL the number suffix types
- Throw JSONParseException if: no selector in selector component, no translate in translate component
- JsonObject is not JsonPrimitive
- Cleaned up unit tests a bit
2020-07-09 19:14:01 +10:00
Mystiflow
bcc3460dda
#2893: Refactored Hover Code for Maintainability 2020-07-07 09:09:32 +10:00
Erik Eide
4794fccfb8
#2888: Correct font check in BaseComponent 2020-07-06 08:10:42 +10:00
Mystiflow
637e7e93e0
#2884: Mojangson in hover events cannot be parsed 2020-07-05 19:09:59 +10:00
Mystiflow
1d40b8a88a
#2866: Add support for contents in Hover Event 2020-07-01 10:57:09 +10:00