Directly build Art (#11813)

This commit is contained in:
Jake Potrebic
2024-12-27 16:07:48 -08:00
committed by GitHub
parent 33411ec0a1
commit 0629524cb2
7 changed files with 88 additions and 2 deletions

View File

@ -2,9 +2,14 @@ package org.bukkit;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import io.papermc.paper.registry.RegistryBuilderFactory;
import io.papermc.paper.registry.data.InlinedRegistryBuilderProvider;
import io.papermc.paper.registry.data.PaintingVariantRegistryEntry;
import java.util.Locale;
import java.util.function.Consumer;
import org.bukkit.packs.DataPack;
import org.bukkit.util.OldEnum;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ -18,6 +23,17 @@ import org.jetbrains.annotations.Nullable;
*/
public interface Art extends OldEnum<Art>, Keyed {
/**
* Create an inlined painting variant.
*
* @param value a consumer for the builder factory
* @return the created painting variant
*/
@ApiStatus.Experimental
static @NotNull Art create(final @NotNull Consumer<RegistryBuilderFactory<Art, ? extends PaintingVariantRegistryEntry.Builder>> value) {
return InlinedRegistryBuilderProvider.instance().createPaintingVariant(value);
}
Art KEBAB = getArt("kebab");
Art AZTEC = getArt("aztec");
Art ALBAN = getArt("alban");