From 6806edef92c23ca33f87ef057da64527a13d70ab Mon Sep 17 00:00:00 2001 From: PanSzelescik Date: Wed, 28 Aug 2024 16:30:41 +0200 Subject: [PATCH] Add some methods --- .../panszelescik/colorize/common/api/Colors.java | 8 ++++++++ .../colorize/common/api/RightClicker2BlockMap.java | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/common/src/main/java/pl/panszelescik/colorize/common/api/Colors.java b/common/src/main/java/pl/panszelescik/colorize/common/api/Colors.java index 8c34ba0..c8eab4e 100644 --- a/common/src/main/java/pl/panszelescik/colorize/common/api/Colors.java +++ b/common/src/main/java/pl/panszelescik/colorize/common/api/Colors.java @@ -37,6 +37,14 @@ public enum Colors { this.dyeColor = dyeColor; } + public @NotNull String getName() { + var dyeColor = this.getDyeColor(); + if (dyeColor == null) { + return ""; + } + return dyeColor.getName(); + } + public @Nullable DyeColor getDyeColor() { return this.dyeColor; } diff --git a/common/src/main/java/pl/panszelescik/colorize/common/api/RightClicker2BlockMap.java b/common/src/main/java/pl/panszelescik/colorize/common/api/RightClicker2BlockMap.java index 6363d42..aded5ab 100644 --- a/common/src/main/java/pl/panszelescik/colorize/common/api/RightClicker2BlockMap.java +++ b/common/src/main/java/pl/panszelescik/colorize/common/api/RightClicker2BlockMap.java @@ -3,6 +3,8 @@ import it.unimi.dsi.fastutil.objects.Object2ObjectMap; import it.unimi.dsi.fastutil.objects.Object2ObjectMaps; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -10,6 +12,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Unmodifiable; +import java.util.Optional; + public class RightClicker2BlockMap extends Object2ObjectOpenHashMap { public RightClicker2BlockMap(int expected) { @@ -35,6 +39,16 @@ public RightClicker2BlockMap(int expected) { return block; } + public @NotNull Optional put(@NotNull Colors color, @NotNull ResourceLocation resourceLocation) { + var block = BuiltInRegistries.BLOCK.getOptional(resourceLocation); + if (block.isEmpty()) { + return block; + } + + this.put(RightClicker.of(color), block.get()); + return block; + } + public @NotNull @Unmodifiable Object2ObjectMap freeze() { return Object2ObjectMaps.unmodifiable(this); }