diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt index 48b999133..c86a0526d 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt @@ -434,29 +434,59 @@ private fun death(provider: MatteryLanguageProvider) { private fun blocks(provider: MatteryLanguageProvider) { with(provider.english) { addBlock(MBlocks.ANDROID_STATION.values, "Android Station") + addBlock(MBlocks.ANDROID_STATION.values, "desc", "Grants access to android upgrades") + addBlock(MBlocks.ANDROID_CHARGER.values, "Wireless Charger") addBlock(MBlocks.ANDROID_CHARGER.values, "desc", "Charges nearby androids and exopacks") + addBlock(MBlocks.BATTERY_BANK.values, "Battery Bank") + addBlock(MBlocks.BATTERY_BANK.values, "desc", "Provides a way to use battery items as ordinary energy storage cell") + addBlock(MBlocks.MATTER_DECOMPOSER.values, "Matter Decomposer") + addBlock(MBlocks.MATTER_DECOMPOSER.values, "desc", "Breaks down items into pure matter") + addBlock(MBlocks.MATTER_CAPACITOR_BANK.values, "Matter Capacitor Bank") + addBlock(MBlocks.MATTER_CAPACITOR_BANK.values, "desc", "Provides matter storage for system when matter capacitors are attached to it") + add(MBlocks.MATTER_CABLE, "Matter Network Cable") + add(MBlocks.PATTERN_STORAGE, "Pattern Storage") + add(MBlocks.PATTERN_STORAGE, "desc", "Stores Patterns for system usage") + addBlock(MBlocks.MATTER_SCANNER.values, "Matter Scanner") + addBlock(MBlocks.MATTER_SCANNER.values, "desc", "Scans items into Patterns for future replication") + addBlock(MBlocks.MATTER_PANEL.values, "Pattern Monitor") + addBlock(MBlocks.MATTER_PANEL.values, "desc", "Allows to dispatch replication tasks") + addBlock(MBlocks.MATTER_REPLICATOR.values, "Matter Replicator") + addBlock(MBlocks.MATTER_REPLICATOR.values, "desc", "Executes replication tasks") + addBlock(MBlocks.MATTER_BOTTLER.values, "Matter Bottler") - addBlock(MBlocks.DRIVE_VIEWER.values, "Drive Viewer") - add(MBlocks.BLACK_HOLE, "Local Anomalous Spacetime Dilation Singular Point") - addBlock(MBlocks.COBBLESTONE_GENERATOR.values, "Cobblestone Generator") - add(MBlocks.INFINITE_WATER_SOURCE, "Infinite Water Source") + addBlock(MBlocks.MATTER_BOTTLER.values, "desc", "Exchanges matter between matter holding items") + addBlock(MBlocks.ESSENCE_STORAGE.values, "Essence Storage") addBlock(MBlocks.ESSENCE_STORAGE.values, "desc", "Allows to store and retrieve experience levels") + addBlock(MBlocks.MATTER_RECONSTRUCTOR.values, "Matter Reconstructor") addBlock(MBlocks.MATTER_RECONSTRUCTOR.values, "desc", "Repairs tools using matter") + + addBlock(MBlocks.MATTER_RECYCLER.values, "Matter Recycler") + addBlock(MBlocks.MATTER_RECYCLER.values, "desc", "Refines matter dust back into pure matter") + + add(MBlocks.MATTER_ENTANGLER, "Matter Entangler") + + addBlock(MBlocks.DRIVE_VIEWER.values, "Drive Viewer") + + add(MBlocks.BLACK_HOLE, "Local Anomalous Spacetime Dilation Singular Point") + + addBlock(MBlocks.COBBLESTONE_GENERATOR.values, "Cobblestone Generator") + add(MBlocks.INFINITE_WATER_SOURCE, "Infinite Water Source") + add(MBlocks.INFINITE_WATER_SOURCE, "desc", "Pushes water into all neighbour blocks") + add(MBlocks.DEV_CHEST, "Dev Chest") add(MBlocks.DEV_CHEST, "desc", "Contains all items present in game") add(MBlocks.PAINTER, "Painting Table") - add(MBlocks.MATTER_ENTANGLER, "Matter Entangler") add(MBlocks.LIQUID_XP, "Liquid XP") add(MItems.LIQUID_XP_BUCKET, "Liquid XP Bucket") @@ -466,26 +496,37 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.ENGINE, "Ship Engine") add(MBlocks.ENGINE, "desc", "Unfortunately, it doesn't seem to be functional anymore.") + add(MBlocks.HOLO_SIGN, "Holo Sign") + add(MBlocks.HOLO_SIGN, "desc", "Multi-line, colored and glowing, text sign") add(MBlocks.TRITANIUM_INGOT_BLOCK, "Tritanium Plating Block") addBlock(MBlocks.ENERGY_COUNTER.values, "Energy Counter") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc", "Restricts energy flow;") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc2", "Allows to limit energy throughput;") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc3", "Collects statistics of passed energy;") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc4", "Displays flow activity on its monitor") + add(MBlocks.ENERGY_COUNTER[null]!!, "facing", "Input facing: %s") add(MBlocks.ENERGY_COUNTER[null]!!, "switch", "Switch input facing") add(MBlocks.ENERGY_COUNTER[null]!!, "limit", "I/O Limit. -1 means no limit") addBlock(MBlocks.CHEMICAL_GENERATOR.values, "Chemical Generator") + addBlock(MBlocks.CHEMICAL_GENERATOR.values, "desc", "Generates power by burning solid fuels") + add(MBlocks.DRIVE_RACK, "Condensation Drive Rack") addBlock(MBlocks.ITEM_MONITOR.values, "Item Monitor") addBlock(MBlocks.PLATE_PRESS.values, "Plate Press") addBlock(MBlocks.TWIN_PLATE_PRESS.values, "Twin Plate Press") addBlock(MBlocks.POWERED_FURNACE.values, "Electric Furnace") + addBlock(MBlocks.POWERED_FURNACE.values, "desc", "Allows to smelt items using energy") addBlock(MBlocks.POWERED_SMOKER.values, "Microwave Oven") + addBlock(MBlocks.POWERED_SMOKER.values, "desc", "Allows to process smoker recipes using energy") addBlock(MBlocks.POWERED_BLAST_FURNACE.values, "Induction Furnace") + addBlock(MBlocks.POWERED_BLAST_FURNACE.values, "desc", "Allows to process blasting recipes using energy") - addBlock(MBlocks.MATTER_RECYCLER.values, "Matter Recycler") addBlock(MBlocks.ENERGY_SERVO.values, "Energy Servo") addBlock(MBlocks.ENERGY_SERVO.values, "desc", "Charges, Discharges or Exchanges energy of items") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index e465b57ed..ac29a0196 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -439,29 +439,58 @@ private fun death(provider: MatteryLanguageProvider) { private fun blocks(provider: MatteryLanguageProvider) { with(provider.russian) { addBlock(MBlocks.ANDROID_STATION.values, "Станция андроидов") + addBlock(MBlocks.ANDROID_STATION.values, "desc", "Даёт доступ к улучшениям андроида") + addBlock(MBlocks.ANDROID_CHARGER.values, "Беспроводной зарядник") addBlock(MBlocks.ANDROID_CHARGER.values, "desc", "Заряжает ближайших андроидов и экзопаки") + addBlock(MBlocks.BATTERY_BANK.values, "Банк аккумуляторов") + addBlock(MBlocks.BATTERY_BANK.values, "desc", "Позволяет использовать аккумуляторы как обычное хранилище энергии") + addBlock(MBlocks.MATTER_DECOMPOSER.values, "Декомпозитор материи") + addBlock(MBlocks.MATTER_DECOMPOSER.values, "desc", "Разбивает предметы в чистую материю") + addBlock(MBlocks.MATTER_CAPACITOR_BANK.values, "Банк накопителей материи") + addBlock(MBlocks.MATTER_CAPACITOR_BANK.values, "desc", "Является хранилищем материи для системы в связке с накопителями материи") + add(MBlocks.MATTER_CABLE, "Кабель сети материи") + add(MBlocks.PATTERN_STORAGE, "Хранилище шаблонов") + add(MBlocks.PATTERN_STORAGE, "desc", "Хранит шаблоны предметов для пользования сетью") + addBlock(MBlocks.MATTER_SCANNER.values, "Сканер материи") + addBlock(MBlocks.MATTER_SCANNER.values, "desc", "Сканирует предметы в шаблоны для будущей репликации") + addBlock(MBlocks.MATTER_PANEL.values, "Монитор шаблонов") + addBlock(MBlocks.MATTER_PANEL.values, "desc", "Позволяет создавать задачи репликации") + addBlock(MBlocks.MATTER_REPLICATOR.values, "Репликатор материи") + addBlock(MBlocks.MATTER_REPLICATOR.values, "desc", "Исполняет задачи репликации") + addBlock(MBlocks.MATTER_BOTTLER.values, "Бутилировщик материи") - addBlock(MBlocks.DRIVE_VIEWER.values, "Просмотрщик дисков конденсации") - add(MBlocks.BLACK_HOLE, "Локализированная сингулярная точка аномального искажения пространства-времени") - addBlock(MBlocks.COBBLESTONE_GENERATOR.values, "Генератор булыжника") - add(MBlocks.INFINITE_WATER_SOURCE, "Неиссякаемый источник воды") + addBlock(MBlocks.MATTER_BOTTLER.values, "desc", "Позволяет переливать материю между предметами, хранящими материю") + addBlock(MBlocks.ESSENCE_STORAGE.values, "Хранилище эссенции") addBlock(MBlocks.ESSENCE_STORAGE.values, "desc", "Позволяет хранить очки опыта") + addBlock(MBlocks.MATTER_RECONSTRUCTOR.values, "Материальный реконструктор") addBlock(MBlocks.MATTER_RECONSTRUCTOR.values, "desc", "Чинит инструменты используя материю") + + addBlock(MBlocks.MATTER_RECYCLER.values, "Перерабатыватель материи") + addBlock(MBlocks.MATTER_RECYCLER.values, "desc", "Перерабатывает материальную пыль обратно в чистую материю") + + add(MBlocks.MATTER_ENTANGLER, "Квантовый запутыватель материи") + + addBlock(MBlocks.COBBLESTONE_GENERATOR.values, "Генератор булыжника") + add(MBlocks.INFINITE_WATER_SOURCE, "Неиссякаемый источник воды") + add(MBlocks.INFINITE_WATER_SOURCE, "desc", "Выталкивает воду в соседние блоки автоматически") + add(MBlocks.BLACK_HOLE, "Локализированная сингулярная точка аномального искажения пространства-времени") + add(MBlocks.DEV_CHEST, "Сундук разработчика") add(MBlocks.DEV_CHEST, "desc", "Хранит все предметы, которые есть в игре") add(MBlocks.PAINTER, "Стол маляра") - add(MBlocks.MATTER_ENTANGLER, "Квантовый запутыватель материи") + + addBlock(MBlocks.DRIVE_VIEWER.values, "Просмотрщик дисков конденсации") add(MBlocks.LIQUID_XP, "Жидкий опыт") add(MItems.LIQUID_XP_BUCKET, "Ведро жидкого опыта") @@ -470,27 +499,38 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.FLUID_TANK, "named", "Жидкостный бак (%s)") add(MBlocks.ENGINE, "Двигатель корабля") - add(MBlocks.ENGINE, "desc", "К сожалению, он больше не выглядит рабочим.") + add(MBlocks.ENGINE, "desc", "К сожалению, он более не функционирует") + add(MBlocks.HOLO_SIGN, "Голографическая табличка") + add(MBlocks.HOLO_SIGN, "desc", "Многострочная, крашеная и светящееся, табличка") add(MBlocks.TRITANIUM_INGOT_BLOCK, "Блок слитков тритана") addBlock(MBlocks.ENERGY_COUNTER.values, "Счётчик энергии") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc", "Ограничивает направление передачи энергии;") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc2", "Позволяет ограничивать максимальную пропускную способность;") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc3", "Собирает статистику о переданной через себя энергии;") + addBlock(MBlocks.ENERGY_COUNTER.values, "desc4", "Отображает текущую активность передачи энергии на своём экране") + add(MBlocks.ENERGY_COUNTER[null]!!, "Facing", "сторона входа: %s") add(MBlocks.ENERGY_COUNTER[null]!!, "Switch", "сменить сторону входа") add(MBlocks.ENERGY_COUNTER[null]!!, "Limit", "лимит ввода/вывода. -1 для отключения лимитов") addBlock(MBlocks.CHEMICAL_GENERATOR.values, "Химический генератор") + addBlock(MBlocks.CHEMICAL_GENERATOR.values, "desc", "Генерирует энергию сжигая твёрдое топливо") + add(MBlocks.DRIVE_RACK, "Стеллаж дисков конденсации") addBlock(MBlocks.ITEM_MONITOR.values, "Монитор предметов") addBlock(MBlocks.PLATE_PRESS.values, "Пресс пластин") addBlock(MBlocks.TWIN_PLATE_PRESS.values, "Двойной пресс пластин") addBlock(MBlocks.POWERED_FURNACE.values, "Электрическая печь") + addBlock(MBlocks.POWERED_FURNACE.values, "desc", "Позволяет обрабатывать рецепты печи используя энергию") addBlock(MBlocks.POWERED_BLAST_FURNACE.values, "Индукционная печь") + addBlock(MBlocks.POWERED_BLAST_FURNACE.values, "desc", "Позволяет обрабатывать рецепты плавильной печи используя энергию") addBlock(MBlocks.POWERED_SMOKER.values, "Микроволновая печь") + addBlock(MBlocks.POWERED_SMOKER.values, "desc", "Позволяет обрабатывать рецепты коптильни используя энергию") - addBlock(MBlocks.MATTER_RECYCLER.values, "Перерабатыватель материи") addBlock(MBlocks.ENERGY_SERVO.values, "Энергетическая помпа") addBlock(MBlocks.ENERGY_SERVO.values, "desc", "заряжает, разряжает и передаёт энергию между предметами") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt index af25c1045..6048a42d5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt @@ -1,6 +1,5 @@ package ru.dbotthepony.mc.otm.block.entity.matter -import javax.annotation.ParametersAreNonnullByDefault import net.minecraft.core.BlockPos import net.minecraft.world.level.block.state.BlockState import ru.dbotthepony.mc.otm.container.MatteryContainer @@ -11,7 +10,6 @@ import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Player import net.minecraft.world.inventory.AbstractContainerMenu import ru.dbotthepony.mc.otm.menu.matter.PatternStorageMenu -import net.minecraft.MethodsReturnNonnullByDefault import net.minecraft.world.level.Level import net.minecraft.world.level.block.Block import ru.dbotthepony.mc.otm.block.entity.MatteryDeviceBlockEntity @@ -26,8 +24,6 @@ import ru.dbotthepony.mc.otm.graph.matter.SimpleMatterNode import ru.dbotthepony.mc.otm.registry.MBlockEntities import java.util.stream.Stream -@MethodsReturnNonnullByDefault -@ParametersAreNonnullByDefault class PatternStorageBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.PATTERN_STORAGE, p_155229_, p_155230_), IPatternStorage { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt index a73efd62a..906ffbbd1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt @@ -16,6 +16,7 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.entity.matter.MatterBottlerBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState @@ -26,6 +27,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterBottlerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() tooltips.blockEntityEnergy() tooltips.blockEntityMatter() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterCapacitorBankBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterCapacitorBankBlock.kt index 0d701b704..4b5d8dfbf 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterCapacitorBankBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterCapacitorBankBlock.kt @@ -14,6 +14,7 @@ import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.tech.BatteryBankBlock import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.matter.MatterCapacitorBankBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get @@ -22,6 +23,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterCapacitorBankBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() } override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt index 2b5f5ced9..a53e6432d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt @@ -15,6 +15,7 @@ import net.minecraft.world.level.block.Block import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get @@ -24,6 +25,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterDecomposerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() tooltips.blockEntityEnergy() tooltips.blockEntityMatter() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterPanelBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterPanelBlock.kt index 02b05c2c3..5735112de 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterPanelBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterPanelBlock.kt @@ -13,6 +13,7 @@ import net.minecraft.world.level.BlockGetter import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.item.context.BlockPlaceContext import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.core.math.BlockRotation import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom @@ -20,6 +21,7 @@ import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom class MatterPanelBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() } override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReconstructorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReconstructorBlock.kt index 83974fd56..dca3b66c0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReconstructorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReconstructorBlock.kt @@ -21,6 +21,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterReconstructorBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() tooltips.blockEntityEnergy("energy") tooltips.blockEntityMatter("matter") } @@ -36,10 +37,6 @@ class MatterReconstructorBlock(val color: DyeColor?) : RotatableMatteryBlock(DEF return BlockEntityTicker { _, _, _, pBlockEntity -> if (pBlockEntity is MatterReconstructorBlockEntity) pBlockEntity.tick() } } - init { - addSimpleDescription() - } - private val shapes = getShapeForEachState(rotationProperty) { BlockShapes.MATTER_RECONSTRUCTOR.rotateFromNorth(it[rotationProperty]).computeShape() } @Suppress("override_deprecation") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt index f76d90e4b..195513983 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.matter.MatterRecyclerBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState @@ -24,6 +25,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterRecyclerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() tooltips.blockEntityEnergy() tooltips.blockEntityMatter() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt index 8c6ce39af..be7861420 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.matter.MatterReplicatorBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState @@ -24,6 +25,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterReplicatorBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() tooltips.blockEntityEnergy() tooltips.blockEntityMatter() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt index 9383d0c47..831363959 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.matter.MatterScannerBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState @@ -24,6 +25,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterScannerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.colored(color) + addSimpleDescription() tooltips.blockEntityEnergy() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/PatternStorageBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/PatternStorageBlock.kt index d5f36e76a..59cd5b296 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/PatternStorageBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/PatternStorageBlock.kt @@ -14,12 +14,17 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.matter.PatternStorageBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.shapes.BlockShapes class PatternStorageBlock : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { + init { + addSimpleDescription() + } + override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { return PatternStorageBlockEntity(blockPos, blockState) } @@ -38,25 +43,6 @@ class PatternStorageBlock : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), E return state } - override fun onRemove( - oldBlockState: BlockState, - level: Level, - blockPos: BlockPos, - newBlockState: BlockState, - movedByPiston: Boolean - ) { - if (!oldBlockState.`is`(newBlockState.block)) { - val blockentity = level.getBlockEntity(blockPos) - - if (blockentity is PatternStorageBlockEntity) { - Containers.dropContents(level, blockPos, blockentity.container) - level.updateNeighbourForOutputSignal(blockPos, this) - } - } - - super.onRemove(oldBlockState, level, blockPos, newBlockState, movedByPiston) - } - private val shapes = getShapeForEachState(rotationProperty) { BlockShapes.PATTERN_STORAGE.rotateFromNorth(it[rotationProperty]).computeShape() } @Suppress("override_deprecation") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AbstractPoweredFurnaceBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AbstractPoweredFurnaceBlock.kt index 92975b830..5211feff7 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AbstractPoweredFurnaceBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AbstractPoweredFurnaceBlock.kt @@ -15,6 +15,7 @@ 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.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.entity.tech.AbstractPoweredFurnaceBlockEntity import ru.dbotthepony.mc.otm.block.entity.tech.PoweredBlastFurnaceBlockEntity @@ -32,6 +33,7 @@ sealed class AbstractPoweredFurnaceBlock getTicker( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt index fc5bbb57e..fd583d471 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.tech.ChemicalGeneratorBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState @@ -24,6 +25,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class ChemicalGeneratorBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.painted(color) + addSimpleDescription() tooltips.blockEntityEnergy() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt index 694b8b104..900dfce06 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt @@ -19,6 +19,7 @@ import net.minecraft.world.level.block.state.properties.EnumProperty import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.MatteryBlock +import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.tech.EnergyCounterBlockEntity import ru.dbotthepony.mc.otm.core.asSupplier import ru.dbotthepony.mc.otm.core.collect.SupplierMap @@ -30,6 +31,10 @@ import java.util.function.Supplier class EnergyCounterBlock(val color: DyeColor?) : MatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.painted(color) + addSimpleDescription() + addSimpleDescription("2") + addSimpleDescription("3") + addSimpleDescription("4") } override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt index d97ab0d3e..76ef73673 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt @@ -24,6 +24,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes class EnergyServoBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { init { tooltips.painted(color) + addSimpleDescription() } override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity { @@ -42,10 +43,6 @@ class EnergyServoBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MAC return null } - init { - addSimpleDescription() - } - private val shapes = getShapeForEachState(rotationProperty) { BlockShapes.ENERGY_SERVO.rotateFromNorth(it[rotationProperty]).computeShape() } @Suppress("override_deprecation") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt index 4edce8506..c87982755 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt @@ -35,6 +35,8 @@ class EssenceStorageBlock(val color: DyeColor?) : RotatableMatteryBlock(Properti init { tooltips.painted(color) + addSimpleDescription() + tooltips.blockEntityData("experienceStored") { _, l, acceptor -> if (minecraft.window.isShiftDown) { acceptor(TranslatableComponent("otm.gui.experience", l.asLong).withStyle(ChatFormatting.GRAY)) @@ -65,10 +67,6 @@ class EssenceStorageBlock(val color: DyeColor?) : RotatableMatteryBlock(Properti return super.use(blockState, level, blockPos, ply, hand, blockHitResult) } - init { - addSimpleDescription() - } - private val shapes = getShapeForEachState(rotationProperty) { BlockShapes.ESSENCE_STORAGE.rotateFromNorth(it[rotationProperty]).computeShape() } @Suppress("override_deprecation") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt index 6cec14f7a..88de99688 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt @@ -43,6 +43,13 @@ import kotlin.math.PI private val props = BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BLUE).sound(SoundType.METAL).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(3f, 600.0f) class BlockGravitationStabilizer : RotatableMatteryBlock(props), EntityBlock { + init { + addSimpleDescription() + tooltips.needsNoPower(ChatFormatting.DARK_GRAY) + addSimpleDescription("2", ChatFormatting.DARK_GRAY) + addSimpleDescription("3", ChatFormatting.DARK_GRAY) + } + override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity { return GravitationStabilizerBlockEntity(p_153215_, p_153216_) } @@ -144,13 +151,6 @@ class BlockGravitationStabilizer : RotatableMatteryBlock(props), EntityBlock { return shapes[p_60555_[BlockRotationFreedom.DIRECTIONAL].ordinal] } - init { - addSimpleDescription() - tooltips.needsNoPower(ChatFormatting.DARK_GRAY) - addSimpleDescription("2", ChatFormatting.DARK_GRAY) - addSimpleDescription("3", ChatFormatting.DARK_GRAY) - } - companion object { private val shapes = SupplierList.ofFuture( runInBackground { BlockShapes.GRAVITATION_STABILIZER.rotateAroundX(PI / 2).computeShape() }, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt index 517e3b735..d5b11d0f8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt @@ -37,6 +37,11 @@ import ru.dbotthepony.mc.otm.registry.MBlocks import ru.dbotthepony.mc.otm.shapes.BlockShapes class PhantomAttractorBlock : RotatableMatteryBlock(Properties.of().mapColor(MapColor.COLOR_BLUE).sound(SoundType.METAL).pushReaction(PushReaction.BLOCK).destroyTime(3f).explosionResistance(12f).randomTicks()) { + init { + addSimpleDescription() + tooltips.needsNoPower() + } + @Suppress("OVERRIDE_DEPRECATION") override fun randomTick( blockState: BlockState, @@ -135,9 +140,4 @@ class PhantomAttractorBlock : RotatableMatteryBlock(Properties.of().mapColor(Map } } } - - init { - addSimpleDescription() - tooltips.needsNoPower() - } }