mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-20 14:16:26 -04:00
Merge branch 'feat/tm-creative-tab' into 'main'
Add Technical Machines creative tab See merge request cable-mc/cobblemon!2443
This commit is contained in:
@@ -86,6 +86,7 @@
|
||||
- Make ride rotations less jittery in multiplayer.
|
||||
- Changes tm shelf discs to use textures instead of tinting and overlays to line up with item display
|
||||
- Blank TM can now be inserted into the Disc Shelf
|
||||
- Added TM creative tab
|
||||
- Recall animation now renders ball in hand with the player arm raised.
|
||||
- Made regional and Vivillon split-evo locations now mutually exclusive
|
||||
- Item evolutions now unlock **all** locked evolutions whose requirements are met instead of stopping after the first.
|
||||
|
||||
@@ -34,6 +34,7 @@ class ElementalType(
|
||||
val resourceLocation: ResourceLocation = ResourceLocation.fromNamespaceAndPath(Cobblemon.MODID, "ui/types.png"),
|
||||
val showdownId: String = ShowdownIdentifiable.REGEX.replace(name.lowercase(), ""),
|
||||
val typeGem: ResourceLocation = ResourceLocation.fromNamespaceAndPath(Cobblemon.MODID, showdownId + "_gem"),
|
||||
val order: Int = 1000
|
||||
) : ShowdownIdentifiable {
|
||||
|
||||
override fun showdownId(): String {
|
||||
|
||||
@@ -25,7 +25,8 @@ object ElementalTypes {
|
||||
hue = 0xE8E8DA,
|
||||
textureXMultiplier = 0,
|
||||
primaryColor = 0x8FA689,
|
||||
secondaryColor = 0xFFFBE2
|
||||
secondaryColor = 0xFFFBE2,
|
||||
order = 0
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -35,7 +36,8 @@ object ElementalTypes {
|
||||
hue = 0xFF6E21,
|
||||
textureXMultiplier = 1,
|
||||
primaryColor = 0xF92D2D,
|
||||
secondaryColor = 0xF99B1D
|
||||
secondaryColor = 0xF99B1D,
|
||||
order = 1
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -45,7 +47,8 @@ object ElementalTypes {
|
||||
hue = 0x3FA5FF,
|
||||
textureXMultiplier = 2,
|
||||
primaryColor = 0x377AF6,
|
||||
secondaryColor = 0x50DDF9
|
||||
secondaryColor = 0x50DDF9,
|
||||
order = 2
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -55,7 +58,8 @@ object ElementalTypes {
|
||||
hue = 0x62D14F,
|
||||
textureXMultiplier = 3,
|
||||
primaryColor = 0x0EAE95,
|
||||
secondaryColor = 0xC6F554
|
||||
secondaryColor = 0xC6F554,
|
||||
order = 3
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -65,7 +69,8 @@ object ElementalTypes {
|
||||
hue = 0xFFD314,
|
||||
textureXMultiplier = 4,
|
||||
primaryColor = 0xF7AB19,
|
||||
secondaryColor = 0xFFF257
|
||||
secondaryColor = 0xFFF257,
|
||||
order = 4
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -75,7 +80,8 @@ object ElementalTypes {
|
||||
hue = 0x54F2F2,
|
||||
textureXMultiplier = 5,
|
||||
primaryColor = 0x41BAED,
|
||||
secondaryColor = 0x91F4F9
|
||||
secondaryColor = 0x91F4F9,
|
||||
order = 5
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -85,7 +91,8 @@ object ElementalTypes {
|
||||
hue = 0xEF565D,
|
||||
textureXMultiplier = 6,
|
||||
primaryColor = 0xC8356B,
|
||||
secondaryColor = 0xF36A3F
|
||||
secondaryColor = 0xF36A3F,
|
||||
order = 6
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -95,7 +102,8 @@ object ElementalTypes {
|
||||
hue = 0xD651FF,
|
||||
textureXMultiplier = 7,
|
||||
primaryColor = 0x7B41DD,
|
||||
secondaryColor = 0xE568F4
|
||||
secondaryColor = 0xE568F4,
|
||||
order = 7
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -105,7 +113,8 @@ object ElementalTypes {
|
||||
hue = 0xF4A453,
|
||||
textureXMultiplier = 8,
|
||||
primaryColor = 0xE08835,
|
||||
secondaryColor = 0xFFD057
|
||||
secondaryColor = 0xFFD057,
|
||||
order = 8
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -115,7 +124,8 @@ object ElementalTypes {
|
||||
hue = 0xB8B2FF,
|
||||
textureXMultiplier = 9,
|
||||
primaryColor = 0x6083F6,
|
||||
secondaryColor = 0xD5CCFA
|
||||
secondaryColor = 0xD5CCFA,
|
||||
order = 9
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -125,7 +135,8 @@ object ElementalTypes {
|
||||
hue = 0xFF5E9E,
|
||||
textureXMultiplier = 10,
|
||||
primaryColor = 0xE553CE,
|
||||
secondaryColor = 0xF69DD5
|
||||
secondaryColor = 0xF69DD5,
|
||||
order = 10
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -135,7 +146,8 @@ object ElementalTypes {
|
||||
hue = 0xD3D319,
|
||||
textureXMultiplier = 11,
|
||||
primaryColor = 0x9FBE1B,
|
||||
secondaryColor = 0xE9FB5B
|
||||
secondaryColor = 0xE9FB5B,
|
||||
order = 11
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -145,7 +157,8 @@ object ElementalTypes {
|
||||
hue = 0xB7A16E,
|
||||
textureXMultiplier = 12,
|
||||
primaryColor = 0x9F814A,
|
||||
secondaryColor = 0xEECB7A
|
||||
secondaryColor = 0xEECB7A,
|
||||
order = 12
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -155,7 +168,8 @@ object ElementalTypes {
|
||||
hue = 0x9C80F7,
|
||||
textureXMultiplier = 13,
|
||||
primaryColor = 0x4F57DD,
|
||||
secondaryColor = 0xC182F1
|
||||
secondaryColor = 0xC182F1,
|
||||
order = 13
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -165,7 +179,8 @@ object ElementalTypes {
|
||||
hue = 0x7580FF,
|
||||
textureXMultiplier = 14,
|
||||
primaryColor = 0x4E68E2,
|
||||
secondaryColor = 0x47C7F7
|
||||
secondaryColor = 0x47C7F7,
|
||||
order = 14
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -175,7 +190,8 @@ object ElementalTypes {
|
||||
hue = 0x587DA0,
|
||||
textureXMultiplier = 15,
|
||||
primaryColor = 0x465B99,
|
||||
secondaryColor = 0x689EBF
|
||||
secondaryColor = 0x689EBF,
|
||||
order = 15
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -185,7 +201,8 @@ object ElementalTypes {
|
||||
hue = 0xABD1F4,
|
||||
textureXMultiplier = 16,
|
||||
primaryColor = 0x628CB9,
|
||||
secondaryColor = 0xD6F7F3
|
||||
secondaryColor = 0xD6F7F3,
|
||||
order = 16
|
||||
)
|
||||
|
||||
@JvmField
|
||||
@@ -195,18 +212,21 @@ object ElementalTypes {
|
||||
hue = 0xFF7FE5,
|
||||
textureXMultiplier = 17,
|
||||
primaryColor = 0xE2678C,
|
||||
secondaryColor = 0xF5A7B7
|
||||
secondaryColor = 0xF5A7B7,
|
||||
order = 17
|
||||
)
|
||||
|
||||
@JvmStatic
|
||||
fun register(name: String, displayName: MutableComponent, hue: Int, textureXMultiplier: Int, primaryColor: Int, secondaryColor: Int): ElementalType {
|
||||
@JvmOverloads
|
||||
fun register(name: String, displayName: MutableComponent, hue: Int, textureXMultiplier: Int, primaryColor: Int, secondaryColor: Int, order: Int = 1000): ElementalType {
|
||||
return ElementalType(
|
||||
name = name,
|
||||
displayName = displayName,
|
||||
hue = hue,
|
||||
textureXMultiplier = textureXMultiplier,
|
||||
primaryColor = primaryColor,
|
||||
secondaryColor = secondaryColor
|
||||
secondaryColor = secondaryColor,
|
||||
order = order
|
||||
).also {
|
||||
allTypes.add(it)
|
||||
}
|
||||
|
||||
+125
-36
@@ -12,9 +12,11 @@ import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.CobblemonItemComponents
|
||||
import com.cobblemon.mod.common.CobblemonItems
|
||||
import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.api.tms.TechnicalMachines
|
||||
import com.cobblemon.mod.common.block.TypeGemClusterBlock
|
||||
import com.cobblemon.mod.common.item.AprijuiceItem
|
||||
import com.cobblemon.mod.common.item.components.RideBoostsComponent
|
||||
import com.cobblemon.mod.common.item.components.TMMoveComponent
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.core.component.DataComponents
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
@@ -40,44 +42,111 @@ object CobblemonItemGroups {
|
||||
private val ALL = arrayListOf<ItemGroupHolder>()
|
||||
private val INJECTORS = hashMapOf<ResourceKey<CreativeModeTab>, (injector: Injector) -> Unit>()
|
||||
|
||||
@JvmStatic val BLOCKS_KEY = this.create("blocks", this::blockEntries) {
|
||||
@JvmStatic
|
||||
val BLOCKS_KEY = this.create("blocks", this::blockEntries) {
|
||||
ItemStack(CobblemonItems.PC)
|
||||
}
|
||||
@JvmStatic val UTILITY_ITEMS_KEY = this.create("utility_item", this::utilityItemEntries) {
|
||||
@JvmStatic
|
||||
val UTILITY_ITEMS_KEY = this.create("utility_item", this::utilityItemEntries) {
|
||||
ItemStack(CobblemonItems.POKE_BALL)
|
||||
}
|
||||
@JvmStatic val AGRICULTURE_KEY = this.create("agriculture", this::agricultureEntries) {
|
||||
@JvmStatic
|
||||
val AGRICULTURE_KEY = this.create("agriculture", this::agricultureEntries) {
|
||||
ItemStack(CobblemonItems.MEDICINAL_LEEK)
|
||||
}
|
||||
@JvmStatic val ARCHAEOLOGY_KEY = this.create("archaeology", this::archaeologyEntries) {
|
||||
@JvmStatic
|
||||
val ARCHAEOLOGY_KEY = this.create("archaeology", this::archaeologyEntries) {
|
||||
ItemStack(CobblemonItems.HELIX_FOSSIL)
|
||||
}
|
||||
@JvmStatic val CONSUMABLES_KEY = this.create("consumables", this::consumableEntries) {
|
||||
@JvmStatic
|
||||
val CONSUMABLES_KEY = this.create("consumables", this::consumableEntries) {
|
||||
ItemStack(CobblemonItems.ROASTED_LEEK)
|
||||
}
|
||||
@JvmStatic val HELD_ITEMS_KEY = this.create("held_item", this::heldItemEntries) {
|
||||
@JvmStatic
|
||||
val HELD_ITEMS_KEY = this.create("held_item", this::heldItemEntries) {
|
||||
ItemStack(CobblemonItems.EXP_SHARE)
|
||||
}
|
||||
@JvmStatic val EVOLUTION_ITEMS_KEY = this.create("evolution_item", this::evolutionItemEntries) {
|
||||
@JvmStatic
|
||||
val EVOLUTION_ITEMS_KEY = this.create("evolution_item", this::evolutionItemEntries) {
|
||||
ItemStack(CobblemonItems.BLACK_AUGURITE)
|
||||
}
|
||||
|
||||
@JvmStatic val BLOCKS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(BLOCKS_KEY)
|
||||
@JvmStatic val UTILITY_ITEMS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(UTILITY_ITEMS_KEY)
|
||||
@JvmStatic val AGRICULTURE get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(AGRICULTURE_KEY)
|
||||
@JvmStatic val ARCHAEOLOGY get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(ARCHAEOLOGY_KEY)
|
||||
@JvmStatic val CONSUMABLES get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(CONSUMABLES_KEY)
|
||||
@JvmStatic val HELD_ITEMS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(HELD_ITEMS_KEY)
|
||||
@JvmStatic val EVOLUTION_ITEMS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(EVOLUTION_ITEMS_KEY)
|
||||
@JvmStatic
|
||||
val TM_ITEMS_KEY = this.create("tm_item", this::tmItemEntries) {
|
||||
ItemStack(CobblemonItems.BLANK_TM)
|
||||
}
|
||||
|
||||
@JvmStatic val BUILDING_BLOCKS_INJECTIONS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("building_blocks")), this::blocksInjections)
|
||||
@JvmStatic val COLORED_BLOCKS_INJECTIONS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("colored_blocks")), this::coloredBlocksInjections)
|
||||
@JvmStatic val FUNCTIONAL_BLOCKS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("functional_blocks")), this::functionalBlocksInjections)
|
||||
@JvmStatic val REDSTONE_BLOCKS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("redstone_blocks")), this::redstoneBlocksInjections)
|
||||
@JvmStatic val FOOD_INJECTIONS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("food_and_drinks")), this::foodInjections)
|
||||
@JvmStatic val TOOLS_AND_UTILITIES_INJECTIONS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("tools_and_utilities")), this::toolsAndUtilitiesInjections)
|
||||
@JvmStatic val INGREDIENTS_INJECTIONS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("ingredients")), this::ingredientsInjections)
|
||||
@JvmStatic val OP_BLOCKS_INJECTIONS = this.inject(ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("op_blocks")), this::opBlocksInjections)
|
||||
@JvmStatic
|
||||
val BLOCKS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(BLOCKS_KEY)
|
||||
@JvmStatic
|
||||
val UTILITY_ITEMS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(UTILITY_ITEMS_KEY)
|
||||
@JvmStatic
|
||||
val AGRICULTURE get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(AGRICULTURE_KEY)
|
||||
@JvmStatic
|
||||
val ARCHAEOLOGY get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(ARCHAEOLOGY_KEY)
|
||||
@JvmStatic
|
||||
val CONSUMABLES get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(CONSUMABLES_KEY)
|
||||
@JvmStatic
|
||||
val HELD_ITEMS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(HELD_ITEMS_KEY)
|
||||
@JvmStatic
|
||||
val EVOLUTION_ITEMS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(EVOLUTION_ITEMS_KEY)
|
||||
@JvmStatic
|
||||
val TM_ITEMS get() = BuiltInRegistries.CREATIVE_MODE_TAB.get(TM_ITEMS_KEY)
|
||||
|
||||
@JvmStatic
|
||||
val BUILDING_BLOCKS_INJECTIONS = this.inject(
|
||||
ResourceKey.create(
|
||||
BuiltInRegistries.CREATIVE_MODE_TAB.key(),
|
||||
ResourceLocation.parse("building_blocks")
|
||||
), this::blocksInjections
|
||||
)
|
||||
@JvmStatic
|
||||
val COLORED_BLOCKS_INJECTIONS = this.inject(
|
||||
ResourceKey.create(
|
||||
BuiltInRegistries.CREATIVE_MODE_TAB.key(),
|
||||
ResourceLocation.parse("colored_blocks")
|
||||
), this::coloredBlocksInjections
|
||||
)
|
||||
@JvmStatic
|
||||
val FUNCTIONAL_BLOCKS = this.inject(
|
||||
ResourceKey.create(
|
||||
BuiltInRegistries.CREATIVE_MODE_TAB.key(),
|
||||
ResourceLocation.parse("functional_blocks")
|
||||
), this::functionalBlocksInjections
|
||||
)
|
||||
@JvmStatic
|
||||
val REDSTONE_BLOCKS = this.inject(
|
||||
ResourceKey.create(
|
||||
BuiltInRegistries.CREATIVE_MODE_TAB.key(),
|
||||
ResourceLocation.parse("redstone_blocks")
|
||||
), this::redstoneBlocksInjections
|
||||
)
|
||||
@JvmStatic
|
||||
val FOOD_INJECTIONS = this.inject(
|
||||
ResourceKey.create(
|
||||
BuiltInRegistries.CREATIVE_MODE_TAB.key(),
|
||||
ResourceLocation.parse("food_and_drinks")
|
||||
), this::foodInjections
|
||||
)
|
||||
@JvmStatic
|
||||
val TOOLS_AND_UTILITIES_INJECTIONS = this.inject(
|
||||
ResourceKey.create(
|
||||
BuiltInRegistries.CREATIVE_MODE_TAB.key(),
|
||||
ResourceLocation.parse("tools_and_utilities")
|
||||
), this::toolsAndUtilitiesInjections
|
||||
)
|
||||
@JvmStatic
|
||||
val INGREDIENTS_INJECTIONS = this.inject(
|
||||
ResourceKey.create(
|
||||
BuiltInRegistries.CREATIVE_MODE_TAB.key(),
|
||||
ResourceLocation.parse("ingredients")
|
||||
), this::ingredientsInjections
|
||||
)
|
||||
@JvmStatic
|
||||
val OP_BLOCKS_INJECTIONS = this.inject(
|
||||
ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), ResourceLocation.parse("op_blocks")),
|
||||
this::opBlocksInjections
|
||||
)
|
||||
|
||||
fun register(consumer: (holder: ItemGroupHolder) -> CreativeModeTab) {
|
||||
ALL.forEach(consumer::invoke)
|
||||
@@ -96,13 +165,20 @@ object CobblemonItemGroups {
|
||||
val displayName: Component = Component.translatable("itemGroup.${key.location().namespace}.${key.location().path}")
|
||||
)
|
||||
|
||||
private fun create(name: String, entryCollector: DisplayItemsGenerator, displayIconProvider: () -> ItemStack): ResourceKey<CreativeModeTab> {
|
||||
private fun create(
|
||||
name: String,
|
||||
entryCollector: DisplayItemsGenerator,
|
||||
displayIconProvider: () -> ItemStack
|
||||
): ResourceKey<CreativeModeTab> {
|
||||
val key = ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), cobblemonResource(name))
|
||||
this.ALL += ItemGroupHolder(key, displayIconProvider, entryCollector)
|
||||
return key
|
||||
}
|
||||
|
||||
private fun inject(key: ResourceKey<CreativeModeTab>, consumer: (injector: Injector) -> Unit): (injector: Injector) -> Unit {
|
||||
private fun inject(
|
||||
key: ResourceKey<CreativeModeTab>,
|
||||
consumer: (injector: Injector) -> Unit
|
||||
): (injector: Injector) -> Unit {
|
||||
this.INJECTORS[key] = consumer
|
||||
return consumer
|
||||
}
|
||||
@@ -631,8 +707,6 @@ object CobblemonItemGroups {
|
||||
entries.accept(CobblemonItems.ABILITY_CAPSULE)
|
||||
entries.accept(CobblemonItems.ABILITY_PATCH)
|
||||
|
||||
entries.accept(CobblemonItems.BLANK_TM)
|
||||
|
||||
entries.accept(CobblemonItems.POKE_BAIT)
|
||||
entries.accept(CobblemonItems.POKE_SNACK)
|
||||
entries.accept(CobblemonItems.POKE_CAKE)
|
||||
@@ -649,15 +723,17 @@ object CobblemonItemGroups {
|
||||
|
||||
private fun defaultAprijuice(item: AprijuiceItem): ItemStack {
|
||||
return ItemStack(item).apply {
|
||||
this.set(CobblemonItemComponents.RIDE_BOOST, RideBoostsComponent(
|
||||
mapOf(
|
||||
RidingStat.ACCELERATION to 1,
|
||||
RidingStat.JUMP to 1,
|
||||
RidingStat.SPEED to 1,
|
||||
RidingStat.STAMINA to 1,
|
||||
RidingStat.SKILL to 1
|
||||
this.set(
|
||||
CobblemonItemComponents.RIDE_BOOST, RideBoostsComponent(
|
||||
mapOf(
|
||||
RidingStat.ACCELERATION to 1,
|
||||
RidingStat.JUMP to 1,
|
||||
RidingStat.SPEED to 1,
|
||||
RidingStat.STAMINA to 1,
|
||||
RidingStat.SKILL to 1
|
||||
)
|
||||
)
|
||||
))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -848,6 +924,16 @@ object CobblemonItemGroups {
|
||||
entries.accept(CobblemonItems.PSYCHIC_SEED)
|
||||
}
|
||||
|
||||
private fun tmItemEntries(displayContext: ItemDisplayParameters, entries: Output) {
|
||||
entries.accept(CobblemonItems.BLANK_TM)
|
||||
TechnicalMachines
|
||||
.tmMap
|
||||
.entries
|
||||
.sortedBy { it.value.moveName.name }
|
||||
.sortedBy { it.value.moveName.elementalType.order }
|
||||
.forEach { entries.accept(TMMoveComponent.createStack(it.value.moveName)) }
|
||||
}
|
||||
|
||||
private fun utilityItemEntries(displayContext: ItemDisplayParameters, entries: Output) {
|
||||
CobblemonItems.pokeBalls.forEach(entries::accept)
|
||||
CobblemonItems.pokeRods.forEach(entries::accept)
|
||||
@@ -855,7 +941,7 @@ object CobblemonItemGroups {
|
||||
}
|
||||
|
||||
private fun blocksInjections(injector: Injector) {
|
||||
if(Cobblemon.implementation.isModInstalled("adorn")) { //adorn modifies vanilla block tab and if we don't follow suit we crash the game
|
||||
if (Cobblemon.implementation.isModInstalled("adorn")) { //adorn modifies vanilla block tab and if we don't follow suit we crash the game
|
||||
injector.putLast(CobblemonItems.APRICORN_LOG)
|
||||
injector.putLast(CobblemonItems.APRICORN_WOOD)
|
||||
injector.putLast(CobblemonItems.STRIPPED_APRICORN_LOG)
|
||||
@@ -974,7 +1060,10 @@ object CobblemonItemGroups {
|
||||
injector.putAfter(CobblemonItems.NOSTALGIC_SHERD, CobblemonItems.HELIX_SHERD)
|
||||
injector.putAfter(CobblemonItems.SUSPICIOUS_SHERD, CobblemonItems.NOSTALGIC_SHERD)
|
||||
|
||||
injector.putAfter(CobblemonItems.AUTOMATON_ARMOR_TRIM_SMITHING_TEMPLATE, Items.SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE)
|
||||
injector.putAfter(
|
||||
CobblemonItems.AUTOMATON_ARMOR_TRIM_SMITHING_TEMPLATE,
|
||||
Items.SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE
|
||||
)
|
||||
injector.putAfter(CobblemonItems.POKEROD_SMITHING_TEMPLATE, Items.NETHERITE_UPGRADE_SMITHING_TEMPLATE)
|
||||
}
|
||||
|
||||
|
||||
@@ -855,6 +855,7 @@
|
||||
"itemGroup.cobblemon.held_item": "Cobblemon: Held Items",
|
||||
"itemGroup.cobblemon.evolution_item": "Cobblemon: Evolution Items",
|
||||
"itemGroup.cobblemon.archaeology": "Cobblemon: Archaeology",
|
||||
"itemGroup.cobblemon.tm_item": "Cobblemon: Technical Machines",
|
||||
"block.cobblemon.black_apricorn": "Black Apricorn",
|
||||
"block.cobblemon.blue_apricorn": "Blue Apricorn",
|
||||
"block.cobblemon.green_apricorn": "Green Apricorn",
|
||||
|
||||
Reference in New Issue
Block a user