diff --git a/src/main/scala/li/cil/oc/common/item/APU.scala b/src/main/scala/li/cil/oc/common/item/APU.scala index 57835d687..dde24ade8 100644 --- a/src/main/scala/li/cil/oc/common/item/APU.scala +++ b/src/main/scala/li/cil/oc/common/item/APU.scala @@ -15,6 +15,7 @@ class APU(val parent: Delegator, val tier: Int) extends traits.Delegate with tra else super.rarity(stack) override def cpuTier = math.min(Tier.Three, tier + 1) + override def cpuTierForComponents = tier + 1 override def gpuTier = tier diff --git a/src/main/scala/li/cil/oc/common/item/CPU.scala b/src/main/scala/li/cil/oc/common/item/CPU.scala index bc8aacce4..dcf2cac92 100644 --- a/src/main/scala/li/cil/oc/common/item/CPU.scala +++ b/src/main/scala/li/cil/oc/common/item/CPU.scala @@ -6,6 +6,7 @@ class CPU(val parent: Delegator, val tier: Int) extends traits.Delegate with tra override val unlocalizedName = super.unlocalizedName + tier override def cpuTier = tier + override def cpuTierForComponents = tier override protected def tooltipName = Option(super.unlocalizedName) } diff --git a/src/main/scala/li/cil/oc/common/item/traits/CPULike.scala b/src/main/scala/li/cil/oc/common/item/traits/CPULike.scala index bd0c54357..6336c6a5d 100644 --- a/src/main/scala/li/cil/oc/common/item/traits/CPULike.scala +++ b/src/main/scala/li/cil/oc/common/item/traits/CPULike.scala @@ -17,8 +17,9 @@ import scala.language.existentials trait CPULike extends Delegate { def cpuTier: Int + def cpuTierForComponents: Int // Creative APU provides components like T4 CPU, but there is no T4 CPU - override protected def tooltipData: Seq[Any] = Seq(Settings.get.cpuComponentSupport(cpuTier)) + override protected def tooltipData: Seq[Any] = Seq(Settings.get.cpuComponentSupport(cpuTierForComponents)) override protected def tooltipExtended(stack: ItemStack, tooltip: util.List[String]) { tooltip.addAll(Tooltip.get("CPU.Architecture", api.Machine.getArchitectureName(DriverCPU.architecture(stack)))) diff --git a/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala b/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala index 4072a146f..1ca95dc3c 100644 --- a/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala +++ b/src/main/scala/li/cil/oc/integration/opencomputers/DriverAPU.scala @@ -1,11 +1,9 @@ package li.cil.oc.integration.opencomputers -import li.cil.oc.Constants -import li.cil.oc.api +import li.cil.oc.{Constants, Settings, api, common} import li.cil.oc.api.driver.EnvironmentProvider import li.cil.oc.api.driver.item.HostAware import li.cil.oc.api.network.EnvironmentHost -import li.cil.oc.common import li.cil.oc.common.Tier import li.cil.oc.common.item.Delegator import li.cil.oc.server.component @@ -26,6 +24,11 @@ object DriverAPU extends DriverCPU with HostAware { case _ => null } + override def supportedComponents(stack: ItemStack) = Delegator.subItem(stack) match { + case Some(apu: common.item.APU) => Settings.get.cpuComponentSupport(apu.cpuTierForComponents) + case _ => Settings.get.cpuComponentSupport(1) + } + override def cpuTier(stack: ItemStack) = Delegator.subItem(stack) match { case Some(apu: common.item.APU) => apu.cpuTier