Added suppliers to EnchantedBook, LeatherArmor, and Skull builders

This commit is contained in:
Auxilor
2021-07-16 15:34:51 +02:00
committed by Auxilor
parent d6d0e4d3b3
commit a451732c1e
3 changed files with 36 additions and 0 deletions

View File

@@ -5,6 +5,8 @@ import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.jetbrains.annotations.NotNull;
import java.util.function.Supplier;
public class EnchantedBookBuilder extends AbstractItemStackBuilder<EnchantmentStorageMeta, EnchantedBookBuilder> {
/**
* Create a new EnchantedBookBuilder.
@@ -25,4 +27,15 @@ public class EnchantedBookBuilder extends AbstractItemStackBuilder<EnchantmentSt
this.getMeta().addStoredEnchant(enchantment, level, true);
return this;
}
/**
* Add an enchantment to the item.
*
* @param enchantment The enchantment.
* @param level The level.
* @return The builder.
*/
public EnchantedBookBuilder addStoredEnchantment(@NotNull final Supplier<Enchantment> enchantment,
final Supplier<Integer> level) {
return this.addStoredEnchantment(enchantment.get(), level.get());
}
}

View File

@@ -6,6 +6,8 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.jetbrains.annotations.NotNull;
import java.util.function.Supplier;
public class LeatherArmorBuilder extends AbstractItemStackBuilder<LeatherArmorMeta, LeatherArmorBuilder> {
/**
* Create a new ItemStackBuilder.
@@ -37,4 +39,13 @@ public class LeatherArmorBuilder extends AbstractItemStackBuilder<LeatherArmorMe
return this;
}
/**
* Set leather color.
*
* @param color The color.
* @return The builder.
*/
public LeatherArmorBuilder setColor(@NotNull final Supplier<java.awt.Color> color) {
return this.setColor(color.get());
}
}

View File

@@ -5,6 +5,8 @@ import org.bukkit.Material;
import org.bukkit.inventory.meta.SkullMeta;
import org.jetbrains.annotations.NotNull;
import java.util.function.Supplier;
public class SkullBuilder extends AbstractItemStackBuilder<SkullMeta, SkullBuilder> {
/**
* Create a new EnchantedBookBuilder.
@@ -24,4 +26,14 @@ public class SkullBuilder extends AbstractItemStackBuilder<SkullMeta, SkullBuild
return this;
}
/**
* Set skull texture.
*
* @param texture The texture.
* @return The builder.
*/
public SkullBuilder setSkullTexture(@NotNull final Supplier<String> texture) {
return this.setSkullTexture(texture.get());
}
}