mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 15:30:19 +01:00
89 lines
3.5 KiB
Diff
89 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Tue, 28 May 2024 19:59:01 -0700
|
|
Subject: [PATCH] General ItemMeta fixes
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/FireworkEffect.java b/src/main/java/org/bukkit/FireworkEffect.java
|
|
index 637fa73d4366c2d88e2716e5c8d3465706d788a7..0f03c546ecdd6383fb36a362d18d6fb57f2ccfee 100644
|
|
--- a/src/main/java/org/bukkit/FireworkEffect.java
|
|
+++ b/src/main/java/org/bukkit/FireworkEffect.java
|
|
@@ -322,9 +322,7 @@ public final class FireworkEffect implements ConfigurationSerializable {
|
|
private String string = null;
|
|
|
|
FireworkEffect(boolean flicker, boolean trail, @NotNull ImmutableList<Color> colors, @NotNull ImmutableList<Color> fadeColors, @NotNull Type type) {
|
|
- if (colors.isEmpty()) {
|
|
- throw new IllegalStateException("Cannot make FireworkEffect without any color");
|
|
- }
|
|
+ // Paper - can have empty colors
|
|
this.flicker = flicker;
|
|
this.trail = trail;
|
|
this.colors = colors;
|
|
diff --git a/src/main/java/org/bukkit/inventory/meta/Damageable.java b/src/main/java/org/bukkit/inventory/meta/Damageable.java
|
|
index ff6818b6d9e0207eafdd749928f33aeac3f27191..992f39da07bafe9769effaa7dc6adc018c89329d 100644
|
|
--- a/src/main/java/org/bukkit/inventory/meta/Damageable.java
|
|
+++ b/src/main/java/org/bukkit/inventory/meta/Damageable.java
|
|
@@ -9,14 +9,17 @@ import org.jetbrains.annotations.Nullable;
|
|
public interface Damageable extends ItemMeta {
|
|
|
|
/**
|
|
- * Checks to see if this item has damage
|
|
+ * Checks to see if this item has damage greater than 0.
|
|
*
|
|
- * @return true if this has damage
|
|
+ * @return true if this has damage > 0
|
|
*/
|
|
boolean hasDamage();
|
|
|
|
/**
|
|
* Gets the damage
|
|
+ * <p>
|
|
+ * Call {@link #hasDamageValue()} to be sure
|
|
+ * a damage value is set.
|
|
*
|
|
* @return the damage
|
|
*/
|
|
@@ -26,9 +29,27 @@ public interface Damageable extends ItemMeta {
|
|
* Sets the damage
|
|
*
|
|
* @param damage item damage
|
|
+ * @see #resetDamage() to reset and clear the damage data component
|
|
*/
|
|
void setDamage(int damage);
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Checks if any damage value, including 0,
|
|
+ * is set on this meta.
|
|
+ *
|
|
+ * @return true if any value is set
|
|
+ */
|
|
+ boolean hasDamageValue();
|
|
+
|
|
+ /**
|
|
+ * Clears the damage component from the meta. Differs
|
|
+ * from {@code setDamage(0)} in that it removes the component
|
|
+ * instead of adding the component with a value of 0.
|
|
+ */
|
|
+ void resetDamage();
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Checks to see if this item has a maximum amount of damage.
|
|
*
|
|
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
|
index 1a4260b00b193b94ce4b1b2954644f4e41baff4c..5d5fcb2720b62e47d47f441032c4de02574b051a 100644
|
|
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
|
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
|
@@ -673,8 +673,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
|
|
|
|
/**
|
|
* Set all {@link Attribute}s and their {@link AttributeModifier}s.
|
|
- * To clear all currently set Attributes and AttributeModifiers use
|
|
- * null or an empty Multimap.
|
|
+ * To clear all custom attribute modifiers, use {@code null}. To set
|
|
+ * no modifiers (which will override the default modifiers), use an
|
|
+ * empty map.
|
|
* If not null nor empty, this will filter all entries that are not-null
|
|
* and add them to the ItemStack.
|
|
*
|