tags for armors/tools

+ forge tag appender fix
This commit is contained in:
YuRaNnNzZZ 2023-02-25 20:23:15 +03:00
parent 2ab3ccdf02
commit 3530c60e15
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D
2 changed files with 20 additions and 6 deletions

View File

@ -88,6 +88,20 @@ fun addTags(tagsProvider: TagsProvider) {
tagsProvider.items.appender(MItemTags.TRITANIUM_NUGGETS).add(MItems.TRITANIUM_NUGGET) tagsProvider.items.appender(MItemTags.TRITANIUM_NUGGETS).add(MItems.TRITANIUM_NUGGET)
tagsProvider.items.appender(MItemTags.NUGGETS).add(MItems.TRITANIUM_NUGGET) tagsProvider.items.appender(MItemTags.NUGGETS).add(MItems.TRITANIUM_NUGGET)
tagsProvider.items.forge("armors")
.add("helmets", MItems.TRITANIUM_HELMET)
.add("chestplates", MItems.TRITANIUM_CHESTPLATE)
.add("leggings", MItems.TRITANIUM_PANTS)
.add("boots", MItems.TRITANIUM_BOOTS)
tagsProvider.items.forge("tools")
.add("swords", MItems.TRITANIUM_SWORD)
.add("axes", MItems.TRITANIUM_AXE)
.add("pickaxes", MItems.TRITANIUM_PICKAXE)
.add("shovels", MItems.TRITANIUM_SHOVEL)
.add("hoes", MItems.TRITANIUM_HOE)
.add("shields", MItems.TRITANIUM_SHIELD)
tagsProvider.items.forge("shears").add(MItems.TRITANIUM_SHEARS)
tagsProvider.blocks.appender(BlockTags.STAIRS) tagsProvider.blocks.appender(BlockTags.STAIRS)
.add(MRegistry.FLOOR_TILES_STAIRS.blocks.values) .add(MRegistry.FLOOR_TILES_STAIRS.blocks.values)
.add(MRegistry.TRITANIUM_STAIRS.allBlocks.values) .add(MRegistry.TRITANIUM_STAIRS.allBlocks.values)

View File

@ -43,16 +43,16 @@ interface MTagAppender<T> {
} }
interface ForgeTagAppender<T> : MTagAppender<T> { interface ForgeTagAppender<T> : MTagAppender<T> {
fun add(key: String, value: T): MTagAppender<T> fun add(key: String, value: T): ForgeTagAppender<T>
fun addSafe(key: String, value: T): Boolean fun addSafe(key: String, value: T): Boolean
fun add(key: String, vararg values: T): MTagAppender<T> fun add(key: String, vararg values: T): ForgeTagAppender<T>
fun addSafe(key: String, vararg values: T): Boolean { fun addSafe(key: String, vararg values: T): Boolean {
var any = false var any = false
for (value in values) any = addSafe(key, value) for (value in values) any = addSafe(key, value)
return any return any
} }
fun add(key: String, values: Collection<T>): MTagAppender<T> fun add(key: String, values: Collection<T>): ForgeTagAppender<T>
fun addSafe(key: String, values: Collection<T>): Boolean { fun addSafe(key: String, values: Collection<T>): Boolean {
var any = false var any = false
@ -131,7 +131,7 @@ class TagsProvider(
val parent by lazy { appender(ResourceLocation("forge", path)) } val parent by lazy { appender(ResourceLocation("forge", path)) }
return object : ForgeTagAppender<T> { return object : ForgeTagAppender<T> {
override fun add(key: String, value: T): MTagAppender<T> { override fun add(key: String, value: T): ForgeTagAppender<T> {
val tag = TagKey.create(registryKey, ResourceLocation("forge", "$path/$key")) val tag = TagKey.create(registryKey, ResourceLocation("forge", "$path/$key"))
if (!getSet(tag).add(value)) { if (!getSet(tag).add(value)) {
@ -146,12 +146,12 @@ class TagsProvider(
return getSet(tag).add(value) return getSet(tag).add(value)
} }
override fun add(key: String, vararg values: T): MTagAppender<T> { override fun add(key: String, vararg values: T): ForgeTagAppender<T> {
for (value in values) add(key, value) for (value in values) add(key, value)
return this return this
} }
override fun add(key: String, values: Collection<T>): MTagAppender<T> { override fun add(key: String, values: Collection<T>): ForgeTagAppender<T> {
for (value in values) add(key, value) for (value in values) add(key, value)
return this return this
} }