From a34930a310769fcc1d27e701806fb0b025c2cfe1 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 28 Aug 2022 16:36:46 +0700 Subject: [PATCH] Add missing methods to StripedColoredDecorativeBlock --- .../objects/StripedColoredDecorativeBlock.kt | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/objects/StripedColoredDecorativeBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/objects/StripedColoredDecorativeBlock.kt index 39608dc36..36be5eada 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/objects/StripedColoredDecorativeBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/objects/StripedColoredDecorativeBlock.kt @@ -25,9 +25,37 @@ class StripedColoredDecorativeBlock( private val mapItems = EnumMap>>(DyeColor::class.java) fun getBlockNullable(base: DyeColor, stripe: DyeColor): Block? { + if (!registeredBlocks) { + throw IllegalStateException("Not yet registered blocks") + } + return mapBlocks.get(base)?.get(stripe)?.get() } + fun getItemNullable(base: DyeColor, stripe: DyeColor): Item? { + if (!registeredItems) { + throw IllegalStateException("Not yet registered items") + } + + return mapItems.get(base)?.get(stripe)?.get() + } + + fun getBlock(base: DyeColor, stripe: DyeColor): Block { + if (!registeredBlocks) { + throw IllegalStateException("Not yet registered blocks") + } + + return mapBlocks.get(base)?.get(stripe)?.get() ?: throw NoSuchElementException("$base colored $stripe striped block does not exist") + } + + fun getItem(base: DyeColor, stripe: DyeColor): Item { + if (!registeredItems) { + throw IllegalStateException("Not yet registered items") + } + + return mapItems.get(base)?.get(stripe)?.get() ?: throw NoSuchElementException("$base colored $stripe striped item does not exist") + } + var registeredItems = false private set @@ -88,7 +116,7 @@ class StripedColoredDecorativeBlock( val mappedItems: Map> by lazy { if (!registeredItems) { - throw IllegalStateException("Not yet registered blocks") + throw IllegalStateException("Not yet registered items") } val builder = ImmutableMap.Builder>()