diff --git a/dependencies.gradle b/dependencies.gradle index 0dca99f84c..46f7780687 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -25,6 +25,7 @@ dependencies { compileOnly("com.github.GTNewHorizons:ModularUI:1.3.4:dev") {transitive = false} compileOnly("com.github.GTNewHorizons:ModularUI2:2.3.80-1.7.10:dev") {transitive = false} compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.8.111-GTNH:dev") {transitive = false} + compileOnly("com.github.GTNewHorizons:NotEnoughEnergistics:99.99.99:dev") compileOnly("com.github.GTNewHorizons:ProjectRed:4.12.39-GTNH:dev") {transitive = false} compileOnly("com.github.GTNewHorizons:Railcraft:9.17.29:dev") {transitive = false} compileOnly("com.github.GTNewHorizons:StructureLib:1.4.42:dev") {transitive = false} diff --git a/src/main/scala/li/cil/oc/integration/Mods.scala b/src/main/scala/li/cil/oc/integration/Mods.scala index ac540e4aa7..19c32ec965 100644 --- a/src/main/scala/li/cil/oc/integration/Mods.scala +++ b/src/main/scala/li/cil/oc/integration/Mods.scala @@ -57,6 +57,7 @@ object Mods { val Minecraft = new SimpleMod(IDs.Minecraft) val MineFactoryReloaded = new SimpleMod(IDs.MineFactoryReloaded) val Mystcraft = new SimpleMod(IDs.Mystcraft) + val NotEnoughEnergistics = new SimpleMod(IDs.NotEnoughEnergistics) val NotEnoughItems = new SimpleMod(IDs.NotEnoughItems) val NotEnoughKeys = new SimpleMod(IDs.NotEnoughKeys) val OpenComputers = new SimpleMod(IDs.OpenComputers) @@ -120,6 +121,7 @@ object Mods { integration.mekanism.gas.ModMekanismGas, integration.mfr.ModMineFactoryReloaded, integration.mystcraft.ModMystcraft, + integration.nee.ModNotEnoughEnergistics, integration.nek.ModNotEnoughKeys, integration.projectred.ModProjectRed, integration.railcraft.ModRailcraft, @@ -212,6 +214,7 @@ object Mods { final val Minecraft = "Minecraft" final val MineFactoryReloaded = "MineFactoryReloaded" final val Mystcraft = "Mystcraft" + final val NotEnoughEnergistics = "neenergistics" final val NotEnoughItems = "NotEnoughItems" final val NotEnoughKeys = "notenoughkeys" final val OpenComputers = "OpenComputers" diff --git a/src/main/scala/li/cil/oc/integration/nee/ConverterPattern.scala b/src/main/scala/li/cil/oc/integration/nee/ConverterPattern.scala new file mode 100644 index 0000000000..d0808b553e --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/nee/ConverterPattern.scala @@ -0,0 +1,22 @@ +package li.cil.oc.integration.nee + +import li.cil.oc.api.driver.Converter +import net.minecraft.item.ItemStack +import net.minecraft.nbt.NBTTagCompound + +import java.util +import scala.collection.convert.WrapAsScala._ + +object ConverterPattern extends Converter { + override def convert(value: AnyRef, output: util.Map[AnyRef, AnyRef]): Unit = { + value match { + case is: ItemStack => + val encodedValue: NBTTagCompound = is.getTagCompound + if (encodedValue != null && encodedValue.hasKey("neeExtraTags")) { + val extraTags = encodedValue.getCompoundTag("neeExtraTags") + output += "neeExtraTags" -> extraTags + } + case _ => + } + } +} diff --git a/src/main/scala/li/cil/oc/integration/nee/ModNotEnoughEnergistics.scala b/src/main/scala/li/cil/oc/integration/nee/ModNotEnoughEnergistics.scala new file mode 100644 index 0000000000..f66032dfca --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/nee/ModNotEnoughEnergistics.scala @@ -0,0 +1,12 @@ +package li.cil.oc.integration.nee + +import li.cil.oc.api.Driver +import li.cil.oc.integration.{ModProxy, Mods} + +object ModNotEnoughEnergistics extends ModProxy { + override def getMod: Mods.SimpleMod = Mods.NotEnoughEnergistics + + override def initialize(): Unit = { + Driver.add(ConverterPattern) + } +}