From 5f3117ac166610f4bcbcd5a3274cb1c665fa746c Mon Sep 17 00:00:00 2001 From: gamax92 Date: Mon, 17 Apr 2017 11:29:20 -0600 Subject: [PATCH 1/6] Re-add WR-CBE Integration --- build.gradle | 6 +-- build.properties | 2 +- .../scala/li/cil/oc/integration/Mods.scala | 4 +- .../wrcbe/WirelessRedstoneCBE.scala | 2 +- .../server/component/RedstoneWireless.scala | 43 +++++++++---------- 5 files changed, 27 insertions(+), 30 deletions(-) diff --git a/build.gradle b/build.gradle index 0c4960b60..5ab9fec02 100644 --- a/build.gradle +++ b/build.gradle @@ -205,8 +205,8 @@ dependencies { provided ("appeng:appliedenergistics2:${config.ae2.version}:dev") { exclude module: 'buildcraft' } - provided "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev" - provided "codechicken:WR-CBE:${config.minecraft.version}-${config.wrcbe.version}:dev" + provided "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev"*/ + provided "codechicken:WR-CBE:${config.minecraft.version}-${config.wrcbe.version}:deobf"/* provided "com.bluepowermod:BluePower:${config.bluepower.version}:deobf" provided "com.gregoriust.gregtech:gregtech_${config.minecraft.version}:${config.gt.version}:dev"*/ provided "igwmod:IGW-Mod-1.9.4:${config.igwmod.version}:userdev" @@ -300,7 +300,7 @@ sourceSets { exclude 'li/cil/oc/integration/thaumicenergistics/**' exclude 'li/cil/oc/integration/tmechworks/**' exclude 'li/cil/oc/integration/waila/**' - exclude 'li/cil/oc/integration/wrcbe/**' + //exclude 'li/cil/oc/integration/wrcbe/**' exclude 'li/cil/oc/integration/wrsve/**' } } diff --git a/build.properties b/build.properties index 4301eaa9f..07a0f05db 100644 --- a/build.properties +++ b/build.properties @@ -50,7 +50,7 @@ tis3d.version=MC1.9.4-0.9.0.6 tmech.version=75.0afb56c re.version=3.0.0.342 waila.version=1.6.0-B3_1.8.8 -wrcbe.version=1.4.1.2 +wrcbe.version=2.0.0.18 cofhcore.cf=2246/697 cofhcore.version=[1.7.10]3.0.3B4-302-dev diff --git a/src/main/scala/li/cil/oc/integration/Mods.scala b/src/main/scala/li/cil/oc/integration/Mods.scala index 95aa3bd04..3ba269342 100644 --- a/src/main/scala/li/cil/oc/integration/Mods.scala +++ b/src/main/scala/li/cil/oc/integration/Mods.scala @@ -138,7 +138,7 @@ object Mods { integration.vanilla.ModVanilla, integration.versionchecker.ModVersionChecker, // integration.waila.ModWaila, - // integration.wrcbe.ModWRCBE, + integration.wrcbe.ModWRCBE, // integration.wrsve.ModWRSVE, // Register the general IPeripheral driver last, if at all, to avoid it @@ -234,7 +234,7 @@ object Mods { final val TMechWorks = "TMechworks" final val VersionChecker = "VersionChecker" final val Waila = "Waila" - final val WirelessRedstoneCBE = "WR-CBE|Core" + final val WirelessRedstoneCBE = "wrcbe" final val WirelessRedstoneSV = "WirelessRedstone" } diff --git a/src/main/scala/li/cil/oc/integration/wrcbe/WirelessRedstoneCBE.scala b/src/main/scala/li/cil/oc/integration/wrcbe/WirelessRedstoneCBE.scala index 0152ea7ff..2214ad5e7 100644 --- a/src/main/scala/li/cil/oc/integration/wrcbe/WirelessRedstoneCBE.scala +++ b/src/main/scala/li/cil/oc/integration/wrcbe/WirelessRedstoneCBE.scala @@ -1,6 +1,6 @@ package li.cil.oc.integration.wrcbe -import codechicken.wirelessredstone.core.RedstoneEther +import codechicken.wirelessredstone.manager.RedstoneEther import li.cil.oc.integration.util.WirelessRedstone.WirelessRedstoneSystem import li.cil.oc.server.component.RedstoneWireless diff --git a/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala b/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala index 7ce68d0d6..1d3069065 100644 --- a/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala +++ b/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala @@ -1,11 +1,8 @@ package li.cil.oc.server.component -/* TODO WRCBE import codechicken.lib.vec.Vector3 -import codechicken.wirelessredstone.core.WirelessReceivingDevice -import codechicken.wirelessredstone.core.WirelessTransmittingDevice -*/ - +import codechicken.wirelessredstone.api.WirelessReceivingDevice +import codechicken.wirelessredstone.api.WirelessTransmittingDevice import li.cil.oc.Constants import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute import li.cil.oc.api.driver.DeviceInfo.DeviceClass @@ -25,10 +22,10 @@ import net.minecraftforge.fml.common.Optional import scala.collection.convert.WrapAsJava._ @Optional.InterfaceList(Array( - new Optional.Interface(iface = "codechicken.wirelessredstone.core.WirelessReceivingDevice", modid = Mods.IDs.WirelessRedstoneCBE), - new Optional.Interface(iface = "codechicken.wirelessredstone.core.WirelessTransmittingDevice", modid = Mods.IDs.WirelessRedstoneCBE) + new Optional.Interface(iface = "codechicken.wirelessredstone.api.WirelessReceivingDevice", modid = Mods.IDs.WirelessRedstoneCBE), + new Optional.Interface(iface = "codechicken.wirelessredstone.api.WirelessTransmittingDevice", modid = Mods.IDs.WirelessRedstoneCBE) )) -trait RedstoneWireless extends RedstoneSignaller /* with WirelessReceivingDevice with WirelessTransmittingDevice TODO WRCBE */ with DeviceInfo { +trait RedstoneWireless extends RedstoneSignaller with WirelessReceivingDevice with WirelessTransmittingDevice with DeviceInfo { def redstone: EnvironmentHost var wirelessFrequency = 0 @@ -103,27 +100,27 @@ trait RedstoneWireless extends RedstoneSignaller /* with WirelessReceivingDevice } // ----------------------------------------------------------------------- // - /* TODO WRCBE - @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) - override def updateDevice(frequency: Int, on: Boolean) { - if (frequency == wirelessFrequency && on != wirelessInput) { - wirelessInput = on + + @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) + override def updateDevice(frequency: Int, on: Boolean) { + if (frequency == wirelessFrequency && on != wirelessInput) { + wirelessInput = on onRedstoneChanged("wireless", if (on) 0 else 1, if (on) 1 else 0) - } } + } - @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) - override def getPosition = new Vector3(redstone.xPosition, redstone.yPosition, redstone.zPosition) + @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) + override def getTransmitPos = new Vector3(redstone.xPosition, redstone.yPosition, redstone.zPosition) - @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) - override def getDimension = redstone.world.provider.getDimensionId + @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) + override def getDimension = redstone.world.provider.getDimension - @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) - override def getFreq = wirelessFrequency + @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) + override def getFreq = wirelessFrequency + + @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) + override def getAttachedEntity = null - @Optional.Method(modid = Mods.IDs.WirelessRedstoneCBE) - override def getAttachedEntity = null - */ // ----------------------------------------------------------------------- // override def onConnect(node: Node) { From 7c761b586ed8a7fcb2d439926f46f79661967a13 Mon Sep 17 00:00:00 2001 From: Vexatos Date: Sat, 6 May 2017 13:22:00 +0200 Subject: [PATCH 2/6] Re-add ComputerCraft integration. --- build.gradle | 11 ++++++----- build.properties | 3 +-- .../li/cil/oc/common/tileentity/Relay.scala | 19 +++++++++---------- .../li/cil/oc/common/tileentity/Switch.scala | 4 ++-- .../scala/li/cil/oc/integration/Mods.scala | 4 ++-- .../computercraft/PeripheralProvider.scala | 2 +- 6 files changed, 21 insertions(+), 22 deletions(-) diff --git a/build.gradle b/build.gradle index 5ab9fec02..10d909aaa 100644 --- a/build.gradle +++ b/build.gradle @@ -82,9 +82,9 @@ repositories { name = "mobius" url = "http://mobiusstrip.eu/maven" } - ivy { - name = "ComputerCraft" - artifactPattern "http://addons-origin.cursecdn.com/files/${config.cc.cf}/[module][revision].[ext]" + maven { + name = "ComputerCraft Nightly" + url = "http://crzd.me/files/maven/" } maven { name = "MCMP" @@ -246,9 +246,10 @@ dependencies { provided name: 'ExtraCells', version: config.ec.version, ext: 'jar' provided name: 'ThaumicEnergistics', version: config.thaumicenergistics.version, ext: 'jar' provided "cyano.poweradvantage:PowerAdvantage-API:${config.poweradvantage.version}" - provided name: 'ComputerCraft', version: config.cc.version, ext: 'jar' */ + provided "dan200.computercraft:ComputerCraft:${config.cc.version}" + compile 'com.google.code.findbugs:jsr305:1.3.9' // Annotations used by google libs. embedded files('libs/OpenComputers-JNLua.jar', 'libs/OpenComputers-LuaJ.jar') @@ -275,7 +276,7 @@ sourceSets { exclude 'li/cil/oc/integration/bluepower/**' exclude 'li/cil/oc/integration/buildcraft/**' exclude 'li/cil/oc/integration/cofh/**' - exclude 'li/cil/oc/integration/computercraft/**' + //exclude 'li/cil/oc/integration/computercraft/**' exclude 'li/cil/oc/integration/dsu/**' exclude 'li/cil/oc/integration/ec/**' //exclude 'li/cil/oc/integration/enderio/**' diff --git a/build.properties b/build.properties index 07a0f05db..c4c400b2e 100644 --- a/build.properties +++ b/build.properties @@ -10,8 +10,7 @@ bc.version=7.0.9 bloodmagic.cf=2223/203 bloodmagic.version=1.3.0a-1 bluepower.version=0.2.928 -cc.cf=2275/878 -cc.version=1.78 +cc.version=1.80pr0-2017050612 ccc.version=2.0.4.71 ccl.version=2.5.2.211 cofhlib.cf=2230/207 diff --git a/src/main/scala/li/cil/oc/common/tileentity/Relay.scala b/src/main/scala/li/cil/oc/common/tileentity/Relay.scala index 377575e0f..0210f7066 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/Relay.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/Relay.scala @@ -1,7 +1,7 @@ package li.cil.oc.common.tileentity import com.google.common.base.Charsets -//import dan200.computercraft.api.peripheral.IComputerAccess +import dan200.computercraft.api.peripheral.IComputerAccess import li.cil.oc.Constants import li.cil.oc.Localization import li.cil.oc.Settings @@ -95,15 +95,14 @@ class Relay extends traits.SwitchLike with traits.ComponentInventory with traits // ----------------------------------------------------------------------- // protected def queueMessage(source: String, destination: String, port: Int, answerPort: Int, args: Array[AnyRef]) { - // TODO CC -// for (computer <- computers.map(_.asInstanceOf[IComputerAccess])) { -// val address = s"cc${computer.getID}_${computer.getAttachmentName}" -// if (source != address && Option(destination).forall(_ == address) && openPorts(computer).contains(port)) -// computer.queueEvent("modem_message", Array(Seq(computer.getAttachmentName, Int.box(port), Int.box(answerPort)) ++ args.map { -// case x: Array[Byte] => new String(x, Charsets.UTF_8) -// case x => x -// }: _*)) -// } + for (computer <- computers.map(_.asInstanceOf[IComputerAccess])) { + val address = s"cc${computer.getID}_${computer.getAttachmentName}" + if (source != address && Option(destination).forall(_ == address) && openPorts(computer).contains(port)) + computer.queueEvent("modem_message", Array(Seq(computer.getAttachmentName, Int.box(port), Int.box(answerPort)) ++ args.map { + case x: Array[Byte] => new String(x, Charsets.UTF_8) + case x => x + }: _*)) + } } // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/tileentity/Switch.scala b/src/main/scala/li/cil/oc/common/tileentity/Switch.scala index 59f7ac4ca..0e1dd6326 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/Switch.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/Switch.scala @@ -1,5 +1,7 @@ package li.cil.oc.common.tileentity +import com.google.common.base.Charsets +import dan200.computercraft.api.peripheral.IComputerAccess import li.cil.oc.api.Driver import li.cil.oc.api.network.Packet import li.cil.oc.common.InventorySlots @@ -20,7 +22,6 @@ class Switch extends traits.SwitchLike with traits.NotAnalyzable with traits.Com // ----------------------------------------------------------------------- // protected def queueMessage(source: String, destination: String, port: Int, answerPort: Int, args: Array[AnyRef]) { - /* TODO ComputerCraft for (computer <- computers.map(_.asInstanceOf[IComputerAccess])) { val address = s"cc${computer.getID}_${computer.getAttachmentName}" if (source != address && Option(destination).forall(_ == address) && openPorts(computer).contains(port)) @@ -29,7 +30,6 @@ class Switch extends traits.SwitchLike with traits.NotAnalyzable with traits.Com case x => x }: _*)) } - */ } // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/integration/Mods.scala b/src/main/scala/li/cil/oc/integration/Mods.scala index 3ba269342..92e921799 100644 --- a/src/main/scala/li/cil/oc/integration/Mods.scala +++ b/src/main/scala/li/cil/oc/integration/Mods.scala @@ -36,7 +36,7 @@ object Mods { val CoFHTileEntity = new SimpleMod(IDs.CoFHTileEntity) val CoFHTransport = new SimpleMod(IDs.CoFHTransport) val ColoredLights = new SimpleMod(IDs.ColoredLights) - val ComputerCraft = new SimpleMod(IDs.ComputerCraft, version = "@[1.73,)") + val ComputerCraft = new SimpleMod(IDs.ComputerCraft, version = "@[1.80,)") val CraftingCosts = new SimpleMod(IDs.CraftingCosts) val DeepStorageUnit = new ClassBasedMod(IDs.DeepStorageUnit, "powercrystals.minefactoryreloaded.api.IDeepStorageUnit")() val ElectricalAge = new SimpleMod(IDs.ElectricalAge, providesPower = true) @@ -143,7 +143,7 @@ object Mods { // Register the general IPeripheral driver last, if at all, to avoid it // being used rather than other more concrete implementations. - // integration.computercraft.ModComputerCraft, + integration.computercraft.ModComputerCraft, // We go late to ensure all other mod integration is done, e.g. to // allow properly checking if wireless redstone is present. diff --git a/src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala b/src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala index 92c9815bd..8462095fe 100644 --- a/src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala +++ b/src/main/scala/li/cil/oc/integration/computercraft/PeripheralProvider.scala @@ -4,8 +4,8 @@ import dan200.computercraft.api.ComputerCraftAPI import dan200.computercraft.api.peripheral.IPeripheral import dan200.computercraft.api.peripheral.IPeripheralProvider import li.cil.oc.common.tileentity.traits.SwitchLike -import net.minecraft.util.BlockPos import net.minecraft.util.EnumFacing +import net.minecraft.util.math.BlockPos import net.minecraft.world.World object PeripheralProvider extends IPeripheralProvider { From 833f13e50748cf375a8e4f74de56ba65b4a5f148 Mon Sep 17 00:00:00 2001 From: Vexatos Date: Sat, 6 May 2017 13:38:27 +0200 Subject: [PATCH 3/6] Exclude duplicate modules in build.gradle. --- build.gradle | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 10d909aaa..6bed5d279 100644 --- a/build.gradle +++ b/build.gradle @@ -206,11 +206,16 @@ dependencies { exclude module: 'buildcraft' } provided "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev"*/ - provided "codechicken:WR-CBE:${config.minecraft.version}-${config.wrcbe.version}:deobf"/* + provided ("codechicken:WR-CBE:${config.minecraft.version}-${config.wrcbe.version}:universal") { + exclude module: 'NotEnoughItems' + exclude module: "CodeChickenLib" + }/* provided "com.bluepowermod:BluePower:${config.bluepower.version}:deobf" provided "com.gregoriust.gregtech:gregtech_${config.minecraft.version}:${config.gt.version}:dev"*/ provided "igwmod:IGW-Mod-1.9.4:${config.igwmod.version}:userdev" - provided "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}"/* + provided ("net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}"){ + exclude module: "jei_1.10.2" + }/* provided "dev.modwarriors.notenoughkeys:NotEnoughKeys:${config.minecraft.version}-${config.nek.version}:deobf-dev" provided "qmunity:QmunityLib:${config.qmunitylib.version}:deobf" provided "tmech:TMechworks:${config.minecraft.version}-${config.tmech.version}:deobf"*/ From 2287b729d673b9961165b410b9e331d5c5ca3955 Mon Sep 17 00:00:00 2001 From: Vexatos Date: Sat, 6 May 2017 14:19:21 +0200 Subject: [PATCH 4/6] Updated a bunch of dependencies to make OC launch properly again. --- build.gradle | 10 ++++++++-- build.properties | 13 ++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 6bed5d279..2a3145d3c 100644 --- a/build.gradle +++ b/build.gradle @@ -86,6 +86,10 @@ repositories { name = "ComputerCraft Nightly" url = "http://crzd.me/files/maven/" } + maven { + name = "CurseForge" + url = "https://minecraft.curseforge.com/api/maven/" + } maven { name = "MCMP" url "http://maven.amadornes.com/" @@ -237,6 +241,10 @@ dependencies { exclude module: "jei_1.10.2" exclude module: "Tesla" } + + provided "dan200.computercraft:ComputerCraft:${config.cc.version}" + + provided "cofhcore:CoFHCore-1.10.2:release:universal" /* provided name: 'buildcraft', version: config.bc.version, classifier: "dev", ext: 'jar' provided name: 'GalacticraftCoreAll', version: config.gc.version, ext: 'jar' @@ -253,8 +261,6 @@ dependencies { provided "cyano.poweradvantage:PowerAdvantage-API:${config.poweradvantage.version}" */ - provided "dan200.computercraft:ComputerCraft:${config.cc.version}" - compile 'com.google.code.findbugs:jsr305:1.3.9' // Annotations used by google libs. embedded files('libs/OpenComputers-JNLua.jar', 'libs/OpenComputers-LuaJ.jar') diff --git a/build.properties b/build.properties index c4c400b2e..382bf34a3 100644 --- a/build.properties +++ b/build.properties @@ -11,17 +11,17 @@ bloodmagic.cf=2223/203 bloodmagic.version=1.3.0a-1 bluepower.version=0.2.928 cc.version=1.80pr0-2017050612 -ccc.version=2.0.4.71 -ccl.version=2.5.2.211 +ccc.version=2.4.1.103 +ccl.version=2.5.8.255 cofhlib.cf=2230/207 cofhlib.version=[1.7.10]1.0.0RC7-127 coloredlights.version=1.3.7.35 coloredlights.build=35 ec.version=1.10.2-0.4.1.58-beta eio.version=1.10.2-3.0.1.132_beta -es.version=2.1.3.76 +es.version=2.2.1.106 fmp.version=1.1.0.308 -forestry.version=5.2.9.237 +forestry.version=5.2.17.376 gc.build=3 gc.version=3.0.7 gt.version=5.04.06 @@ -49,8 +49,7 @@ tis3d.version=MC1.9.4-0.9.0.6 tmech.version=75.0afb56c re.version=3.0.0.342 waila.version=1.6.0-B3_1.8.8 -wrcbe.version=2.0.0.18 -cofhcore.cf=2246/697 -cofhcore.version=[1.7.10]3.0.3B4-302-dev +wrcbe.version=2.0.0.19 +cofhcore.version=4.1.1.156 maven.url=file:///home/www/maven.cil.li/web From 442d8feec3c69a74389582a92d38acfe9bb8c3aa Mon Sep 17 00:00:00 2001 From: Vexatos Date: Sat, 6 May 2017 16:52:20 +0200 Subject: [PATCH 5/6] Should fix #2370. --- src/main/scala/li/cil/oc/server/agent/Inventory.scala | 2 +- src/main/scala/li/cil/oc/server/agent/Player.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/scala/li/cil/oc/server/agent/Inventory.scala b/src/main/scala/li/cil/oc/server/agent/Inventory.scala index bb306f71e..17b5151a6 100644 --- a/src/main/scala/li/cil/oc/server/agent/Inventory.scala +++ b/src/main/scala/li/cil/oc/server/agent/Inventory.scala @@ -12,7 +12,7 @@ import net.minecraft.nbt.NBTTagCompound import net.minecraft.nbt.NBTTagList import net.minecraft.block.state.IBlockState -class Inventory(val agent: internal.Agent) extends InventoryPlayer(null) { +class Inventory(playerEntity: EntityPlayer, val agent: internal.Agent) extends InventoryPlayer(playerEntity) { def selectedItemStack = agent.mainInventory.getStackInSlot(agent.selectedSlot) diff --git a/src/main/scala/li/cil/oc/server/agent/Player.scala b/src/main/scala/li/cil/oc/server/agent/Player.scala index 18da5b081..b9c153050 100644 --- a/src/main/scala/li/cil/oc/server/agent/Player.scala +++ b/src/main/scala/li/cil/oc/server/agent/Player.scala @@ -103,7 +103,7 @@ class Player(val agent: internal.Agent) extends FakePlayer(agent.world.asInstanc setSize(1, 1) { - val inventory = new Inventory(agent) + val inventory = new Inventory(this, agent) if (Mods.BattleGear2.isAvailable) { ObfuscationReflectionHelper.setPrivateValue(classOf[EntityPlayer], this, inventory, "inventory", "field_71071_by", "bm") } From d781eb3c62bd969bf587311abf1770d91702e8e1 Mon Sep 17 00:00:00 2001 From: Vexatos Date: Thu, 11 May 2017 20:33:47 +0200 Subject: [PATCH 6/6] Improved JEI recipe assembly. Fixes #2375. Not sure why it was never an issue before 1.11. --- .../li/cil/oc/integration/jei/CallbackDocHandler.scala | 6 ++---- .../li/cil/oc/integration/jei/ManualUsageHandler.scala | 8 ++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala b/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala index f286b9163..1bbe39ddc 100644 --- a/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala +++ b/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala @@ -31,7 +31,7 @@ object CallbackDocHandler { private val VexPattern = """(?s)^function(\(.*?\).*?); (.*)$""".r - def getRecipes(registry: IModRegistry): util.List[_] = registry.getItemRegistry.getItemList.collect { + def getRecipes(registry: IModRegistry): util.List[CallbackDocRecipe] = registry.getItemRegistry.getItemList.collect { case stack: ItemStack => val callbacks = api.Driver.environmentsFor(stack).flatMap(getCallbacks).toBuffer @@ -68,9 +68,7 @@ object CallbackDocHandler { Option(pages.map(page => new CallbackDocRecipe(stack, page))) } else None - }.collect { - case Some(handler) => handler - }.flatten.toList + }.flatten.flatten.toList private def getCallbacks(env: Class[_]) = if (env != null) { diff --git a/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala b/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala index 8f329f90a..75e1199ee 100644 --- a/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala +++ b/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala @@ -22,12 +22,12 @@ import scala.collection.convert.WrapAsScala._ object ManualUsageHandler { - def getRecipes(registry: IModRegistry): util.List[_] = registry.getItemRegistry.getItemList.collect { + def getRecipes(registry: IModRegistry): util.List[ManualUsageRecipe] = registry.getItemRegistry.getItemList.collect { case stack: ItemStack => api.Manual.pathFor(stack) match { - case s: String => new ManualUsageRecipe(stack, s) - case _ => + case s: String => Option(new ManualUsageRecipe(stack, s)) + case _ => None } - } + }.flatten.toList object ManualUsageRecipeHandler extends IRecipeHandler[ManualUsageRecipe] { override def getRecipeWrapper(recipe: ManualUsageRecipe) = recipe