Commit Graph

109 Commits

Author SHA1 Message Date
f52180c385 Change projet configuration and POM for Pandacube 2023-09-24 00:59:54 +02: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
Max Lee
e21b0b3773
#2870: Add rgb values to all colors 2020-06-26 18:42:49 +10:00
Max Lee
c803f42a84
#2867: Add font setter to ComponentBuilder 2020-06-26 09:52:31 +10:00
md_5
4786c0986b
Bump version to 1.16-R0.2-SNAPSHOT 2020-06-25 08:36:25 +10:00
md_5
a7180850e0
Release 1.16-R0.1 2020-06-25 08:36:03 +10:00
md_5
739b496bf6
#2858: ChatColor#ordinal is missing 2020-06-24 08:34:05 +10:00
md_5
75af27acf1
Fix missing static on ChatColor.values 2020-06-24 07:19:46 +10:00
md_5
d0fd673b60
Minecraft 1.16 support + RGB ChatColor preview 2020-06-24 07:00:00 +10:00
md_5
727281e69e Make all BaseComponent.duplicate methods specific 2020-05-10 09:24:40 +10:00
Alex_qp
4e99a32537 #2808: TextComponent.duplicate should return TextComponent 2020-05-10 09:24:40 +10:00
md_5
68cc325ace #2755: Add ClickEvent.COPY_TO_CLIPBOARD 2020-01-19 10:18:54 +11:00
md_5
2c6a21d503 Remove stray import breaking build 2020-01-18 10:15:25 +11:00
BlackHole
b7e7274b98 #2750: Don't special case TextComponent constructor with a single extra 2020-01-16 10:45:29 +11:00
BlackHole
22d2cd3388 #2747: Fix TranslatableComponent.deserialize() 2020-01-13 09:19:07 +11:00
md_5
d20e622b7b Apply checkstyle to javadoc 2020-01-05 11:25:56 +11:00
CertainLach
465215686b #2740: Fix BaseComponent#equals() stack overflow 2020-01-05 10:44:40 +11:00
Mystiflow
d2ceccd646 #2725: Various improvements to chat API
* More versatile ComponentBuilder system
    - Allow creating a builder without an initial component
    - Duplicate the parts when component is created
    - Add getter for 'parts'
* Added cursor API for more fluid component modifying
* Don't legacy convert Titles on 1.11 or newer
* Simplify plain and legacy text converting code
    - Shares the addFormat method between all superclasses
    - Duplicate code in TranslatableComponent moved in separate method
2020-01-05 10:40:07 +11:00