mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-12 10:21:39 +01:00
Update annotations + add example
This commit is contained in:
parent
e66fdee4b1
commit
5807da47a6
@ -1,6 +1,7 @@
|
||||
package net.minestom.server.item;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@ -24,21 +25,21 @@ public class Item {
|
||||
this.lore = lore;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static ItemBuilder builder(@NotNull Material material) {
|
||||
@Contract(value = "_ -> new", pure = true)
|
||||
public static @NotNull ItemBuilder builder(@NotNull Material material) {
|
||||
return new ItemBuilder(material);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ItemBuilder builder() {
|
||||
@Contract(value = "-> new", pure = true)
|
||||
public @NotNull ItemBuilder builder() {
|
||||
return new ItemBuilder(material)
|
||||
.amount(amount)
|
||||
.displayName(displayName)
|
||||
.lore(lore);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item with(@NotNull Consumer<ItemBuilder> builderConsumer) {
|
||||
@Contract(value = "_, -> new", pure = true)
|
||||
public @NotNull Item with(@NotNull Consumer<ItemBuilder> builderConsumer) {
|
||||
var builder = builder();
|
||||
builderConsumer.accept(builder);
|
||||
return builder.build();
|
||||
@ -48,43 +49,41 @@ public class Item {
|
||||
return amount;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item withAmount(int amount) {
|
||||
@Contract(value = "_, -> new", pure = true)
|
||||
public @NotNull Item withAmount(int amount) {
|
||||
return builder().amount(amount).build();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item withAmount(@NotNull IntUnaryOperator intUnaryOperator) {
|
||||
@Contract(value = "_, -> new", pure = true)
|
||||
public @NotNull Item withAmount(@NotNull IntUnaryOperator intUnaryOperator) {
|
||||
return withAmount(intUnaryOperator.applyAsInt(amount));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Component getDisplayName() {
|
||||
public @Nullable Component getDisplayName() {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item withDisplayName(@Nullable Component displayName) {
|
||||
@Contract(value = "_, -> new", pure = true)
|
||||
public @NotNull Item withDisplayName(@Nullable Component displayName) {
|
||||
return builder().displayName(displayName).build();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item withDisplayName(@NotNull UnaryOperator<@Nullable Component> componentUnaryOperator) {
|
||||
@Contract(value = "_, -> new", pure = true)
|
||||
public @NotNull Item withDisplayName(@NotNull UnaryOperator<@Nullable Component> componentUnaryOperator) {
|
||||
return withDisplayName(componentUnaryOperator.apply(displayName));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public List<Component> getLore() {
|
||||
public @Nullable List<@NotNull Component> getLore() {
|
||||
return lore;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item withLore(@Nullable List<@NotNull Component> lore) {
|
||||
@Contract(value = "_, -> new", pure = true)
|
||||
public @NotNull Item withLore(@Nullable List<@NotNull Component> lore) {
|
||||
return builder().lore(lore).build();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item withLore(@NotNull UnaryOperator<@Nullable List<Component>> loreUnaryOperator) {
|
||||
@Contract(value = "_, -> new", pure = true)
|
||||
public @NotNull Item withLore(@NotNull UnaryOperator<@Nullable List<@NotNull Component>> loreUnaryOperator) {
|
||||
return withLore(loreUnaryOperator.apply(lore));
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
package net.minestom.server.item;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@ -19,31 +21,31 @@ public class ItemBuilder {
|
||||
this.amount = 0;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ItemBuilder amount(int amount) {
|
||||
@Contract(value = "_ -> this")
|
||||
public @NotNull ItemBuilder amount(int amount) {
|
||||
this.amount = amount;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ItemBuilder displayName(Component displayName) {
|
||||
@Contract(value = "_ -> this")
|
||||
public @NotNull ItemBuilder displayName(@Nullable Component displayName) {
|
||||
this.displayName = displayName;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ItemBuilder lore(List<Component> lore) {
|
||||
@Contract(value = "_ -> this")
|
||||
public @NotNull ItemBuilder lore(List<@NotNull Component> lore) {
|
||||
this.lore = Collections.unmodifiableList(lore);
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ItemBuilder lore(Component... lore) {
|
||||
@Contract(value = "_ -> this")
|
||||
public @NotNull ItemBuilder lore(Component... lore) {
|
||||
return lore(Arrays.asList(lore));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Item build() {
|
||||
@Contract(value = "-> new", pure = true)
|
||||
public @NotNull Item build() {
|
||||
return new Item(material, amount, displayName, lore);
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,7 @@ import net.minestom.server.instance.block.CustomBlock;
|
||||
import net.minestom.server.inventory.Inventory;
|
||||
import net.minestom.server.inventory.InventoryType;
|
||||
import net.minestom.server.inventory.PlayerInventory;
|
||||
import net.minestom.server.item.Item;
|
||||
import net.minestom.server.item.ItemStack;
|
||||
import net.minestom.server.item.Material;
|
||||
import net.minestom.server.network.ConnectionManager;
|
||||
@ -62,6 +63,18 @@ public class PlayerInit {
|
||||
inventoryConditionResult.setCancel(slot == 3);
|
||||
});*/
|
||||
//inventory.setItemStack(3, new ItemStack(Material.DIAMOND, (byte) 34));
|
||||
|
||||
{
|
||||
Item item = Item.builder(Material.STONE)
|
||||
.amount(5)
|
||||
.displayName(Component.text("displayName"))
|
||||
.build();
|
||||
|
||||
item = item.with(itemBuilder -> itemBuilder
|
||||
.amount(10)
|
||||
.lore(Component.text("Lore")));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void init() {
|
||||
|
Loading…
Reference in New Issue
Block a user