mirror of
https://github.com/Minestom/Minestom.git
synced 2024-09-28 14:37:31 +02:00
No need to return a new meta
Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
parent
3c0abb0409
commit
3f98bde82e
@ -88,15 +88,15 @@ public sealed interface ItemStack extends TagReadable, HoverEventSource<HoverEve
|
|||||||
<T extends ItemMetaView<?>> @NotNull T meta(@NotNull Class<T> metaClass);
|
<T extends ItemMetaView<?>> @NotNull T meta(@NotNull Class<T> metaClass);
|
||||||
|
|
||||||
@Contract(value = "_, -> new", pure = true)
|
@Contract(value = "_, -> new", pure = true)
|
||||||
@NotNull ItemStack with(@NotNull Consumer<@NotNull Builder> builderConsumer);
|
@NotNull ItemStack with(@NotNull Consumer<@NotNull Builder> consumer);
|
||||||
|
|
||||||
@Contract(value = "_, _ -> new", pure = true)
|
@Contract(value = "_, _ -> new", pure = true)
|
||||||
@ApiStatus.Experimental
|
@ApiStatus.Experimental
|
||||||
<V extends ItemMetaView.Builder, T extends ItemMetaView<V>> @NotNull ItemStack withMeta(@NotNull Class<T> metaType,
|
<V extends ItemMetaView.Builder, T extends ItemMetaView<V>> @NotNull ItemStack withMeta(@NotNull Class<T> metaType,
|
||||||
@NotNull Consumer<V> metaConsumer);
|
@NotNull Consumer<V> consumer);
|
||||||
|
|
||||||
@Contract(value = "_ -> new", pure = true)
|
@Contract(value = "_ -> new", pure = true)
|
||||||
@NotNull ItemStack withMeta(@NotNull UnaryOperator<ItemMeta.@NotNull Builder> metaOperator);
|
@NotNull ItemStack withMeta(@NotNull Consumer<ItemMeta.@NotNull Builder> consumer);
|
||||||
|
|
||||||
@Contract(value = "_, -> new", pure = true)
|
@Contract(value = "_, -> new", pure = true)
|
||||||
default @NotNull ItemStack withMaterial(@NotNull Material material) {
|
default @NotNull ItemStack withMaterial(@NotNull Material material) {
|
||||||
@ -204,7 +204,8 @@ public sealed interface ItemStack extends TagReadable, HoverEventSource<HoverEve
|
|||||||
return meta();
|
return meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed interface Builder extends Taggable permits ItemStackImpl.Builder {
|
sealed interface Builder extends Taggable
|
||||||
|
permits ItemStackImpl.Builder {
|
||||||
@Contract(value = "_ -> this")
|
@Contract(value = "_ -> this")
|
||||||
@NotNull Builder amount(int amount);
|
@NotNull Builder amount(int amount);
|
||||||
|
|
||||||
@ -218,10 +219,11 @@ public sealed interface ItemStack extends TagReadable, HoverEventSource<HoverEve
|
|||||||
@NotNull Builder meta(@NotNull ItemMeta itemMeta);
|
@NotNull Builder meta(@NotNull ItemMeta itemMeta);
|
||||||
|
|
||||||
@Contract(value = "_ -> this")
|
@Contract(value = "_ -> this")
|
||||||
@NotNull Builder meta(@NotNull UnaryOperator<ItemMeta.@NotNull Builder> consumer);
|
@NotNull Builder meta(@NotNull Consumer<ItemMeta.@NotNull Builder> consumer);
|
||||||
|
|
||||||
@Contract(value = "_, _ -> this")
|
@Contract(value = "_, _ -> this")
|
||||||
<V extends ItemMetaView.Builder, T extends ItemMetaView<V>> @NotNull Builder meta(@NotNull Class<T> metaType, @NotNull Consumer<@NotNull V> itemMetaConsumer);
|
<V extends ItemMetaView.Builder, T extends ItemMetaView<V>> @NotNull Builder meta(@NotNull Class<T> metaType,
|
||||||
|
@NotNull Consumer<@NotNull V> itemMetaConsumer);
|
||||||
|
|
||||||
@Contract(value = "-> new", pure = true)
|
@Contract(value = "-> new", pure = true)
|
||||||
@NotNull ItemStack build();
|
@NotNull ItemStack build();
|
||||||
|
@ -11,7 +11,6 @@ import org.jglrxavpok.hephaistos.nbt.NBTString;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.UnaryOperator;
|
|
||||||
|
|
||||||
record ItemStackImpl(Material material, int amount, ItemMetaImpl meta) implements ItemStack {
|
record ItemStackImpl(Material material, int amount, ItemMetaImpl meta) implements ItemStack {
|
||||||
static final @NotNull StackingRule DEFAULT_STACKING_RULE;
|
static final @NotNull StackingRule DEFAULT_STACKING_RULE;
|
||||||
@ -45,21 +44,21 @@ record ItemStackImpl(Material material, int amount, ItemMetaImpl meta) implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ItemStack with(@NotNull Consumer<ItemStack.@NotNull Builder> builderConsumer) {
|
public @NotNull ItemStack with(@NotNull Consumer<ItemStack.@NotNull Builder> consumer) {
|
||||||
ItemStack.Builder builder = builder();
|
ItemStack.Builder builder = builder();
|
||||||
builderConsumer.accept(builder);
|
consumer.accept(builder);
|
||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull <V extends ItemMetaView.Builder, T extends ItemMetaView<V>> ItemStack withMeta(@NotNull Class<T> metaType,
|
public @NotNull <V extends ItemMetaView.Builder, T extends ItemMetaView<V>> ItemStack withMeta(@NotNull Class<T> metaType,
|
||||||
@NotNull Consumer<V> metaConsumer) {
|
@NotNull Consumer<V> consumer) {
|
||||||
return builder().meta(metaType, metaConsumer).build();
|
return builder().meta(metaType, consumer).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ItemStack withMeta(@NotNull UnaryOperator<ItemMeta.@NotNull Builder> metaOperator) {
|
public @NotNull ItemStack withMeta(@NotNull Consumer<ItemMeta.@NotNull Builder> consumer) {
|
||||||
return builder().meta(metaOperator).build();
|
return builder().meta(consumer).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -124,8 +123,8 @@ record ItemStackImpl(Material material, int amount, ItemMetaImpl meta) implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack.@NotNull Builder meta(@NotNull UnaryOperator<ItemMeta.Builder> consumer) {
|
public ItemStack.@NotNull Builder meta(@NotNull Consumer<ItemMeta.Builder> consumer) {
|
||||||
this.metaBuilder = (ItemMetaImpl.Builder) consumer.apply(metaBuilder);
|
consumer.accept(metaBuilder);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user