mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-19 12:17:17 -04:00
Merge branch 'jei-highlights' of https://github.com/Vexatos/OpenComputers into master-MC1.10
# Conflicts: # build.properties # src/main/scala/li/cil/oc/client/gui/DynamicGuiContainer.scala # src/main/scala/li/cil/oc/integration/jei/ModPluginOpenComputers.scala
This commit is contained in:
commit
f7725b9a7c
@ -30,7 +30,7 @@ gc.version=3.0.7
|
||||
gt.version=5.04.06
|
||||
ic2.version=2.5.8-ex19
|
||||
igwmod.version=1.3.0-5
|
||||
jei.version=3.7.6.232
|
||||
jei.version=3.7.7.233
|
||||
mcmp.version=1.2.0_70
|
||||
mekanism.build=5
|
||||
mekanism.version=7.1.2
|
||||
|
@ -8,6 +8,7 @@ import li.cil.oc.common
|
||||
import li.cil.oc.common.container.ComponentSlot
|
||||
import li.cil.oc.common.container.Player
|
||||
import li.cil.oc.integration.Mods
|
||||
import li.cil.oc.integration.jei.ModJEI
|
||||
import li.cil.oc.integration.util.ItemSearch
|
||||
import li.cil.oc.util.RenderState
|
||||
import net.minecraft.client.gui.Gui
|
||||
@ -18,9 +19,9 @@ import net.minecraft.inventory.Container
|
||||
import net.minecraft.inventory.Slot
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraftforge.fml.common.Optional
|
||||
import net.minecraftforge.fml.relauncher.ReflectionHelper
|
||||
import org.lwjgl.opengl.GL11
|
||||
|
||||
import scala.collection.convert.WrapAsJava._
|
||||
import scala.collection.convert.WrapAsScala._
|
||||
|
||||
abstract class DynamicGuiContainer[C <: Container](container: C) extends CustomGuiContainer(container) {
|
||||
@ -86,6 +87,10 @@ abstract class DynamicGuiContainer[C <: Container](container: C) extends CustomG
|
||||
drawNEIHighlights()
|
||||
RenderState.popAttrib()
|
||||
}
|
||||
|
||||
if (Mods.JustEnoughItems.isAvailable) {
|
||||
drawJEIHighlights()
|
||||
}
|
||||
}
|
||||
|
||||
protected def drawSlotInventory(slot: Slot) {
|
||||
@ -173,6 +178,13 @@ abstract class DynamicGuiContainer[C <: Container](container: C) extends CustomG
|
||||
case _ => false
|
||||
}
|
||||
|
||||
override def onGuiClosed(): Unit = {
|
||||
super.onGuiClosed()
|
||||
if(Mods.JustEnoughItems.isAvailable) {
|
||||
resetJEIHighlights()
|
||||
}
|
||||
}
|
||||
/* TODO NEI
|
||||
@Optional.Method(modid = Mods.IDs.NotEnoughItems)
|
||||
private def drawNEIHighlights(): Unit = {
|
||||
if(!LayoutManager.isItemPanelActive) return
|
||||
@ -196,4 +208,19 @@ abstract class DynamicGuiContainer[C <: Container](container: C) extends CustomG
|
||||
}
|
||||
zLevel -= 350
|
||||
}
|
||||
|
||||
@Optional.Method(modid = Mods.IDs.JustEnoughItems)
|
||||
private def drawJEIHighlights(): Unit = {
|
||||
ModJEI.runtime.foreach { runtime =>
|
||||
val overlay = runtime.getItemListOverlay
|
||||
hoveredSlot match {
|
||||
case Some(hovered) if !isInPlayerInventory(hovered) && isSelectiveSlot(hovered) =>
|
||||
overlay.highlightStacks(overlay.getVisibleStacks.filter(hovered.isItemValid))
|
||||
case _ => overlay.highlightStacks(List[Nothing]())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Optional.Method(modid = Mods.IDs.JustEnoughItems)
|
||||
private def resetJEIHighlights() = ModJEI.runtime.foreach(_.getItemListOverlay.highlightStacks(List[Nothing]()))
|
||||
}
|
||||
|
7
src/main/scala/li/cil/oc/integration/jei/ModJEI.scala
Normal file
7
src/main/scala/li/cil/oc/integration/jei/ModJEI.scala
Normal file
@ -0,0 +1,7 @@
|
||||
package li.cil.oc.integration.jei
|
||||
|
||||
import mezz.jei.api.IJeiRuntime
|
||||
|
||||
object ModJEI {
|
||||
var runtime: Option[IJeiRuntime] = None
|
||||
}
|
@ -45,5 +45,7 @@ class ModPluginOpenComputers extends IModPlugin {
|
||||
ItemSearch.stackFocusing += ((container, mouseX, mouseY) => stackUnderMouse(container, mouseX, mouseY))
|
||||
}
|
||||
stackUnderMouse = (container, mouseX, mouseY) => Option(jeiRuntime.getItemListOverlay.getStackUnderMouse)
|
||||
|
||||
ModJEI.runtime = Option(jeiRuntime)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user