mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 06:50:12 +01:00
General ItemMeta fixes
This commit is contained in:
parent
236fa2126f
commit
f09feba0f4
4 changed files with 46 additions and 9 deletions
|
@ -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;
|
||||
|
|
|
@ -28,7 +28,8 @@ public interface CompassMeta extends ItemMeta {
|
|||
/**
|
||||
* Sets the location this lodestone compass will point to.
|
||||
*
|
||||
* @param lodestone new location or null to clear
|
||||
* @param lodestone new location or null to clear the targeted location
|
||||
* @see #clearLodestone() to reset the compass to a normal compass
|
||||
*/
|
||||
void setLodestone(@Nullable Location lodestone);
|
||||
|
||||
|
@ -49,9 +50,25 @@ public interface CompassMeta extends ItemMeta {
|
|||
* location.
|
||||
*
|
||||
* @param tracked new tracked status
|
||||
* @see #clearLodestone() to reset the compass to a normal compass
|
||||
*/
|
||||
void setLodestoneTracked(boolean tracked);
|
||||
|
||||
// Paper start - Add more lodestone compass methods
|
||||
/**
|
||||
* Checks if this compass is considered a lodestone compass.
|
||||
* @see #hasLodestone() to check if a position is being tracked
|
||||
* @see #isLodestoneTracked() to check if it verifies the position is a lodestone
|
||||
*/
|
||||
boolean isLodestoneCompass();
|
||||
|
||||
/**
|
||||
* Reset this compass to a normal compass, removing any tracked
|
||||
* location.
|
||||
*/
|
||||
void clearLodestone();
|
||||
// Paper end - Add more lodestone compass methods
|
||||
|
||||
@Override
|
||||
CompassMeta clone();
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -386,7 +386,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
|
|||
/**
|
||||
* Sets the enchantable. Higher values allow higher enchantments.
|
||||
*
|
||||
* @param enchantable enchantable value
|
||||
* @param enchantable enchantable value, must be positive
|
||||
*/
|
||||
void setEnchantable(@Nullable Integer enchantable);
|
||||
|
||||
|
@ -930,8 +930,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.
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue