mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-10 00:52:22 -07:00
SPIGOT-2540: Add nullability annotations to entire Bukkit API
By: Darkyenus <darkyenus@gmail.com>
This commit is contained in:
@@ -68,6 +68,8 @@ import org.bukkit.block.data.type.TripwireHook;
|
||||
import org.bukkit.block.data.type.TurtleEgg;
|
||||
import org.bukkit.block.data.type.WallSign;
|
||||
import org.bukkit.material.MaterialData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* An enum of all material IDs accepted by the official server and client
|
||||
@@ -2955,15 +2957,15 @@ public enum Material implements Keyed {
|
||||
this(id, stack, durability, MaterialData.class);
|
||||
}
|
||||
|
||||
private Material(final int id, final Class<?> data) {
|
||||
private Material(final int id, @NotNull final Class<?> data) {
|
||||
this(id, 64, data);
|
||||
}
|
||||
|
||||
private Material(final int id, final int stack, final Class<?> data) {
|
||||
private Material(final int id, final int stack, @NotNull final Class<?> data) {
|
||||
this(id, stack, 0, data);
|
||||
}
|
||||
|
||||
private Material(final int id, final int stack, final int durability, final Class<?> data) {
|
||||
private Material(final int id, final int stack, final int durability, @NotNull final Class<?> data) {
|
||||
this.id = id;
|
||||
this.durability = (short) durability;
|
||||
this.maxStack = stack;
|
||||
@@ -3005,6 +3007,7 @@ public enum Material implements Keyed {
|
||||
return legacy;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public NamespacedKey getKey() {
|
||||
Validate.isTrue(!legacy, "Cannot get key of Legacy Material");
|
||||
@@ -3035,6 +3038,7 @@ public enum Material implements Keyed {
|
||||
*
|
||||
* @return new data instance
|
||||
*/
|
||||
@NotNull
|
||||
public BlockData createBlockData() {
|
||||
return Bukkit.createBlockData(this);
|
||||
}
|
||||
@@ -3046,7 +3050,8 @@ public enum Material implements Keyed {
|
||||
* @param consumer consumer to run on new instance before returning
|
||||
* @return new data instance
|
||||
*/
|
||||
public BlockData createBlockData(Consumer<BlockData> consumer) {
|
||||
@NotNull
|
||||
public BlockData createBlockData(@Nullable Consumer<BlockData> consumer) {
|
||||
return Bukkit.createBlockData(this, consumer);
|
||||
}
|
||||
|
||||
@@ -3059,7 +3064,8 @@ public enum Material implements Keyed {
|
||||
* @return new data instance
|
||||
* @throws IllegalArgumentException if the specified data is not valid
|
||||
*/
|
||||
public BlockData createBlockData(String data) throws IllegalArgumentException {
|
||||
@NotNull
|
||||
public BlockData createBlockData(@Nullable String data) throws IllegalArgumentException {
|
||||
return Bukkit.createBlockData(this, data);
|
||||
}
|
||||
|
||||
@@ -3068,6 +3074,7 @@ public enum Material implements Keyed {
|
||||
*
|
||||
* @return MaterialData associated with this Material
|
||||
*/
|
||||
@NotNull
|
||||
public Class<? extends MaterialData> getData() {
|
||||
Validate.isTrue(legacy, "Cannot get data class of Modern Material");
|
||||
return ctor.getDeclaringClass();
|
||||
@@ -3082,6 +3089,7 @@ public enum Material implements Keyed {
|
||||
* @deprecated Magic value
|
||||
*/
|
||||
@Deprecated
|
||||
@NotNull
|
||||
public MaterialData getNewData(final byte raw) {
|
||||
Validate.isTrue(legacy, "Cannot get new data of Modern Material");
|
||||
try {
|
||||
@@ -3804,7 +3812,8 @@ public enum Material implements Keyed {
|
||||
* @param name Name of the material to get
|
||||
* @return Material if found, or null
|
||||
*/
|
||||
public static Material getMaterial(final String name) {
|
||||
@Nullable
|
||||
public static Material getMaterial(@NotNull final String name) {
|
||||
return getMaterial(name, false);
|
||||
}
|
||||
|
||||
@@ -3818,7 +3827,8 @@ public enum Material implements Keyed {
|
||||
* @param legacyName whether this is a legacy name
|
||||
* @return Material if found, or null
|
||||
*/
|
||||
public static Material getMaterial(String name, boolean legacyName) {
|
||||
@Nullable
|
||||
public static Material getMaterial(@NotNull String name, boolean legacyName) {
|
||||
if (legacyName) {
|
||||
if (!name.startsWith(LEGACY_PREFIX)) {
|
||||
name = LEGACY_PREFIX + name;
|
||||
@@ -3841,7 +3851,8 @@ public enum Material implements Keyed {
|
||||
* @param name Name of the material to get
|
||||
* @return Material if found, or null
|
||||
*/
|
||||
public static Material matchMaterial(final String name) {
|
||||
@Nullable
|
||||
public static Material matchMaterial(@NotNull final String name) {
|
||||
return matchMaterial(name, false);
|
||||
}
|
||||
|
||||
@@ -3856,7 +3867,8 @@ public enum Material implements Keyed {
|
||||
* @param legacyName whether this is a legacy name
|
||||
* @return Material if found, or null
|
||||
*/
|
||||
public static Material matchMaterial(final String name, boolean legacyName) {
|
||||
@Nullable
|
||||
public static Material matchMaterial(@NotNull final String name, boolean legacyName) {
|
||||
Validate.notNull(name, "Name cannot be null");
|
||||
|
||||
String filtered = name;
|
||||
|
Reference in New Issue
Block a user