9
0
mirror of https://github.com/HibiscusMC/HibiscusCommons.git synced 2025-12-19 15:09:26 +00:00

feat: move to static for initializations of ItemBuilder

This commit is contained in:
LoJoSho
2024-03-04 17:05:04 -06:00
parent 44f9a511b2
commit 910757a203
2 changed files with 18 additions and 6 deletions

View File

@@ -63,7 +63,7 @@ public class ItemBuilderSerializer implements TypeSerializer<ItemBuilder> {
if (materialNode.virtual()) return null;
ItemBuilder builder = new ItemBuilder(materialNode.getString("AIR"));
ItemBuilder builder = ItemBuilder.of(materialNode.getString("AIR"));
if (!amountNode.virtual()) builder.amount(amountNode.getInt(1));
if (!nameNode.virtual()) builder.name(nameNode.getString(""));
if (!unbreakableNode.virtual()) builder.unbreakable(unbreakableNode.getBoolean());

View File

@@ -39,19 +39,31 @@ public class ItemBuilder {
private boolean glowing = false;
private Color color;
public ItemBuilder(String material) {
public static @NotNull ItemBuilder of(@NotNull String material) {
return new ItemBuilder(material);
}
public static @NotNull ItemBuilder of(@NotNull Material material) {
return new ItemBuilder(material);
}
public static @NotNull ItemBuilder of(@NotNull ItemStack itemStack) {
return new ItemBuilder(itemStack);
}
private ItemBuilder(String material) {
material(material);
}
public ItemBuilder(Material material) {
private ItemBuilder(Material material) {
material(material.toString());
}
public ItemBuilder(@NotNull ItemStack itemStack) {
private ItemBuilder(@NotNull ItemStack itemStack) {
this.material = Hooks.getStringItem(itemStack);
this.amount = itemStack.getAmount();
ItemMeta meta = itemStack.getItemMeta();
if (meta == null) return;
if (meta == null) meta = Objects.requireNonNull(Bukkit.getItemFactory().getItemMeta(itemStack.getType()));
if (meta.hasDisplayName()) this.display = meta.getDisplayName();
if (meta.hasCustomModelData()) this.model = meta.getCustomModelData();
if (meta.isUnbreakable()) this.unbreakable = true;
@@ -368,7 +380,7 @@ public class ItemBuilder {
if (itemStack == null) return null;
itemStack.setAmount(amount);
ItemMeta meta = itemStack.getItemMeta();
if (meta == null) return itemStack;
if (meta == null) meta = Objects.requireNonNull(Bukkit.getItemFactory().getItemMeta(itemStack.getType()));
if (display != null) meta.setDisplayName(StringUtils.parseStringToString(display));
if (model >= 0) meta.setCustomModelData(model);
if (!lore.isEmpty()) {