Lab lamp recipe, hardened glass tags
This commit is contained in:
parent
b1e0fce1fa
commit
2e86f2b599
@ -31,6 +31,7 @@ import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.loot.addLootModifiers
|
||||
import ru.dbotthepony.mc.otm.datagen.loot.addLootTables
|
||||
import ru.dbotthepony.mc.otm.datagen.models.MatteryModelBuilder
|
||||
import ru.dbotthepony.mc.otm.datagen.recipes.addBlastingRecipes
|
||||
import ru.dbotthepony.mc.otm.datagen.recipes.addCraftingTableRecipes
|
||||
import ru.dbotthepony.mc.otm.datagen.recipes.addDecorativesRecipes
|
||||
import ru.dbotthepony.mc.otm.datagen.recipes.addPlatePressRecipes
|
||||
@ -269,6 +270,7 @@ object DataGen {
|
||||
|
||||
recipeProvider.exec { _, consumer ->
|
||||
addCraftingTableRecipes(consumer)
|
||||
addBlastingRecipes(consumer)
|
||||
addDecorativesRecipes(recipeProvider, consumer)
|
||||
}
|
||||
|
||||
|
@ -339,6 +339,7 @@ private fun blocks(provider: MatteryLanguageProvider) {
|
||||
add(MBlocks.PHANTOM_ATTRACTOR, "desc2", "Requires no power to operate")
|
||||
|
||||
add(MBlocks.LABORATORY_LAMP, "Laboratory Lamp")
|
||||
add(MBlocks.LABORATORY_LAMP, "description", "Provides directional light with redstone switch")
|
||||
add(MBlocks.LABORATORY_LAMP_INVERTED, "Laboratory Lamp (Inverted Signal)")
|
||||
add(MBlocks.DANGER_STRIPE_BLOCK, "Danger Stripes")
|
||||
add(MBlocks.METAL_BEAM, "Metal Beam")
|
||||
@ -401,6 +402,9 @@ private fun items(provider: MatteryLanguageProvider) {
|
||||
add(MItems.ADVANCED_CONTROL_CIRCUIT, "Advanced Control Circuit")
|
||||
add(MItems.QUANTUM_TRANSCEIVER, "Quantum Transceiver")
|
||||
add(MItems.ELECTROMAGNET, "Electromagnet")
|
||||
add(MItems.MIRROR_COMPOUND, "Mirror Compound")
|
||||
add(MItems.MIRROR, "Mirror")
|
||||
add(MItems.MIRROR, "description", "You can clearly see your reflection in this thing")
|
||||
|
||||
add(MItems.GRAVITATIONAL_DISRUPTOR, "Gravitational Disruptor")
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.recipes
|
||||
|
||||
import net.minecraft.data.recipes.FinishedRecipe
|
||||
import net.minecraft.data.recipes.SimpleCookingRecipeBuilder
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import java.util.function.Consumer
|
||||
|
||||
fun addBlastingRecipes(consumer: Consumer<FinishedRecipe>) {
|
||||
SimpleCookingRecipeBuilder.blasting(Ingredient.of(MItems.MIRROR_COMPOUND), MItems.MIRROR, 0.1f, 100).unlockedBy(MItems.MIRROR_COMPOUND).save(consumer)
|
||||
}
|
@ -155,7 +155,14 @@ fun addCraftingTableRecipes(consumer: Consumer<FinishedRecipe>) {
|
||||
MatteryRecipe(MItems.ENERGY_SERVO)
|
||||
.row(MItemTags.TRITANIUM_PLATES, MItems.MACHINE_FRAME, MItemTags.TRITANIUM_PLATES)
|
||||
.row(MItemTags.TRITANIUM_PLATES, MItems.ENERGY_BUS, MItemTags.TRITANIUM_PLATES)
|
||||
.unlockedBy(Tags.Items.ENDER_PEARLS)
|
||||
.unlockedBy(MItems.ENERGY_BUS)
|
||||
.build(consumer)
|
||||
|
||||
MatteryRecipe(MItems.MIRROR_COMPOUND, 3)
|
||||
.row(Tags.Items.GLASS_PANES_COLORLESS, Tags.Items.GLASS_PANES_COLORLESS, Tags.Items.GLASS_PANES_COLORLESS)
|
||||
.row(MItemTags.IRON_PLATES, MItemTags.IRON_PLATES, MItemTags.IRON_PLATES)
|
||||
.unlockedBy(MItemTags.IRON_PLATES)
|
||||
.unlockedBy(Tags.Items.GLASS_PANES_COLORLESS)
|
||||
.build(consumer)
|
||||
|
||||
// броня
|
||||
@ -237,4 +244,10 @@ fun addCraftingTableRecipes(consumer: Consumer<FinishedRecipe>) {
|
||||
.row(MItems.BATTERY_CAPACITOR, MItems.TRITANIUM_SWORD, MItemTags.ADVANCED_CIRCUIT)
|
||||
.unlockedBy(MItems.BATTERY_CAPACITOR)
|
||||
.buildEnergetic(consumer)
|
||||
|
||||
MatteryRecipe(MItems.LABORATORY_LAMP)
|
||||
.row(MItemTags.IRON_PLATES, MItemTags.HARDENED_GLASS_PANES_COLORLESS, MItemTags.IRON_PLATES)
|
||||
.row(MItems.MIRROR, Items.GLOWSTONE, MItems.MIRROR)
|
||||
.row(MItemTags.TRITANIUM_PLATES, Tags.Items.DUSTS_REDSTONE, MItemTags.TRITANIUM_PLATES)
|
||||
.build(consumer)
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package ru.dbotthepony.mc.otm.datagen.recipes
|
||||
|
||||
import net.minecraft.advancements.CriterionTriggerInstance
|
||||
import net.minecraft.data.recipes.FinishedRecipe
|
||||
import net.minecraft.data.recipes.RecipeBuilder
|
||||
import net.minecraft.data.recipes.ShapedRecipeBuilder
|
||||
import net.minecraft.data.recipes.ShapelessRecipeBuilder
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
@ -49,15 +50,6 @@ private data class RecipeRow(
|
||||
val c: RecipeCell?,
|
||||
)
|
||||
|
||||
fun ShapelessRecipeBuilder.unlockedBy(item: ItemLike): ShapelessRecipeBuilder {
|
||||
val location = item.asItem().registryName!!
|
||||
return unlockedBy("has_${location.namespace}_${location.path}", has(item))
|
||||
}
|
||||
|
||||
fun ShapelessRecipeBuilder.unlockedBy(item: TagKey<Item>): ShapelessRecipeBuilder {
|
||||
return unlockedBy("has_${item.location.namespace}_${item.location.path}", has(item))
|
||||
}
|
||||
|
||||
/**
|
||||
* [ShapedRecipeBuilder] that doesn't suck
|
||||
*/
|
||||
|
@ -6,12 +6,14 @@ import net.minecraft.advancements.critereon.ItemPredicate
|
||||
import net.minecraft.advancements.critereon.MinMaxBounds
|
||||
import net.minecraft.data.DataGenerator
|
||||
import net.minecraft.data.recipes.FinishedRecipe
|
||||
import net.minecraft.data.recipes.RecipeBuilder
|
||||
import net.minecraft.data.recipes.RecipeProvider
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.tags.TagKey
|
||||
import net.minecraft.world.item.Item
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.minecraft.world.level.ItemLike
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||
import ru.dbotthepony.mc.otm.recipe.PlatePressRecipe
|
||||
import java.util.LinkedList
|
||||
@ -41,6 +43,15 @@ fun inventoryTrigger(vararg p_126012_: ItemPredicate): InventoryChangeTrigger.Tr
|
||||
)
|
||||
}
|
||||
|
||||
fun RecipeBuilder.unlockedBy(item: ItemLike): RecipeBuilder {
|
||||
val location = item.asItem().registryName!!
|
||||
return unlockedBy("has_${location.namespace}_${location.path}", has(item))
|
||||
}
|
||||
|
||||
fun RecipeBuilder.unlockedBy(item: TagKey<Item>): RecipeBuilder {
|
||||
return unlockedBy("has_${item.location.namespace}_${item.location.path}", has(item))
|
||||
}
|
||||
|
||||
class MatteryRecipeProvider(generatorIn: DataGenerator) : RecipeProvider(generatorIn) {
|
||||
private val callbacks = LinkedList<RecipeBuilderCallback>()
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.tags
|
||||
|
||||
import net.minecraft.world.effect.MobEffects
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.Tiers
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
@ -31,6 +32,28 @@ fun addTags(tagsProvider: TagsProvider) {
|
||||
MBlocks.STORAGE_CABLE
|
||||
)
|
||||
|
||||
tagsProvider.items.forge("hardened_glass").add(MRegistry.INDUSTRIAL_GLASS.allItems.values)
|
||||
tagsProvider.items.forge("hardened_glass/colorless").add(MRegistry.INDUSTRIAL_GLASS.item)
|
||||
tagsProvider.items.forge("hardened_glass/tinted").add(MRegistry.INDUSTRIAL_GLASS.items.values)
|
||||
|
||||
tagsProvider.items.forge("hardened_glass_panes").add(MRegistry.INDUSTRIAL_GLASS_PANE.allItems.values)
|
||||
tagsProvider.items.forge("hardened_glass_panes/colorless").add(MRegistry.INDUSTRIAL_GLASS_PANE.item)
|
||||
tagsProvider.items.forge("hardened_glass_panes/tinted").add(MRegistry.INDUSTRIAL_GLASS_PANE.items.values)
|
||||
|
||||
MRegistry.INDUSTRIAL_GLASS.forEachItem { s, _, item -> tagsProvider.items.forge("hardened_glass/$s").add(item) }
|
||||
MRegistry.INDUSTRIAL_GLASS_PANE.forEachItem { s, _, item -> tagsProvider.items.forge("hardened_glass_panes/$s").add(item) }
|
||||
|
||||
tagsProvider.blocks.forge("hardened_glass").add(MRegistry.INDUSTRIAL_GLASS.allBlocks.values)
|
||||
tagsProvider.blocks.forge("hardened_glass/colorless").add(MRegistry.INDUSTRIAL_GLASS.block)
|
||||
tagsProvider.blocks.forge("hardened_glass/tinted").add(MRegistry.INDUSTRIAL_GLASS.blocks.values)
|
||||
|
||||
tagsProvider.blocks.forge("hardened_glass_panes").add(MRegistry.INDUSTRIAL_GLASS_PANE.allBlocks.values)
|
||||
tagsProvider.blocks.forge("hardened_glass_panes/colorless").add(MRegistry.INDUSTRIAL_GLASS_PANE.block)
|
||||
tagsProvider.blocks.forge("hardened_glass_panes/tinted").add(MRegistry.INDUSTRIAL_GLASS_PANE.blocks.values)
|
||||
|
||||
MRegistry.INDUSTRIAL_GLASS.forEachBlock { s, _, block -> tagsProvider.blocks.forge("hardened_glass/$s").add(block) }
|
||||
MRegistry.INDUSTRIAL_GLASS_PANE.forEachBlock { s, _, block -> tagsProvider.blocks.forge("hardened_glass_panes/$s").add(block) }
|
||||
|
||||
tagsProvider.requiresPickaxe(listOf(
|
||||
MBlocks.ANDROID_STATION,
|
||||
MBlocks.BATTERY_BANK,
|
||||
|
@ -82,7 +82,11 @@ object ServerConfig {
|
||||
|
||||
init {
|
||||
specBuilder.comment("Serverside config, holds shared values that are required to be read by both client and server.").push("server")
|
||||
}
|
||||
|
||||
val LABORATORY_LAMP_LIGHT_LENGTH: Int by specBuilder.comment("In blocks").defineInRange("laboratoryLampLightLength", 3, 1, 128)
|
||||
|
||||
init {
|
||||
specBuilder.comment("Energy batteries balance values").push("energyBatteries")
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,11 @@
|
||||
package ru.dbotthepony.mc.otm.block
|
||||
|
||||
import net.minecraft.ChatFormatting
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.TooltipFlag
|
||||
import net.minecraft.world.item.context.BlockPlaceContext
|
||||
import net.minecraft.world.level.BlockGetter
|
||||
import net.minecraft.world.level.Level
|
||||
@ -15,6 +19,8 @@ import net.minecraft.world.level.material.Material
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
import ru.dbotthepony.mc.otm.ServerConfig
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.core.get
|
||||
import ru.dbotthepony.mc.otm.core.plus
|
||||
import ru.dbotthepony.mc.otm.core.times
|
||||
@ -22,8 +28,6 @@ import ru.dbotthepony.mc.otm.core.unaryMinus
|
||||
import ru.dbotthepony.mc.otm.once
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
|
||||
const val LIGHT_LENGTH = 3
|
||||
|
||||
class LaboratoryLampLight : Block(Properties.of(Material.AIR).strength(-1.0F, 3600000.8F).noLootTable().noOcclusion().lightLevel { 15 }) {
|
||||
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
|
||||
super.createBlockStateDefinition(builder)
|
||||
@ -72,7 +76,7 @@ class LaboratoryLampLight : Block(Properties.of(Material.AIR).strength(-1.0F, 36
|
||||
|
||||
var hit = false
|
||||
|
||||
for (i in 1 .. LIGHT_LENGTH) {
|
||||
for (i in 1 .. ServerConfig.LABORATORY_LAMP_LIGHT_LENGTH) {
|
||||
val target = pos + facing * i
|
||||
val targetState = level.getBlockState(target)
|
||||
|
||||
@ -107,6 +111,16 @@ class LaboratoryLamp(val invertRedstone: Boolean) : Block(Properties.of(Material
|
||||
return super.getStateForPlacement(context)!!.setValue(BlockStateProperties.LIT, !invertRedstone).setValue(RotatableMatteryBlock.FACING_FULL, context.nearestLookingDirection)
|
||||
}
|
||||
|
||||
override fun appendHoverText(
|
||||
p_49816_: ItemStack,
|
||||
p_49817_: BlockGetter?,
|
||||
p_49818_: MutableList<Component>,
|
||||
p_49819_: TooltipFlag
|
||||
) {
|
||||
super.appendHoverText(p_49816_, p_49817_, p_49818_, p_49819_)
|
||||
p_49818_.add(TranslatableComponent("${MBlocks.LABORATORY_LAMP.descriptionId}.description").withStyle(ChatFormatting.GRAY))
|
||||
}
|
||||
|
||||
@Suppress("OVERRIDE_DEPRECATION")
|
||||
override fun onPlace(
|
||||
state: BlockState,
|
||||
@ -144,7 +158,7 @@ class LaboratoryLamp(val invertRedstone: Boolean) : Block(Properties.of(Material
|
||||
|
||||
val facing = state[RotatableMatteryBlock.FACING_FULL]
|
||||
|
||||
for (i in 1 .. LIGHT_LENGTH) {
|
||||
for (i in 1 .. ServerConfig.LABORATORY_LAMP_LIGHT_LENGTH) {
|
||||
val target = pos + facing * i
|
||||
val targetState = level.getBlockState(target)
|
||||
|
||||
|
@ -244,6 +244,18 @@ object MItems {
|
||||
|
||||
val QUANTUM_TRANSCEIVER: Item by registry.register("quantum_transceiver") { Item(DEFAULT_PROPERTIES) }
|
||||
val ELECTROMAGNET: Item by registry.register("electromagnet") { Item(DEFAULT_PROPERTIES) }
|
||||
val MIRROR_COMPOUND: Item by registry.register("mirror_compound") { Item(DEFAULT_PROPERTIES) }
|
||||
val MIRROR: Item by registry.register("mirror") { object : Item(DEFAULT_PROPERTIES) {
|
||||
override fun appendHoverText(
|
||||
p_41421_: ItemStack,
|
||||
p_41422_: Level?,
|
||||
p_41423_: MutableList<Component>,
|
||||
p_41424_: TooltipFlag
|
||||
) {
|
||||
super.appendHoverText(p_41421_, p_41422_, p_41423_, p_41424_)
|
||||
p_41423_.add(TranslatableComponent("$descriptionId.description").withStyle(ChatFormatting.DARK_GRAY))
|
||||
}
|
||||
} }
|
||||
|
||||
val DATAGEN_COMPONENTS = LazyList(
|
||||
{ ENERGY_BUS },
|
||||
@ -261,6 +273,8 @@ object MItems {
|
||||
{ MATTER_TRANSFORM_MATRIX },
|
||||
{ QUANTUM_TRANSCEIVER },
|
||||
{ ELECTROMAGNET },
|
||||
{ MIRROR_COMPOUND },
|
||||
{ MIRROR },
|
||||
)
|
||||
|
||||
val EXOSUIT_PROBE: Item by registry.register(MNames.EXOSUIT_PROBE, ::ExoSuitProbeItem)
|
||||
|
@ -6,6 +6,7 @@ import net.minecraft.tags.TagKey
|
||||
import net.minecraft.world.item.Item
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
|
||||
@Suppress("unused")
|
||||
object MItemTags {
|
||||
val TRITANIUM_INGOTS: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "ingots/tritanium"))
|
||||
val TRITANIUM_PLATES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "plates/tritanium"))
|
||||
@ -21,4 +22,42 @@ object MItemTags {
|
||||
val GOLD_WIRES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "wires/gold"))
|
||||
|
||||
val PISTONS: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "pistons"))
|
||||
|
||||
val HARDENED_GLASS_PANES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes"))
|
||||
val HARDENED_GLASS_PANES_BLACK: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/black"))
|
||||
val HARDENED_GLASS_PANES_BLUE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/blue"))
|
||||
val HARDENED_GLASS_PANES_BROWN: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/brown"))
|
||||
val HARDENED_GLASS_PANES_COLORLESS: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/colorless"))
|
||||
val HARDENED_GLASS_PANES_CYAN: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/cyan"))
|
||||
val HARDENED_GLASS_PANES_GRAY: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/gray"))
|
||||
val HARDENED_GLASS_PANES_GREEN: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/green"))
|
||||
val HARDENED_GLASS_PANES_LIGHT_BLUE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/light_blue"))
|
||||
val HARDENED_GLASS_PANES_LIGHT_GRAY: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/light_gray"))
|
||||
val HARDENED_GLASS_PANES_LIME: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/lime"))
|
||||
val HARDENED_GLASS_PANES_MAGENTA: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/magenta"))
|
||||
val HARDENED_GLASS_PANES_ORANGE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/orange"))
|
||||
val HARDENED_GLASS_PANES_PINK: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/pink"))
|
||||
val HARDENED_GLASS_PANES_PURPLE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/purple"))
|
||||
val HARDENED_GLASS_PANES_RED: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/red"))
|
||||
val HARDENED_GLASS_PANES_WHITE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/white"))
|
||||
val HARDENED_GLASS_PANES_YELLOW: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass_panes/yellow"))
|
||||
|
||||
val HARDENED_GLASS: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass"))
|
||||
val HARDENED_GLASS_BLACK: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/black"))
|
||||
val HARDENED_GLASS_BLUE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/blue"))
|
||||
val HARDENED_GLASS_BROWN: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/brown"))
|
||||
val HARDENED_GLASS_COLORLESS: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/colorless"))
|
||||
val HARDENED_GLASS_CYAN: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/cyan"))
|
||||
val HARDENED_GLASS_GRAY: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/gray"))
|
||||
val HARDENED_GLASS_GREEN: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/green"))
|
||||
val HARDENED_GLASS_LIGHT_BLUE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/light_blue"))
|
||||
val HARDENED_GLASS_LIGHT_GRAY: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/light_gray"))
|
||||
val HARDENED_GLASS_LIME: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/lime"))
|
||||
val HARDENED_GLASS_MAGENTA: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/magenta"))
|
||||
val HARDENED_GLASS_ORANGE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/orange"))
|
||||
val HARDENED_GLASS_PINK: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/pink"))
|
||||
val HARDENED_GLASS_PURPLE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/purple"))
|
||||
val HARDENED_GLASS_RED: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/red"))
|
||||
val HARDENED_GLASS_WHITE: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/white"))
|
||||
val HARDENED_GLASS_YELLOW: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "hardened_glass/yellow"))
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ import net.minecraftforge.registries.DeferredRegister
|
||||
import net.minecraftforge.registries.RegistryObject
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.registry.LazyMap
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import java.util.EnumMap
|
||||
|
||||
/**
|
||||
@ -30,6 +31,44 @@ open class ColoredDecorativeBlock(
|
||||
protected val itemMap = EnumMap<DyeColor, RegistryObject<Item>>(DyeColor::class.java)
|
||||
protected val blockMap = EnumMap<DyeColor, RegistryObject<Block>>(DyeColor::class.java)
|
||||
|
||||
fun forEachItem(consumer: (String, DyeColor, Item) -> Unit) {
|
||||
consumer.invoke("black", DyeColor.BLACK, getItem(DyeColor.BLACK))
|
||||
consumer.invoke("blue", DyeColor.BLUE, getItem(DyeColor.BLUE))
|
||||
consumer.invoke("brown", DyeColor.BROWN, getItem(DyeColor.BROWN))
|
||||
consumer.invoke("cyan", DyeColor.CYAN, getItem(DyeColor.CYAN))
|
||||
consumer.invoke("gray", DyeColor.GRAY, getItem(DyeColor.GRAY))
|
||||
consumer.invoke("green", DyeColor.GREEN, getItem(DyeColor.GREEN))
|
||||
consumer.invoke("light_blue", DyeColor.LIGHT_BLUE, getItem(DyeColor.LIGHT_BLUE))
|
||||
consumer.invoke("light_gray", DyeColor.LIGHT_GRAY, getItem(DyeColor.LIGHT_GRAY))
|
||||
consumer.invoke("lime", DyeColor.LIME, getItem(DyeColor.LIME))
|
||||
consumer.invoke("magenta", DyeColor.MAGENTA, getItem(DyeColor.MAGENTA))
|
||||
consumer.invoke("orange", DyeColor.ORANGE, getItem(DyeColor.ORANGE))
|
||||
consumer.invoke("pink", DyeColor.PINK, getItem(DyeColor.PINK))
|
||||
consumer.invoke("purple", DyeColor.PURPLE, getItem(DyeColor.PURPLE))
|
||||
consumer.invoke("red", DyeColor.RED, getItem(DyeColor.RED))
|
||||
consumer.invoke("white", DyeColor.WHITE, getItem(DyeColor.WHITE))
|
||||
consumer.invoke("yellow", DyeColor.YELLOW, getItem(DyeColor.YELLOW))
|
||||
}
|
||||
|
||||
fun forEachBlock(consumer: (String, DyeColor, Block) -> Unit) {
|
||||
consumer.invoke("black", DyeColor.BLACK, getBlock(DyeColor.BLACK))
|
||||
consumer.invoke("blue", DyeColor.BLUE, getBlock(DyeColor.BLUE))
|
||||
consumer.invoke("brown", DyeColor.BROWN, getBlock(DyeColor.BROWN))
|
||||
consumer.invoke("cyan", DyeColor.CYAN, getBlock(DyeColor.CYAN))
|
||||
consumer.invoke("gray", DyeColor.GRAY, getBlock(DyeColor.GRAY))
|
||||
consumer.invoke("green", DyeColor.GREEN, getBlock(DyeColor.GREEN))
|
||||
consumer.invoke("light_blue", DyeColor.LIGHT_BLUE, getBlock(DyeColor.LIGHT_BLUE))
|
||||
consumer.invoke("light_gray", DyeColor.LIGHT_GRAY, getBlock(DyeColor.LIGHT_GRAY))
|
||||
consumer.invoke("lime", DyeColor.LIME, getBlock(DyeColor.LIME))
|
||||
consumer.invoke("magenta", DyeColor.MAGENTA, getBlock(DyeColor.MAGENTA))
|
||||
consumer.invoke("orange", DyeColor.ORANGE, getBlock(DyeColor.ORANGE))
|
||||
consumer.invoke("pink", DyeColor.PINK, getBlock(DyeColor.PINK))
|
||||
consumer.invoke("purple", DyeColor.PURPLE, getBlock(DyeColor.PURPLE))
|
||||
consumer.invoke("red", DyeColor.RED, getBlock(DyeColor.RED))
|
||||
consumer.invoke("white", DyeColor.WHITE, getBlock(DyeColor.WHITE))
|
||||
consumer.invoke("yellow", DyeColor.YELLOW, getBlock(DyeColor.YELLOW))
|
||||
}
|
||||
|
||||
fun getItem(dyeColor: DyeColor): Item {
|
||||
check(registeredItems) { "Didn't register items yet" }
|
||||
return itemMap[dyeColor]!!.get()
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
Loading…
Reference in New Issue
Block a user