mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 15:30:19 +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;
|
private String string = null;
|
||||||
|
|
||||||
FireworkEffect(boolean flicker, boolean trail, @NotNull ImmutableList<Color> colors, @NotNull ImmutableList<Color> fadeColors, @NotNull Type type) {
|
FireworkEffect(boolean flicker, boolean trail, @NotNull ImmutableList<Color> colors, @NotNull ImmutableList<Color> fadeColors, @NotNull Type type) {
|
||||||
if (colors.isEmpty()) {
|
// Paper - can have empty colors
|
||||||
throw new IllegalStateException("Cannot make FireworkEffect without any color");
|
|
||||||
}
|
|
||||||
this.flicker = flicker;
|
this.flicker = flicker;
|
||||||
this.trail = trail;
|
this.trail = trail;
|
||||||
this.colors = colors;
|
this.colors = colors;
|
||||||
|
|
|
@ -28,7 +28,8 @@ public interface CompassMeta extends ItemMeta {
|
||||||
/**
|
/**
|
||||||
* Sets the location this lodestone compass will point to.
|
* 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);
|
void setLodestone(@Nullable Location lodestone);
|
||||||
|
|
||||||
|
@ -49,9 +50,25 @@ public interface CompassMeta extends ItemMeta {
|
||||||
* location.
|
* location.
|
||||||
*
|
*
|
||||||
* @param tracked new tracked status
|
* @param tracked new tracked status
|
||||||
|
* @see #clearLodestone() to reset the compass to a normal compass
|
||||||
*/
|
*/
|
||||||
void setLodestoneTracked(boolean tracked);
|
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
|
@Override
|
||||||
CompassMeta clone();
|
CompassMeta clone();
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,14 +9,17 @@ import org.jetbrains.annotations.Nullable;
|
||||||
public interface Damageable extends ItemMeta {
|
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();
|
boolean hasDamage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the damage
|
* Gets the damage
|
||||||
|
* <p>
|
||||||
|
* Call {@link #hasDamageValue()} to be sure
|
||||||
|
* a damage value is set.
|
||||||
*
|
*
|
||||||
* @return the damage
|
* @return the damage
|
||||||
*/
|
*/
|
||||||
|
@ -26,9 +29,27 @@ public interface Damageable extends ItemMeta {
|
||||||
* Sets the damage
|
* Sets the damage
|
||||||
*
|
*
|
||||||
* @param damage item damage
|
* @param damage item damage
|
||||||
|
* @see #resetDamage() to reset and clear the damage data component
|
||||||
*/
|
*/
|
||||||
void setDamage(int damage);
|
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.
|
* 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.
|
* Sets the enchantable. Higher values allow higher enchantments.
|
||||||
*
|
*
|
||||||
* @param enchantable enchantable value
|
* @param enchantable enchantable value, must be positive
|
||||||
*/
|
*/
|
||||||
void setEnchantable(@Nullable Integer enchantable);
|
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.
|
* Set all {@link Attribute}s and their {@link AttributeModifier}s.
|
||||||
* To clear all currently set Attributes and AttributeModifiers use
|
* To clear all custom attribute modifiers, use {@code null}. To set
|
||||||
* null or an empty Multimap.
|
* 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
|
* If not null nor empty, this will filter all entries that are not-null
|
||||||
* and add them to the ItemStack.
|
* and add them to the ItemStack.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue