я вам запрещаю репликацию

This commit is contained in:
YuRaNnNzZZ 2024-09-20 01:33:25 +03:00
parent a38e1c1548
commit f8e3fb156c
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D
4 changed files with 31 additions and 5 deletions

View File

@ -180,6 +180,23 @@ fun addTags(tagsProvider: TagsProvider) {
.add(MRegistry.TRITANIUM_STRIPED_WALL.flatItems)
.add(MItems.TRITANIUM_STRIPED_WALL.values)
tagsProvider.items.Appender(MItemTags.NO_REPLICATION)
.add(Items.WRITTEN_BOOK)
.add(Tags.Items.ORES)
.add(Tags.Items.RAW_MATERIALS)
.add(MItems.PILL_ANDROID)
.add(MItems.PILL_HUMANE)
.add(MItems.PILL_OBLIVION)
.add(MItems.QUANTUM_BATTERY)
.add(MItems.QUANTUM_CAPACITOR)
.add(MItems.QUANTUM_BATTERY_CREATIVE)
.add(MItems.ZPM_BATTERY)
.add(MItems.PROCEDURAL_BATTERY)
.add(MItems.EXOPACK_PROBE)
.add(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL)
.add(MItems.ExopackUpgrades.INVENTORY_UPGRADE_WITHER)
.add(MItems.ExopackUpgrades.INVENTORY_UPGRADE_ENDER_DRAGON)
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_DOOR.values, Tiers.IRON)
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_TRAPDOOR.values, Tiers.IRON)
tagsProvider.requiresPickaxe(MBlocks.PAINTER, Tiers.STONE)

View File

@ -35,6 +35,7 @@ import ru.dbotthepony.mc.otm.graph.matter.MatterNode
import ru.dbotthepony.mc.otm.matter.MatterManager
import ru.dbotthepony.mc.otm.menu.matter.MatterReplicatorMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.registry.MItemTags
import ru.dbotthepony.mc.otm.registry.MItems
import java.util.*
@ -168,10 +169,11 @@ class MatterReplicatorBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
}
val allocation = matterNode.graph.allocateTask(simulate = false) ?: return JobContainer.observe()
val stack = allocation.task.stack(1)
val matter = MatterManager.get(stack)
// ????????
val stack = allocation.task.stack(1)
if (stack.`is`(MItemTags.NO_REPLICATION)) return JobContainer.failure()
val matter = MatterManager.get(stack)
if (!matter.hasMatterValue) return JobContainer.failure()
val ticks = matter.complexity

View File

@ -27,6 +27,7 @@ import ru.dbotthepony.mc.otm.menu.matter.MatterScannerMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.graph.matter.MatterNode
import ru.dbotthepony.mc.otm.matter.MatterManager
import ru.dbotthepony.mc.otm.registry.MItemTags
import java.util.*
import kotlin.math.pow
@ -114,7 +115,7 @@ class MatterScannerBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
}
val stack = container.getItem(0)
if (stack.isEmpty || !MatterManager.canDecompose(stack)) return JobContainer.noItem()
if (stack.isEmpty || !MatterManager.canDecompose(stack) || stack.`is`(MItemTags.NO_DECOMPOSING) || stack.`is`(MItemTags.NO_REPLICATION)) return JobContainer.noItem()
var findState: PatternState? = null

View File

@ -80,6 +80,12 @@ object MItemTags {
val HARDENED_GLASS_WHITE: TagKey<Item> = ItemTags.create(ResourceLocation("c", "hardened_glass/white"))
val HARDENED_GLASS_YELLOW: TagKey<Item> = ItemTags.create(ResourceLocation("c", "hardened_glass/yellow"))
val MACHINES: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "machines"))
val MACHINES: TagKey<Item> = ItemTags.create(modLoc("machines"))
val NO_DECOMPOSING: TagKey<Item> = ItemTags.create(modLoc("matter/no_decomposing"))
val NO_REPLICATION: TagKey<Item> = ItemTags.create(modLoc("matter/no_replication"))
val NO_REPAIR: TagKey<Item> = ItemTags.create(modLoc("matter/no_repair"))
fun modLoc(path: String) : ResourceLocation = ResourceLocation(OverdriveThatMatters.MOD_ID, path)
}