Minecarts with cargo crates
This commit is contained in:
parent
0b0e6a18b6
commit
c91e3b0bc6
@ -35,6 +35,7 @@ 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
|
||||
import ru.dbotthepony.mc.otm.datagen.recipes.addShapelessRecipes
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.TagsProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addTags
|
||||
import ru.dbotthepony.mc.otm.registry.objects.ColoredDecorativeBlock
|
||||
@ -272,6 +273,7 @@ object DataGen {
|
||||
addCraftingTableRecipes(consumer)
|
||||
addBlastingRecipes(consumer)
|
||||
addDecorativesRecipes(recipeProvider, consumer)
|
||||
addShapelessRecipes(consumer)
|
||||
}
|
||||
|
||||
addPlatePressRecipes(recipeProvider)
|
||||
|
@ -16,6 +16,14 @@ private fun decoratives(provider: MatteryLanguageProvider) {
|
||||
provider.englishColors.add(MRegistry.CARGO_CRATES, "%s Cargo Crate")
|
||||
provider.englishColors.add(MRegistry.DECORATIVE_CRATE, "%s Container Block")
|
||||
|
||||
for ((color, name) in provider.englishColors.dyeClassMapped) {
|
||||
provider.english.add(MItems.CARGO_CRATE_MINECARTS[color]!!, "Minecart with $name Cargo Crate")
|
||||
provider.english.add(MEntityTypes.CARGO_CRATE_MINECARTS[color]!!, "Minecart with $name Cargo Crate")
|
||||
}
|
||||
|
||||
provider.english.add(MItems.CARGO_CRATE_MINECARTS[null]!!, "Minecart with Cargo Crate")
|
||||
provider.english.add(MEntityTypes.CARGO_CRATE_MINECARTS[null]!!, "Minecart with Cargo Crate")
|
||||
|
||||
with(provider.english) {
|
||||
add(MRegistry.CARGO_CRATES.block, "Cargo Crate")
|
||||
add(MRegistry.TRITANIUM_BLOCK.block, "Tritanium Block")
|
||||
|
@ -222,6 +222,12 @@ class MatteryLanguageProvider(private val gen: DataGenerator) {
|
||||
}
|
||||
}
|
||||
|
||||
fun forEach(consumer: (color: DyeColor, name: String) -> Unit) {
|
||||
for ((a, b) in dyeClassPairs) {
|
||||
consumer.invoke(a, b)
|
||||
}
|
||||
}
|
||||
|
||||
fun add(
|
||||
whiteBlock: Block,
|
||||
orangeBlock: Block,
|
||||
|
@ -28,9 +28,9 @@ fun addCraftingTableRecipes(consumer: Consumer<FinishedRecipe>) {
|
||||
.save(consumer)
|
||||
|
||||
ShapelessRecipeBuilder(crate, 1)
|
||||
.requires(Ingredient.of(MItemTags.TRITANIUM_CRATES), 1)
|
||||
.requires(Ingredient.of(MItemTags.CARGO_CRATES), 1)
|
||||
.requires(Ingredient.of(dye.tag), 1)
|
||||
.unlockedBy("has_tritanium_crate", has(MItemTags.TRITANIUM_CRATES))
|
||||
.unlockedBy("has_tritanium_crate", has(MItemTags.CARGO_CRATES))
|
||||
.save(consumer, "${crate.registryName}_alt")
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,36 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.recipes
|
||||
|
||||
import net.minecraft.data.recipes.FinishedRecipe
|
||||
import net.minecraft.data.recipes.ShapelessRecipeBuilder
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import net.minecraft.world.item.Items
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import java.util.function.Consumer
|
||||
|
||||
fun addShapelessRecipes(consumer: Consumer<FinishedRecipe>) {
|
||||
for (color in DyeColor.values()) {
|
||||
ShapelessRecipeBuilder(MItems.CARGO_CRATE_MINECARTS[color]!!, 1)
|
||||
.requires(Items.MINECART)
|
||||
.requires(MRegistry.CARGO_CRATES.items[color]!!)
|
||||
.unlockedBy(Items.MINECART)
|
||||
.unlockedBy(MRegistry.CARGO_CRATES.items[color]!!)
|
||||
.save(consumer)
|
||||
|
||||
ShapelessRecipeBuilder(MItems.CARGO_CRATE_MINECARTS[color]!!, 1)
|
||||
.requires(MItemTags.MINECART_CARGO_CRATES)
|
||||
.requires(color.tag)
|
||||
.unlockedBy(MItemTags.MINECART_CARGO_CRATES)
|
||||
.save(consumer, modLocation(MItems.CARGO_CRATE_MINECARTS[color]!!.registryName!!.path + "_alt"))
|
||||
}
|
||||
|
||||
ShapelessRecipeBuilder(MItems.CARGO_CRATE_MINECARTS[null]!!, 1)
|
||||
.requires(Items.MINECART)
|
||||
.requires(MRegistry.CARGO_CRATES.item)
|
||||
.unlockedBy(Items.MINECART)
|
||||
.unlockedBy(MRegistry.CARGO_CRATES.item)
|
||||
.save(consumer)
|
||||
}
|
@ -5,6 +5,7 @@ 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
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||
@ -32,6 +33,8 @@ fun addTags(tagsProvider: TagsProvider) {
|
||||
MBlocks.STORAGE_CABLE
|
||||
)
|
||||
|
||||
tagsProvider.items.appender(MItemTags.MINECART_CARGO_CRATES).add(MItems.CARGO_CRATE_MINECARTS.values)
|
||||
|
||||
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)
|
||||
|
@ -6,9 +6,22 @@ import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
|
||||
import ru.dbotthepony.mc.otm.client.screen.panels.GridPanel
|
||||
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
|
||||
import ru.dbotthepony.mc.otm.menu.CargoCrateMenu
|
||||
import ru.dbotthepony.mc.otm.menu.MinecartCargoCrateMenu
|
||||
|
||||
class CargoCrateScreen(menu: CargoCrateMenu, inventory: Inventory, title: Component) : MatteryScreen<CargoCrateMenu>(menu, inventory, title) {
|
||||
override fun makeMainFrame(): FramePanel<out MatteryScreen<*>> {
|
||||
override fun makeMainFrame(): FramePanel<MatteryScreen<*>> {
|
||||
val frame = FramePanel(this, null, 0f, 0f, INVENTORY_FRAME_WIDTH, 22f + 4f + 6f * 18f, getTitle())
|
||||
val grid = GridPanel(this, frame, 8f, 18f, 9f * 18f, 6f * 18f, 9, 6)
|
||||
|
||||
for (slot in menu.storageSlots)
|
||||
SlotPanel(this, grid, slot)
|
||||
|
||||
return frame
|
||||
}
|
||||
}
|
||||
|
||||
class MinecartCargoCrateScreen(menu: MinecartCargoCrateMenu, inventory: Inventory, title: Component) : MatteryScreen<MinecartCargoCrateMenu>(menu, inventory, title) {
|
||||
override fun makeMainFrame(): FramePanel<MatteryScreen<*>> {
|
||||
val frame = FramePanel(this, null, 0f, 0f, INVENTORY_FRAME_WIDTH, 22f + 4f + 6f * 18f, getTitle())
|
||||
val grid = GridPanel(this, frame, 8f, 18f, 9f * 18f, 6f * 18f, 9, 6)
|
||||
|
||||
|
@ -0,0 +1,69 @@
|
||||
package ru.dbotthepony.mc.otm.entity
|
||||
|
||||
import net.minecraft.core.NonNullList
|
||||
import net.minecraft.world.entity.EntityType
|
||||
import net.minecraft.world.entity.player.Inventory
|
||||
import net.minecraft.world.entity.vehicle.AbstractMinecartContainer
|
||||
import net.minecraft.world.inventory.AbstractContainerMenu
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import net.minecraft.world.item.Item
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import ru.dbotthepony.mc.otm.block.CargoCrateBlock
|
||||
import ru.dbotthepony.mc.otm.block.entity.CargoCrateBlockEntity
|
||||
import ru.dbotthepony.mc.otm.menu.MinecartCargoCrateMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
class MinecartCargoCrate(
|
||||
type: EntityType<*>,
|
||||
val color: DyeColor?,
|
||||
level: Level,
|
||||
x: Double = 0.0,
|
||||
y: Double = 0.0,
|
||||
z: Double = 0.0
|
||||
) : AbstractMinecartContainer(type, x, y, z, level) {
|
||||
val block = MRegistry.CARGO_CRATES.allBlocks[color] ?: throw NullPointerException("No cargo crate block for color $color!")
|
||||
val item = MItems.CARGO_CRATE_MINECARTS[color] ?: throw NullPointerException("No minecart cargo crate item for color $color!")
|
||||
|
||||
private val itemStacksList = NonNullList.withSize(CargoCrateBlockEntity.CAPACITY, ItemStack.EMPTY)
|
||||
|
||||
override fun getItemStacks(): NonNullList<ItemStack> {
|
||||
return itemStacksList
|
||||
}
|
||||
|
||||
override fun clearItemStacks() {
|
||||
for (i in 0 until itemStacksList.size) {
|
||||
itemStacksList[i] = ItemStack.EMPTY
|
||||
}
|
||||
}
|
||||
|
||||
override fun getDropItem(): Item {
|
||||
return item
|
||||
}
|
||||
|
||||
override fun getMinecartType(): Type {
|
||||
return Type.CHEST
|
||||
}
|
||||
|
||||
override fun getDefaultDisplayBlockState(): BlockState {
|
||||
return block.defaultBlockState().setValue(CargoCrateBlock.IS_OPEN, false)
|
||||
}
|
||||
|
||||
override fun getDefaultDisplayOffset(): Int {
|
||||
return 8
|
||||
}
|
||||
|
||||
override fun getContainerSize(): Int {
|
||||
return CargoCrateBlockEntity.CAPACITY
|
||||
}
|
||||
|
||||
override fun createMenu(p_38222_: Int, p_38223_: Inventory): AbstractContainerMenu {
|
||||
return MinecartCargoCrateMenu(p_38222_, p_38223_, this)
|
||||
}
|
||||
|
||||
override fun getPickResult(): ItemStack {
|
||||
return ItemStack(item, 1)
|
||||
}
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package ru.dbotthepony.mc.otm.item
|
||||
|
||||
import net.minecraft.tags.BlockTags
|
||||
import net.minecraft.world.InteractionResult
|
||||
import net.minecraft.world.entity.vehicle.AbstractMinecart
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import net.minecraft.world.item.Item
|
||||
import net.minecraft.world.item.context.UseOnContext
|
||||
import net.minecraft.world.level.block.BaseRailBlock
|
||||
import net.minecraft.world.level.block.state.properties.RailShape
|
||||
import net.minecraft.world.level.gameevent.GameEvent
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate
|
||||
import ru.dbotthepony.mc.otm.registry.MEntityTypes
|
||||
|
||||
class MinecartCargoCrateItem(val color: DyeColor?) : Item(Properties().stacksTo(64).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) {
|
||||
override fun useOn(useOnContext: UseOnContext): InteractionResult {
|
||||
val level = useOnContext.level
|
||||
val blockpos = useOnContext.clickedPos
|
||||
val blockstate = level.getBlockState(blockpos)
|
||||
|
||||
if (!blockstate.`is`(BlockTags.RAILS)) {
|
||||
return InteractionResult.FAIL
|
||||
}
|
||||
|
||||
val itemstack = useOnContext.itemInHand
|
||||
|
||||
if (!level.isClientSide) {
|
||||
val railshape =
|
||||
if (blockstate.block is BaseRailBlock)
|
||||
(blockstate.block as BaseRailBlock).getRailDirection(blockstate, level, blockpos, null)
|
||||
else
|
||||
RailShape.NORTH_SOUTH
|
||||
|
||||
val d0 = if (railshape.isAscending) 0.5 else 0.0
|
||||
val type = MEntityTypes.CARGO_CRATE_MINECARTS[color] ?: throw NullPointerException("Unable to find minecart entity type for color $color!")
|
||||
val entity = MinecartCargoCrate(type, color, level, blockpos.x.toDouble() + 0.5, blockpos.y.toDouble() + 0.0625 + d0, blockpos.z.toDouble() + 0.5)
|
||||
|
||||
if (itemstack.hasCustomHoverName()) {
|
||||
entity.customName = itemstack.hoverName
|
||||
}
|
||||
|
||||
level.addFreshEntity(entity)
|
||||
level.gameEvent(GameEvent.ENTITY_PLACE, blockpos, GameEvent.Context.of(useOnContext.player, level.getBlockState(blockpos.below())))
|
||||
}
|
||||
|
||||
if (useOnContext.player?.abilities?.instabuild != true) {
|
||||
itemstack.shrink(1)
|
||||
}
|
||||
|
||||
return InteractionResult.sidedSuccess(level.isClientSide)
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package ru.dbotthepony.mc.otm.menu
|
||||
|
||||
import net.minecraft.world.Container
|
||||
import net.minecraft.world.SimpleContainer
|
||||
import net.minecraft.world.entity.player.Inventory
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import ru.dbotthepony.mc.otm.core.ImmutableList
|
||||
import ru.dbotthepony.mc.otm.block.entity.CargoCrateBlockEntity
|
||||
import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate
|
||||
import ru.dbotthepony.mc.otm.registry.MMenus
|
||||
|
||||
class MinecartCargoCrateMenu @JvmOverloads constructor(
|
||||
p_38852_: Int,
|
||||
inventory: Inventory,
|
||||
val cart: MinecartCargoCrate? = null
|
||||
) : MatteryMenu(MMenus.CARGO_CRATE, p_38852_, inventory) {
|
||||
override val storageSlots: List<MatterySlot>
|
||||
|
||||
init {
|
||||
val container = cart as Container? ?: SimpleContainer(CargoCrateBlockEntity.CAPACITY)
|
||||
|
||||
storageSlots = ImmutableList(CargoCrateBlockEntity.CAPACITY) {
|
||||
val slot = MatterySlot(container, it)
|
||||
addSlot(slot)
|
||||
return@ImmutableList slot
|
||||
}
|
||||
|
||||
addInventorySlots()
|
||||
}
|
||||
|
||||
override fun stillValid(player: Player): Boolean {
|
||||
return cart?.stillValid(player) ?: true
|
||||
}
|
||||
}
|
35
src/main/kotlin/ru/dbotthepony/mc/otm/registry/Ext.kt
Normal file
35
src/main/kotlin/ru/dbotthepony/mc/otm/registry/Ext.kt
Normal file
@ -0,0 +1,35 @@
|
||||
package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
import ru.dbotthepony.mc.otm.item.MinecartCargoCrateItem
|
||||
|
||||
private fun <T> DeferredRegister<T>.doColored(prefix: String, factory: (color: DyeColor, name: String) -> T): MutableCollection<Pair<DyeColor, () -> T>> {
|
||||
return mutableListOf(
|
||||
DyeColor.BLACK to register(prefix + "_black") { factory.invoke(DyeColor.BLACK, prefix + "_black") }::get,
|
||||
DyeColor.BLUE to register(prefix + "_blue") { factory.invoke(DyeColor.BLUE, prefix + "_blue") }::get,
|
||||
DyeColor.BROWN to register(prefix + "_brown") { factory.invoke(DyeColor.BROWN, prefix + "_brown") }::get,
|
||||
DyeColor.CYAN to register(prefix + "_cyan") { factory.invoke(DyeColor.CYAN, prefix + "_cyan") }::get,
|
||||
DyeColor.GRAY to register(prefix + "_gray") { factory.invoke(DyeColor.GRAY, prefix + "_gray") }::get,
|
||||
DyeColor.GREEN to register(prefix + "_green") { factory.invoke(DyeColor.GREEN, prefix + "_green") }::get,
|
||||
DyeColor.LIGHT_BLUE to register(prefix + "_light_blue") { factory.invoke(DyeColor.LIGHT_BLUE, prefix + "_light_blue") }::get,
|
||||
DyeColor.LIGHT_GRAY to register(prefix + "_light_gray") { factory.invoke(DyeColor.LIGHT_GRAY, prefix + "_light_gray") }::get,
|
||||
DyeColor.LIME to register(prefix + "_lime") { factory.invoke(DyeColor.LIME, prefix + "_lime") }::get,
|
||||
DyeColor.MAGENTA to register(prefix + "_magenta") { factory.invoke(DyeColor.MAGENTA, prefix + "_magenta") }::get,
|
||||
DyeColor.ORANGE to register(prefix + "_orange") { factory.invoke(DyeColor.ORANGE, prefix + "_orange") }::get,
|
||||
DyeColor.PINK to register(prefix + "_pink") { factory.invoke(DyeColor.PINK, prefix + "_pink") }::get,
|
||||
DyeColor.PURPLE to register(prefix + "_purple") { factory.invoke(DyeColor.PURPLE, prefix + "_purple") }::get,
|
||||
DyeColor.RED to register(prefix + "_red") { factory.invoke(DyeColor.RED, prefix + "_red") }::get,
|
||||
DyeColor.WHITE to register(prefix + "_white") { factory.invoke(DyeColor.WHITE, prefix + "_white") }::get,
|
||||
DyeColor.YELLOW to register(prefix + "_yellow") { factory.invoke(DyeColor.YELLOW, prefix + "_yellow") }::get,
|
||||
)
|
||||
}
|
||||
|
||||
fun <T> DeferredRegister<T>.colored(prefix: String, factory: (color: DyeColor, name: String) -> T): Map<DyeColor, T> {
|
||||
return LazyMap(doColored(prefix, factory))
|
||||
}
|
||||
|
||||
@Suppress("unchecked_cast")
|
||||
fun <T> DeferredRegister<T>.allColored(prefix: String, factory: (color: DyeColor?, name: String) -> T): Map<DyeColor?, T> {
|
||||
return LazyMap(doColored(prefix, factory).also { (it as MutableCollection<Pair<DyeColor?, () -> T>>).add((null as DyeColor?) to register(prefix) { factory.invoke(null, prefix) }::get) })
|
||||
}
|
@ -1,10 +1,13 @@
|
||||
package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.minecraft.client.model.geom.ModelLayers
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer
|
||||
import net.minecraft.client.renderer.entity.EntityRenderers
|
||||
import net.minecraft.client.renderer.entity.MinecartRenderer
|
||||
import net.minecraft.world.entity.Entity
|
||||
import net.minecraft.world.entity.EntityType
|
||||
import net.minecraft.world.entity.MobCategory
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
@ -12,6 +15,7 @@ import net.minecraftforge.registries.DeferredRegister
|
||||
import net.minecraftforge.registries.ForgeRegistries
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.client.render.entity.PlasmaProjectileRenderer
|
||||
import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate
|
||||
import ru.dbotthepony.mc.otm.entity.PlasmaProjectile
|
||||
|
||||
object MEntityTypes {
|
||||
@ -21,6 +25,10 @@ object MEntityTypes {
|
||||
EntityType.Builder.of<PlasmaProjectile>({ _, level -> PlasmaProjectile(level) }, MobCategory.MISC).sized(0.4f, 0.4f).build(MNames.PLASMA)
|
||||
}
|
||||
|
||||
val CARGO_CRATE_MINECARTS = registry.allColored(MNames.MINECART_CARGO_CRATE) { color, name ->
|
||||
EntityType.Builder.of<MinecartCargoCrate>({ it, level -> MinecartCargoCrate(it, color, level)}, MobCategory.MISC).sized(0.98F, 0.7F).clientTrackingRange(8).build(name)
|
||||
}
|
||||
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
bus.addListener(this::registerClient)
|
||||
@ -30,6 +38,10 @@ object MEntityTypes {
|
||||
private fun registerClient(event: FMLClientSetupEvent) {
|
||||
event.enqueueWork {
|
||||
EntityRenderers.register(PLASMA) { PlasmaProjectileRenderer(it) as EntityRenderer<Entity> }
|
||||
|
||||
for (type in CARGO_CRATE_MINECARTS.values) {
|
||||
EntityRenderers.register(type) { MinecartRenderer<MinecartCargoCrate>(it, ModelLayers.CHEST_MINECART) as EntityRenderer<Entity> }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -277,6 +277,8 @@ object MItems {
|
||||
{ MIRROR },
|
||||
)
|
||||
|
||||
val CARGO_CRATE_MINECARTS = registry.allColored(MNames.MINECART_CARGO_CRATE) { color, _ -> MinecartCargoCrateItem(color) }
|
||||
|
||||
val EXOSUIT_PROBE: Item by registry.register(MNames.EXOSUIT_PROBE, ::ExoSuitProbeItem)
|
||||
val EXOSUIT_INVENTORY_UPGRADE_CREATIVE: Item by registry.register("exosuit_inventory_upgrade_creative") { ExoSuitSlotUpgradeItem(null, 9, Item.Properties().stacksTo(8).rarity(Rarity.EPIC).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) }
|
||||
val EXOSUIT_CRAFTING_UPGRADE: Item by registry.register("exosuit_crafting_upgrade", ::ExoSuitCraftingUpgradeItem)
|
||||
|
@ -25,6 +25,7 @@ object MMenus {
|
||||
val MATTER_BOTTLER: MenuType<*> by registry.register(MNames.MATTER_BOTTLER) { MenuType(::MatterBottlerMenu) }
|
||||
val DRIVE_VIEWER: MenuType<*> by registry.register(MNames.DRIVE_VIEWER) { MenuType(::DriveViewerMenu) }
|
||||
val CARGO_CRATE: MenuType<*> by registry.register(MNames.CARGO_CRATE) { MenuType(::CargoCrateMenu) }
|
||||
val MINECART_CARGO_CRATE: MenuType<*> by registry.register(MNames.MINECART_CARGO_CRATE) { MenuType(::MinecartCargoCrateMenu) }
|
||||
val DRIVE_RACK: MenuType<*> by registry.register(MNames.DRIVE_RACK) { MenuType(::DriveRackMenu) }
|
||||
val ITEM_MONITOR: MenuType<*> by registry.register(MNames.ITEM_MONITOR) { MenuType(::ItemMonitorMenu) }
|
||||
val ENERGY_COUNTER: MenuType<*> by registry.register(MNames.ENERGY_COUNTER) { MenuType(::EnergyCounterMenu) }
|
||||
@ -57,6 +58,7 @@ object MMenus {
|
||||
MenuScreens.register(MATTER_BOTTLER as MenuType<MatterBottlerMenu>, ::MatterBottlerScreen)
|
||||
MenuScreens.register(DRIVE_VIEWER as MenuType<DriveViewerMenu>, ::DriveViewerScreen)
|
||||
MenuScreens.register(CARGO_CRATE as MenuType<CargoCrateMenu>, ::CargoCrateScreen)
|
||||
MenuScreens.register(MINECART_CARGO_CRATE as MenuType<MinecartCargoCrateMenu>, ::MinecartCargoCrateScreen)
|
||||
MenuScreens.register(DRIVE_RACK as MenuType<DriveRackMenu>, ::DriveRackScreen)
|
||||
MenuScreens.register(ITEM_MONITOR as MenuType<ItemMonitorMenu>, ::ItemMonitorScreen)
|
||||
MenuScreens.register(ENERGY_COUNTER as MenuType<EnergyCounterMenu>, ::EnergyCounterScreen)
|
||||
|
@ -41,6 +41,7 @@ object MNames {
|
||||
const val GRAVITATION_STABILIZER_LENS = "gravitation_stabilizer_lens"
|
||||
|
||||
const val CARGO_CRATE = "cargo_crate"
|
||||
const val MINECART_CARGO_CRATE = "minecart_cargo_crate"
|
||||
const val DECORATIVE_CRATE = "decorative_crate"
|
||||
|
||||
const val STORAGE_BUS = "storage_bus"
|
||||
|
@ -12,7 +12,8 @@ object MItemTags {
|
||||
val TRITANIUM_PLATES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "plates/tritanium"))
|
||||
val IRON_PLATES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "plates/iron"))
|
||||
val GOLD_PLATES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "plates/gold"))
|
||||
val TRITANIUM_CRATES: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "tritanium_crates"))
|
||||
val CARGO_CRATES: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "cargo_crates"))
|
||||
val MINECART_CARGO_CRATES: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "minecart_cargo_crates"))
|
||||
val INDUSTRIAL_GLASS: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "industrial_glass"))
|
||||
|
||||
val BASIC_CIRCUIT: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "circuits/basic"))
|
||||
|
Loading…
Reference in New Issue
Block a user