13
0
geforkt von Mirrors/Paper

adventure: make calls with generic component lists more usable (#9008)

This should allow the usage of ItemStack#lore and other methods with a List<TextComponent>
Dieser Commit ist enthalten in:
JOO200 2023-03-20 09:18:06 +01:00
Ursprung 82f1c94258
Commit c54215c1b2
3 geänderte Dateien mit 10 neuen und 10 gelöschten Zeilen

Datei anzeigen

@ -2151,7 +2151,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * @throws IllegalArgumentException if location is null + * @throws IllegalArgumentException if location is null
+ * @throws IllegalArgumentException if lines is non-null and has a length less than 4 + * @throws IllegalArgumentException if lines is non-null and has a length less than 4
+ */ + */
+ default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<net.kyori.adventure.text.Component> lines) throws IllegalArgumentException { + default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<? extends net.kyori.adventure.text.Component> lines) throws IllegalArgumentException {
+ this.sendSignChange(loc, lines, DyeColor.BLACK); + this.sendSignChange(loc, lines, DyeColor.BLACK);
+ } + }
+ +
@ -2172,7 +2172,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * @throws IllegalArgumentException if dyeColor is null + * @throws IllegalArgumentException if dyeColor is null
+ * @throws IllegalArgumentException if lines is non-null and has a length less than 4 + * @throws IllegalArgumentException if lines is non-null and has a length less than 4
+ */ + */
+ default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<net.kyori.adventure.text.Component> lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException { + default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<? extends net.kyori.adventure.text.Component> lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException {
+ this.sendSignChange(loc, lines, dyeColor, false); + this.sendSignChange(loc, lines, dyeColor, false);
+ } + }
+ +
@ -2193,7 +2193,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * @throws IllegalArgumentException if dyeColor is null + * @throws IllegalArgumentException if dyeColor is null
+ * @throws IllegalArgumentException if lines is non-null and has a length less than 4 + * @throws IllegalArgumentException if lines is non-null and has a length less than 4
+ */ + */
+ default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<net.kyori.adventure.text.Component> lines, boolean hasGlowingText) throws IllegalArgumentException { + default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<? extends net.kyori.adventure.text.Component> lines, boolean hasGlowingText) throws IllegalArgumentException {
+ this.sendSignChange(loc, lines, DyeColor.BLACK, hasGlowingText); + this.sendSignChange(loc, lines, DyeColor.BLACK, hasGlowingText);
+ } + }
+ +
@ -2215,7 +2215,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * @throws IllegalArgumentException if dyeColor is null + * @throws IllegalArgumentException if dyeColor is null
+ * @throws IllegalArgumentException if lines is non-null and has a length less than 4 + * @throws IllegalArgumentException if lines is non-null and has a length less than 4
+ */ + */
+ void sendSignChange(@NotNull Location loc, @Nullable java.util.List<net.kyori.adventure.text.Component> lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) + void sendSignChange(@NotNull Location loc, @Nullable java.util.List<? extends net.kyori.adventure.text.Component> lines, @NotNull DyeColor dyeColor, boolean hasGlowingText)
+ throws IllegalArgumentException; + throws IllegalArgumentException;
+ // Paper end + // Paper end
+ +
@ -4136,7 +4136,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * + *
+ * @param lore the lore to set + * @param lore the lore to set
+ */ + */
+ void lore(final @Nullable List<net.kyori.adventure.text.Component> lore); + void lore(final @Nullable List<? extends net.kyori.adventure.text.Component> lore);
+ // Paper end + // Paper end
+ +
/** /**

Datei anzeigen

@ -139,7 +139,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * + *
+ * @param lore the lore that will be set + * @param lore the lore that will be set
+ */ + */
+ public void lore(@Nullable List<net.kyori.adventure.text.Component> lore) { + public void lore(@Nullable List<? extends net.kyori.adventure.text.Component> lore) {
+ ItemMeta itemMeta = getItemMeta(); + ItemMeta itemMeta = getItemMeta();
+ if (itemMeta == null) { + if (itemMeta == null) {
+ throw new IllegalStateException("Cannot set lore on " + getType()); + throw new IllegalStateException("Cannot set lore on " + getType());

Datei anzeigen

@ -893,7 +893,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ return adventures; + return adventures;
+ } + }
+ +
+ public static List<String> asJson(final List<Component> adventures) { + public static List<String> asJson(final List<? extends Component> adventures) {
+ final List<String> jsons = new ArrayList<>(adventures.size()); + final List<String> jsons = new ArrayList<>(adventures.size());
+ for (final Component component : adventures) { + for (final Component component : adventures) {
+ jsons.add(GsonComponentSerializer.gson().serialize(component)); + jsons.add(GsonComponentSerializer.gson().serialize(component));
@ -3176,7 +3176,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
} }
+ // Paper start + // Paper start
+ public static Component[] sanitizeLines(java.util.List<net.kyori.adventure.text.Component> lines) { + public static Component[] sanitizeLines(java.util.List<? extends net.kyori.adventure.text.Component> lines) {
+ Component[] components = new Component[4]; + Component[] components = new Component[4];
+ for (int i = 0; i < 4; i++) { + for (int i = 0; i < 4; i++) {
+ if (i < lines.size() && lines.get(i) != null) { + if (i < lines.size() && lines.get(i) != null) {
@ -3570,7 +3570,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ // Paper start + // Paper start
+ @Override + @Override
+ public void sendSignChange(Location loc, @Nullable List<net.kyori.adventure.text.Component> lines, DyeColor dyeColor, boolean hasGlowingText) { + public void sendSignChange(Location loc, @Nullable List<? extends net.kyori.adventure.text.Component> lines, DyeColor dyeColor, boolean hasGlowingText) {
+ if (getHandle().connection == null) { + if (getHandle().connection == null) {
+ return; + return;
+ } + }
@ -4404,7 +4404,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ } + }
+ +
+ @Override + @Override
+ public void lore(final List<net.kyori.adventure.text.Component> lore) { + public void lore(final List<? extends net.kyori.adventure.text.Component> lore) {
+ this.lore = lore != null ? io.papermc.paper.adventure.PaperAdventure.asJson(lore) : null; + this.lore = lore != null ? io.papermc.paper.adventure.PaperAdventure.asJson(lore) : null;
+ } + }
+ // Paper end + // Paper end