Skip to content

Commit 76697be

Browse files
committed
chore: print warning if trying to color a non leather item
1 parent 070403b commit 76697be

File tree

4 files changed

+40
-1
lines changed

4 files changed

+40
-1
lines changed

src/main/kotlin/me/owdding/skyocean/commands/CustomizeCommand.kt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,18 @@ import me.owdding.skyocean.events.ArgumentCommandBuilder
1010
import me.owdding.skyocean.events.RegisterSkyOceanCommandEvent
1111
import me.owdding.skyocean.features.item.custom.CustomItems
1212
import me.owdding.skyocean.features.item.custom.CustomItems.getKey
13-
import me.owdding.skyocean.features.item.custom.data.*
13+
import me.owdding.skyocean.features.item.custom.data.AnimatedSkyBlockDye
14+
import me.owdding.skyocean.features.item.custom.data.AnimatedSkyblockSkin
15+
import me.owdding.skyocean.features.item.custom.data.ArmorTrim
16+
import me.owdding.skyocean.features.item.custom.data.CustomItemComponent
17+
import me.owdding.skyocean.features.item.custom.data.CustomItemDataComponents
18+
import me.owdding.skyocean.features.item.custom.data.GradientItemColor
19+
import me.owdding.skyocean.features.item.custom.data.IdKey
20+
import me.owdding.skyocean.features.item.custom.data.SkyBlockDye
21+
import me.owdding.skyocean.features.item.custom.data.SkyblockModel
22+
import me.owdding.skyocean.features.item.custom.data.SkyblockSkin
23+
import me.owdding.skyocean.features.item.custom.data.StaticItemColor
24+
import me.owdding.skyocean.features.item.custom.data.StaticModel
1425
import me.owdding.skyocean.features.item.custom.ui.standard.StandardCustomizationUi
1526
import me.owdding.skyocean.mixins.ModelManagerAccessor
1627
import me.owdding.skyocean.repo.customization.AnimatedSkulls
@@ -20,13 +31,15 @@ import me.owdding.skyocean.utils.Utils.get
2031
import me.owdding.skyocean.utils.Utils.getArgument
2132
import me.owdding.skyocean.utils.Utils.text
2233
import me.owdding.skyocean.utils.Utils.wrapWithNotItalic
34+
import me.owdding.skyocean.utils.chat.CatppuccinColors
2335
import me.owdding.skyocean.utils.chat.ChatUtils.sendWithPrefix
2436
import me.owdding.skyocean.utils.chat.OceanColors
2537
import me.owdding.skyocean.utils.commands.HexColorArgumentType
2638
import me.owdding.skyocean.utils.commands.SkyBlockIdArgument
2739
import me.owdding.skyocean.utils.commands.VirtualResourceArgument
2840
import me.owdding.skyocean.utils.components.TagComponentSerialization
2941
import me.owdding.skyocean.utils.extensions.copy
42+
import me.owdding.skyocean.utils.tags.ItemTagKey
3043
import net.minecraft.commands.arguments.ResourceKeyArgument
3144
import net.minecraft.core.registries.Registries
3245
import net.minecraft.network.chat.Component
@@ -213,7 +226,14 @@ object CustomizeCommand {
213226
val success = CustomItems.modify(item) {
214227
this[CustomItemDataComponents.COLOR] = StaticItemColor(color)
215228
}
229+
216230
if (success) {
231+
if (item !in ItemTagKey.DYEABLE) {
232+
text("Item might not support coloring!") {
233+
this.color = CatppuccinColors.Mocha.red
234+
}.sendWithPrefix()
235+
}
236+
217237
text("Successfully set color to ") {
218238
append("#${color.toString(16).padStart(6, '0')}") {
219239
this.color = color

src/main/kotlin/me/owdding/skyocean/features/item/custom/ui/standard/StandardCustomizationUi.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,16 @@ import earth.terrarium.olympus.client.components.buttons.Button
44
import me.owdding.skyocean.features.item.custom.CustomItems
55
import me.owdding.skyocean.features.item.custom.CustomItems.getKey
66
import me.owdding.skyocean.features.item.custom.CustomItems.getOrTryCreateCustomData
7+
import me.owdding.skyocean.utils.Utils.text
8+
import me.owdding.skyocean.utils.chat.CatppuccinColors
9+
import me.owdding.skyocean.utils.chat.ChatUtils.sendWithPrefix
710
import me.owdding.skyocean.utils.debugToggle
11+
import me.owdding.skyocean.utils.tags.ItemTagKey
812
import net.minecraft.sounds.SoundEvents
913
import net.minecraft.world.item.ItemStack
1014
import tech.thatgravyboat.skyblockapi.helpers.McClient
1115
import tech.thatgravyboat.skyblockapi.helpers.McScreen
16+
import tech.thatgravyboat.skyblockapi.utils.text.TextStyle.color
1217

1318
object StandardCustomizationUi {
1419

@@ -37,6 +42,11 @@ object StandardCustomizationUi {
3742
fun save(item: ItemStack, copy: ItemStack) {
3843
buttons.clear()
3944
val edited = CustomItems.staticMap[copy.getKey()] ?: return
45+
if (item !in ItemTagKey.DYEABLE) {
46+
text("Item might not support coloring!") {
47+
this.color = CatppuccinColors.Mocha.red
48+
}.sendWithPrefix()
49+
}
4050
item.getOrTryCreateCustomData()?.data?.apply {
4151
clear()
4252
putAll(edited.data)

src/main/kotlin/me/owdding/skyocean/utils/tags/ItemTagKey.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import tech.thatgravyboat.skyblockapi.impl.tagkey.ItemTagKey
99
enum class ItemTagKey(path: String) : ItemTagKey {
1010
HOTM_PERK_ITEMS("hotm_perk_items"),
1111
TRIM_PATTERS("trim_patterns"),
12+
DYEABLE("dyeable"),
1213
;
1314

1415
override val key: TagKey<Item> = TagKey.create(Registries.ITEM, SkyOcean.id(path))
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"values": [
3+
"minecraft:leather_chestplate",
4+
"minecraft:leather_leggings",
5+
"minecraft:leather_boots",
6+
"minecraft:leather_helmet"
7+
]
8+
}

0 commit comments

Comments
 (0)